@agentshouse/mdruntime 0.1.0-c1db74d14e5fa → 0.1.0-c1ffd2bc60355
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.
- package/AGENTS.md +268 -251
- package/README.md +9 -8
- package/dist/adapter.d.ts +76 -40
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +4 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +13 -3
- package/dist/binary.d.ts +0 -5
- package/dist/binary.d.ts.map +1 -1
- package/dist/binary.js +1 -1
- package/dist/bootstrap.d.ts +26 -7
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +148 -78
- package/dist/chain.d.ts +11 -0
- package/dist/chain.d.ts.map +1 -0
- package/dist/chain.js +64 -0
- package/dist/change-set.d.ts +9 -16
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +11 -88
- package/dist/change.d.ts +31 -1
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +10 -1
- package/dist/chat/earlier.d.ts +10 -0
- package/dist/chat/earlier.d.ts.map +1 -0
- package/dist/chat/earlier.js +54 -0
- package/dist/chat/house.d.ts +25 -0
- package/dist/chat/house.d.ts.map +1 -0
- package/dist/chat/house.js +38 -0
- package/dist/chat/input.d.ts +3 -1
- package/dist/chat/input.d.ts.map +1 -1
- package/dist/chat/input.js +11 -18
- package/dist/chat/kit.d.ts +2 -1
- package/dist/chat/kit.d.ts.map +1 -1
- package/dist/chat/kit.js +3 -3
- package/dist/chat/list.d.ts +3 -1
- package/dist/chat/list.d.ts.map +1 -1
- package/dist/chat/list.js +47 -6
- package/dist/chat/markdown.d.ts +2 -2
- package/dist/chat/markdown.d.ts.map +1 -1
- package/dist/chat/markdown.js +80 -39
- package/dist/chat/message.d.ts +1 -0
- package/dist/chat/message.d.ts.map +1 -1
- package/dist/chat/message.js +73 -11
- package/dist/chat/messages.d.ts +15 -1
- package/dist/chat/messages.d.ts.map +1 -1
- package/dist/chat/messages.js +82 -23
- package/dist/chat/name.d.ts +1 -0
- package/dist/chat/name.d.ts.map +1 -1
- package/dist/chat/name.js +1 -1
- package/dist/chat/opened.d.ts +1 -0
- package/dist/chat/opened.d.ts.map +1 -1
- package/dist/chat/opened.js +2 -0
- package/dist/chat/overlay.d.ts +1 -0
- package/dist/chat/overlay.d.ts.map +1 -1
- package/dist/chat/overlay.js +11 -5
- package/dist/chat/parts.d.ts +1 -0
- package/dist/chat/parts.d.ts.map +1 -1
- package/dist/chat/parts.js +3 -2
- package/dist/chat/pieces.d.ts +62 -0
- package/dist/chat/pieces.d.ts.map +1 -0
- package/dist/chat/pieces.js +1110 -0
- package/dist/chat/provider.d.ts +9 -2
- package/dist/chat/provider.d.ts.map +1 -1
- package/dist/chat/provider.js +121 -106
- package/dist/chat/question.d.ts +1 -1
- package/dist/chat/question.d.ts.map +1 -1
- package/dist/chat/question.js +7 -18
- package/dist/chat/ready.d.ts +5 -1
- package/dist/chat/ready.d.ts.map +1 -1
- package/dist/chat/ready.js +7 -5
- package/dist/chat/room-file.d.ts +8 -0
- package/dist/chat/room-file.d.ts.map +1 -0
- package/dist/chat/room-file.js +72 -0
- package/dist/chat/steady.d.ts +3 -0
- package/dist/chat/steady.d.ts.map +1 -0
- package/dist/chat/steady.js +26 -0
- package/dist/chat/style.d.ts.map +1 -1
- package/dist/chat/style.js +6 -1
- package/dist/chat.d.ts +3 -2
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +2 -2
- package/dist/client.d.ts +15 -6
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +47 -8
- package/dist/collection.d.ts +6 -19
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +30 -287
- package/dist/compile.d.ts +16 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +721 -0
- package/dist/connection.d.ts +25 -12
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +2615 -946
- package/dist/conversation.d.ts +18 -3
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +341 -107
- package/dist/digest.d.ts +7 -0
- package/dist/digest.d.ts.map +1 -0
- package/dist/digest.js +113 -0
- package/dist/durability.d.ts +3 -5
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +3 -1
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +18 -23
- package/dist/file.d.ts +2 -10
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +3 -120
- package/dist/fulltext.d.ts +27 -0
- package/dist/fulltext.d.ts.map +1 -0
- package/dist/fulltext.js +368 -0
- package/dist/host.d.ts +10 -8
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +95 -18
- package/dist/identity.d.ts +0 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +0 -3
- package/dist/index.d.ts +15 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/live.d.ts +22 -0
- package/dist/live.d.ts.map +1 -0
- package/dist/live.js +123 -0
- package/dist/memory.d.ts +8 -3
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +43 -25
- package/dist/messages.d.ts +28 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +90 -0
- package/dist/model.d.ts +3 -2
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +1 -1
- package/dist/name.d.ts +4 -0
- package/dist/name.d.ts.map +1 -0
- package/dist/name.js +122 -0
- package/dist/observation.d.ts +14 -0
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +93 -3
- package/dist/opened.d.ts +22 -0
- package/dist/opened.d.ts.map +1 -0
- package/dist/opened.js +107 -0
- package/dist/outcome.d.ts +34 -4
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +25 -0
- package/dist/overlay.d.ts +3 -5
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +95 -156
- package/dist/query.d.ts +33 -2
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +48 -7
- package/dist/reach.d.ts +6 -5
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +170 -62
- package/dist/react.d.ts +3 -3
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +7 -17
- package/dist/readiness.d.ts +20 -9
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +6 -6
- package/dist/reads.d.ts +11 -0
- package/dist/reads.d.ts.map +1 -0
- package/dist/reads.js +100 -0
- package/dist/recovery.d.ts +2 -2
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +8 -7
- package/dist/refresh.d.ts +16 -15
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +112 -45
- package/dist/replica.d.ts +57 -33
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +295 -177
- package/dist/room-draft.d.ts +17 -2
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +65 -25
- package/dist/rows.d.ts +29 -29
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +113 -62
- package/dist/save.d.ts +51 -14
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +518 -180
- package/dist/search.d.ts +32 -43
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +37 -168
- package/dist/seed.d.ts +16 -0
- package/dist/seed.d.ts.map +1 -0
- package/dist/seed.js +75 -0
- package/dist/shared.d.ts +8 -3
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +129 -66
- package/dist/store.d.ts +99 -88
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +335 -641
- package/dist/stored.d.ts +145 -0
- package/dist/stored.d.ts.map +1 -0
- package/dist/stored.js +567 -0
- package/dist/tables.d.ts +354 -0
- package/dist/tables.d.ts.map +1 -0
- package/dist/tables.js +624 -0
- package/dist/turn.d.ts +5 -3
- package/dist/turn.d.ts.map +1 -1
- package/dist/turn.js +51 -21
- package/dist/validation.d.ts +30 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +162 -0
- package/dist/windows.d.ts +22 -0
- package/dist/windows.d.ts.map +1 -0
- package/dist/windows.js +89 -0
- package/dist/wire.d.ts +163 -33
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +54 -32
- package/dist/words.d.ts +19 -0
- package/dist/words.d.ts.map +1 -0
- package/dist/words.js +150 -0
- package/package.json +11 -5
- package/dist/acquisition.d.ts +0 -14
- package/dist/acquisition.d.ts.map +0 -1
- package/dist/acquisition.js +0 -24
- package/dist/read-side.d.ts +0 -25
- package/dist/read-side.d.ts.map +0 -1
- package/dist/read-side.js +0 -639
package/dist/shared.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { finished, ROW_WEIGHT } from './turn.js';
|
|
1
2
|
const BITS = 5;
|
|
2
3
|
const MASK = (1 << BITS) - 1;
|
|
3
4
|
const roots = new WeakMap();
|
|
4
|
-
const tallies = new WeakMap();
|
|
5
5
|
function hashOf(key) {
|
|
6
6
|
let hash = 0x811c9dc5;
|
|
7
7
|
for (let index = 0; index < key.length; index += 1) {
|
|
@@ -179,33 +179,94 @@ function facade(root) {
|
|
|
179
179
|
roots.set(map, root);
|
|
180
180
|
return map;
|
|
181
181
|
}
|
|
182
|
-
function
|
|
182
|
+
export function* entriesIn(map) {
|
|
183
|
+
const root = roots.get(map);
|
|
184
|
+
if (root === undefined) {
|
|
185
|
+
for (const key of Object.keys(map))
|
|
186
|
+
yield [key, map[key]];
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
for (const leaf of leavesOf(root.node))
|
|
190
|
+
yield [leaf.key, leaf.value];
|
|
191
|
+
}
|
|
192
|
+
function* rooted(map) {
|
|
183
193
|
const held = roots.get(map);
|
|
184
194
|
if (held !== undefined)
|
|
185
195
|
return held;
|
|
186
196
|
let node;
|
|
187
197
|
let size = 0;
|
|
188
|
-
for (const [key, value] of
|
|
198
|
+
for (const [key, value] of entriesIn(map)) {
|
|
189
199
|
node = put(node, { key, hash: hashOf(key), value }, 0);
|
|
190
200
|
size += 1;
|
|
201
|
+
yield ROW_WEIGHT;
|
|
191
202
|
}
|
|
192
203
|
return { node, size };
|
|
193
204
|
}
|
|
205
|
+
export function* keysIn(...maps) {
|
|
206
|
+
const keys = new Set();
|
|
207
|
+
for (const map of maps) {
|
|
208
|
+
for (const [key] of entriesIn(map)) {
|
|
209
|
+
keys.add(key);
|
|
210
|
+
yield ROW_WEIGHT;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
return keys;
|
|
214
|
+
}
|
|
215
|
+
const RUN = 1 << 10;
|
|
216
|
+
function* merged(left, right) {
|
|
217
|
+
const into = [];
|
|
218
|
+
let at = 0;
|
|
219
|
+
let from = 0;
|
|
220
|
+
while (at < left.length || from < right.length) {
|
|
221
|
+
into.push(from === right.length || (at < left.length && left[at] < right[from])
|
|
222
|
+
? left[at++]
|
|
223
|
+
: right[from++]);
|
|
224
|
+
yield ROW_WEIGHT;
|
|
225
|
+
}
|
|
226
|
+
return into;
|
|
227
|
+
}
|
|
228
|
+
function* pathsOf(map) {
|
|
229
|
+
for (const [key] of entriesIn(map))
|
|
230
|
+
yield key;
|
|
231
|
+
}
|
|
232
|
+
export function* sortedKeys(map) {
|
|
233
|
+
return yield* sorting(pathsOf(map));
|
|
234
|
+
}
|
|
235
|
+
export function* sorting(keys) {
|
|
236
|
+
let runs = [];
|
|
237
|
+
let run = [];
|
|
238
|
+
for (const key of keys) {
|
|
239
|
+
run.push(key);
|
|
240
|
+
yield ROW_WEIGHT;
|
|
241
|
+
if (run.length === RUN) {
|
|
242
|
+
runs.push(run.sort());
|
|
243
|
+
run = [];
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
if (run.length > 0)
|
|
247
|
+
runs.push(run.sort());
|
|
248
|
+
while (runs.length > 1) {
|
|
249
|
+
const next = [];
|
|
250
|
+
for (let at = 0; at < runs.length; at += 2) {
|
|
251
|
+
next.push(at + 1 === runs.length ? runs[at] : yield* merged(runs[at], runs[at + 1]));
|
|
252
|
+
}
|
|
253
|
+
runs = next;
|
|
254
|
+
}
|
|
255
|
+
return runs[0] ?? [];
|
|
256
|
+
}
|
|
257
|
+
export function* sharing(map) {
|
|
258
|
+
return roots.has(map) ? map : facade(yield* rooted(map));
|
|
259
|
+
}
|
|
194
260
|
export function shared(map) {
|
|
195
|
-
return
|
|
261
|
+
return finished(sharing(map));
|
|
196
262
|
}
|
|
197
263
|
export function patched(base, set, removed = []) {
|
|
198
|
-
|
|
199
|
-
|
|
264
|
+
return finished(patching(base, set, removed));
|
|
265
|
+
}
|
|
266
|
+
export function* patching(base, set, removed = []) {
|
|
267
|
+
const root = yield* rooted(base);
|
|
200
268
|
let node = root.node;
|
|
201
269
|
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
270
|
for (const key of removed) {
|
|
210
271
|
if (node === undefined)
|
|
211
272
|
break;
|
|
@@ -214,88 +275,86 @@ export function patched(base, set, removed = []) {
|
|
|
214
275
|
continue;
|
|
215
276
|
node = taken(node, before.hash, key, 0);
|
|
216
277
|
size -= 1;
|
|
217
|
-
|
|
278
|
+
yield ROW_WEIGHT;
|
|
218
279
|
}
|
|
219
280
|
for (const [key, value] of set) {
|
|
220
281
|
const before = lookup({ node, size }, key);
|
|
221
282
|
node = put(node, { key, hash: hashOf(key), value }, 0);
|
|
222
283
|
if (before === undefined)
|
|
223
284
|
size += 1;
|
|
224
|
-
|
|
285
|
+
yield ROW_WEIGHT;
|
|
225
286
|
}
|
|
226
287
|
if (node === root.node && roots.has(base))
|
|
227
288
|
return base;
|
|
228
|
-
|
|
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;
|
|
289
|
+
return facade({ node, size });
|
|
247
290
|
}
|
|
248
291
|
export function sizeOf(map) {
|
|
249
292
|
return roots.get(map)?.size ?? Object.keys(map).length;
|
|
250
293
|
}
|
|
251
|
-
function
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
294
|
+
function* compared(left, right, same, into) {
|
|
295
|
+
const pending = [[left, right]];
|
|
296
|
+
for (let pair = pending.pop(); pair !== undefined; pair = pending.pop()) {
|
|
297
|
+
const [one, other] = pair;
|
|
298
|
+
if (one === other)
|
|
299
|
+
continue;
|
|
300
|
+
if (one !== undefined &&
|
|
301
|
+
other !== undefined &&
|
|
302
|
+
!isLeaf(one) &&
|
|
303
|
+
!isCollision(one) &&
|
|
304
|
+
!isLeaf(other) &&
|
|
305
|
+
!isCollision(other)) {
|
|
306
|
+
const children = [];
|
|
307
|
+
for (let remaining = one.bitmap | other.bitmap; remaining !== 0; remaining &= remaining - 1) {
|
|
308
|
+
const bit = remaining & -remaining;
|
|
309
|
+
children.push([
|
|
310
|
+
(one.bitmap & bit) === 0 ? undefined : one.children[slot(one.bitmap, bit)],
|
|
311
|
+
(other.bitmap & bit) === 0 ? undefined : other.children[slot(other.bitmap, bit)],
|
|
312
|
+
]);
|
|
313
|
+
}
|
|
314
|
+
pending.push(...children.reverse());
|
|
315
|
+
continue;
|
|
267
316
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
317
|
+
const before = new Map();
|
|
318
|
+
for (const leaf of leavesOf(one)) {
|
|
319
|
+
before.set(leaf.key, leaf.value);
|
|
320
|
+
yield ROW_WEIGHT;
|
|
321
|
+
}
|
|
322
|
+
for (const leaf of leavesOf(other)) {
|
|
323
|
+
const held = before.get(leaf.key);
|
|
324
|
+
before.delete(leaf.key);
|
|
325
|
+
if (held === undefined || !same(held, leaf.value))
|
|
326
|
+
into.add(leaf.key);
|
|
327
|
+
yield ROW_WEIGHT;
|
|
328
|
+
}
|
|
329
|
+
for (const key of before.keys())
|
|
330
|
+
into.add(key);
|
|
276
331
|
}
|
|
277
|
-
for (const key of before.keys())
|
|
278
|
-
into.add(key);
|
|
279
332
|
}
|
|
280
|
-
export function
|
|
333
|
+
export function* differences(left, right, same = Object.is) {
|
|
281
334
|
const into = new Set();
|
|
282
335
|
if (left === right)
|
|
283
336
|
return into;
|
|
284
337
|
const leftRoot = roots.get(left);
|
|
285
338
|
const rightRoot = roots.get(right);
|
|
286
339
|
if (leftRoot !== undefined && rightRoot !== undefined) {
|
|
287
|
-
compared(leftRoot.node, rightRoot.node,
|
|
340
|
+
yield* compared(leftRoot.node, rightRoot.node, same, into);
|
|
288
341
|
return into;
|
|
289
342
|
}
|
|
290
|
-
for (const key of
|
|
291
|
-
if (!Object.hasOwn(right, key) || !same(
|
|
343
|
+
for (const [key, value] of entriesIn(left)) {
|
|
344
|
+
if (!Object.hasOwn(right, key) || !same(value, right[key]))
|
|
292
345
|
into.add(key);
|
|
346
|
+
yield ROW_WEIGHT;
|
|
293
347
|
}
|
|
294
|
-
for (const key of
|
|
348
|
+
for (const [key] of entriesIn(right)) {
|
|
295
349
|
if (!Object.hasOwn(left, key))
|
|
296
350
|
into.add(key);
|
|
351
|
+
yield ROW_WEIGHT;
|
|
352
|
+
}
|
|
297
353
|
return into;
|
|
298
354
|
}
|
|
355
|
+
export function differing(left, right, same = Object.is) {
|
|
356
|
+
return finished(differences(left, right, same));
|
|
357
|
+
}
|
|
299
358
|
const drafts = new WeakMap();
|
|
300
359
|
const GONE = Symbol('gone');
|
|
301
360
|
export function drafted(base) {
|
|
@@ -355,6 +414,9 @@ export function drafted(base) {
|
|
|
355
414
|
return draft;
|
|
356
415
|
}
|
|
357
416
|
export function settled(draft) {
|
|
417
|
+
return finished(settling(draft));
|
|
418
|
+
}
|
|
419
|
+
export function* settling(draft) {
|
|
358
420
|
const held = drafts.get(draft);
|
|
359
421
|
const set = [];
|
|
360
422
|
const removed = [];
|
|
@@ -363,6 +425,7 @@ export function settled(draft) {
|
|
|
363
425
|
removed.push(key);
|
|
364
426
|
else
|
|
365
427
|
set.push([key, value]);
|
|
428
|
+
yield ROW_WEIGHT;
|
|
366
429
|
}
|
|
367
|
-
return
|
|
430
|
+
return yield* patching(held.base, set, removed);
|
|
368
431
|
}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,43 +1,33 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { Capability, HeadChange, Member, OperationScopes, ProviderLimit, ReplicaAdmission, TypedSelection } from './adapter.js';
|
|
3
|
-
import type { AcceptedMessage, KeptReceipt } from './adapter.js';
|
|
1
|
+
import type { BootstrapInventory, Capability, KeptReceipt, Member, ProviderLimit } from './adapter.js';
|
|
4
2
|
import type { ChangeBatch } from './change.js';
|
|
5
|
-
import {
|
|
6
|
-
import type {
|
|
3
|
+
import type { Composition } from './collection.js';
|
|
4
|
+
import type { Plan } from './query.js';
|
|
5
|
+
import type { ReplicaRecord } from './replica.js';
|
|
7
6
|
import type { Submission } from './outcome.js';
|
|
8
7
|
import type { RoomDraftRecord, SavedDraft } from './room-draft.js';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
replica: ReplicaAdmission;
|
|
17
|
-
model: ModelState;
|
|
18
|
-
typedSelection: TypedSelection | null;
|
|
19
|
-
selectionModel: ModelState;
|
|
20
|
-
providerOwnedPaths: readonly string[];
|
|
21
|
-
roomVersion: string;
|
|
22
|
-
transfer: string;
|
|
23
|
-
documents: Readonly<Record<string, string>>;
|
|
24
|
-
binaries: Readonly<Record<string, HeldBinary>>;
|
|
25
|
-
revisions: Readonly<Record<string, string>>;
|
|
26
|
-
changes: Readonly<Record<string, HeadChange>>;
|
|
27
|
-
written: Readonly<Record<string, string>>;
|
|
8
|
+
import type { ModelState } from './model.js';
|
|
9
|
+
import type { SearchWindow } from './search.js';
|
|
10
|
+
import type { CommittedWrite, ConversationWrite, CountedRoom, HeldConversation, HeldEntry, MessageWindow, QueryAnswer, QueryRoom, Referrer, RoomCommit, RuntimeDatabase, SearchAsk, StoredEntry, StoredFile, TypedEntry, View, Walked } from './tables.js';
|
|
11
|
+
export type { ConversationWrite, HeldConversation, MessageWindow } from './tables.js';
|
|
12
|
+
export type TransferWriting = {
|
|
13
|
+
readonly token: string | null;
|
|
14
|
+
readonly written: number;
|
|
28
15
|
};
|
|
29
|
-
export type StagedLayer = Pick<ReplicaRecord, 'documents' | 'binaries' | 'revisions' | 'changes' | 'written'>;
|
|
30
16
|
export type TransferRecord = {
|
|
31
|
-
locator: string;
|
|
32
|
-
transfer: string;
|
|
33
|
-
selection: string;
|
|
34
|
-
from: string;
|
|
35
|
-
last: string;
|
|
36
|
-
pageToken: string | null;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
17
|
+
readonly locator: string;
|
|
18
|
+
readonly transfer: string;
|
|
19
|
+
readonly selection: string;
|
|
20
|
+
readonly from: string;
|
|
21
|
+
readonly last: string;
|
|
22
|
+
readonly pageToken: string | null;
|
|
23
|
+
readonly writing: TransferWriting | null;
|
|
24
|
+
readonly inventory: BootstrapInventory | null;
|
|
25
|
+
readonly done: BootstrapInventory;
|
|
26
|
+
readonly models: {
|
|
27
|
+
readonly collection: ModelState;
|
|
28
|
+
readonly selection: ModelState;
|
|
40
29
|
};
|
|
30
|
+
readonly key: number | null;
|
|
41
31
|
};
|
|
42
32
|
export type PendingState = {
|
|
43
33
|
readonly drafts: readonly SavedDraft[];
|
|
@@ -48,7 +38,6 @@ export type PendingState = {
|
|
|
48
38
|
};
|
|
49
39
|
export type TargetRecord = {
|
|
50
40
|
established: boolean;
|
|
51
|
-
search: boolean;
|
|
52
41
|
};
|
|
53
42
|
export type QueueRecord = {
|
|
54
43
|
locator: string;
|
|
@@ -61,84 +50,111 @@ export type PresentationRecord = {
|
|
|
61
50
|
app: string;
|
|
62
51
|
value: unknown;
|
|
63
52
|
};
|
|
64
|
-
export type HeldConversation = {
|
|
65
|
-
conversation: string;
|
|
66
|
-
read: string | null | undefined;
|
|
67
|
-
partial: boolean;
|
|
68
|
-
};
|
|
69
|
-
export type ConversationWrite = {
|
|
70
|
-
conversation: string;
|
|
71
|
-
messages: readonly AcceptedMessage[];
|
|
72
|
-
read?: {
|
|
73
|
-
at: string | null;
|
|
74
|
-
partial: boolean;
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
53
|
export type ChatSubmission = {
|
|
78
54
|
readonly operation: string;
|
|
79
55
|
readonly text: string;
|
|
80
|
-
readonly files: readonly ChatDraftFile[];
|
|
81
56
|
readonly turn: string | null;
|
|
82
57
|
};
|
|
83
58
|
export type ChatDraftRecord = {
|
|
84
59
|
conversation: string;
|
|
85
60
|
text: string;
|
|
86
|
-
files: readonly ChatDraftFile[];
|
|
87
61
|
revision: string;
|
|
88
62
|
submitted?: readonly ChatSubmission[];
|
|
63
|
+
moves?: readonly string[];
|
|
89
64
|
};
|
|
90
|
-
export type
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
65
|
+
export type CallRecord = {
|
|
66
|
+
readonly operation: string;
|
|
67
|
+
readonly name: string;
|
|
68
|
+
readonly input: unknown;
|
|
94
69
|
};
|
|
95
70
|
export type AuthoredWrite = {
|
|
96
71
|
locator: string;
|
|
97
|
-
queue
|
|
72
|
+
queue?: readonly ChangeBatch[];
|
|
73
|
+
founded?: readonly ChangeBatch[];
|
|
98
74
|
saved?: ReadonlyMap<string, readonly SavedDraft[]>;
|
|
99
75
|
roomDrafts?: readonly RoomDraftRecord[];
|
|
100
76
|
consumedRoomDrafts?: readonly string[];
|
|
77
|
+
accepted?: readonly {
|
|
78
|
+
readonly id: string;
|
|
79
|
+
readonly roomVersion: string;
|
|
80
|
+
}[];
|
|
81
|
+
};
|
|
82
|
+
export type StagedPage = {
|
|
83
|
+
readonly entries: readonly StoredEntry[];
|
|
84
|
+
readonly folders: readonly string[];
|
|
85
|
+
};
|
|
86
|
+
export type RefreshedPage = StagedPage & {
|
|
87
|
+
readonly removals: readonly string[];
|
|
88
|
+
readonly folderRemovals: readonly string[];
|
|
89
|
+
};
|
|
90
|
+
export type Opened = {
|
|
91
|
+
readonly rooms: ReadonlyMap<string, ReplicaRecord>;
|
|
92
|
+
readonly transfers: ReadonlyMap<string, TransferRecord>;
|
|
93
|
+
readonly unindexed: ReadonlySet<number>;
|
|
94
|
+
readonly overlaid: ReadonlyMap<number, ReadonlySet<string>>;
|
|
95
|
+
readonly erasing: boolean;
|
|
96
|
+
readonly orphans: readonly number[];
|
|
97
|
+
readonly lastCompleted: string | null;
|
|
98
|
+
readonly providerLimits: readonly ProviderLimit[];
|
|
99
|
+
readonly capabilities: readonly Capability[];
|
|
100
|
+
readonly member: Member | null;
|
|
101
|
+
readonly targets: Readonly<Record<string, TargetRecord>>;
|
|
102
|
+
readonly presentation: readonly PresentationRecord[];
|
|
103
|
+
};
|
|
104
|
+
export type Commit = {
|
|
105
|
+
readonly rooms: readonly RoomCommit[];
|
|
106
|
+
readonly writes?: readonly AuthoredWrite[];
|
|
107
|
+
readonly files?: readonly StoredFile[];
|
|
108
|
+
readonly whole?: boolean;
|
|
109
|
+
readonly discards?: readonly string[];
|
|
101
110
|
};
|
|
102
111
|
export type RuntimeStore = {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
112
|
+
opened(): Promise<Opened>;
|
|
113
|
+
counts(rooms: readonly CountedRoom[]): Promise<readonly number[]>;
|
|
114
|
+
query(plan: Plan, rooms: readonly QueryRoom[], budget: number | null): Promise<QueryAnswer>;
|
|
115
|
+
changes(keys: readonly number[]): number;
|
|
116
|
+
entries(key: number, view: View, paths: readonly string[]): Promise<readonly HeldEntry[]>;
|
|
117
|
+
typed(key: number, view: View, paths: readonly string[]): Promise<readonly TypedEntry[]>;
|
|
118
|
+
referrers(key: number, view: View, targets: readonly string[], kinds: readonly string[]): Promise<readonly Referrer[]>;
|
|
119
|
+
walk(key: number, view: View, after: string | null, bytes: number): Promise<Walked>;
|
|
120
|
+
files(key: number, view: View, after: string | null, limit: number): Promise<readonly {
|
|
121
|
+
readonly path: string;
|
|
122
|
+
readonly revision: string;
|
|
123
|
+
}[]>;
|
|
124
|
+
typedWithin(key: number, view: View, roots: readonly string[], within: boolean): Promise<boolean>;
|
|
125
|
+
search(ask: SearchAsk): Promise<SearchWindow>;
|
|
126
|
+
stage(record: TransferRecord, composition: Composition, page: StagedPage, written?: string): Promise<number | null>;
|
|
127
|
+
transferPart(locator: string, token: string): Promise<Uint8Array | null>;
|
|
128
|
+
keepPart(locator: string, token: string, part: Uint8Array): Promise<void>;
|
|
129
|
+
refresh(key: number, page: RefreshedPage): Promise<void>;
|
|
130
|
+
unrefresh(key: number): Promise<void>;
|
|
131
|
+
commit(commit: Commit): Promise<CommittedWrite>;
|
|
132
|
+
fence(locators: readonly string[]): Promise<void>;
|
|
133
|
+
erase(locator: string | null, limit: number): Promise<boolean>;
|
|
134
|
+
abandon(locator: string, kept?: boolean): Promise<number | null>;
|
|
135
|
+
release(key: number): Promise<void>;
|
|
136
|
+
rederive(key: number, limit: number): Promise<boolean>;
|
|
137
|
+
fact(name: string, value: unknown): Promise<void>;
|
|
116
138
|
queues(): Promise<readonly QueueRecord[]>;
|
|
117
139
|
submit(locator: string, id: string, submission: Submission, lost: boolean): Promise<void>;
|
|
118
|
-
accept(locator: string, id: string, roomVersion: string): Promise<void>;
|
|
119
140
|
keepUpload(locator: string, id: string, upload: unknown): Promise<void>;
|
|
120
141
|
roomDrafts(): Promise<readonly RoomDraftRecord[]>;
|
|
121
|
-
presentation(): Promise<readonly PresentationRecord[]>;
|
|
122
142
|
present(record: PresentationRecord): Promise<void>;
|
|
123
143
|
conversations(): Promise<readonly HeldConversation[]>;
|
|
124
144
|
keepMessages(write: ConversationWrite): Promise<void>;
|
|
125
|
-
messageWindow(conversation: string, limit: number |
|
|
126
|
-
|
|
127
|
-
messageIdentities(conversation: string): Promise<readonly string[]>;
|
|
145
|
+
messageWindow(conversation: string, limit: number, before: readonly [string, string] | null): Promise<MessageWindow>;
|
|
146
|
+
messageCount(conversation: string): Promise<number>;
|
|
128
147
|
turnArrived(conversation: string, turn: string): Promise<boolean>;
|
|
129
148
|
dropConversations(conversations: readonly string[]): Promise<void>;
|
|
130
149
|
chatDrafts(): Promise<readonly ChatDraftRecord[]>;
|
|
131
|
-
|
|
150
|
+
keepChatDrafts(records: readonly ChatDraftRecord[]): Promise<void>;
|
|
132
151
|
dropChatDraft(conversation: string): Promise<void>;
|
|
133
|
-
|
|
152
|
+
calls(): Promise<readonly CallRecord[]>;
|
|
153
|
+
keepCall(record: CallRecord): Promise<void>;
|
|
154
|
+
dropCall(operation: string): Promise<void>;
|
|
155
|
+
keepRoomDraft(record: RoomDraftRecord, files: readonly StoredFile[]): Promise<void>;
|
|
134
156
|
discardRoomDraft(locator: string, path: string): Promise<void>;
|
|
135
157
|
fences(): Promise<readonly string[]>;
|
|
136
|
-
erase(locators: readonly string[]): Promise<void>;
|
|
137
|
-
discard(locator: string): Promise<void>;
|
|
138
|
-
transfers(): Promise<readonly TransferRecord[]>;
|
|
139
|
-
staged(record: TransferRecord): Promise<StagedLayer>;
|
|
140
|
-
stage(record: TransferRecord, page: StagedLayer): Promise<void>;
|
|
141
|
-
abandon(locator: string): Promise<void>;
|
|
142
158
|
receivedHeads(): Promise<readonly KeptReceipt[]>;
|
|
143
159
|
receivedParts(key: string, count: number): Promise<readonly unknown[]>;
|
|
144
160
|
keepReceived(key: string, head: unknown, part?: {
|
|
@@ -148,12 +164,7 @@ export type RuntimeStore = {
|
|
|
148
164
|
dropReceived(keys: readonly string[]): Promise<void>;
|
|
149
165
|
generation(): Promise<string | null>;
|
|
150
166
|
rememberGeneration(value: string): Promise<void>;
|
|
151
|
-
|
|
167
|
+
file(key: string, type: string): Promise<Blob>;
|
|
152
168
|
};
|
|
153
|
-
export declare function
|
|
154
|
-
export declare function authoredBy(holder: string): Promise<boolean>;
|
|
155
|
-
export declare function authoredBinding(): Promise<string | null>;
|
|
156
|
-
export declare function bindAuthored(binding: string): Promise<void>;
|
|
157
|
-
export declare function removeRuntimeStore(holder?: string): Promise<boolean>;
|
|
158
|
-
export declare function openRuntimeStore(fenced: (locator: string) => boolean): Promise<RuntimeStore>;
|
|
169
|
+
export declare function openRuntimeStore(fenced: (locator: string) => boolean, authored: RuntimeDatabase): RuntimeStore;
|
|
159
170
|
//# sourceMappingURL=store.d.ts.map
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|