@agentshouse/mdruntime 0.1.0-ca4dc698bd0c4 → 0.1.0-ca69b8fe1fa9f
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/README.md +19 -16
- package/dist/adapter.d.ts +149 -75
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +5 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +38 -4
- 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 +27 -11
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +181 -99
- package/dist/chain.d.ts +12 -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/client.d.ts +21 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +96 -11
- package/dist/collection.d.ts +11 -21
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +39 -291
- package/dist/compile.d.ts +11 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +589 -0
- package/dist/connection.d.ts +30 -16
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +3295 -1360
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/{chat/context.js → context.js} +1 -4
- package/dist/conversation.d.ts +31 -14
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +523 -203
- 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 +2 -5
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +5 -2
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +31 -27
- package/dist/file.d.ts +2 -19
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +7 -122
- package/dist/host.d.ts +6 -8
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +94 -24
- 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 +20 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -1
- package/dist/job.d.ts +14 -0
- package/dist/job.d.ts.map +1 -0
- package/dist/job.js +28 -0
- package/dist/live.d.ts +23 -0
- package/dist/live.d.ts.map +1 -0
- package/dist/live.js +127 -0
- package/dist/media.d.ts +8 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +218 -0
- package/dist/memory.d.ts +17 -7
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +209 -102
- package/dist/messages.d.ts +28 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +89 -0
- package/dist/model.d.ts +10 -5
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +8 -14
- 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 +17 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +100 -5
- 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 +45 -7
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +39 -0
- package/dist/overlay.d.ts +3 -5
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +95 -156
- package/dist/paths.d.ts +1 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +4 -0
- package/dist/query.d.ts +18 -185
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +3 -464
- package/dist/reach.d.ts +16 -8
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +219 -90
- package/dist/react.d.ts +6 -4
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +7 -17
- package/dist/readiness.d.ts +14 -17
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +2 -8
- package/dist/recovery.d.ts +3 -2
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +34 -7
- package/dist/refresh.d.ts +17 -14
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +155 -52
- package/dist/replica.d.ts +56 -33
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +301 -182
- package/dist/room-draft.d.ts +36 -5
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +161 -74
- package/dist/rows.d.ts +22 -29
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +63 -112
- package/dist/save.d.ts +53 -14
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +529 -185
- package/dist/search.d.ts +15 -77
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +10 -184
- 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 +7 -3
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +119 -66
- package/dist/status.d.ts +4 -3
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +3 -1
- package/dist/store.d.ts +101 -98
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +338 -661
- package/dist/stored.d.ts +162 -0
- package/dist/stored.d.ts.map +1 -0
- package/dist/stored.js +543 -0
- package/dist/tables.d.ts +353 -0
- package/dist/tables.d.ts.map +1 -0
- package/dist/tables.js +588 -0
- package/dist/transfer.d.ts +0 -5
- package/dist/transfer.d.ts.map +1 -1
- 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 +29 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +104 -0
- package/dist/windows.d.ts +11 -0
- package/dist/windows.d.ts.map +1 -0
- package/dist/windows.js +16 -0
- package/dist/wire.d.ts +164 -33
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +55 -32
- package/package.json +18 -19
- package/AGENTS.md +0 -300
- package/dist/acquisition.d.ts +0 -14
- package/dist/acquisition.d.ts.map +0 -1
- package/dist/acquisition.js +0 -24
- package/dist/chat/acts.d.ts +0 -33
- package/dist/chat/acts.d.ts.map +0 -1
- package/dist/chat/acts.js +0 -36
- package/dist/chat/context.d.ts +0 -3
- package/dist/chat/context.d.ts.map +0 -1
- package/dist/chat/input.d.ts +0 -9
- package/dist/chat/input.d.ts.map +0 -1
- package/dist/chat/input.js +0 -99
- package/dist/chat/kit.d.ts +0 -60
- package/dist/chat/kit.d.ts.map +0 -1
- package/dist/chat/kit.js +0 -123
- package/dist/chat/lasting.d.ts +0 -6
- package/dist/chat/lasting.d.ts.map +0 -1
- package/dist/chat/lasting.js +0 -19
- package/dist/chat/list.d.ts +0 -26
- package/dist/chat/list.d.ts.map +0 -1
- package/dist/chat/list.js +0 -62
- package/dist/chat/markdown.d.ts +0 -20
- package/dist/chat/markdown.d.ts.map +0 -1
- package/dist/chat/markdown.js +0 -188
- package/dist/chat/message.d.ts +0 -6
- package/dist/chat/message.d.ts.map +0 -1
- package/dist/chat/message.js +0 -192
- package/dist/chat/messages.d.ts +0 -21
- package/dist/chat/messages.d.ts.map +0 -1
- package/dist/chat/messages.js +0 -151
- package/dist/chat/name.d.ts +0 -6
- package/dist/chat/name.d.ts.map +0 -1
- package/dist/chat/name.js +0 -37
- package/dist/chat/opened.d.ts +0 -11
- package/dist/chat/opened.d.ts.map +0 -1
- package/dist/chat/opened.js +0 -17
- package/dist/chat/overlay.d.ts +0 -31
- package/dist/chat/overlay.d.ts.map +0 -1
- package/dist/chat/overlay.js +0 -97
- package/dist/chat/parts.d.ts +0 -57
- package/dist/chat/parts.d.ts.map +0 -1
- package/dist/chat/parts.js +0 -119
- package/dist/chat/process.d.ts +0 -20
- package/dist/chat/process.d.ts.map +0 -1
- package/dist/chat/process.js +0 -32
- package/dist/chat/provider.d.ts +0 -63
- package/dist/chat/provider.d.ts.map +0 -1
- package/dist/chat/provider.js +0 -620
- package/dist/chat/question.d.ts +0 -9
- package/dist/chat/question.d.ts.map +0 -1
- package/dist/chat/question.js +0 -80
- package/dist/chat/questions.d.ts +0 -31
- package/dist/chat/questions.d.ts.map +0 -1
- package/dist/chat/questions.js +0 -111
- package/dist/chat/read.d.ts +0 -5
- package/dist/chat/read.d.ts.map +0 -1
- package/dist/chat/read.js +0 -13
- package/dist/chat/ready.d.ts +0 -33
- package/dist/chat/ready.d.ts.map +0 -1
- package/dist/chat/ready.js +0 -91
- package/dist/chat/style.d.ts +0 -4
- package/dist/chat/style.d.ts.map +0 -1
- package/dist/chat/style.js +0 -302
- package/dist/chat.d.ts +0 -14
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js +0 -8
- 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,84 @@ 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
|
+
const RUN = 1 << 10;
|
|
206
|
+
function* merged(left, right) {
|
|
207
|
+
const into = [];
|
|
208
|
+
let at = 0;
|
|
209
|
+
let from = 0;
|
|
210
|
+
while (at < left.length || from < right.length) {
|
|
211
|
+
into.push(from === right.length || (at < left.length && left[at] < right[from])
|
|
212
|
+
? left[at++]
|
|
213
|
+
: right[from++]);
|
|
214
|
+
yield ROW_WEIGHT;
|
|
215
|
+
}
|
|
216
|
+
return into;
|
|
217
|
+
}
|
|
218
|
+
function* pathsOf(map) {
|
|
219
|
+
for (const [key] of entriesIn(map))
|
|
220
|
+
yield key;
|
|
221
|
+
}
|
|
222
|
+
export function* sortedKeys(map) {
|
|
223
|
+
return yield* sorting(pathsOf(map));
|
|
224
|
+
}
|
|
225
|
+
export function* sorting(keys) {
|
|
226
|
+
let runs = [];
|
|
227
|
+
let run = [];
|
|
228
|
+
for (const key of keys) {
|
|
229
|
+
run.push(key);
|
|
230
|
+
yield ROW_WEIGHT;
|
|
231
|
+
if (run.length === RUN) {
|
|
232
|
+
runs.push(run.sort());
|
|
233
|
+
run = [];
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
if (run.length > 0)
|
|
237
|
+
runs.push(run.sort());
|
|
238
|
+
while (runs.length > 1) {
|
|
239
|
+
const next = [];
|
|
240
|
+
for (let at = 0; at < runs.length; at += 2) {
|
|
241
|
+
next.push(at + 1 === runs.length ? runs[at] : yield* merged(runs[at], runs[at + 1]));
|
|
242
|
+
}
|
|
243
|
+
runs = next;
|
|
244
|
+
}
|
|
245
|
+
return runs[0] ?? [];
|
|
246
|
+
}
|
|
247
|
+
export function* sharing(map) {
|
|
248
|
+
return roots.has(map) ? map : facade(yield* rooted(map));
|
|
249
|
+
}
|
|
194
250
|
export function shared(map) {
|
|
195
|
-
return
|
|
251
|
+
return finished(sharing(map));
|
|
196
252
|
}
|
|
197
253
|
export function patched(base, set, removed = []) {
|
|
198
|
-
|
|
199
|
-
|
|
254
|
+
return finished(patching(base, set, removed));
|
|
255
|
+
}
|
|
256
|
+
export function* patching(base, set, removed = []) {
|
|
257
|
+
const root = yield* rooted(base);
|
|
200
258
|
let node = root.node;
|
|
201
259
|
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
260
|
for (const key of removed) {
|
|
210
261
|
if (node === undefined)
|
|
211
262
|
break;
|
|
@@ -214,88 +265,86 @@ export function patched(base, set, removed = []) {
|
|
|
214
265
|
continue;
|
|
215
266
|
node = taken(node, before.hash, key, 0);
|
|
216
267
|
size -= 1;
|
|
217
|
-
|
|
268
|
+
yield ROW_WEIGHT;
|
|
218
269
|
}
|
|
219
270
|
for (const [key, value] of set) {
|
|
220
271
|
const before = lookup({ node, size }, key);
|
|
221
272
|
node = put(node, { key, hash: hashOf(key), value }, 0);
|
|
222
273
|
if (before === undefined)
|
|
223
274
|
size += 1;
|
|
224
|
-
|
|
275
|
+
yield ROW_WEIGHT;
|
|
225
276
|
}
|
|
226
277
|
if (node === root.node && roots.has(base))
|
|
227
278
|
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;
|
|
279
|
+
return facade({ node, size });
|
|
247
280
|
}
|
|
248
281
|
export function sizeOf(map) {
|
|
249
282
|
return roots.get(map)?.size ?? Object.keys(map).length;
|
|
250
283
|
}
|
|
251
|
-
function
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
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;
|
|
267
306
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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);
|
|
276
321
|
}
|
|
277
|
-
for (const key of before.keys())
|
|
278
|
-
into.add(key);
|
|
279
322
|
}
|
|
280
|
-
export function
|
|
323
|
+
export function* differences(left, right, same = Object.is) {
|
|
281
324
|
const into = new Set();
|
|
282
325
|
if (left === right)
|
|
283
326
|
return into;
|
|
284
327
|
const leftRoot = roots.get(left);
|
|
285
328
|
const rightRoot = roots.get(right);
|
|
286
329
|
if (leftRoot !== undefined && rightRoot !== undefined) {
|
|
287
|
-
compared(leftRoot.node, rightRoot.node,
|
|
330
|
+
yield* compared(leftRoot.node, rightRoot.node, same, into);
|
|
288
331
|
return into;
|
|
289
332
|
}
|
|
290
|
-
for (const key of
|
|
291
|
-
if (!Object.hasOwn(right, key) || !same(
|
|
333
|
+
for (const [key, value] of entriesIn(left)) {
|
|
334
|
+
if (!Object.hasOwn(right, key) || !same(value, right[key]))
|
|
292
335
|
into.add(key);
|
|
336
|
+
yield ROW_WEIGHT;
|
|
293
337
|
}
|
|
294
|
-
for (const key of
|
|
338
|
+
for (const [key] of entriesIn(right)) {
|
|
295
339
|
if (!Object.hasOwn(left, key))
|
|
296
340
|
into.add(key);
|
|
341
|
+
yield ROW_WEIGHT;
|
|
342
|
+
}
|
|
297
343
|
return into;
|
|
298
344
|
}
|
|
345
|
+
export function differing(left, right, same = Object.is) {
|
|
346
|
+
return finished(differences(left, right, same));
|
|
347
|
+
}
|
|
299
348
|
const drafts = new WeakMap();
|
|
300
349
|
const GONE = Symbol('gone');
|
|
301
350
|
export function drafted(base) {
|
|
@@ -355,6 +404,9 @@ export function drafted(base) {
|
|
|
355
404
|
return draft;
|
|
356
405
|
}
|
|
357
406
|
export function settled(draft) {
|
|
407
|
+
return finished(settling(draft));
|
|
408
|
+
}
|
|
409
|
+
export function* settling(draft) {
|
|
358
410
|
const held = drafts.get(draft);
|
|
359
411
|
const set = [];
|
|
360
412
|
const removed = [];
|
|
@@ -363,6 +415,7 @@ export function settled(draft) {
|
|
|
363
415
|
removed.push(key);
|
|
364
416
|
else
|
|
365
417
|
set.push([key, value]);
|
|
418
|
+
yield ROW_WEIGHT;
|
|
366
419
|
}
|
|
367
|
-
return
|
|
420
|
+
return yield* patching(held.base, set, removed);
|
|
368
421
|
}
|
package/dist/status.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import type { Open } from './open.js';
|
|
2
|
-
import type { ProviderRefusal } from './adapter.js';
|
|
3
2
|
import type { ReturnReason } from './room-draft.js';
|
|
4
3
|
export type AttentionEntry = {
|
|
5
4
|
room: string;
|
|
6
5
|
path: string;
|
|
7
6
|
returned: ReturnReason;
|
|
8
|
-
}
|
|
7
|
+
};
|
|
8
|
+
export type UnsentChange = {
|
|
9
9
|
room: string;
|
|
10
|
-
|
|
10
|
+
path: string;
|
|
11
11
|
};
|
|
12
12
|
export type SyncStatus = {
|
|
13
13
|
state: Open<'pending' | 'syncing' | 'synced'>;
|
|
14
14
|
lastCompleted: string | null;
|
|
15
15
|
providerUnreachable: boolean;
|
|
16
16
|
attentionRequired: readonly AttentionEntry[];
|
|
17
|
+
unsent: readonly UnsentChange[];
|
|
17
18
|
reset: string | null;
|
|
18
19
|
};
|
|
19
20
|
export type CycleProgress = {
|
package/dist/status.d.ts.map
CHANGED
|
@@ -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,
|
|
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;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,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,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC,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,UAOtB,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,CAShE"}
|
package/dist/status.js
CHANGED
|
@@ -3,6 +3,7 @@ export const STARTING = {
|
|
|
3
3
|
lastCompleted: null,
|
|
4
4
|
providerUnreachable: false,
|
|
5
5
|
attentionRequired: [],
|
|
6
|
+
unsent: [],
|
|
6
7
|
reset: null,
|
|
7
8
|
};
|
|
8
9
|
export function transferring(status) {
|
|
@@ -16,5 +17,6 @@ export function same(one, other) {
|
|
|
16
17
|
one.lastCompleted === other.lastCompleted &&
|
|
17
18
|
one.providerUnreachable === other.providerUnreachable &&
|
|
18
19
|
one.reset === other.reset &&
|
|
19
|
-
JSON.stringify(one.attentionRequired) === JSON.stringify(other.attentionRequired)
|
|
20
|
+
JSON.stringify(one.attentionRequired) === JSON.stringify(other.attentionRequired) &&
|
|
21
|
+
JSON.stringify(one.unsent) === JSON.stringify(other.unsent));
|
|
20
22
|
}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,54 +1,36 @@
|
|
|
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, ListedConversation, Member, ProviderLimit } from './adapter.js';
|
|
4
2
|
import type { ChangeBatch } from './change.js';
|
|
5
|
-
import { type
|
|
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
|
-
export type
|
|
12
|
-
locator: string;
|
|
13
|
-
name: string;
|
|
14
|
-
handle: string;
|
|
15
|
-
operations: OperationScopes;
|
|
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>>;
|
|
28
|
-
};
|
|
29
|
-
export type StagedLayer = Pick<ReplicaRecord, 'documents' | 'binaries' | 'revisions' | 'changes' | 'written'>;
|
|
8
|
+
import type { ModelState, StoredModel } from './model.js';
|
|
9
|
+
import type { CommittedWrite, ConversationWrite, CountedRoom, HeldConversation, HeldEntry, HeldText, MessageWindow, QueryAnswer, QueryRoom, Referrer, RoomCommit, RuntimeDatabase, StoredEntry, StoredFile, TypedEntry, View } from './tables.js';
|
|
10
|
+
export type { ConversationWrite, HeldConversation, MessageWindow } from './tables.js';
|
|
30
11
|
export type TransferRecord = {
|
|
31
|
-
locator: string;
|
|
32
|
-
transfer: string;
|
|
33
|
-
selection: string;
|
|
34
|
-
from: string;
|
|
35
|
-
last: string;
|
|
36
|
-
|
|
37
|
-
models: {
|
|
38
|
-
collection: ModelState;
|
|
39
|
-
selection: ModelState;
|
|
12
|
+
readonly locator: string;
|
|
13
|
+
readonly transfer: string;
|
|
14
|
+
readonly selection: string;
|
|
15
|
+
readonly from: string;
|
|
16
|
+
readonly last: string;
|
|
17
|
+
readonly done: BootstrapInventory;
|
|
18
|
+
readonly models: {
|
|
19
|
+
readonly collection: ModelState;
|
|
40
20
|
};
|
|
21
|
+
readonly key: number | null;
|
|
22
|
+
};
|
|
23
|
+
export type StoredReplica = Omit<ReplicaRecord, 'model'> & {
|
|
24
|
+
readonly model: StoredModel;
|
|
41
25
|
};
|
|
42
26
|
export type PendingState = {
|
|
43
27
|
readonly drafts: readonly SavedDraft[];
|
|
44
28
|
readonly submission: Submission;
|
|
45
29
|
readonly lost: boolean;
|
|
46
30
|
readonly upload?: unknown;
|
|
47
|
-
readonly accepted?: string;
|
|
48
31
|
};
|
|
49
32
|
export type TargetRecord = {
|
|
50
33
|
established: boolean;
|
|
51
|
-
search: boolean;
|
|
52
34
|
};
|
|
53
35
|
export type QueueRecord = {
|
|
54
36
|
locator: string;
|
|
@@ -61,100 +43,121 @@ export type PresentationRecord = {
|
|
|
61
43
|
app: string;
|
|
62
44
|
value: unknown;
|
|
63
45
|
};
|
|
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
46
|
export type ChatSubmission = {
|
|
78
47
|
readonly operation: string;
|
|
79
48
|
readonly text: string;
|
|
80
|
-
readonly files: readonly ChatDraftFile[];
|
|
81
49
|
readonly turn: string | null;
|
|
82
50
|
};
|
|
83
51
|
export type ChatDraftRecord = {
|
|
84
52
|
conversation: string;
|
|
85
53
|
text: string;
|
|
86
|
-
files: readonly ChatDraftFile[];
|
|
87
54
|
revision: string;
|
|
88
55
|
submitted?: readonly ChatSubmission[];
|
|
56
|
+
moves?: readonly string[];
|
|
89
57
|
};
|
|
90
|
-
export type
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
58
|
+
export type CallRecord = {
|
|
59
|
+
readonly operation: string;
|
|
60
|
+
readonly name: string;
|
|
61
|
+
readonly input: unknown;
|
|
94
62
|
};
|
|
95
63
|
export type AuthoredWrite = {
|
|
96
64
|
locator: string;
|
|
97
|
-
queue
|
|
65
|
+
queue?: readonly ChangeBatch[];
|
|
66
|
+
founded?: readonly ChangeBatch[];
|
|
98
67
|
saved?: ReadonlyMap<string, readonly SavedDraft[]>;
|
|
99
68
|
roomDrafts?: readonly RoomDraftRecord[];
|
|
100
69
|
consumedRoomDrafts?: readonly string[];
|
|
101
70
|
};
|
|
71
|
+
export type StagedPage = {
|
|
72
|
+
readonly entries: readonly StoredEntry[];
|
|
73
|
+
readonly folders: readonly string[];
|
|
74
|
+
};
|
|
75
|
+
export type RefreshedPage = StagedPage & {
|
|
76
|
+
readonly removals: readonly string[];
|
|
77
|
+
readonly folderRemovals: readonly string[];
|
|
78
|
+
};
|
|
79
|
+
export type Opened = {
|
|
80
|
+
readonly rooms: ReadonlyMap<string, StoredReplica>;
|
|
81
|
+
readonly unindexed: ReadonlySet<number>;
|
|
82
|
+
readonly overlaid: ReadonlyMap<number, ReadonlySet<string>>;
|
|
83
|
+
readonly erasing: boolean;
|
|
84
|
+
readonly orphans: readonly number[];
|
|
85
|
+
readonly lastCompleted: string | null;
|
|
86
|
+
readonly providerLimits: readonly ProviderLimit[];
|
|
87
|
+
readonly capabilities: readonly Capability[];
|
|
88
|
+
readonly member: Member | null;
|
|
89
|
+
readonly targets: Readonly<Record<string, TargetRecord>>;
|
|
90
|
+
readonly presentation: readonly PresentationRecord[];
|
|
91
|
+
readonly conversationList: readonly ListedConversation[] | null;
|
|
92
|
+
readonly conversationCursor: string | null;
|
|
93
|
+
};
|
|
94
|
+
export type Commit = {
|
|
95
|
+
readonly rooms: readonly RoomCommit[];
|
|
96
|
+
readonly writes?: readonly AuthoredWrite[];
|
|
97
|
+
readonly files?: readonly StoredFile[];
|
|
98
|
+
readonly whole?: boolean;
|
|
99
|
+
readonly discards?: readonly string[];
|
|
100
|
+
};
|
|
102
101
|
export type RuntimeStore = {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
102
|
+
opened(): Promise<Opened>;
|
|
103
|
+
counts(rooms: readonly CountedRoom[]): Promise<readonly number[]>;
|
|
104
|
+
query(plan: Plan, rooms: readonly QueryRoom[], budget: number | null): Promise<QueryAnswer>;
|
|
105
|
+
changes(keys: readonly number[]): number;
|
|
106
|
+
entries(key: number, view: View, paths: readonly string[]): Promise<readonly HeldEntry[]>;
|
|
107
|
+
typed(key: number, view: View, paths: readonly string[]): Promise<readonly TypedEntry[]>;
|
|
108
|
+
referrers(key: number, view: View, targets: readonly string[], kinds: readonly string[]): Promise<readonly Referrer[]>;
|
|
109
|
+
files(key: number, view: View, after: string | null, limit: number): Promise<readonly {
|
|
110
|
+
readonly path: string;
|
|
111
|
+
readonly revision: string;
|
|
112
|
+
}[]>;
|
|
113
|
+
folders(key: number, view: View, paths: readonly string[]): Promise<readonly string[]>;
|
|
114
|
+
typedWithin(key: number, view: View, roots: readonly string[], within: boolean): Promise<boolean>;
|
|
115
|
+
stage(record: TransferRecord, composition: Composition, page: StagedPage): Promise<number | null>;
|
|
116
|
+
refresh(key: number, composition: Composition, page: RefreshedPage): Promise<void>;
|
|
117
|
+
unrefresh(key: number): Promise<void>;
|
|
118
|
+
hold(locator: string, key: number, composition: Composition, texts: readonly HeldText[]): Promise<readonly string[]>;
|
|
119
|
+
unhold(locator: string, key: number, composition: Composition): Promise<{
|
|
120
|
+
readonly paths: readonly string[];
|
|
121
|
+
readonly bytes: number;
|
|
122
|
+
}>;
|
|
123
|
+
wanted(locator: string, key: number): Promise<readonly {
|
|
124
|
+
readonly path: string;
|
|
125
|
+
readonly revision: string;
|
|
126
|
+
}[]>;
|
|
127
|
+
remember(locator: string, key: number, paths: readonly string[]): Promise<void>;
|
|
128
|
+
commit(commit: Commit): Promise<CommittedWrite>;
|
|
129
|
+
fence(locators: readonly string[]): Promise<void>;
|
|
130
|
+
erase(locator: string | null, limit: number): Promise<boolean>;
|
|
131
|
+
abandon(locator: string): Promise<void>;
|
|
132
|
+
release(key: number): Promise<void>;
|
|
133
|
+
rederive(key: number, composition: Composition, bytes: number, ms: number, floor: number): Promise<{
|
|
134
|
+
readonly done: boolean;
|
|
135
|
+
readonly text: number;
|
|
136
|
+
}>;
|
|
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, phrase?: string | null): Promise<MessageWindow>;
|
|
146
|
+
messageCount(conversation: string, phrase?: string | null): 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
|
-
receivedHeads(): Promise<readonly KeptReceipt[]>;
|
|
143
|
-
receivedParts(key: string, count: number): Promise<readonly unknown[]>;
|
|
144
|
-
keepReceived(key: string, head: unknown, part?: {
|
|
145
|
-
index: number;
|
|
146
|
-
value: unknown;
|
|
147
|
-
}): Promise<void>;
|
|
148
|
-
dropReceived(keys: readonly string[]): Promise<void>;
|
|
149
158
|
generation(): Promise<string | null>;
|
|
150
159
|
rememberGeneration(value: string): Promise<void>;
|
|
151
|
-
|
|
160
|
+
file(key: string, type: string): Promise<Blob>;
|
|
152
161
|
};
|
|
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 openDatabase(name: string, version: number, upgrade: (opening: IDBOpenDBRequest, oldVersion: number) => void): Promise<IDBDatabase>;
|
|
159
|
-
export declare function openRuntimeStore(fenced: (locator: string) => boolean): Promise<RuntimeStore>;
|
|
162
|
+
export declare function openRuntimeStore(fenced: (locator: string) => boolean, authored: RuntimeDatabase): RuntimeStore;
|
|
160
163
|
//# 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":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,MAAM,EACN,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAGV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,QAAQ,EAER,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,eAAe,EACf,WAAW,EACX,UAAU,EACV,UAAU,EACV,IAAI,EACL,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAItF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAA;KAAE,CAAC;IACrD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE,CAAC;AAE3F,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,EAAE,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IACxC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnD,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IACzD,QAAQ,CAAC,YAAY,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACrD,QAAQ,CAAC,gBAAgB,EAAE,SAAS,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAChE,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,SAAS,WAAW,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IACzC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IAC1F,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACzF,SAAS,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAC;IAChC,KAAK,CACH,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACvF,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClG,KAAK,CAAC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CACF,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,SAAS,QAAQ,EAAE,GACzB,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9B,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC;QAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAC5E,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAChD,KAAK,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1F,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,UAAU,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,aAAa,IAAI,OAAO,CAAC,SAAS,gBAAgB,EAAE,CAAC,CAAC;IACtD,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,aAAa,CACX,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,EACxC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5E,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,iBAAiB,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,UAAU,IAAI,OAAO,CAAC,SAAS,eAAe,EAAE,CAAC,CAAC;IAClD,cAAc,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,KAAK,IAAI,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,IAAI,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;IACrC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD,CAAC;AA6FF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EACpC,QAAQ,EAAE,eAAe,GACxB,YAAY,CA2Td"}
|