@agentshouse/mdruntime 0.1.0-cefbc8bb8a1c0 → 0.1.0-cf1e7fdb9c600
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 +1 -1
- package/dist/adapter.d.ts +69 -49
- package/dist/adapter.d.ts.map +1 -1
- package/dist/bootstrap.d.ts +5 -8
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +20 -21
- package/dist/chain.d.ts +2 -1
- package/dist/chain.d.ts.map +1 -1
- package/dist/client.d.ts +6 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +0 -1
- package/dist/collection.d.ts +2 -4
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +1 -17
- package/dist/compile.d.ts +1 -6
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +97 -281
- package/dist/connection.d.ts +5 -7
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +816 -846
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +7 -0
- package/dist/conversation.d.ts +15 -13
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +133 -142
- package/dist/durability.d.ts +0 -1
- package/dist/durability.d.ts.map +1 -1
- package/dist/entry.d.ts +2 -2
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +14 -5
- package/dist/host.d.ts +3 -7
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +12 -26
- package/dist/index.d.ts +9 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -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 +2 -1
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +10 -7
- package/dist/memory.d.ts +9 -4
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +132 -81
- package/dist/messages.d.ts +2 -2
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +15 -16
- package/dist/model.d.ts +1 -3
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +0 -12
- package/dist/observation.d.ts +2 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +7 -2
- package/dist/outcome.d.ts +0 -3
- package/dist/outcome.d.ts.map +1 -1
- package/dist/query.d.ts +5 -209
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +3 -505
- package/dist/reach.d.ts +7 -7
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +31 -44
- package/dist/react.d.ts +3 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/readiness.d.ts +2 -15
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +4 -10
- package/dist/refresh.d.ts +7 -5
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +46 -6
- package/dist/replica.d.ts +2 -2
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +5 -5
- package/dist/room-draft.d.ts +2 -1
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +65 -52
- package/dist/rows.d.ts +3 -19
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +36 -164
- package/dist/search.d.ts +12 -63
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +9 -52
- 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 +0 -4
- package/dist/status.d.ts.map +1 -1
- package/dist/store.d.ts +15 -19
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +40 -39
- package/dist/stored.d.ts +33 -6
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +87 -124
- package/dist/tables.d.ts +34 -33
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +21 -54
- 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 +39 -97
- package/dist/windows.d.ts +1 -12
- package/dist/windows.d.ts.map +1 -1
- package/dist/windows.js +2 -75
- package/dist/wire.d.ts +1 -4
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +1 -1
- package/package.json +2 -2
- package/dist/fulltext.d.ts +0 -27
- package/dist/fulltext.d.ts.map +0 -1
- package/dist/fulltext.js +0 -370
- package/dist/reads.d.ts +0 -11
- package/dist/reads.d.ts.map +0 -1
- package/dist/reads.js +0 -91
- package/dist/words.d.ts +0 -19
- package/dist/words.d.ts.map +0 -1
- package/dist/words.js +0 -156
package/dist/stored.js
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
|
+
import { sql } from '@agentshouse/mdmodel';
|
|
1
2
|
import { composedOf } from './collection.js';
|
|
2
|
-
import { indexDocument, unindexAll, unindexDocuments } from './fulltext.js';
|
|
3
3
|
import { described, derived } from './rows.js';
|
|
4
4
|
export const REPLICA_TABLES = [
|
|
5
|
-
'CREATE TABLE replica_keys (key INTEGER PRIMARY KEY AUTOINCREMENT, locator TEXT NOT NULL, transfer TEXT NOT NULL, fingerprint TEXT NOT NULL, rederiving INTEGER
|
|
5
|
+
'CREATE TABLE replica_keys (key INTEGER PRIMARY KEY AUTOINCREMENT, locator TEXT NOT NULL, transfer TEXT NOT NULL, fingerprint TEXT NOT NULL, rederiving INTEGER)',
|
|
6
6
|
'CREATE TABLE replica_rooms (locator TEXT PRIMARY KEY, key INTEGER NOT NULL, record TEXT NOT NULL) WITHOUT ROWID',
|
|
7
|
-
'CREATE TABLE replica_entries (id INTEGER PRIMARY KEY, key INTEGER NOT NULL, layer INTEGER NOT NULL, path TEXT NOT NULL, visible INTEGER NOT NULL, present INTEGER NOT NULL, queried INTEGER NOT NULL, binary TEXT, revision TEXT, file_id TEXT, change TEXT, written TEXT, type TEXT, declared TEXT, folder TEXT NOT NULL, fields TEXT, content TEXT)',
|
|
7
|
+
'CREATE TABLE replica_entries (id INTEGER PRIMARY KEY, key INTEGER NOT NULL, layer INTEGER NOT NULL, path TEXT NOT NULL, visible INTEGER NOT NULL, present INTEGER NOT NULL, queried INTEGER NOT NULL, binary TEXT, revision TEXT, file_id TEXT, change TEXT, written TEXT, type TEXT, declared TEXT, folder TEXT NOT NULL, fields TEXT, content TEXT, outline TEXT)',
|
|
8
8
|
'CREATE UNIQUE INDEX replica_entries_path ON replica_entries (key, layer, path)',
|
|
9
9
|
'CREATE INDEX replica_entries_visible ON replica_entries (key, visible, present, path, binary)',
|
|
10
10
|
'CREATE INDEX replica_entries_folder ON replica_entries (key, folder, path)',
|
|
11
11
|
'CREATE INDEX replica_entries_type ON replica_entries (key, type, visible, present, queried, folder)',
|
|
12
12
|
'CREATE INDEX replica_entries_key ON replica_entries (key)',
|
|
13
|
-
|
|
13
|
+
sql.VALUE_TABLE,
|
|
14
14
|
'CREATE TABLE replica_links (doc INTEGER NOT NULL, key INTEGER NOT NULL, kind TEXT NOT NULL, keys TEXT NOT NULL, places TEXT NOT NULL, target TEXT NOT NULL, field TEXT NOT NULL, PRIMARY KEY (doc, kind, keys, places, target)) WITHOUT ROWID',
|
|
15
15
|
'CREATE INDEX replica_links_target ON replica_links (key, target, kind, keys)',
|
|
16
16
|
'CREATE TABLE replica_folders (key INTEGER NOT NULL, layer INTEGER NOT NULL, path TEXT NOT NULL, present INTEGER NOT NULL, PRIMARY KEY (key, layer, path)) WITHOUT ROWID',
|
|
17
17
|
'CREATE TABLE replica_erasing (key INTEGER PRIMARY KEY, locator TEXT NOT NULL)',
|
|
18
|
-
'CREATE TABLE
|
|
19
|
-
'CREATE TABLE replica_received_parts (key TEXT NOT NULL, part INTEGER NOT NULL, value TEXT NOT NULL, PRIMARY KEY (key, part)) WITHOUT ROWID',
|
|
18
|
+
'CREATE TABLE replica_opened (locator TEXT NOT NULL, path TEXT NOT NULL, PRIMARY KEY (locator, path)) WITHOUT ROWID',
|
|
20
19
|
'CREATE TABLE replica_facts (name TEXT PRIMARY KEY, value TEXT NOT NULL) WITHOUT ROWID',
|
|
21
20
|
'CREATE TABLE replica_presentation (app TEXT PRIMARY KEY, value TEXT NOT NULL) WITHOUT ROWID',
|
|
22
21
|
];
|
|
@@ -53,17 +52,10 @@ function dropDerived(connection, doc) {
|
|
|
53
52
|
connection.run('DELETE FROM replica_values WHERE doc = ?', [doc]);
|
|
54
53
|
connection.run('DELETE FROM replica_links WHERE doc = ?', [doc]);
|
|
55
54
|
}
|
|
56
|
-
function scalarText(value) {
|
|
57
|
-
if (value === Infinity)
|
|
58
|
-
return 'Infinity';
|
|
59
|
-
if (value === -Infinity)
|
|
60
|
-
return '-Infinity';
|
|
61
|
-
return JSON.stringify(value);
|
|
62
|
-
}
|
|
63
55
|
function writeDerived(connection, doc, key, made) {
|
|
64
56
|
if (made.values.length > 0) {
|
|
65
|
-
const
|
|
66
|
-
connection.run(
|
|
57
|
+
const inserted = sql.insertedValues(doc, made.values);
|
|
58
|
+
connection.run(inserted.sql, inserted.bind);
|
|
67
59
|
}
|
|
68
60
|
if (made.links.length > 0) {
|
|
69
61
|
connection.run('INSERT OR IGNORE INTO replica_links (doc, key, kind, keys, places, target, field) SELECT ?, ?, value ->> 0, value ->> 1, value ->> 2, value ->> 3, value ->> 4 FROM json_each(?)', [
|
|
@@ -77,27 +69,15 @@ function entryId(connection, key, layer, path) {
|
|
|
77
69
|
const [row] = connection.rows('SELECT id FROM replica_entries WHERE key = ? AND layer = ? AND path = ?', [key, layer, path]);
|
|
78
70
|
return row === undefined ? null : number(row.id);
|
|
79
71
|
}
|
|
80
|
-
function
|
|
81
|
-
return { dropped: [], made: [] };
|
|
82
|
-
}
|
|
83
|
-
function wordsWritten(connection, owed) {
|
|
84
|
-
unindexDocuments(connection, owed.dropped);
|
|
85
|
-
for (const { id, path, content } of owed.made)
|
|
86
|
-
indexDocument(connection, id, path, content);
|
|
87
|
-
}
|
|
88
|
-
function removeEntry(connection, key, layer, path, owed) {
|
|
72
|
+
function removeEntry(connection, key, layer, path) {
|
|
89
73
|
const id = entryId(connection, key, layer, path);
|
|
90
74
|
if (id === null)
|
|
91
75
|
return;
|
|
92
76
|
dropDerived(connection, id);
|
|
93
|
-
owed.dropped.push(id);
|
|
94
77
|
connection.run('DELETE FROM replica_entries WHERE id = ?', [id]);
|
|
95
78
|
}
|
|
96
|
-
function heldIds(connection, sql, bind) {
|
|
97
|
-
return connection.rows(sql, bind).map((row) => number(row.id));
|
|
98
|
-
}
|
|
99
79
|
function insertEntry(connection, key, layer, entry, present, made) {
|
|
100
|
-
connection.run('INSERT INTO replica_entries (key, layer, path, visible, present, queried, content, binary, revision, file_id, change, written, type, declared, folder, fields) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [
|
|
80
|
+
connection.run('INSERT INTO replica_entries (key, layer, path, visible, present, queried, content, outline, binary, revision, file_id, change, written, type, declared, folder, fields) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)', [
|
|
101
81
|
key,
|
|
102
82
|
layer,
|
|
103
83
|
entry.path,
|
|
@@ -105,6 +85,7 @@ function insertEntry(connection, key, layer, entry, present, made) {
|
|
|
105
85
|
flag(present),
|
|
106
86
|
flag(made.queried),
|
|
107
87
|
entry.binary === null ? entry.content : null,
|
|
88
|
+
entry.binary === null && entry.outline !== null ? JSON.stringify(entry.outline) : null,
|
|
108
89
|
entry.binary === null ? null : JSON.stringify(entry.binary),
|
|
109
90
|
entry.revision,
|
|
110
91
|
entry.fileId,
|
|
@@ -119,21 +100,19 @@ function insertEntry(connection, key, layer, entry, present, made) {
|
|
|
119
100
|
function textOf(entry) {
|
|
120
101
|
return entry.binary === null ? entry.content : null;
|
|
121
102
|
}
|
|
122
|
-
function putEntry(connection, key, layer, entry, present, composition
|
|
123
|
-
removeEntry(connection, key, layer, entry.path
|
|
103
|
+
function putEntry(connection, key, layer, entry, present, composition) {
|
|
104
|
+
removeEntry(connection, key, layer, entry.path);
|
|
124
105
|
const content = textOf(entry);
|
|
125
|
-
const made = present ? derived(entry.path, content, composition) : ABSENT;
|
|
106
|
+
const made = present ? derived(entry.path, content, entry.outline, composition) : ABSENT;
|
|
126
107
|
insertEntry(connection, key, layer, entry, present, made);
|
|
127
108
|
if (!present)
|
|
128
109
|
return;
|
|
129
110
|
const id = entryId(connection, key, layer, entry.path);
|
|
130
111
|
writeDerived(connection, id, key, made);
|
|
131
|
-
if (searched && content !== null && made.queried)
|
|
132
|
-
owed.made.push({ id, path: entry.path, content });
|
|
133
112
|
}
|
|
134
|
-
function placeEntry(connection, key, entry
|
|
135
|
-
removeEntry(connection, key, CONFIRMED, entry.path
|
|
136
|
-
insertEntry(connection, key, CONFIRMED, entry, true, described(entry.path, textOf(entry)));
|
|
113
|
+
function placeEntry(connection, key, entry) {
|
|
114
|
+
removeEntry(connection, key, CONFIRMED, entry.path);
|
|
115
|
+
insertEntry(connection, key, CONFIRMED, entry, true, described(entry.path, textOf(entry), entry.outline));
|
|
137
116
|
}
|
|
138
117
|
function revealed(connection, key, touched) {
|
|
139
118
|
if (touched.length === 0)
|
|
@@ -142,7 +121,7 @@ function revealed(connection, key, touched) {
|
|
|
142
121
|
}
|
|
143
122
|
function newKey(connection, locator, transfer, fingerprint, built) {
|
|
144
123
|
const owed = built ? null : 0;
|
|
145
|
-
connection.run('INSERT INTO replica_keys (locator, transfer, fingerprint, rederiving
|
|
124
|
+
connection.run('INSERT INTO replica_keys (locator, transfer, fingerprint, rederiving) VALUES (?, ?, ?, ?)', [locator, transfer, fingerprint, owed]);
|
|
146
125
|
const [row] = connection.rows('SELECT last_insert_rowid() AS key');
|
|
147
126
|
return number(row.key);
|
|
148
127
|
}
|
|
@@ -155,25 +134,20 @@ function recomposed(connection, key, fingerprint) {
|
|
|
155
134
|
}
|
|
156
135
|
export function entered(connection, locator, composition, rows) {
|
|
157
136
|
const key = newKey(connection, locator, '', composedOf(composition).fingerprint, true);
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
putEntry(connection, key, CONFIRMED, entry, true, composition, owed, false);
|
|
161
|
-
}
|
|
162
|
-
wordsWritten(connection, owed);
|
|
137
|
+
for (const entry of rows)
|
|
138
|
+
putEntry(connection, key, CONFIRMED, entry, true, composition);
|
|
163
139
|
return key;
|
|
164
140
|
}
|
|
165
141
|
export function stage(connection, request) {
|
|
166
142
|
const key = request.key ??
|
|
167
143
|
newKey(connection, request.locator, request.transfer, request.fingerprint, false);
|
|
168
144
|
recomposed(connection, key, request.fingerprint);
|
|
169
|
-
connection.run('UPDATE replica_keys SET rederiving = coalesce(rederiving, last)
|
|
170
|
-
const owed = words();
|
|
145
|
+
connection.run('UPDATE replica_keys SET rederiving = coalesce(rederiving, last) FROM (SELECT coalesce(max(id), 0) AS last FROM replica_entries) WHERE key = ?', [key]);
|
|
171
146
|
for (const entry of request.entries)
|
|
172
|
-
placeEntry(connection, key, entry
|
|
147
|
+
placeEntry(connection, key, entry);
|
|
173
148
|
for (const path of request.folders) {
|
|
174
149
|
connection.run('INSERT OR REPLACE INTO replica_folders (key, layer, path, present) VALUES (?, ?, ?, 1)', [key, CONFIRMED, path]);
|
|
175
150
|
}
|
|
176
|
-
wordsWritten(connection, owed);
|
|
177
151
|
return key;
|
|
178
152
|
}
|
|
179
153
|
export function refreshing(connection, request) {
|
|
@@ -182,20 +156,20 @@ export function refreshing(connection, request) {
|
|
|
182
156
|
return null;
|
|
183
157
|
recomposed(connection, request.key, request.composed.fingerprint);
|
|
184
158
|
const composition = request.composed.composition;
|
|
185
|
-
const owed = words();
|
|
186
159
|
for (const entry of request.entries) {
|
|
187
|
-
putEntry(connection, request.key, REFRESHED, entry, true, composition
|
|
160
|
+
putEntry(connection, request.key, REFRESHED, entry, true, composition);
|
|
188
161
|
}
|
|
189
162
|
for (const path of request.removals) {
|
|
190
163
|
putEntry(connection, request.key, REFRESHED, {
|
|
191
164
|
path,
|
|
192
165
|
content: null,
|
|
166
|
+
outline: null,
|
|
193
167
|
binary: null,
|
|
194
168
|
revision: null,
|
|
195
169
|
fileId: null,
|
|
196
170
|
change: null,
|
|
197
171
|
written: null,
|
|
198
|
-
}, false, composition
|
|
172
|
+
}, false, composition);
|
|
199
173
|
}
|
|
200
174
|
for (const [list, present] of [
|
|
201
175
|
[request.folders, 1],
|
|
@@ -205,11 +179,9 @@ export function refreshing(connection, request) {
|
|
|
205
179
|
connection.run('INSERT OR REPLACE INTO replica_folders (key, layer, path, present) VALUES (?, ?, ?, ?)', [request.key, REFRESHED, path, present]);
|
|
206
180
|
}
|
|
207
181
|
}
|
|
208
|
-
wordsWritten(connection, owed);
|
|
209
182
|
return null;
|
|
210
183
|
}
|
|
211
184
|
function dropLayer(connection, key, layer) {
|
|
212
|
-
unindexDocuments(connection, heldIds(connection, 'SELECT id FROM replica_entries WHERE key = ? AND layer = ?', [key, layer]));
|
|
213
185
|
for (const table of ['replica_values', 'replica_links']) {
|
|
214
186
|
connection.run(`DELETE FROM ${table} WHERE doc IN (SELECT id FROM replica_entries WHERE key = ? AND layer = ?)`, [key, layer]);
|
|
215
187
|
}
|
|
@@ -228,7 +200,6 @@ function refreshedPaths(connection, key) {
|
|
|
228
200
|
function applyRefresh(connection, key) {
|
|
229
201
|
const touched = refreshedPaths(connection, key);
|
|
230
202
|
const replaced = `SELECT c.id FROM replica_entries c JOIN replica_entries r ON r.key = c.key AND r.layer = ${REFRESHED} AND r.path = c.path WHERE c.key = ? AND c.layer = ${CONFIRMED}`;
|
|
231
|
-
unindexDocuments(connection, heldIds(connection, replaced, [key]));
|
|
232
203
|
for (const table of ['replica_values', 'replica_links']) {
|
|
233
204
|
connection.run(`DELETE FROM ${table} WHERE doc IN (${replaced})`, [key]);
|
|
234
205
|
}
|
|
@@ -276,21 +247,20 @@ function commitRoom(connection, room) {
|
|
|
276
247
|
for (const path of applyRefresh(connection, room.key))
|
|
277
248
|
touched.add(path);
|
|
278
249
|
}
|
|
279
|
-
const owed = words();
|
|
280
250
|
for (const entry of room.confirmed?.set ?? []) {
|
|
281
|
-
putEntry(connection, room.key, CONFIRMED, entry, true, composition
|
|
251
|
+
putEntry(connection, room.key, CONFIRMED, entry, true, composition);
|
|
282
252
|
touched.add(entry.path);
|
|
283
253
|
}
|
|
284
254
|
for (const path of room.confirmed?.removed ?? []) {
|
|
285
|
-
removeEntry(connection, room.key, CONFIRMED, path
|
|
255
|
+
removeEntry(connection, room.key, CONFIRMED, path);
|
|
286
256
|
touched.add(path);
|
|
287
257
|
}
|
|
288
258
|
for (const entry of room.overlay?.set ?? []) {
|
|
289
|
-
putEntry(connection, room.key, OVERLAY, entry, entry.present, composition
|
|
259
|
+
putEntry(connection, room.key, OVERLAY, entry, entry.present, composition);
|
|
290
260
|
touched.add(entry.path);
|
|
291
261
|
}
|
|
292
262
|
for (const path of room.overlay?.cleared ?? []) {
|
|
293
|
-
removeEntry(connection, room.key, OVERLAY, path
|
|
263
|
+
removeEntry(connection, room.key, OVERLAY, path);
|
|
294
264
|
touched.add(path);
|
|
295
265
|
}
|
|
296
266
|
const changed = [...touched];
|
|
@@ -302,7 +272,6 @@ function commitRoom(connection, room) {
|
|
|
302
272
|
room.record,
|
|
303
273
|
]);
|
|
304
274
|
}
|
|
305
|
-
wordsWritten(connection, owed);
|
|
306
275
|
return room.published === undefined ? changed : null;
|
|
307
276
|
}
|
|
308
277
|
export function commit(connection, rooms) {
|
|
@@ -314,11 +283,8 @@ export function commit(connection, rooms) {
|
|
|
314
283
|
counted[room.locator] = counts(connection, [
|
|
315
284
|
{ key: room.key, roots: room.roots ?? rootsOf(connection, room.locator) },
|
|
316
285
|
])[0];
|
|
317
|
-
const [held] = connection.rows('SELECT rederiving
|
|
318
|
-
|
|
319
|
-
]);
|
|
320
|
-
indexed[room.locator] =
|
|
321
|
-
held !== undefined && held.rederiving === null && held.searching === null;
|
|
286
|
+
const [held] = connection.rows('SELECT rederiving FROM replica_keys WHERE key = ?', [room.key]);
|
|
287
|
+
indexed[room.locator] = held !== undefined && held.rederiving === null;
|
|
322
288
|
}
|
|
323
289
|
return { counts: counted, changed, indexed };
|
|
324
290
|
}
|
|
@@ -333,6 +299,7 @@ export function fenceRooms(connection, locators) {
|
|
|
333
299
|
erasing(connection, number(row.key), locator);
|
|
334
300
|
}
|
|
335
301
|
connection.run('DELETE FROM replica_rooms WHERE locator = ?', [locator]);
|
|
302
|
+
connection.run('DELETE FROM replica_opened WHERE locator = ?', [locator]);
|
|
336
303
|
}
|
|
337
304
|
return null;
|
|
338
305
|
}
|
|
@@ -357,7 +324,6 @@ export function erase(connection, locator, limit) {
|
|
|
357
324
|
return { remaining: false };
|
|
358
325
|
const key = number(held.key);
|
|
359
326
|
const batch = 'SELECT id FROM replica_entries WHERE key = ? ORDER BY id LIMIT ?';
|
|
360
|
-
unindexDocuments(connection, heldIds(connection, batch, [key, limit]));
|
|
361
327
|
for (const table of ['replica_values', 'replica_links']) {
|
|
362
328
|
connection.run(`DELETE FROM ${table} WHERE doc IN (${batch})`, [key, limit]);
|
|
363
329
|
}
|
|
@@ -377,40 +343,28 @@ function cursor(value) {
|
|
|
377
343
|
export function rederive(connection, key, composed, bytes, ms, floor) {
|
|
378
344
|
const started = performance.now();
|
|
379
345
|
recomposed(connection, key, composed.fingerprint);
|
|
380
|
-
const [held] = connection.rows('SELECT rederiving
|
|
381
|
-
key,
|
|
382
|
-
]);
|
|
346
|
+
const [held] = connection.rows('SELECT rederiving FROM replica_keys WHERE key = ?', [key]);
|
|
383
347
|
const deriving = cursor(held?.rederiving);
|
|
384
|
-
|
|
385
|
-
if (deriving === null && searching === null)
|
|
348
|
+
if (deriving === null)
|
|
386
349
|
return { done: true, text: 0 };
|
|
387
350
|
const composition = composed.composition;
|
|
388
|
-
let last =
|
|
351
|
+
let last = deriving;
|
|
389
352
|
let spent = 0;
|
|
390
353
|
let built = 0;
|
|
391
354
|
let read = false;
|
|
392
|
-
const late = () => spent >= floor && performance.now() - started >= ms;
|
|
393
|
-
const owed = [];
|
|
394
355
|
reading: for (;;) {
|
|
395
|
-
const rows = connection.rows('SELECT id, path, content FROM replica_entries WHERE key = ? AND present = 1 AND id > ? ORDER BY id LIMIT ?', [key, last, DERIVED_ROWS]);
|
|
356
|
+
const rows = connection.rows('SELECT id, path, content, outline FROM replica_entries WHERE key = ? AND present = 1 AND id > ? ORDER BY id LIMIT ?', [key, last, DERIVED_ROWS]);
|
|
396
357
|
for (const row of rows) {
|
|
397
358
|
const id = number(row.id);
|
|
398
359
|
const path = text(row.path);
|
|
399
360
|
const content = text(row.content);
|
|
400
|
-
const
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
dropDerived(connection, id);
|
|
405
|
-
writeDerived(connection, id, key, made);
|
|
406
|
-
}
|
|
407
|
-
if (owedWords && described(path, content).queried)
|
|
408
|
-
owed.push({ id, path, content });
|
|
409
|
-
else if (owedRows)
|
|
410
|
-
built += content?.length ?? 0;
|
|
361
|
+
const made = derived(path, content, json(row.outline), composition);
|
|
362
|
+
dropDerived(connection, id);
|
|
363
|
+
writeDerived(connection, id, key, made);
|
|
364
|
+
built += content?.length ?? 0;
|
|
411
365
|
last = id;
|
|
412
366
|
spent += ENTRY_WEIGHT + (content?.length ?? 0);
|
|
413
|
-
if (spent >= bytes ||
|
|
367
|
+
if (spent >= bytes || (spent >= floor && performance.now() - started >= ms))
|
|
414
368
|
break reading;
|
|
415
369
|
}
|
|
416
370
|
if (rows.length < DERIVED_ROWS) {
|
|
@@ -418,28 +372,57 @@ export function rederive(connection, key, composed, bytes, ms, floor) {
|
|
|
418
372
|
break;
|
|
419
373
|
}
|
|
420
374
|
}
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
375
|
+
connection.run('UPDATE replica_keys SET rederiving = ? WHERE key = ?', [read ? null : last, key]);
|
|
376
|
+
return { done: read, text: built };
|
|
377
|
+
}
|
|
378
|
+
function outlinedAgain(connection, row, key, content, composition) {
|
|
379
|
+
const id = number(row.id);
|
|
380
|
+
const path = text(row.path);
|
|
381
|
+
const made = derived(path, content, json(row.outline), composition);
|
|
382
|
+
connection.run('UPDATE replica_entries SET content = ?, type = ?, declared = ?, queried = ?, folder = ?, fields = ? WHERE id = ?', [content, made.type, made.declared, flag(made.queried), made.folder, made.fields, id]);
|
|
383
|
+
dropDerived(connection, id);
|
|
384
|
+
writeDerived(connection, id, key, made);
|
|
385
|
+
}
|
|
386
|
+
export function holdTexts(connection, request) {
|
|
387
|
+
const held = [];
|
|
388
|
+
for (const { path, revision, content } of request.texts) {
|
|
389
|
+
const [row] = connection.rows(`SELECT id, path, outline FROM replica_entries WHERE key = ? AND layer = ${CONFIRMED} AND path = ? AND revision = ? AND content IS NULL AND outline IS NOT NULL`, [request.key, path, revision]);
|
|
390
|
+
if (row === undefined)
|
|
391
|
+
continue;
|
|
392
|
+
outlinedAgain(connection, row, request.key, content, request.composed.composition);
|
|
393
|
+
connection.run('INSERT OR IGNORE INTO replica_opened (locator, path) VALUES (?, ?)', [
|
|
394
|
+
request.locator,
|
|
395
|
+
path,
|
|
396
|
+
]);
|
|
397
|
+
held.push(path);
|
|
430
398
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
399
|
+
return held;
|
|
400
|
+
}
|
|
401
|
+
export function unholdTexts(connection, request) {
|
|
402
|
+
connection.run('DELETE FROM replica_opened WHERE locator = ?', [request.locator]);
|
|
403
|
+
const rows = connection.rows(`SELECT id, path, outline, octet_length(content) AS bytes FROM replica_entries WHERE key = ? AND layer = ${CONFIRMED} AND visible = 1 AND content IS NOT NULL AND outline IS NOT NULL`, [request.key]);
|
|
404
|
+
for (const row of rows) {
|
|
405
|
+
outlinedAgain(connection, row, request.key, null, request.composed.composition);
|
|
406
|
+
}
|
|
407
|
+
return {
|
|
408
|
+
paths: rows.map((row) => text(row.path)),
|
|
409
|
+
bytes: rows.reduce((total, row) => total + number(row.bytes), 0),
|
|
410
|
+
};
|
|
411
|
+
}
|
|
412
|
+
export function remembered(connection, request) {
|
|
413
|
+
connection.run(`INSERT OR IGNORE INTO replica_opened (locator, path) SELECT ?, path FROM replica_entries WHERE key = ? AND layer = ${CONFIRMED} AND content IS NOT NULL AND binary IS NULL AND path IN (SELECT value FROM json_each(?))`, [request.locator, request.key, paths(request.paths)]);
|
|
414
|
+
return null;
|
|
415
|
+
}
|
|
416
|
+
export function wanted(connection, request) {
|
|
417
|
+
return connection
|
|
418
|
+
.rows(`SELECT e.path, e.revision FROM replica_opened o JOIN replica_entries e ON e.key = ? AND e.layer = ${CONFIRMED} AND e.path = o.path WHERE o.locator = ? AND e.content IS NULL AND e.outline IS NOT NULL AND e.revision IS NOT NULL`, [request.key, request.locator])
|
|
419
|
+
.map((row) => ({ path: text(row.path), revision: text(row.revision) }));
|
|
438
420
|
}
|
|
439
421
|
function heldEntry(row) {
|
|
440
422
|
return {
|
|
441
423
|
path: text(row.path),
|
|
442
424
|
content: text(row.content),
|
|
425
|
+
outline: json(row.outline),
|
|
443
426
|
binary: json(row.binary),
|
|
444
427
|
revision: text(row.revision),
|
|
445
428
|
fileId: text(row.file_id),
|
|
@@ -448,7 +431,7 @@ function heldEntry(row) {
|
|
|
448
431
|
type: text(row.type),
|
|
449
432
|
};
|
|
450
433
|
}
|
|
451
|
-
const ENTRY_COLUMNS = 'e.path, e.content, e.binary, e.revision, e.file_id, e.change, e.written, e.type';
|
|
434
|
+
const ENTRY_COLUMNS = 'e.path, e.content, e.outline, e.binary, e.revision, e.file_id, e.change, e.written, e.type';
|
|
452
435
|
function unrefreshed(alias) {
|
|
453
436
|
return `NOT EXISTS (SELECT 1 FROM replica_entries r WHERE r.key = ${alias}.key AND r.layer = ${REFRESHED} AND r.path = ${alias}.path)`;
|
|
454
437
|
}
|
|
@@ -504,24 +487,6 @@ export function referrers(connection, key, view, targets, kinds) {
|
|
|
504
487
|
kind: text(row.kind),
|
|
505
488
|
}));
|
|
506
489
|
}
|
|
507
|
-
export function walk(connection, key, view, after, bytes) {
|
|
508
|
-
const found = [];
|
|
509
|
-
let spent = 0;
|
|
510
|
-
let from = after;
|
|
511
|
-
for (;;) {
|
|
512
|
-
const rows = pathOrdered(connection, ENTRY_COLUMNS, key, view, '', from, 64);
|
|
513
|
-
for (const row of rows) {
|
|
514
|
-
const entry = heldEntry(row);
|
|
515
|
-
found.push(entry);
|
|
516
|
-
spent += 256 + (entry.content?.length ?? 0) * 2;
|
|
517
|
-
if (spent >= bytes)
|
|
518
|
-
return { entries: found, next: entry.path };
|
|
519
|
-
}
|
|
520
|
-
if (rows.length < 64)
|
|
521
|
-
return { entries: found, next: null };
|
|
522
|
-
from = found.at(-1).path;
|
|
523
|
-
}
|
|
524
|
-
}
|
|
525
490
|
export function files(connection, key, view, after, limit) {
|
|
526
491
|
return pathOrdered(connection, 'e.path, e.revision', key, view, ' AND e.content IS NOT NULL AND e.revision IS NOT NULL', after, limit).map((row) => ({ path: text(row.path), revision: text(row.revision) }));
|
|
527
492
|
}
|
|
@@ -543,13 +508,12 @@ export function opened(connection) {
|
|
|
543
508
|
record: text(row.record),
|
|
544
509
|
})),
|
|
545
510
|
keys: connection
|
|
546
|
-
.rows('SELECT key, locator, transfer, rederiving
|
|
511
|
+
.rows('SELECT key, locator, transfer, rederiving FROM replica_keys')
|
|
547
512
|
.map((row) => ({
|
|
548
513
|
key: number(row.key),
|
|
549
514
|
locator: text(row.locator),
|
|
550
515
|
transfer: text(row.transfer),
|
|
551
516
|
rederiving: cursor(row.rederiving),
|
|
552
|
-
searching: cursor(row.searching),
|
|
553
517
|
})),
|
|
554
518
|
facts,
|
|
555
519
|
presentation: connection.rows('SELECT app, value FROM replica_presentation').map((row) => ({
|
|
@@ -576,5 +540,4 @@ export function ended(connection) {
|
|
|
576
540
|
if (table !== undefined)
|
|
577
541
|
connection.run(`DELETE FROM ${table}`);
|
|
578
542
|
}
|
|
579
|
-
unindexAll(connection);
|
|
580
543
|
}
|
package/dist/tables.d.ts
CHANGED
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import { type QueryAnswer, type QueryRoom } from './compile.js';
|
|
2
|
-
import type { KeptReceipt } from './adapter.js';
|
|
3
2
|
import type { Composed } from './collection.js';
|
|
4
|
-
import { type SearchAsk } from './fulltext.js';
|
|
5
3
|
import { type ConversationWrite, type HeldConversation, type MessageWindow } from './messages.js';
|
|
6
4
|
import type { Plan } from './query.js';
|
|
7
|
-
import type
|
|
8
|
-
|
|
9
|
-
export type { Committed, CountedRoom, HeldEntry, OverlayEntry, ReplicaOpened, Referrer, RoomCommit, StoredEntry, TypedEntry, View, Walked, } from './stored.js';
|
|
5
|
+
import { type Committed, type CountedRoom, type HeldEntry, type HeldText, type ReplicaOpened, type Referrer, type RoomCommit, type StoredEntry, type TypedEntry, type View } from './stored.js';
|
|
6
|
+
export type { Committed, CountedRoom, HeldEntry, HeldText, OverlayEntry, ReplicaOpened, Referrer, RoomCommit, StoredEntry, TypedEntry, View, } from './stored.js';
|
|
10
7
|
export type { QueryAnswer, QueryRoom } from './compile.js';
|
|
11
|
-
export type { SearchAsk } from './fulltext.js';
|
|
12
8
|
export type { ConversationWrite, HeldConversation, MessageWindow } from './messages.js';
|
|
13
9
|
export type Value = string | number | bigint | Uint8Array | null;
|
|
14
10
|
export type Row = Readonly<Record<string, Value>>;
|
|
@@ -37,6 +33,10 @@ export interface SqliteStatement {
|
|
|
37
33
|
}
|
|
38
34
|
export interface SqliteDatabase {
|
|
39
35
|
readonly pointer: number;
|
|
36
|
+
createFunction(name: string, run: (context: number, ...values: Value[]) => Value, options: {
|
|
37
|
+
readonly arity: number;
|
|
38
|
+
readonly deterministic: true;
|
|
39
|
+
}): unknown;
|
|
40
40
|
exec(options: {
|
|
41
41
|
readonly sql: string;
|
|
42
42
|
readonly bind: readonly Value[];
|
|
@@ -78,10 +78,6 @@ export type AuthoredRows = {
|
|
|
78
78
|
readonly path: string;
|
|
79
79
|
})[];
|
|
80
80
|
readonly consumedRoomDrafts?: readonly string[];
|
|
81
|
-
readonly amendments?: readonly {
|
|
82
|
-
readonly id: string;
|
|
83
|
-
readonly amendment: string;
|
|
84
|
-
}[];
|
|
85
81
|
};
|
|
86
82
|
export type HeldQueues = {
|
|
87
83
|
readonly queues: readonly {
|
|
@@ -182,12 +178,6 @@ export interface RuntimeRequests {
|
|
|
182
178
|
readonly targets: readonly string[];
|
|
183
179
|
readonly kinds: readonly string[];
|
|
184
180
|
}, readonly Referrer[]>;
|
|
185
|
-
readonly 'replica.walk': Asked<{
|
|
186
|
-
readonly key: number;
|
|
187
|
-
readonly view: View;
|
|
188
|
-
readonly after: string | null;
|
|
189
|
-
readonly bytes: number;
|
|
190
|
-
}, Walked>;
|
|
191
181
|
readonly 'replica.files': Asked<{
|
|
192
182
|
readonly key: number;
|
|
193
183
|
readonly view: View;
|
|
@@ -211,12 +201,6 @@ export interface RuntimeRequests {
|
|
|
211
201
|
readonly 'replica.counts': Asked<{
|
|
212
202
|
readonly rooms: readonly CountedRoom[];
|
|
213
203
|
}, readonly number[]>;
|
|
214
|
-
readonly 'replica.search': Asked<SearchAsk, SearchWindow>;
|
|
215
|
-
readonly 'replica.received': Asked<Nothing, readonly KeptReceipt[]>;
|
|
216
|
-
readonly 'replica.receivedParts': Asked<{
|
|
217
|
-
readonly key: string;
|
|
218
|
-
readonly count: number;
|
|
219
|
-
}, readonly unknown[]>;
|
|
220
204
|
readonly 'replica.stage': Asked<{
|
|
221
205
|
readonly locator: string;
|
|
222
206
|
readonly transfer: string;
|
|
@@ -265,6 +249,32 @@ export interface RuntimeRequests {
|
|
|
265
249
|
readonly done: boolean;
|
|
266
250
|
readonly text: number;
|
|
267
251
|
}>;
|
|
252
|
+
readonly 'replica.hold': Asked<{
|
|
253
|
+
readonly key: number;
|
|
254
|
+
readonly locator: string;
|
|
255
|
+
readonly composed: Composed;
|
|
256
|
+
readonly texts: readonly HeldText[];
|
|
257
|
+
}, readonly string[]>;
|
|
258
|
+
readonly 'replica.remember': Asked<{
|
|
259
|
+
readonly key: number;
|
|
260
|
+
readonly locator: string;
|
|
261
|
+
readonly paths: readonly string[];
|
|
262
|
+
}, null>;
|
|
263
|
+
readonly 'replica.wanted': Asked<{
|
|
264
|
+
readonly key: number;
|
|
265
|
+
readonly locator: string;
|
|
266
|
+
}, readonly {
|
|
267
|
+
readonly path: string;
|
|
268
|
+
readonly revision: string;
|
|
269
|
+
}[]>;
|
|
270
|
+
readonly 'replica.unhold': Asked<{
|
|
271
|
+
readonly key: number;
|
|
272
|
+
readonly locator: string;
|
|
273
|
+
readonly composed: Composed;
|
|
274
|
+
}, {
|
|
275
|
+
readonly paths: readonly string[];
|
|
276
|
+
readonly bytes: number;
|
|
277
|
+
}>;
|
|
268
278
|
readonly 'replica.fact': Asked<{
|
|
269
279
|
readonly name: string;
|
|
270
280
|
readonly value: string;
|
|
@@ -273,17 +283,6 @@ export interface RuntimeRequests {
|
|
|
273
283
|
readonly app: string;
|
|
274
284
|
readonly value: string;
|
|
275
285
|
}, null>;
|
|
276
|
-
readonly 'replica.receive': Asked<{
|
|
277
|
-
readonly key: string;
|
|
278
|
-
readonly head: string;
|
|
279
|
-
readonly part?: {
|
|
280
|
-
readonly index: number;
|
|
281
|
-
readonly value: string;
|
|
282
|
-
};
|
|
283
|
-
}, null>;
|
|
284
|
-
readonly 'replica.unreceive': Asked<{
|
|
285
|
-
readonly keys: readonly string[];
|
|
286
|
-
}, null>;
|
|
287
286
|
readonly 'opened.find': Asked<{
|
|
288
287
|
readonly locator: string;
|
|
289
288
|
readonly path: string;
|
|
@@ -321,9 +320,11 @@ export interface RuntimeRequests {
|
|
|
321
320
|
readonly conversation: string;
|
|
322
321
|
readonly limit: number;
|
|
323
322
|
readonly before: readonly [string, string] | null;
|
|
323
|
+
readonly phrase: string | null;
|
|
324
324
|
}, MessageWindow>;
|
|
325
325
|
readonly 'conversation.count': Asked<{
|
|
326
326
|
readonly conversation: string;
|
|
327
|
+
readonly phrase: string | null;
|
|
327
328
|
}, number>;
|
|
328
329
|
readonly 'conversation.turn': Asked<{
|
|
329
330
|
readonly conversation: string;
|
package/dist/tables.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../src/tables.ts"],"names":[],"mappings":"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"}
|