@agentshouse/mdruntime 0.1.0-c03e7b79830dd → 0.1.0-c0bed82db8d73
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 +65 -65
- package/README.md +8 -7
- package/dist/adapter.d.ts +10 -14
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +1 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +2 -2
- 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 +13 -2
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +94 -57
- package/dist/change-set.d.ts +1 -7
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +1 -4
- package/dist/client.d.ts +2 -3
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +2 -2
- package/dist/compile.d.ts +6 -1
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +12 -3
- package/dist/connection.d.ts +4 -5
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +481 -448
- package/dist/conversation.d.ts +2 -0
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +40 -19
- package/dist/durability.d.ts +2 -5
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- 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 +4 -4
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +35 -15
- 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 +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +0 -11
- package/dist/messages.d.ts +28 -0
- package/dist/messages.d.ts.map +1 -0
- package/dist/messages.js +90 -0
- package/dist/outcome.d.ts +0 -1
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +0 -3
- package/dist/overlay.js +1 -1
- package/dist/query.d.ts +4 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +12 -1
- package/dist/reach.d.ts +0 -2
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +17 -28
- 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.map +1 -1
- package/dist/reads.js +3 -1
- package/dist/refresh.d.ts +6 -2
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +60 -22
- package/dist/replica.d.ts +3 -1
- package/dist/replica.d.ts.map +1 -1
- package/dist/room-draft.d.ts +1 -0
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +33 -0
- package/dist/save.js +2 -2
- package/dist/search.d.ts +11 -43
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +0 -296
- package/dist/store.d.ts +17 -36
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +28 -227
- package/dist/stored.d.ts +9 -7
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +46 -40
- package/dist/tables.d.ts +46 -12
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +94 -7
- package/dist/wire.d.ts +0 -4
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +0 -1
- 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 -18
- 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/context.js +0 -10
- package/dist/chat/earlier.d.ts +0 -10
- package/dist/chat/earlier.d.ts.map +0 -1
- package/dist/chat/earlier.js +0 -54
- package/dist/chat/house.d.ts +0 -25
- package/dist/chat/house.d.ts.map +0 -1
- package/dist/chat/house.js +0 -38
- package/dist/chat/input.d.ts +0 -11
- package/dist/chat/input.d.ts.map +0 -1
- package/dist/chat/input.js +0 -92
- package/dist/chat/kit.d.ts +0 -61
- 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 -28
- package/dist/chat/list.d.ts.map +0 -1
- package/dist/chat/list.js +0 -103
- package/dist/chat/markdown.d.ts +0 -21
- package/dist/chat/markdown.d.ts.map +0 -1
- package/dist/chat/markdown.js +0 -246
- package/dist/chat/message.d.ts +0 -7
- package/dist/chat/message.d.ts.map +0 -1
- package/dist/chat/message.js +0 -244
- package/dist/chat/messages.d.ts +0 -30
- package/dist/chat/messages.d.ts.map +0 -1
- package/dist/chat/messages.js +0 -198
- package/dist/chat/name.d.ts +0 -7
- package/dist/chat/name.d.ts.map +0 -1
- package/dist/chat/name.js +0 -37
- package/dist/chat/opened.d.ts +0 -12
- package/dist/chat/opened.d.ts.map +0 -1
- package/dist/chat/opened.js +0 -19
- package/dist/chat/overlay.d.ts +0 -32
- package/dist/chat/overlay.d.ts.map +0 -1
- package/dist/chat/overlay.js +0 -103
- package/dist/chat/parts.d.ts +0 -58
- package/dist/chat/parts.d.ts.map +0 -1
- package/dist/chat/parts.js +0 -120
- package/dist/chat/pieces.d.ts +0 -62
- package/dist/chat/pieces.d.ts.map +0 -1
- package/dist/chat/pieces.js +0 -1110
- 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 -70
- package/dist/chat/provider.d.ts.map +0 -1
- package/dist/chat/provider.js +0 -635
- package/dist/chat/question.d.ts +0 -9
- package/dist/chat/question.d.ts.map +0 -1
- package/dist/chat/question.js +0 -69
- 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 -37
- package/dist/chat/ready.d.ts.map +0 -1
- package/dist/chat/ready.js +0 -93
- package/dist/chat/room-file.d.ts +0 -8
- package/dist/chat/room-file.d.ts.map +0 -1
- package/dist/chat/room-file.js +0 -72
- package/dist/chat/steady.d.ts +0 -3
- package/dist/chat/steady.d.ts.map +0 -1
- package/dist/chat/steady.js +0 -26
- package/dist/chat/style.d.ts +0 -4
- package/dist/chat/style.d.ts.map +0 -1
- package/dist/chat/style.js +0 -306
- package/dist/chat.d.ts +0 -15
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js +0 -8
package/dist/search.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import MiniSearch from 'minisearch';
|
|
2
|
-
import { indexGeneration } from './identity.js';
|
|
3
1
|
import { flag, invalid, known, limitOf, plain, } from './query.js';
|
|
4
|
-
import { beneath } from './paths.js';
|
|
5
|
-
import { inUnits, ROW_WEIGHT, yielded } from './turn.js';
|
|
6
2
|
import { decodedCursor } from './windows.js';
|
|
7
3
|
export function undeclaredSearch() {
|
|
8
4
|
return {
|
|
@@ -12,24 +8,6 @@ export function undeclaredSearch() {
|
|
|
12
8
|
retryable: false,
|
|
13
9
|
};
|
|
14
10
|
}
|
|
15
|
-
const FIELDS = ['fields', 'sections', 'preamble', 'path', 'text'];
|
|
16
|
-
const VACUUM_CONDITIONS = { minDirtCount: 20, minDirtFactor: 0.1 };
|
|
17
|
-
const CHANGED_BATCH = 256;
|
|
18
|
-
function documentId(room, path) {
|
|
19
|
-
return JSON.stringify(['document', room, path]);
|
|
20
|
-
}
|
|
21
|
-
function messageId(conversation, identity) {
|
|
22
|
-
return JSON.stringify(['message', conversation, identity]);
|
|
23
|
-
}
|
|
24
|
-
function scalars(value) {
|
|
25
|
-
if (value === null || value === undefined)
|
|
26
|
-
return [];
|
|
27
|
-
if (Array.isArray(value))
|
|
28
|
-
return value.flatMap(scalars);
|
|
29
|
-
if (typeof value === 'object')
|
|
30
|
-
return Object.values(value).flatMap(scalars);
|
|
31
|
-
return [String(value)];
|
|
32
|
-
}
|
|
33
11
|
function hitCursor(input) {
|
|
34
12
|
if (input === null)
|
|
35
13
|
return null;
|
|
@@ -77,277 +55,3 @@ export function searchPlanOf(input) {
|
|
|
77
55
|
total: flag(input.total, 'total'),
|
|
78
56
|
};
|
|
79
57
|
}
|
|
80
|
-
function pair(left, right) {
|
|
81
|
-
if (left[0] !== right[0])
|
|
82
|
-
return left[0] < right[0] ? -1 : 1;
|
|
83
|
-
if (left[1] !== right[1])
|
|
84
|
-
return left[1] < right[1] ? -1 : 1;
|
|
85
|
-
return 0;
|
|
86
|
-
}
|
|
87
|
-
function hitWindow(found, cursor, limit, tie) {
|
|
88
|
-
if (cursor === null)
|
|
89
|
-
return { kept: [], cursor: null };
|
|
90
|
-
const start = cursor.length === 0
|
|
91
|
-
? 0
|
|
92
|
-
: found.findIndex((hit) => hit.score < cursor[0] ||
|
|
93
|
-
(hit.score === cursor[0] && pair(tie(hit), [cursor[1], cursor[2]]) > 0));
|
|
94
|
-
const following = start === -1 ? [] : found.slice(start);
|
|
95
|
-
if (limit === null || following.length <= limit)
|
|
96
|
-
return { kept: following, cursor: null };
|
|
97
|
-
const kept = following.slice(0, limit);
|
|
98
|
-
const last = kept[kept.length - 1];
|
|
99
|
-
return { kept, cursor: last === undefined ? cursor : [last.score, ...tie(last)] };
|
|
100
|
-
}
|
|
101
|
-
export function createSearchIndex(source) {
|
|
102
|
-
const generation = indexGeneration();
|
|
103
|
-
const index = new MiniSearch({ fields: FIELDS, autoVacuum: false });
|
|
104
|
-
const documents = new Map();
|
|
105
|
-
const messages = new Map();
|
|
106
|
-
const rooms = new Set();
|
|
107
|
-
const filling = new Set();
|
|
108
|
-
const conversations = new Set();
|
|
109
|
-
const acquiring = new Set();
|
|
110
|
-
const changedDocuments = new Map();
|
|
111
|
-
const refilling = new Set();
|
|
112
|
-
const arrived = new Map();
|
|
113
|
-
let vacuuming = null;
|
|
114
|
-
let changes = 0;
|
|
115
|
-
function added(entry) {
|
|
116
|
-
if (vacuuming === null)
|
|
117
|
-
index.add(entry);
|
|
118
|
-
else
|
|
119
|
-
arrived.set(entry.id, entry);
|
|
120
|
-
}
|
|
121
|
-
function addDocument(document) {
|
|
122
|
-
const id = documentId(document.room, document.path);
|
|
123
|
-
discard(id, documents);
|
|
124
|
-
added({
|
|
125
|
-
id,
|
|
126
|
-
fields: scalars(document.fields).join('\n'),
|
|
127
|
-
sections: Object.entries(document.sections)
|
|
128
|
-
.map(([heading, text]) => `${heading}\n${text}`)
|
|
129
|
-
.join('\n'),
|
|
130
|
-
preamble: document.preamble,
|
|
131
|
-
path: document.path,
|
|
132
|
-
});
|
|
133
|
-
documents.set(id, { room: document.room, path: document.path, type: document.type });
|
|
134
|
-
}
|
|
135
|
-
function addMessage(message) {
|
|
136
|
-
const id = messageId(message.conversation, message.identity);
|
|
137
|
-
discard(id, messages);
|
|
138
|
-
added({ id, text: message.text });
|
|
139
|
-
messages.set(id, { conversation: message.conversation, identity: message.identity });
|
|
140
|
-
}
|
|
141
|
-
function discard(id, entries) {
|
|
142
|
-
if (!entries.delete(id) || arrived.delete(id))
|
|
143
|
-
return;
|
|
144
|
-
index.discard(id);
|
|
145
|
-
vacuum();
|
|
146
|
-
}
|
|
147
|
-
function vacuum() {
|
|
148
|
-
if (vacuuming !== null ||
|
|
149
|
-
index.dirtCount < VACUUM_CONDITIONS.minDirtCount ||
|
|
150
|
-
index.dirtFactor < VACUUM_CONDITIONS.minDirtFactor) {
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
changes += 1;
|
|
154
|
-
vacuuming = index
|
|
155
|
-
.vacuum()
|
|
156
|
-
.then(() => inUnits(arrivals(), (id) => {
|
|
157
|
-
const entry = arrived.get(id);
|
|
158
|
-
if (entry === undefined)
|
|
159
|
-
return ROW_WEIGHT;
|
|
160
|
-
arrived.delete(id);
|
|
161
|
-
index.add(entry);
|
|
162
|
-
return Object.values(entry).reduce((total, value) => total + value.length, ROW_WEIGHT);
|
|
163
|
-
}))
|
|
164
|
-
.finally(() => {
|
|
165
|
-
vacuuming = null;
|
|
166
|
-
vacuum();
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
function* arrivals() {
|
|
170
|
-
for (;;) {
|
|
171
|
-
const next = arrived.keys().next();
|
|
172
|
-
if (next.done === true)
|
|
173
|
-
return;
|
|
174
|
-
yield next.value;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
async function vacuumed() {
|
|
178
|
-
while (vacuuming !== null)
|
|
179
|
-
await vacuuming;
|
|
180
|
-
}
|
|
181
|
-
async function paused() {
|
|
182
|
-
await yielded();
|
|
183
|
-
await vacuumed();
|
|
184
|
-
}
|
|
185
|
-
let catching = null;
|
|
186
|
-
async function refill(room) {
|
|
187
|
-
for (const [id, entry] of documents)
|
|
188
|
-
if (entry.room === room)
|
|
189
|
-
discard(id, documents);
|
|
190
|
-
for await (const batch of source.room(room)) {
|
|
191
|
-
if (!rooms.has(room) && !filling.has(room))
|
|
192
|
-
return;
|
|
193
|
-
for (const document of batch)
|
|
194
|
-
addDocument(document);
|
|
195
|
-
await paused();
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
async function catchUp() {
|
|
199
|
-
for (const room of refilling) {
|
|
200
|
-
refilling.delete(room);
|
|
201
|
-
await refill(room);
|
|
202
|
-
}
|
|
203
|
-
while (changedDocuments.size > 0) {
|
|
204
|
-
await paused();
|
|
205
|
-
const batch = new Map();
|
|
206
|
-
for (const [id, { room, path }] of changedDocuments) {
|
|
207
|
-
changedDocuments.delete(id);
|
|
208
|
-
const held = batch.get(room) ?? new Map();
|
|
209
|
-
held.set(path, id);
|
|
210
|
-
batch.set(room, held);
|
|
211
|
-
if (held.size >= CHANGED_BATCH)
|
|
212
|
-
break;
|
|
213
|
-
}
|
|
214
|
-
for (const [room, held] of batch) {
|
|
215
|
-
for (const id of held.values())
|
|
216
|
-
discard(id, documents);
|
|
217
|
-
for (const document of await source.documents(room, [...held.keys()])) {
|
|
218
|
-
if (rooms.has(room) || filling.has(room))
|
|
219
|
-
addDocument(document);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
await vacuumed();
|
|
224
|
-
}
|
|
225
|
-
function caughtUp() {
|
|
226
|
-
if (catching !== null)
|
|
227
|
-
return catching;
|
|
228
|
-
if (changedDocuments.size === 0 && refilling.size === 0 && vacuuming === null) {
|
|
229
|
-
return Promise.resolve();
|
|
230
|
-
}
|
|
231
|
-
catching = catchUp().finally(() => {
|
|
232
|
-
catching = null;
|
|
233
|
-
});
|
|
234
|
-
return catching;
|
|
235
|
-
}
|
|
236
|
-
function ranked(text, entries, keep, tie) {
|
|
237
|
-
const found = index.search(text, {
|
|
238
|
-
filter: ({ id }) => {
|
|
239
|
-
const entry = entries.get(id);
|
|
240
|
-
return entry !== undefined && keep(entry, id);
|
|
241
|
-
},
|
|
242
|
-
});
|
|
243
|
-
found.sort((left, right) => right.score - left.score ||
|
|
244
|
-
pair(tie(entries.get(left.id)), tie(entries.get(right.id))));
|
|
245
|
-
return found.map(({ id, score, match }) => ({
|
|
246
|
-
...entries.get(id),
|
|
247
|
-
score,
|
|
248
|
-
match,
|
|
249
|
-
}));
|
|
250
|
-
}
|
|
251
|
-
return {
|
|
252
|
-
generation: () => generation,
|
|
253
|
-
rooms: () => rooms,
|
|
254
|
-
conversations: () => conversations,
|
|
255
|
-
async indexRoom(room) {
|
|
256
|
-
if (rooms.has(room) || filling.has(room))
|
|
257
|
-
return;
|
|
258
|
-
filling.add(room);
|
|
259
|
-
try {
|
|
260
|
-
for await (const batch of source.room(room)) {
|
|
261
|
-
if (!filling.has(room))
|
|
262
|
-
return;
|
|
263
|
-
for (const document of batch)
|
|
264
|
-
addDocument(document);
|
|
265
|
-
await paused();
|
|
266
|
-
}
|
|
267
|
-
if (filling.has(room))
|
|
268
|
-
rooms.add(room);
|
|
269
|
-
}
|
|
270
|
-
finally {
|
|
271
|
-
filling.delete(room);
|
|
272
|
-
}
|
|
273
|
-
},
|
|
274
|
-
indexMessages(conversation, arriving, whole) {
|
|
275
|
-
for (const message of arriving)
|
|
276
|
-
addMessage(message);
|
|
277
|
-
if (!whole) {
|
|
278
|
-
acquiring.add(conversation);
|
|
279
|
-
return;
|
|
280
|
-
}
|
|
281
|
-
acquiring.delete(conversation);
|
|
282
|
-
conversations.add(conversation);
|
|
283
|
-
},
|
|
284
|
-
forget(leaving) {
|
|
285
|
-
const gone = new Set(leaving);
|
|
286
|
-
for (const [id, entry] of documents)
|
|
287
|
-
if (gone.has(entry.room))
|
|
288
|
-
discard(id, documents);
|
|
289
|
-
for (const room of leaving) {
|
|
290
|
-
rooms.delete(room);
|
|
291
|
-
filling.delete(room);
|
|
292
|
-
refilling.delete(room);
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
changed(set) {
|
|
296
|
-
changes += 1;
|
|
297
|
-
for (const { locator, path } of set.documents) {
|
|
298
|
-
if (!rooms.has(locator) && !filling.has(locator))
|
|
299
|
-
continue;
|
|
300
|
-
if (path === null) {
|
|
301
|
-
for (const [id, entry] of changedDocuments) {
|
|
302
|
-
if (entry.room === locator)
|
|
303
|
-
changedDocuments.delete(id);
|
|
304
|
-
}
|
|
305
|
-
refilling.add(locator);
|
|
306
|
-
continue;
|
|
307
|
-
}
|
|
308
|
-
changedDocuments.set(documentId(locator, path), { room: locator, path });
|
|
309
|
-
}
|
|
310
|
-
for (const { conversation, identity, text } of set.messages) {
|
|
311
|
-
if (!conversations.has(conversation) && !acquiring.has(conversation))
|
|
312
|
-
continue;
|
|
313
|
-
const id = messageId(conversation, identity);
|
|
314
|
-
if (text === null)
|
|
315
|
-
discard(id, messages);
|
|
316
|
-
else
|
|
317
|
-
addMessage({ conversation, identity, text });
|
|
318
|
-
}
|
|
319
|
-
},
|
|
320
|
-
changes: () => changes,
|
|
321
|
-
caughtUp,
|
|
322
|
-
search({ text, limit, after, total }, selected, named, within, selections) {
|
|
323
|
-
const chosen = selected === null
|
|
324
|
-
? null
|
|
325
|
-
: new Set(selected.map(({ room, path }) => documentId(room, path)));
|
|
326
|
-
const asked = new Set(named);
|
|
327
|
-
const documentTie = ({ room, path }) => [room, path];
|
|
328
|
-
const messageTie = ({ conversation, identity }) => [conversation, identity];
|
|
329
|
-
const foundDocuments = ranked(text, documents, ({ room, path }, id) => (chosen === null || chosen.has(id)) &&
|
|
330
|
-
(within === null || within.has(room)) &&
|
|
331
|
-
!(selections?.get(room) ?? []).some((root) => beneath(root, path)), documentTie);
|
|
332
|
-
const foundMessages = ranked(text, messages, ({ conversation }) => asked.has(conversation), messageTie);
|
|
333
|
-
const [documentsAfter, messagesAfter] = after ?? [[], []];
|
|
334
|
-
const documentWindow = hitWindow(foundDocuments, documentsAfter, limit, documentTie);
|
|
335
|
-
const messageWindow = hitWindow(foundMessages, messagesAfter, limit, messageTie);
|
|
336
|
-
const more = documentWindow.cursor !== null || messageWindow.cursor !== null;
|
|
337
|
-
return {
|
|
338
|
-
documents: documentWindow.kept.map(({ match, ...hit }) => ({
|
|
339
|
-
...hit,
|
|
340
|
-
matches: match,
|
|
341
|
-
})),
|
|
342
|
-
messages: messageWindow.kept.map(({ match, ...hit }) => ({
|
|
343
|
-
...hit,
|
|
344
|
-
matches: match,
|
|
345
|
-
})),
|
|
346
|
-
...(more ? { next: JSON.stringify([documentWindow.cursor, messageWindow.cursor]) } : {}),
|
|
347
|
-
...(total
|
|
348
|
-
? { total: { documents: foundDocuments.length, messages: foundMessages.length } }
|
|
349
|
-
: {}),
|
|
350
|
-
};
|
|
351
|
-
},
|
|
352
|
-
};
|
|
353
|
-
}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,16 +1,18 @@
|
|
|
1
|
-
import type { Capability, Member, ProviderLimit } from './adapter.js';
|
|
2
|
-
import type { AcceptedMessage, KeptReceipt } from './adapter.js';
|
|
1
|
+
import type { BootstrapInventory, Capability, KeptReceipt, Member, ProviderLimit } from './adapter.js';
|
|
3
2
|
import type { ChangeBatch } from './change.js';
|
|
4
3
|
import type { Composition } from './collection.js';
|
|
5
4
|
import type { Plan } from './query.js';
|
|
6
5
|
import type { ReplicaRecord } from './replica.js';
|
|
7
|
-
import type { Later } from './turn.js';
|
|
8
6
|
import type { Submission } from './outcome.js';
|
|
9
7
|
import type { RoomDraftRecord, SavedDraft } from './room-draft.js';
|
|
10
8
|
import type { ModelState } from './model.js';
|
|
11
|
-
import type {
|
|
12
|
-
import type { CommittedWrite, CountedRoom, HeldEntry, QueryAnswer, QueryRoom, Referrer, RoomCommit, RuntimeDatabase, StoredEntry, StoredFile, TypedEntry, View, Walked } from './tables.js';
|
|
13
|
-
export
|
|
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;
|
|
15
|
+
};
|
|
14
16
|
export type TransferRecord = {
|
|
15
17
|
readonly locator: string;
|
|
16
18
|
readonly transfer: string;
|
|
@@ -18,6 +20,9 @@ export type TransferRecord = {
|
|
|
18
20
|
readonly from: string;
|
|
19
21
|
readonly last: string;
|
|
20
22
|
readonly pageToken: string | null;
|
|
23
|
+
readonly writing: TransferWriting | null;
|
|
24
|
+
readonly inventory: BootstrapInventory | null;
|
|
25
|
+
readonly done: BootstrapInventory;
|
|
21
26
|
readonly models: {
|
|
22
27
|
readonly collection: ModelState;
|
|
23
28
|
readonly selection: ModelState;
|
|
@@ -45,23 +50,6 @@ export type PresentationRecord = {
|
|
|
45
50
|
app: string;
|
|
46
51
|
value: unknown;
|
|
47
52
|
};
|
|
48
|
-
export type HeldConversation = {
|
|
49
|
-
conversation: string;
|
|
50
|
-
read: string | null | undefined;
|
|
51
|
-
partial: boolean;
|
|
52
|
-
};
|
|
53
|
-
export type MessageWindow = {
|
|
54
|
-
messages: AcceptedMessage[];
|
|
55
|
-
more: boolean;
|
|
56
|
-
};
|
|
57
|
-
export type ConversationWrite = {
|
|
58
|
-
conversation: string;
|
|
59
|
-
messages: readonly AcceptedMessage[];
|
|
60
|
-
read?: {
|
|
61
|
-
at: string | null;
|
|
62
|
-
partial: boolean;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
53
|
export type ChatSubmission = {
|
|
66
54
|
readonly operation: string;
|
|
67
55
|
readonly text: string;
|
|
@@ -102,7 +90,7 @@ export type RefreshedPage = StagedPage & {
|
|
|
102
90
|
export type Opened = {
|
|
103
91
|
readonly rooms: ReadonlyMap<string, ReplicaRecord>;
|
|
104
92
|
readonly transfers: ReadonlyMap<string, TransferRecord>;
|
|
105
|
-
readonly
|
|
93
|
+
readonly unindexed: ReadonlySet<number>;
|
|
106
94
|
readonly overlaid: ReadonlyMap<number, ReadonlySet<string>>;
|
|
107
95
|
readonly erasing: boolean;
|
|
108
96
|
readonly orphans: readonly number[];
|
|
@@ -134,11 +122,10 @@ export type RuntimeStore = {
|
|
|
134
122
|
readonly revision: string;
|
|
135
123
|
}[]>;
|
|
136
124
|
typedWithin(key: number, view: View, roots: readonly string[], within: boolean): Promise<boolean>;
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
stage(record: TransferRecord, composition: Composition, page: StagedPage, key: number | null, last: boolean): Promise<number | null>;
|
|
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>;
|
|
142
129
|
refresh(key: number, page: RefreshedPage): Promise<void>;
|
|
143
130
|
unrefresh(key: number): Promise<void>;
|
|
144
131
|
commit(commit: Commit): Promise<CommittedWrite>;
|
|
@@ -157,8 +144,6 @@ export type RuntimeStore = {
|
|
|
157
144
|
keepMessages(write: ConversationWrite): Promise<void>;
|
|
158
145
|
messageWindow(conversation: string, limit: number, before: readonly [string, string] | null): Promise<MessageWindow>;
|
|
159
146
|
messageCount(conversation: string): Promise<number>;
|
|
160
|
-
messagesAfter(conversation: string, identity: string | null): Promise<AcceptedMessage[]>;
|
|
161
|
-
messageIdentities(conversation: string): Promise<readonly string[]>;
|
|
162
147
|
turnArrived(conversation: string, turn: string): Promise<boolean>;
|
|
163
148
|
dropConversations(conversations: readonly string[]): Promise<void>;
|
|
164
149
|
chatDrafts(): Promise<readonly ChatDraftRecord[]>;
|
|
@@ -180,10 +165,6 @@ export type RuntimeStore = {
|
|
|
180
165
|
generation(): Promise<string | null>;
|
|
181
166
|
rememberGeneration(value: string): Promise<void>;
|
|
182
167
|
file(key: string, type: string): Promise<Blob>;
|
|
183
|
-
close(): void;
|
|
184
168
|
};
|
|
185
|
-
export declare function
|
|
186
|
-
export declare function endRuntimeStore(database: RuntimeDatabase, holder: string | undefined): Promise<boolean>;
|
|
187
|
-
export declare function openDatabase(name: string, version: number, upgrade: (opening: IDBOpenDBRequest, oldVersion: number) => void): Promise<IDBDatabase>;
|
|
188
|
-
export declare function openRuntimeStore(fenced: (locator: string) => boolean, authored: RuntimeDatabase): Promise<RuntimeStore>;
|
|
169
|
+
export declare function openRuntimeStore(fenced: (locator: string) => boolean, authored: RuntimeDatabase): RuntimeStore;
|
|
189
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":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,MAAM,EACN,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,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,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAGV,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,SAAS,EAET,aAAa,EACb,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,IAAI,EACJ,MAAM,EACP,MAAM,aAAa,CAAC;AAErB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAItF,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F,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,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAA;KAAE,CAAC;IACrF,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,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;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B,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;IACvC,QAAQ,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7E,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,EAAE,cAAc,CAAC,CAAC;IACxD,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;CACtD,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,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,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,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,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9C,KAAK,CACH,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACzE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,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,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,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,GACvC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC1B,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,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,aAAa,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;IACjD,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC;IACvE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClG,YAAY,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,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;AAqGF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,EACpC,QAAQ,EAAE,eAAe,GACxB,YAAY,CA0Td"}
|