@agentshouse/mdruntime 0.1.0-ce15a88ae8478 → 0.1.0-ce5c5bb29be5a
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 +10 -8
- package/dist/adapter.d.ts +30 -34
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +2 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +28 -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 +16 -8
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +139 -94
- package/dist/client.d.ts +6 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +54 -7
- package/dist/collection.d.ts +5 -3
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +24 -19
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +82 -30
- package/dist/connection.d.ts +8 -7
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +1047 -915
- package/dist/conversation.d.ts +7 -5
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +166 -41
- package/dist/durability.d.ts +1 -5
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +1 -0
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +1 -1
- package/dist/file.d.ts +2 -11
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +6 -4
- package/dist/fulltext.d.ts.map +1 -1
- package/dist/fulltext.js +8 -6
- package/dist/host.d.ts +3 -3
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +40 -15
- package/dist/index.d.ts +9 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -3
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +2 -1
- 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 +2 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +46 -20
- package/dist/model.d.ts +6 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +7 -10
- package/dist/observation.d.ts +1 -0
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +1 -1
- package/dist/outcome.d.ts +13 -6
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +16 -5
- package/dist/overlay.js +1 -1
- 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 +6 -0
- package/dist/query.d.ts.map +1 -1
- package/dist/reach.d.ts +8 -3
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +69 -46
- package/dist/readiness.d.ts +13 -14
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +2 -8
- package/dist/recovery.d.ts +1 -0
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +26 -0
- package/dist/refresh.d.ts +6 -2
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +61 -27
- package/dist/replica.d.ts +5 -5
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +4 -7
- package/dist/room-draft.d.ts +18 -2
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +73 -6
- package/dist/rows.d.ts +15 -6
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +102 -74
- package/dist/save.d.ts +2 -0
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +13 -7
- package/dist/shared.d.ts +0 -1
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +0 -10
- 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 +19 -26
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +26 -51
- package/dist/stored.d.ts +10 -18
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +209 -193
- package/dist/tables.d.ts +28 -35
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +58 -50
- package/dist/transfer.d.ts +0 -5
- package/dist/transfer.d.ts.map +1 -1
- package/dist/validation.d.ts +3 -4
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +35 -96
- package/dist/wire.d.ts +5 -5
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +2 -2
- package/dist/words.d.ts.map +1 -1
- package/dist/words.js +8 -2
- package/package.json +11 -18
- package/AGENTS.md +0 -319
- 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 -254
- package/dist/chat/messages.d.ts +0 -35
- package/dist/chat/messages.d.ts.map +0 -1
- package/dist/chat/messages.js +0 -210
- 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 -307
- package/dist/chat.d.ts +0 -15
- package/dist/chat.d.ts.map +0 -1
- package/dist/chat.js +0 -8
- package/dist/reads.d.ts +0 -11
- package/dist/reads.d.ts.map +0 -1
- package/dist/reads.js +0 -98
package/dist/compile.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ARRAY_INDEX, parse, pointerSegments } from '@agentshouse/mdmodel';
|
|
2
2
|
import { binaryRecord } from './binary.js';
|
|
3
|
-
import { documentKey, kindOf, pathOfKey,
|
|
3
|
+
import { documentKey, kindOf, pathOfKey, placedOf, roomOfKey } from './rows.js';
|
|
4
4
|
import { byCodePoint, compared, cursorOf, FROM_START, MAXIMUM_WINDOW, } from './windows.js';
|
|
5
5
|
const VISIBLE = (alias) => `${alias}.visible = 1 AND ${alias}.present = 1 AND ${alias}.queried = 1`;
|
|
6
6
|
function fragment(sql, bind = []) {
|
|
@@ -12,11 +12,17 @@ function joined(parts, separator) {
|
|
|
12
12
|
bind: parts.flatMap((part) => part.bind),
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
+
function balanced(parts, separator) {
|
|
16
|
+
if (parts.length === 1)
|
|
17
|
+
return grouped(parts[0]);
|
|
18
|
+
const half = Math.ceil(parts.length / 2);
|
|
19
|
+
return grouped(joined([balanced(parts.slice(0, half), separator), balanced(parts.slice(half), separator)], separator));
|
|
20
|
+
}
|
|
15
21
|
function all(parts) {
|
|
16
|
-
return parts.length === 0 ? fragment('1') :
|
|
22
|
+
return parts.length === 0 ? fragment('1') : balanced(parts, ' AND ');
|
|
17
23
|
}
|
|
18
24
|
function any(parts) {
|
|
19
|
-
return parts.length === 0 ? fragment('0') :
|
|
25
|
+
return parts.length === 0 ? fragment('0') : balanced(parts, ' OR ');
|
|
20
26
|
}
|
|
21
27
|
function grouped(part) {
|
|
22
28
|
return { sql: `(${part.sql})`, bind: part.bind };
|
|
@@ -40,19 +46,31 @@ function same(alias, value) {
|
|
|
40
46
|
: fragment(`${alias}.kind = ? AND ${alias}.value = ?`, [held.kind, held.value]);
|
|
41
47
|
}
|
|
42
48
|
const BOUNDS = { gt: '>', gte: '>=', lt: '<', lte: '<=' };
|
|
49
|
+
function pointed(alias, field, reach) {
|
|
50
|
+
const { keys, places, glob } = placedOf(field, reach);
|
|
51
|
+
return fragment(`${alias}.keys = ? AND ${alias}.places ${glob ? 'GLOB' : '='} ?`, [keys, places]);
|
|
52
|
+
}
|
|
43
53
|
function heldValues(doc, field, alias, where) {
|
|
44
|
-
return
|
|
54
|
+
return joined([
|
|
55
|
+
fragment(`SELECT 1 FROM replica_values ${alias} WHERE ${alias}.doc = ${doc}.id AND `),
|
|
56
|
+
grouped(pointed(alias, field, 'value')),
|
|
57
|
+
fragment(' AND '),
|
|
58
|
+
grouped(where),
|
|
59
|
+
], '');
|
|
45
60
|
}
|
|
46
61
|
function exists(part) {
|
|
47
62
|
return { sql: `EXISTS (${part.sql})`, bind: part.bind };
|
|
48
63
|
}
|
|
49
|
-
function
|
|
64
|
+
function itemOf(held, where) {
|
|
65
|
+
return exists(joined([
|
|
66
|
+
fragment(`SELECT 1 FROM replica_values i WHERE i.doc = ${held}.doc AND i.keys = ${held}.keys AND i.places = ${held}.places AND i.item >= 0 AND `),
|
|
67
|
+
grouped(where),
|
|
68
|
+
], ''));
|
|
69
|
+
}
|
|
70
|
+
function matching(held, values) {
|
|
50
71
|
return any(values.map((value) => any([
|
|
51
72
|
same(held, value),
|
|
52
|
-
all([
|
|
53
|
-
fragment(`${held}.kind = 'array'`),
|
|
54
|
-
exists(heldValues(doc, field, 'i', all([fragment(`i.held = ${held}.held AND i.item >= 0`), same('i', value)]))),
|
|
55
|
-
]),
|
|
73
|
+
all([fragment(`${held}.kind = 'array'`), itemOf(held, same('i', value))]),
|
|
56
74
|
])));
|
|
57
75
|
}
|
|
58
76
|
function tested(doc, field, test) {
|
|
@@ -65,7 +83,7 @@ function tested(doc, field, test) {
|
|
|
65
83
|
}
|
|
66
84
|
if (test.op === 'ne' || test.op === 'nin') {
|
|
67
85
|
const values = test.op === 'ne' ? [test.value] : test.values;
|
|
68
|
-
const unmatched = matching('h',
|
|
86
|
+
const unmatched = matching('h', values);
|
|
69
87
|
return any([
|
|
70
88
|
fragment(`NOT ${reached.sql}`, reached.bind),
|
|
71
89
|
exists(heldValues(doc, field, 'h', all([fragment('h.item = -1'), fragment(`NOT (${unmatched.sql})`, unmatched.bind)]))),
|
|
@@ -86,7 +104,7 @@ function tested(doc, field, test) {
|
|
|
86
104
|
if (test.op === 'all') {
|
|
87
105
|
return exists(heldValues(doc, field, 'h', all([
|
|
88
106
|
fragment("h.item = -1 AND h.kind = 'array'"),
|
|
89
|
-
...test.values.map((value) =>
|
|
107
|
+
...test.values.map((value) => itemOf('h', same('i', value))),
|
|
90
108
|
])));
|
|
91
109
|
}
|
|
92
110
|
return exists(heldValues(doc, field, 'v', fragment("v.item = -1 AND v.kind = 'array' AND v.size = ?", [test.size])));
|
|
@@ -115,20 +133,35 @@ function reached(bound, alias) {
|
|
|
115
133
|
const key = bound.keys.get(roomOfKey(held));
|
|
116
134
|
return key === undefined ? [] : [[key, pathOfKey(held)]];
|
|
117
135
|
});
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
136
|
+
const areas = reach.areas.flatMap((area) => {
|
|
137
|
+
const key = bound.keys.get(area.room);
|
|
138
|
+
return key === undefined ? [] : [{ key, path: area.path, types: area.types }];
|
|
139
|
+
});
|
|
140
|
+
const beneath = (area) => fragment(`${alias}.key = ? AND (${alias}.path = ? OR (${alias}.path >= ? AND ${alias}.path < ?))`, [area.key, area.path, `${area.path}/`, `${area.path}0`]);
|
|
141
|
+
const typed = (types) => fragment(`${alias}.type IN ${list(types).sql}`, types);
|
|
142
|
+
const outside = any(areas.map((area) => area.types.length === 0
|
|
143
|
+
? beneath(area)
|
|
144
|
+
: all([beneath(area), fragment(`NOT ${grouped(typed(area.types)).sql}`, area.types)])));
|
|
145
|
+
return all([
|
|
146
|
+
any([
|
|
147
|
+
...(rooms.length === 0 ? [] : [fragment(`${alias}.key IN ${list(rooms).sql}`, rooms)]),
|
|
148
|
+
...(documents.length === 0
|
|
149
|
+
? []
|
|
150
|
+
: [
|
|
151
|
+
fragment(`EXISTS (SELECT 1 FROM json_each(?) j WHERE j.value ->> 0 = ${alias}.key AND j.value ->> 1 = ${alias}.path)`, [JSON.stringify(documents)]),
|
|
152
|
+
]),
|
|
153
|
+
...areas.flatMap((area) => area.types.length === 0 ? [] : [all([beneath(area), typed(area.types)])]),
|
|
154
|
+
]),
|
|
155
|
+
...(areas.length === 0 ? [] : [fragment(`NOT ${grouped(outside).sql}`, outside.bind)]),
|
|
125
156
|
]);
|
|
126
157
|
}
|
|
127
|
-
function
|
|
158
|
+
function unindexed(column) {
|
|
159
|
+
return `+${column}`;
|
|
160
|
+
}
|
|
161
|
+
function scoped(alias, scope, byPaths = false) {
|
|
162
|
+
const type = byPaths ? unindexed(`${alias}.type`) : `${alias}.type`;
|
|
128
163
|
return all([
|
|
129
|
-
...(scope.types === null
|
|
130
|
-
? []
|
|
131
|
-
: [fragment(`${alias}.type IN ${list(scope.types).sql}`, scope.types)]),
|
|
164
|
+
...(scope.types === null ? [] : [fragment(`${type} IN ${list(scope.types).sql}`, scope.types)]),
|
|
132
165
|
...(scope.pathPrefix === null || scope.pathPrefix === ''
|
|
133
166
|
? []
|
|
134
167
|
: [
|
|
@@ -144,14 +177,17 @@ function related(bound, plan) {
|
|
|
144
177
|
const parts = [];
|
|
145
178
|
if (plan.hop !== null) {
|
|
146
179
|
parts.push(exists(joined([
|
|
147
|
-
fragment(`SELECT 1 FROM replica_links l JOIN replica_entries m ON m.key = d.key AND m.path = l.target AND ${VISIBLE('m')} WHERE l.doc = d.id AND l.kind = 'field' AND
|
|
180
|
+
fragment(`SELECT 1 FROM replica_links l JOIN replica_entries m ON m.key = d.key AND m.path = l.target AND ${VISIBLE('m')} WHERE l.doc = d.id AND l.kind = 'field' AND`),
|
|
181
|
+
grouped(pointed('l', plan.hop.field, 'link')),
|
|
182
|
+
fragment('AND'),
|
|
148
183
|
grouped(all([scoped('m', plan.hop), reached(bound, 'm')])),
|
|
149
184
|
], ' ')));
|
|
150
185
|
}
|
|
151
186
|
if (plan.backlinks !== null) {
|
|
152
187
|
const field = plan.backlinks.field;
|
|
153
188
|
parts.push(exists(joined([
|
|
154
|
-
fragment(`SELECT 1 FROM replica_links l JOIN replica_entries s ON s.id = l.doc AND ${VISIBLE('s')} WHERE l.key = d.key AND l.target = d.path AND l.kind = 'field'
|
|
189
|
+
fragment(`SELECT 1 FROM replica_links l JOIN replica_entries s ON s.id = l.doc AND ${VISIBLE('s')} WHERE l.key = d.key AND l.target = d.path AND l.kind = 'field' AND`),
|
|
190
|
+
...(field === null ? [] : [grouped(pointed('l', field, 'link')), fragment('AND')]),
|
|
155
191
|
grouped(all([scoped('s', plan.backlinks), reached(bound, 's')])),
|
|
156
192
|
], ' ')));
|
|
157
193
|
}
|
|
@@ -164,7 +200,7 @@ function filtered(bound, plan) {
|
|
|
164
200
|
...(plan.paths === null ? [] : [fragment(`d.path IN ${list(plan.paths).sql}`, plan.paths)]),
|
|
165
201
|
...(plan.folder === null ? [] : [fragment('d.folder = ?', [plan.folder])]),
|
|
166
202
|
reached(bound, 'd'),
|
|
167
|
-
scoped('d', plan.root),
|
|
203
|
+
scoped('d', plan.root, plan.paths !== null),
|
|
168
204
|
...related(bound, plan),
|
|
169
205
|
]);
|
|
170
206
|
}
|
|
@@ -283,7 +319,11 @@ function keyTerm(bound, key, ordering, index) {
|
|
|
283
319
|
const alias = `o${index}`;
|
|
284
320
|
return {
|
|
285
321
|
term: { ordering, kind: fragment(`${alias}.kind`), value: fragment(`${alias}.value`) },
|
|
286
|
-
join:
|
|
322
|
+
join: joined([
|
|
323
|
+
fragment(`LEFT JOIN replica_values ${alias} ON ${alias}.doc = d.id AND `),
|
|
324
|
+
grouped(pointed(alias, key.field, 'exact')),
|
|
325
|
+
fragment(` AND ${alias}.item = -1 AND ${alias}.kind NOT IN ('object', 'undefined')`),
|
|
326
|
+
], ''),
|
|
287
327
|
};
|
|
288
328
|
}
|
|
289
329
|
const expression = key.of === 'room'
|
|
@@ -439,9 +479,7 @@ function documentOf(shape, room, row, linked) {
|
|
|
439
479
|
: {
|
|
440
480
|
binaryFile: binaryRecord(path, binary, revision ?? undefined),
|
|
441
481
|
}),
|
|
442
|
-
...(shape.markdown && content !== null
|
|
443
|
-
? { markdown: content }
|
|
444
|
-
: {}),
|
|
482
|
+
...(shape.markdown && content !== null ? { markdown: content } : {}),
|
|
445
483
|
...(shape.fileId ? { fileId } : {}),
|
|
446
484
|
...(shape.revision ? { revision } : {}),
|
|
447
485
|
};
|
|
@@ -464,7 +502,7 @@ function documentOf(shape, room, row, linked) {
|
|
|
464
502
|
? {}
|
|
465
503
|
: { sections: sectionsOf(body.sections, shape.sections) }),
|
|
466
504
|
...(shape.preamble && body !== null ? { preamble: body.preamble } : {}),
|
|
467
|
-
...(shape.markdown
|
|
505
|
+
...(shape.markdown ? { markdown: row.content } : {}),
|
|
468
506
|
...(shape.backlinks ? { backlinks: linked.get(documentKey(room, path)) ?? [] } : {}),
|
|
469
507
|
...(shape.change
|
|
470
508
|
? {
|
|
@@ -595,8 +633,22 @@ function storedFolders(bound, plan) {
|
|
|
595
633
|
return null;
|
|
596
634
|
const keys = whole.map(({ key }) => key);
|
|
597
635
|
const prefix = plan.root.pathPrefix;
|
|
636
|
+
const fenced = (bound.reach?.areas ?? []).flatMap((area) => {
|
|
637
|
+
const key = bound.keys.get(area.room);
|
|
638
|
+
return key === undefined
|
|
639
|
+
? []
|
|
640
|
+
: [
|
|
641
|
+
fragment('NOT (f.key = ? AND (f.path = ? OR (f.path >= ? AND f.path < ?)))', [
|
|
642
|
+
key,
|
|
643
|
+
area.path,
|
|
644
|
+
`${area.path}/`,
|
|
645
|
+
`${area.path}0`,
|
|
646
|
+
]),
|
|
647
|
+
];
|
|
648
|
+
});
|
|
598
649
|
return all([
|
|
599
650
|
fragment(`f.key IN ${list(keys).sql} AND f.layer = 0 AND f.present = 1`, keys),
|
|
651
|
+
...fenced,
|
|
600
652
|
...(prefix === null || prefix === ''
|
|
601
653
|
? []
|
|
602
654
|
: [
|
package/dist/connection.d.ts
CHANGED
|
@@ -7,14 +7,13 @@ import { type Adapter, type Authorization, type Member, type ProviderRefusal, ty
|
|
|
7
7
|
import { type ChatDraftSurface, type ConversationAgent, type ConversationEntry, type ConversationOptions, type ConversationSurface, type ConversationView } from './conversation.js';
|
|
8
8
|
import { type WrittenBy } from './change.js';
|
|
9
9
|
import type { Open } from './open.js';
|
|
10
|
-
import { type
|
|
11
|
-
import { type BinaryLinkAnswer, type CallResult, type HeldBinaryAnswer, type HistoryAnswer, type QueueEntry, type Resolution } from './outcome.js';
|
|
10
|
+
import { type AttachAnswer, type BinaryLinkAnswer, type CallResult, type HeldBinaryAnswer, type HeldShownAnswer, type HistoryAnswer, type QueueEntry, type Resolution } from './outcome.js';
|
|
12
11
|
import { type Recovery } from './recovery.js';
|
|
13
12
|
import { type SaveRefusal } from './save.js';
|
|
14
13
|
import { type RoomDraft, type RoomDraftParts, type RoomDraftWrite } from './room-draft.js';
|
|
15
14
|
import { type SyncStatus } from './status.js';
|
|
16
15
|
import { type RuntimeShell } from './durability.js';
|
|
17
|
-
import { type
|
|
16
|
+
import { type CodeAvailability, type Persistence, type Readiness, type SearchObligation, type Space } from './readiness.js';
|
|
18
17
|
import type { RuntimeDatabase } from './tables.js';
|
|
19
18
|
import { type NarrowedView, type PortReach, type RuntimeView } from './reach.js';
|
|
20
19
|
export type AppTypedSelection = {
|
|
@@ -55,6 +54,7 @@ export type MdRuntimeOptions = {
|
|
|
55
54
|
authorization?: Authorization;
|
|
56
55
|
signal?: AbortSignal;
|
|
57
56
|
recovery?: Recovery;
|
|
57
|
+
usableWhenHeld?: readonly string[];
|
|
58
58
|
};
|
|
59
59
|
export type SaveResult = {
|
|
60
60
|
outcome: 'saved';
|
|
@@ -73,7 +73,7 @@ export type SavedParts = {
|
|
|
73
73
|
export type RoomDraftSurface = {
|
|
74
74
|
list(): Promise<readonly RoomDraft[]>;
|
|
75
75
|
read(room: string, path: string): Promise<RoomDraft | null>;
|
|
76
|
-
write(room: string, path: string, revision: string | null, parts: unknown): Promise<RoomDraftWrite>;
|
|
76
|
+
write(room: string, path: string, revision: string | null, parts: unknown, next?: string): Promise<RoomDraftWrite>;
|
|
77
77
|
discard(room: string, path: string, revision: string): Promise<RoomDraftWrite>;
|
|
78
78
|
};
|
|
79
79
|
export type PresentationSurface = {
|
|
@@ -84,7 +84,8 @@ export type PresentationSurface = {
|
|
|
84
84
|
export type BinaryFileSurface = {
|
|
85
85
|
read(room: string, path: string, revision?: string): Promise<HeldBinaryAnswer>;
|
|
86
86
|
link(room: string, path: string, revision?: string): Promise<BinaryLinkAnswer>;
|
|
87
|
-
|
|
87
|
+
show(room: string, path: string, revision?: string): Promise<HeldShownAnswer>;
|
|
88
|
+
attach(room: string, file: File): Promise<AttachAnswer>;
|
|
88
89
|
part(file: string, part: number): Promise<Uint8Array | null>;
|
|
89
90
|
};
|
|
90
91
|
export type HistoryQuery = {
|
|
@@ -93,7 +94,7 @@ export type HistoryQuery = {
|
|
|
93
94
|
};
|
|
94
95
|
export type MdRuntime = {
|
|
95
96
|
loaded(): Promise<void>;
|
|
96
|
-
rooms(): readonly AppRoom[]
|
|
97
|
+
rooms(): Promise<readonly AppRoom[]>;
|
|
97
98
|
query: {
|
|
98
99
|
(query: DocumentQuery): Promise<DocumentResult | PendingResult>;
|
|
99
100
|
(query: GroupQuery): Promise<GroupResult | PendingResult>;
|
|
@@ -138,7 +139,7 @@ export type RuntimeTopic = 'rooms' | 'readiness' | 'connection-refusal' | 'stora
|
|
|
138
139
|
export type ReadinessPort = {
|
|
139
140
|
readonly target: string;
|
|
140
141
|
readonly code: CodeAvailability;
|
|
141
|
-
readonly
|
|
142
|
+
readonly space: Space | null;
|
|
142
143
|
readonly search: SearchObligation;
|
|
143
144
|
};
|
|
144
145
|
export type ComposedRuntime = RuntimeView & {
|
package/dist/connection.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|