@agentshouse/mdruntime 0.1.0-cee9c8aa4cd86 → 0.1.0-cef76ea952695
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -17
- package/dist/acceptance.d.ts +6 -0
- package/dist/acceptance.d.ts.map +1 -0
- package/dist/acceptance.js +385 -0
- package/dist/actions.d.ts +20 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +251 -0
- package/dist/adapter.d.ts +111 -109
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +5 -11
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +36 -47
- 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 +22 -10
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +303 -123
- package/dist/cell.d.ts +6 -0
- package/dist/cell.d.ts.map +1 -0
- package/dist/cell.js +9 -0
- package/dist/chain.d.ts +2 -1
- package/dist/chain.d.ts.map +1 -1
- package/dist/change.d.ts +1 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +4 -2
- package/dist/chat-types.d.ts +5 -0
- package/dist/chat-types.d.ts.map +1 -0
- package/dist/chat-types.js +13 -0
- package/dist/client.d.ts +30 -14
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +61 -10
- package/dist/collection.d.ts +7 -4
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +24 -19
- package/dist/compile.d.ts +6 -6
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +290 -297
- package/dist/connection.d.ts +6 -142
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +105 -4827
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/{chat/context.js → context.js} +1 -4
- package/dist/conversation-live.d.ts +135 -0
- package/dist/conversation-live.d.ts.map +1 -0
- package/dist/conversation-live.js +247 -0
- package/dist/conversation-row.d.ts +33 -0
- package/dist/conversation-row.d.ts.map +1 -0
- package/dist/conversation-row.js +53 -0
- package/dist/conversation.d.ts +42 -46
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +901 -815
- package/dist/discovery.d.ts +10 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +175 -0
- package/dist/durability.d.ts +15 -4
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +5 -0
- package/dist/entry.d.ts +3 -2
- package/dist/entry.d.ts.map +1 -1
- package/dist/entry.js +18 -8
- package/dist/expectation.d.ts +4 -2
- package/dist/expectation.d.ts.map +1 -1
- package/dist/expectation.js +33 -11
- package/dist/failure.d.ts +1 -0
- package/dist/failure.d.ts.map +1 -1
- package/dist/failure.js +3 -0
- package/dist/figures.d.ts +49 -0
- package/dist/figures.d.ts.map +1 -0
- package/dist/figures.js +197 -0
- package/dist/file.d.ts +2 -11
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +6 -4
- package/dist/holdings.d.ts +29 -0
- package/dist/holdings.d.ts.map +1 -0
- package/dist/holdings.js +95 -0
- package/dist/host.d.ts +4 -6
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +59 -38
- 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 +30 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/install.d.ts +56 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +556 -0
- package/dist/job.d.ts +5 -0
- package/dist/job.d.ts.map +1 -0
- package/dist/job.js +7 -0
- package/dist/lifecycle.d.ts +7 -0
- package/dist/lifecycle.d.ts.map +1 -0
- package/dist/lifecycle.js +270 -0
- package/dist/listing.d.ts +53 -0
- package/dist/listing.d.ts.map +1 -0
- package/dist/listing.js +176 -0
- package/dist/live.d.ts +5 -4
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +63 -21
- package/dist/locks.d.ts +9 -0
- package/dist/locks.d.ts.map +1 -0
- package/dist/locks.js +62 -0
- package/dist/log.d.ts +1 -0
- package/dist/log.d.ts.map +1 -1
- package/dist/lost.d.ts +5 -0
- package/dist/lost.d.ts.map +1 -0
- package/dist/lost.js +61 -0
- package/dist/media.d.ts +8 -0
- package/dist/media.d.ts.map +1 -0
- package/dist/media.js +218 -0
- package/dist/memory.d.ts +13 -6
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +219 -102
- package/dist/messages.d.ts +24 -3
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +89 -31
- package/dist/model.d.ts +8 -10
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +6 -18
- package/dist/models.d.ts +14 -0
- package/dist/models.d.ts.map +1 -0
- package/dist/models.js +197 -0
- package/dist/observation.d.ts +3 -2
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +15 -15
- package/dist/opened.js +3 -3
- package/dist/opening.d.ts +4 -0
- package/dist/opening.d.ts.map +1 -0
- package/dist/opening.js +60 -0
- package/dist/outcome.d.ts +17 -7
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +19 -5
- package/dist/overlay.d.ts +1 -0
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +12 -1
- package/dist/parts.d.ts +11 -0
- package/dist/parts.d.ts.map +1 -0
- package/dist/parts.js +21 -0
- package/dist/paths.d.ts +2 -0
- package/dist/paths.d.ts.map +1 -1
- package/dist/paths.js +26 -0
- package/dist/preparation.d.ts +20 -0
- package/dist/preparation.d.ts.map +1 -0
- package/dist/preparation.js +233 -0
- package/dist/queries.d.ts +16 -0
- package/dist/queries.d.ts.map +1 -0
- package/dist/queries.js +272 -0
- package/dist/query.d.ts +19 -206
- package/dist/query.d.ts.map +1 -1
- package/dist/query.js +3 -494
- package/dist/{chat/questions.d.ts → questions.d.ts} +5 -2
- package/dist/questions.d.ts.map +1 -0
- package/dist/{chat/questions.js → questions.js} +13 -2
- package/dist/reach.d.ts +20 -13
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +204 -135
- package/dist/react.d.ts +14 -2
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +10 -1
- package/dist/{chat/read.d.ts → read.d.ts} +2 -0
- package/dist/read.d.ts.map +1 -0
- package/dist/{chat/read.js → read.js} +4 -0
- package/dist/readiness.d.ts +12 -16
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +2 -8
- package/dist/reads.d.ts +36 -10
- package/dist/reads.d.ts.map +1 -1
- package/dist/reads.js +159 -83
- package/dist/recovery.d.ts +1 -0
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +35 -1
- package/dist/refresh.d.ts +10 -4
- package/dist/refresh.d.ts.map +1 -1
- package/dist/refresh.js +92 -30
- package/dist/refusal.d.ts +5 -0
- package/dist/refusal.d.ts.map +1 -0
- package/dist/refusal.js +57 -0
- package/dist/replica.d.ts +11 -10
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +56 -23
- package/dist/room-draft.d.ts +22 -7
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +134 -54
- package/dist/room-drafts.d.ts +24 -0
- package/dist/room-drafts.d.ts.map +1 -0
- package/dist/room-drafts.js +217 -0
- package/dist/rows.d.ts +18 -16
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +45 -153
- package/dist/runtime.d.ts +43 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +1 -0
- package/dist/save.d.ts +7 -1
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +46 -27
- package/dist/saves.d.ts +70 -0
- package/dist/saves.d.ts.map +1 -0
- package/dist/saves.js +1005 -0
- package/dist/search.d.ts +12 -63
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +9 -52
- package/dist/seed.d.ts +11 -2
- package/dist/seed.d.ts.map +1 -1
- package/dist/seed.js +71 -1
- package/dist/shared.d.ts +1 -7
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +13 -105
- package/dist/shown.d.ts +31 -0
- package/dist/shown.d.ts.map +1 -0
- package/dist/shown.js +290 -0
- package/dist/socket/admission.d.ts +7 -0
- package/dist/socket/admission.d.ts.map +1 -0
- package/dist/socket/admission.js +39 -0
- package/dist/socket/answers.d.ts +6 -0
- package/dist/socket/answers.d.ts.map +1 -0
- package/dist/socket/answers.js +20 -0
- package/dist/socket/lanes.d.ts +20 -0
- package/dist/socket/lanes.d.ts.map +1 -0
- package/dist/socket/lanes.js +77 -0
- package/dist/socket/reads.d.ts +10 -0
- package/dist/socket/reads.d.ts.map +1 -0
- package/dist/socket/reads.js +31 -0
- package/dist/socket/rooms.d.ts +44 -0
- package/dist/socket/rooms.d.ts.map +1 -0
- package/dist/socket/rooms.js +90 -0
- package/dist/socket/session.d.ts +38 -0
- package/dist/socket/session.d.ts.map +1 -0
- package/dist/socket/session.js +23 -0
- package/dist/socket.d.ts +70 -0
- package/dist/socket.d.ts.map +1 -0
- package/dist/socket.js +175 -0
- package/dist/source.d.ts +61 -0
- package/dist/source.d.ts.map +1 -0
- package/dist/source.js +82 -0
- package/dist/status.d.ts +4 -5
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +3 -7
- package/dist/store/fences.d.ts +16 -0
- package/dist/store/fences.d.ts.map +1 -0
- package/dist/store/fences.js +26 -0
- package/dist/store/installs.d.ts +30 -0
- package/dist/store/installs.d.ts.map +1 -0
- package/dist/store/installs.js +34 -0
- package/dist/store/readiness.d.ts +10 -0
- package/dist/store/readiness.d.ts.map +1 -0
- package/dist/store/readiness.js +52 -0
- package/dist/store/records.d.ts +210 -0
- package/dist/store/records.d.ts.map +1 -0
- package/dist/store/records.js +428 -0
- package/dist/store/room-held.d.ts +8 -0
- package/dist/store/room-held.d.ts.map +1 -0
- package/dist/store/room-held.js +17 -0
- package/dist/store/space.d.ts +11 -0
- package/dist/store/space.d.ts.map +1 -0
- package/dist/store/space.js +41 -0
- package/dist/store/watchers.d.ts +17 -0
- package/dist/store/watchers.d.ts.map +1 -0
- package/dist/store/watchers.js +56 -0
- package/dist/store/writes.d.ts +24 -0
- package/dist/store/writes.d.ts.map +1 -0
- package/dist/store/writes.js +125 -0
- package/dist/store.d.ts +105 -149
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +143 -390
- package/dist/stored.d.ts +67 -49
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +358 -253
- package/dist/surface.d.ts +88 -0
- package/dist/surface.d.ts.map +1 -0
- package/dist/surface.js +224 -0
- package/dist/sync.d.ts +19 -0
- package/dist/sync.d.ts.map +1 -0
- package/dist/sync.js +532 -0
- package/dist/tables.d.ts +140 -60
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +268 -101
- package/dist/tallies.d.ts +18 -0
- package/dist/tallies.d.ts.map +1 -0
- package/dist/tallies.js +129 -0
- 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 +42 -100
- 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 +22 -10
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +9 -3
- package/package.json +12 -18
- package/AGENTS.md +0 -320
- 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/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.map +0 -1
- package/dist/chat/read.d.ts.map +0 -1
- 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/fence.d.ts +0 -6
- package/dist/fence.d.ts.map +0 -1
- package/dist/fence.js +0 -10
- package/dist/fulltext.d.ts +0 -27
- package/dist/fulltext.d.ts.map +0 -1
- package/dist/fulltext.js +0 -368
- package/dist/words.d.ts +0 -19
- package/dist/words.d.ts.map +0 -1
- package/dist/words.js +0 -150
package/dist/tallies.js
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { instantKey, sql } from '@agentshouse/mdmodel';
|
|
2
|
+
import { CHAT_MESSAGE_TYPE, CHAT_TYPE } from './chat-types.js';
|
|
3
|
+
import { answerQuery, VISIBLE, within } from './compile.js';
|
|
4
|
+
import { HOUSE_DIRECTORY } from './figures.js';
|
|
5
|
+
const NONE = { count: 0, size: 0 };
|
|
6
|
+
const { all, fragment, joined } = sql;
|
|
7
|
+
function instant(value) {
|
|
8
|
+
return typeof value === 'string' ? value : null;
|
|
9
|
+
}
|
|
10
|
+
function held(alias, keys) {
|
|
11
|
+
const reserved = within(alias, HOUSE_DIRECTORY);
|
|
12
|
+
return all([
|
|
13
|
+
fragment(`${alias}.key IN (SELECT value FROM json_each(?))`, [JSON.stringify(keys)]),
|
|
14
|
+
fragment(VISIBLE(alias)),
|
|
15
|
+
fragment(`NOT ${reserved.sql}`, reserved.bind),
|
|
16
|
+
]);
|
|
17
|
+
}
|
|
18
|
+
function valued(alias, document, field) {
|
|
19
|
+
return joined([
|
|
20
|
+
fragment(`${alias}.doc = ${document}.id AND `),
|
|
21
|
+
sql.grouped(sql.placed(alias, field, 'exact')),
|
|
22
|
+
fragment(` AND ${alias}.item = -1`),
|
|
23
|
+
], '');
|
|
24
|
+
}
|
|
25
|
+
function inboxed(card) {
|
|
26
|
+
return joined([
|
|
27
|
+
fragment('EXISTS (SELECT 1 FROM replica_values i WHERE '),
|
|
28
|
+
valued('i', card, '/inbox'),
|
|
29
|
+
fragment(" AND i.kind = 'string')"),
|
|
30
|
+
], '');
|
|
31
|
+
}
|
|
32
|
+
function rowsOf(connection, query) {
|
|
33
|
+
return connection.rows(query.sql, query.bind);
|
|
34
|
+
}
|
|
35
|
+
function documentTimes(connection, keys, since) {
|
|
36
|
+
return rowsOf(connection, joined([
|
|
37
|
+
fragment('SELECT d.key AS key, d.created_instant AS created, d.changed_instant AS changed FROM replica_entries d WHERE '),
|
|
38
|
+
held('d', keys),
|
|
39
|
+
fragment(" AND d.binary IS NULL AND COALESCE(d.type, '') NOT IN (?, ?) AND (d.created_instant >= ? OR d.changed_instant >= ?)", [CHAT_TYPE, CHAT_MESSAGE_TYPE, since, since]),
|
|
40
|
+
], ''));
|
|
41
|
+
}
|
|
42
|
+
function chatTimes(connection, keys, since) {
|
|
43
|
+
return rowsOf(connection, joined([
|
|
44
|
+
fragment('SELECT d.key AS key, d.created_instant AS at FROM replica_entries d WHERE '),
|
|
45
|
+
held('d', keys),
|
|
46
|
+
fragment(' AND d.type = ? AND d.created_instant >= ? AND ', [CHAT_TYPE, since]),
|
|
47
|
+
inboxed('d'),
|
|
48
|
+
], ''));
|
|
49
|
+
}
|
|
50
|
+
function messageTimes(connection, keys, since) {
|
|
51
|
+
return rowsOf(connection, joined([
|
|
52
|
+
fragment('SELECT m.key AS key, s.instant AS at FROM replica_entries m JOIN replica_values s ON '),
|
|
53
|
+
valued('s', 'm', '/sent_at'),
|
|
54
|
+
fragment(' AND s.instant >= ? JOIN replica_values r ON ', [since]),
|
|
55
|
+
valued('r', 'm', '/direction'),
|
|
56
|
+
fragment(" AND r.kind = 'string' AND r.value = 'in' WHERE "),
|
|
57
|
+
held('m', keys),
|
|
58
|
+
fragment(` AND m.type = ? AND EXISTS (SELECT 1 FROM replica_entries c WHERE c.key = m.key AND c.type = ? AND ${VISIBLE('c')} AND c.folder = m.folder AND `, [CHAT_MESSAGE_TYPE, CHAT_TYPE]),
|
|
59
|
+
inboxed('c'),
|
|
60
|
+
fragment(')'),
|
|
61
|
+
], ''));
|
|
62
|
+
}
|
|
63
|
+
function byKey(rows, read) {
|
|
64
|
+
const kept = new Map();
|
|
65
|
+
for (const row of rows) {
|
|
66
|
+
const key = Number(row.key);
|
|
67
|
+
const list = kept.get(key) ?? [];
|
|
68
|
+
list.push(read(row));
|
|
69
|
+
kept.set(key, list);
|
|
70
|
+
}
|
|
71
|
+
return kept;
|
|
72
|
+
}
|
|
73
|
+
export function roomTallies(connection, totals, rooms, since) {
|
|
74
|
+
const keys = rooms.map(({ key }) => key);
|
|
75
|
+
const from = instantKey(since);
|
|
76
|
+
const answered = answerQuery(connection, totals, rooms);
|
|
77
|
+
const summed = new Map(('groups' in answered ? answered.groups : []).map((group) => [String(group.key[0]), group]));
|
|
78
|
+
const documents = byKey(documentTimes(connection, keys, from), (row) => [instant(row.created), instant(row.changed)]);
|
|
79
|
+
const chats = byKey(chatTimes(connection, keys, from), (row) => instant(row.at));
|
|
80
|
+
const messages = byKey(messageTimes(connection, keys, from), (row) => instant(row.at));
|
|
81
|
+
return rooms.map(({ locator, key }) => {
|
|
82
|
+
const total = summed.get(locator);
|
|
83
|
+
return {
|
|
84
|
+
key,
|
|
85
|
+
documents: total?.documents ?? NONE,
|
|
86
|
+
files: total?.files ?? NONE,
|
|
87
|
+
documentTimes: documents.get(key) ?? [],
|
|
88
|
+
chatTimes: chats.get(key) ?? [],
|
|
89
|
+
messageTimes: messages.get(key) ?? [],
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
const ACCEPTED = "message ->> '$.accepted_at'";
|
|
94
|
+
const NEWER = 'ORDER BY n.position DESC, n.identity DESC LIMIT 1';
|
|
95
|
+
const SAID = `WITH RECURSIVE
|
|
96
|
+
named(conversation) AS (SELECT value FROM json_each(?)),
|
|
97
|
+
walk(conversation, position, identity, at, role) AS (
|
|
98
|
+
SELECT m.conversation, m.position, m.identity, m.${ACCEPTED}, m.message ->> '$.role'
|
|
99
|
+
FROM named JOIN conversation_messages m ON m.id = (
|
|
100
|
+
SELECT n.id FROM conversation_messages n WHERE n.conversation = named.conversation ${NEWER}
|
|
101
|
+
)
|
|
102
|
+
UNION ALL
|
|
103
|
+
SELECT m.conversation, m.position, m.identity, m.${ACCEPTED}, m.message ->> '$.role'
|
|
104
|
+
FROM walk JOIN conversation_messages m ON m.id = (
|
|
105
|
+
SELECT n.id FROM conversation_messages n WHERE n.conversation = walk.conversation
|
|
106
|
+
AND (n.position < walk.position OR (n.position = walk.position AND n.identity < walk.identity))
|
|
107
|
+
${NEWER}
|
|
108
|
+
)
|
|
109
|
+
WHERE julianday(walk.at) >= julianday(?)
|
|
110
|
+
)
|
|
111
|
+
SELECT walk.conversation AS conversation, walk.at AS at
|
|
112
|
+
FROM walk
|
|
113
|
+
WHERE walk.role IN ('user', 'assistant') AND julianday(walk.at) >= julianday(?)`;
|
|
114
|
+
export function conversationTallies(connection, conversations, since) {
|
|
115
|
+
const named = conversations ??
|
|
116
|
+
connection
|
|
117
|
+
.rows('SELECT DISTINCT conversation FROM conversation_messages')
|
|
118
|
+
.map((row) => String(row.conversation));
|
|
119
|
+
const from = instantKey(since);
|
|
120
|
+
const said = new Map();
|
|
121
|
+
for (const row of connection.rows(SAID, [JSON.stringify(named), since, since])) {
|
|
122
|
+
const at = instantKey(row.at);
|
|
123
|
+
if (at === null || at < from)
|
|
124
|
+
continue;
|
|
125
|
+
const conversation = String(row.conversation);
|
|
126
|
+
said.set(conversation, [...(said.get(conversation) ?? []), at]);
|
|
127
|
+
}
|
|
128
|
+
return named.map((conversation) => ({ conversation, said: said.get(conversation) ?? [] }));
|
|
129
|
+
}
|
package/dist/transfer.d.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import type { Refusal } from '@agentshouse/mdmodel';
|
|
2
1
|
export type Unconfirmed = {
|
|
3
2
|
kind: 'unconfirmed';
|
|
4
3
|
};
|
|
5
|
-
export type Refused = {
|
|
6
|
-
kind: 'refused';
|
|
7
|
-
refusal: Refusal;
|
|
8
|
-
};
|
|
9
4
|
export declare const unconfirmed: Unconfirmed;
|
|
10
5
|
//# sourceMappingURL=transfer.d.ts.map
|
package/dist/transfer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../src/transfer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAElD,eAAO,MAAM,WAAW,EAAE,WAAqC,CAAC"}
|
package/dist/validation.d.ts
CHANGED
|
@@ -19,12 +19,11 @@ export type Changed = {
|
|
|
19
19
|
readonly was: string | null | undefined;
|
|
20
20
|
readonly now: string | null | undefined;
|
|
21
21
|
};
|
|
22
|
-
type
|
|
22
|
+
type Neighbourhood = {
|
|
23
23
|
readonly lookup: Lookup;
|
|
24
24
|
readonly texts: (paths: readonly string[]) => Promise<ReadonlyMap<string, string | null>>;
|
|
25
|
-
readonly referrers: (
|
|
25
|
+
readonly referrers: (targets: readonly string[]) => Promise<readonly string[]>;
|
|
26
26
|
};
|
|
27
|
-
export declare function
|
|
28
|
-
export declare function changedCleanly(changes: readonly Changed[], previous: Composition, composition: Composition, source: CleanSource): Promise<boolean>;
|
|
27
|
+
export declare function validatedNeighbourhood(changes: readonly Changed[], composition: Composition, source: Neighbourhood): Promise<Validation>;
|
|
29
28
|
export {};
|
|
30
29
|
//# sourceMappingURL=validation.d.ts.map
|
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,UAAU,EAGhB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAM7D,KAAK,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE3E,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,IAAI,GAAG,CACjB,KAAK,EAAE,MAAM,GAAG,IAAI,KACjB,OAAO,CAAC;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC;AAEtF,MAAM,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAwBvF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,CAAC,CA6CrB;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,SAAS,MAAM,EAAE,CAAC,CAAC;CAChF,CAAC;AAkBF,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,UAAU,CAAC,CAgCrB"}
|
package/dist/validation.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { assess,
|
|
2
|
-
import {
|
|
3
|
-
import { sameTyping } from './model.js';
|
|
1
|
+
import { assess, parse, parseFrontmatter, verdicts, } from '@agentshouse/mdmodel';
|
|
2
|
+
import { selected } from './collection.js';
|
|
4
3
|
import { paced, ROW_WEIGHT, yielded } from './turn.js';
|
|
5
4
|
const NO_TYPES = { types: {} };
|
|
6
5
|
function modelOf(model) {
|
|
7
6
|
return model.status === 'unavailable' ? NO_TYPES : { types: model.types };
|
|
8
7
|
}
|
|
9
|
-
function typedText(
|
|
10
|
-
const read = parse(content);
|
|
8
|
+
function typedText(read) {
|
|
11
9
|
return read.ok && read.document.type !== undefined && read.document.type !== 'any';
|
|
12
10
|
}
|
|
13
11
|
function partVerdict(part) {
|
|
@@ -29,10 +27,14 @@ export async function validatedCollection(walk, lookup, composition) {
|
|
|
29
27
|
if (content === null)
|
|
30
28
|
continue;
|
|
31
29
|
const part = partOf(path);
|
|
32
|
-
|
|
30
|
+
const parsed = parse(content, path);
|
|
31
|
+
if (part.model.status === 'unavailable' && part.unmodeled === null && typedText(parsed)) {
|
|
33
32
|
part.unmodeled = path;
|
|
34
33
|
}
|
|
35
|
-
const assessment = assess(path,
|
|
34
|
+
const assessment = assess(path, parsed, false, modelOf(part.model), {
|
|
35
|
+
anyRoom: true,
|
|
36
|
+
typedPaths: composition.typedPaths,
|
|
37
|
+
});
|
|
36
38
|
assessed.push({ part, assessment });
|
|
37
39
|
await pace(content.length + assessment.targets.length * ROW_WEIGHT);
|
|
38
40
|
}
|
|
@@ -60,103 +62,43 @@ function declared(content) {
|
|
|
60
62
|
const read = parseFrontmatter(content);
|
|
61
63
|
return read.ok ? (read.frontmatter.type ?? 'any') : undefined;
|
|
62
64
|
}
|
|
63
|
-
function
|
|
64
|
-
|
|
65
|
-
|
|
65
|
+
function shifted({ was, now }) {
|
|
66
|
+
return ((now === undefined) !== (was === undefined) ||
|
|
67
|
+
(now === null) !== (was === null) ||
|
|
68
|
+
declared(now) !== declared(was));
|
|
66
69
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
(left.selection === null || right.selection === null
|
|
70
|
-
? left.selection === right.selection
|
|
71
|
-
: sameTyping(left.selection.model, right.selection.model)) &&
|
|
72
|
-
JSON.stringify(left.selection?.roots ?? null) === JSON.stringify(right.selection?.roots ?? null));
|
|
73
|
-
}
|
|
74
|
-
function checked(path, content, composition) {
|
|
75
|
-
const model = governing(composition, path);
|
|
76
|
-
return checkDocument(path, content, modelOf(model), { anyRoom: true });
|
|
77
|
-
}
|
|
78
|
-
async function reachingAll(checks, composition, next) {
|
|
79
|
-
const targets = [
|
|
80
|
-
...new Set(checks.flatMap(({ check }) => check.ok ? check.references.flatMap(({ target }) => (target === null ? [] : [target])) : [])),
|
|
81
|
-
];
|
|
82
|
-
const known = await next(targets);
|
|
70
|
+
const PAGE_TEXT = 1 << 20;
|
|
71
|
+
export async function validatedNeighbourhood(changes, composition, source) {
|
|
83
72
|
const pace = paced();
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
await pace((check.references.length + 1) * ROW_WEIGHT);
|
|
73
|
+
const changedAt = new Set();
|
|
74
|
+
const moved = [];
|
|
75
|
+
for (const change of changes) {
|
|
76
|
+
changedAt.add(change.path);
|
|
77
|
+
if (shifted(change))
|
|
78
|
+
moved.push(change.path);
|
|
79
|
+
await pace((change.now?.length ?? 0) + (change.was?.length ?? 0) + ROW_WEIGHT);
|
|
92
80
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
const change =
|
|
104
|
-
|
|
81
|
+
const referring = moved.length === 0
|
|
82
|
+
? []
|
|
83
|
+
: (await source.referrers(moved)).filter((path) => !changedAt.has(path));
|
|
84
|
+
const texts = await source.texts(referring);
|
|
85
|
+
const total = changes.length + referring.length;
|
|
86
|
+
let at = 0;
|
|
87
|
+
const walk = async () => {
|
|
88
|
+
const entries = [];
|
|
89
|
+
let text = 0;
|
|
90
|
+
while (at < total && text < PAGE_TEXT) {
|
|
91
|
+
const change = changes[at];
|
|
92
|
+
const path = change?.path ?? referring[at - changes.length];
|
|
93
|
+
const content = change === undefined ? texts.get(path) : change.now;
|
|
94
|
+
at += 1;
|
|
95
|
+
text += ROW_WEIGHT;
|
|
96
|
+
if (content === undefined || content === null)
|
|
105
97
|
continue;
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
else
|
|
109
|
-
known.set(path, { type: declared(change.now), binary: change.now === null });
|
|
98
|
+
entries.push({ path, content });
|
|
99
|
+
text += content.length;
|
|
110
100
|
}
|
|
111
|
-
return
|
|
101
|
+
return { entries, next: at < total ? String(at) : null };
|
|
112
102
|
};
|
|
113
|
-
|
|
114
|
-
const checks = [];
|
|
115
|
-
const pace = paced();
|
|
116
|
-
for (const { path, was, now } of changes) {
|
|
117
|
-
await pace((now?.length ?? 0) + (was?.length ?? 0) + ROW_WEIGHT);
|
|
118
|
-
const modeled = governing(composition, path).status !== 'unavailable';
|
|
119
|
-
if ((now === undefined) !== (was === undefined) ||
|
|
120
|
-
declared(now) !== declared(was) ||
|
|
121
|
-
(now === null) !== (was === null)) {
|
|
122
|
-
shifted.push(path);
|
|
123
|
-
}
|
|
124
|
-
if (!modeled && typedIn(was) && !typedIn(now))
|
|
125
|
-
return false;
|
|
126
|
-
if (now === undefined)
|
|
127
|
-
continue;
|
|
128
|
-
if (now === null)
|
|
129
|
-
return false;
|
|
130
|
-
if (!modeled) {
|
|
131
|
-
if (declared(now) === undefined)
|
|
132
|
-
return false;
|
|
133
|
-
if (typedIn(now))
|
|
134
|
-
continue;
|
|
135
|
-
const check = checked(path, now, composition);
|
|
136
|
-
if (!check.ok)
|
|
137
|
-
return false;
|
|
138
|
-
checks.push({ path, check });
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
checks.push({ path, check: checked(path, now, composition) });
|
|
142
|
-
}
|
|
143
|
-
if (!(await reachingAll(checks, composition, next)))
|
|
144
|
-
return false;
|
|
145
|
-
if (shifted.length === 0)
|
|
146
|
-
return true;
|
|
147
|
-
if (source.referrers === null)
|
|
148
|
-
return false;
|
|
149
|
-
const files = (await source.referrers(shifted)).filter((file) => !changedAt.has(file));
|
|
150
|
-
if (files.length === 0)
|
|
151
|
-
return true;
|
|
152
|
-
const texts = await source.texts(files);
|
|
153
|
-
const rechecked = [];
|
|
154
|
-
for (const file of files) {
|
|
155
|
-
const content = texts.get(file);
|
|
156
|
-
if (content === undefined || content === null)
|
|
157
|
-
return false;
|
|
158
|
-
await pace(content.length + ROW_WEIGHT);
|
|
159
|
-
rechecked.push({ path: file, check: checked(file, content, composition) });
|
|
160
|
-
}
|
|
161
|
-
return reachingAll(rechecked, composition, next);
|
|
103
|
+
return validatedCollection(walk, source.lookup, composition);
|
|
162
104
|
}
|
package/dist/windows.d.ts
CHANGED
|
@@ -1,22 +1,11 @@
|
|
|
1
1
|
export declare const MAXIMUM_WINDOW = 1000;
|
|
2
|
-
export declare const FROM_START
|
|
2
|
+
export declare const FROM_START: string;
|
|
3
3
|
export declare function capped(limit: number | null | undefined): number;
|
|
4
|
-
export type Ordering = {
|
|
5
|
-
readonly direction: 'asc' | 'desc';
|
|
6
|
-
readonly nulls: 'first' | 'last';
|
|
7
|
-
readonly stringSort: 'lexical' | 'locale';
|
|
8
|
-
readonly locale: string | undefined;
|
|
9
|
-
readonly localeOptions: Intl.CollatorOptions | undefined;
|
|
10
|
-
};
|
|
11
4
|
interface Placed {
|
|
12
5
|
readonly position: string;
|
|
13
6
|
readonly identity: string;
|
|
14
7
|
}
|
|
15
8
|
export declare function messageOrder(left: Placed, right: Placed): number;
|
|
16
9
|
export declare function precedes(message: Placed, before: readonly [string, string] | null): boolean;
|
|
17
|
-
export declare function byCodePoint(left: string, right: string): number;
|
|
18
|
-
export declare function compared(left: unknown, right: unknown, ordering: Ordering): number;
|
|
19
|
-
export declare function cursorOf(values: readonly unknown[]): string;
|
|
20
|
-
export declare function decodedCursor(text: string): readonly unknown[] | null;
|
|
21
10
|
export {};
|
|
22
11
|
//# sourceMappingURL=windows.d.ts.map
|
package/dist/windows.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../src/windows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../src/windows.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,OAAO,CAAC;AAEnC,eAAO,MAAM,UAAU,QAAe,CAAC;AAEvC,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAE/D;AAED,UAAU,MAAM;IACd,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GAAG,OAAO,CAE3F"}
|
package/dist/windows.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { cursorOf } from '@agentshouse/mdmodel';
|
|
1
2
|
export const MAXIMUM_WINDOW = 1000;
|
|
2
|
-
export const FROM_START =
|
|
3
|
+
export const FROM_START = cursorOf([]);
|
|
3
4
|
export function capped(limit) {
|
|
4
5
|
return limit == null ? MAXIMUM_WINDOW : Math.min(limit, MAXIMUM_WINDOW);
|
|
5
6
|
}
|
|
@@ -13,77 +14,3 @@ export function messageOrder(left, right) {
|
|
|
13
14
|
export function precedes(message, before) {
|
|
14
15
|
return before === null || messageOrder(message, { position: before[0], identity: before[1] }) < 0;
|
|
15
16
|
}
|
|
16
|
-
function rank(value) {
|
|
17
|
-
if (typeof value === 'boolean' || typeof value === 'number')
|
|
18
|
-
return 1;
|
|
19
|
-
if (typeof value === 'string')
|
|
20
|
-
return 2;
|
|
21
|
-
return Array.isArray(value) ? 3 : 4;
|
|
22
|
-
}
|
|
23
|
-
function unit(code) {
|
|
24
|
-
if (code >= 0xd800 && code < 0xe000)
|
|
25
|
-
return code + 0x2000;
|
|
26
|
-
return code >= 0xe000 ? code - 0x800 : code;
|
|
27
|
-
}
|
|
28
|
-
export function byCodePoint(left, right) {
|
|
29
|
-
for (let at = 0; at < Math.min(left.length, right.length); at += 1) {
|
|
30
|
-
const ours = left.charCodeAt(at);
|
|
31
|
-
const theirs = right.charCodeAt(at);
|
|
32
|
-
if (ours !== theirs)
|
|
33
|
-
return unit(ours) - unit(theirs);
|
|
34
|
-
}
|
|
35
|
-
return left.length - right.length;
|
|
36
|
-
}
|
|
37
|
-
function ascending(left, right, ordering) {
|
|
38
|
-
if (left == null && right == null)
|
|
39
|
-
return 0;
|
|
40
|
-
if (left == null)
|
|
41
|
-
return ordering.nulls === 'first' ? -1 : 1;
|
|
42
|
-
if (right == null)
|
|
43
|
-
return ordering.nulls === 'first' ? 1 : -1;
|
|
44
|
-
const ranked = rank(left) - rank(right);
|
|
45
|
-
if (ranked !== 0)
|
|
46
|
-
return ranked;
|
|
47
|
-
if (typeof left === 'string' && typeof right === 'string') {
|
|
48
|
-
return ordering.stringSort === 'locale'
|
|
49
|
-
? left.localeCompare(right, ordering.locale, ordering.localeOptions)
|
|
50
|
-
: byCodePoint(left, right);
|
|
51
|
-
}
|
|
52
|
-
if (Array.isArray(left) && Array.isArray(right)) {
|
|
53
|
-
for (let at = 0; at < Math.min(left.length, right.length); at += 1) {
|
|
54
|
-
const result = ascending(left[at], right[at], ordering);
|
|
55
|
-
if (result !== 0)
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
return left.length - right.length;
|
|
59
|
-
}
|
|
60
|
-
if (typeof left === 'object')
|
|
61
|
-
return 0;
|
|
62
|
-
const held = left;
|
|
63
|
-
const other = right;
|
|
64
|
-
if (held < other)
|
|
65
|
-
return -1;
|
|
66
|
-
if (held > other)
|
|
67
|
-
return 1;
|
|
68
|
-
return 0;
|
|
69
|
-
}
|
|
70
|
-
export function compared(left, right, ordering) {
|
|
71
|
-
if (ordering.direction === 'asc')
|
|
72
|
-
return ascending(left, right, ordering);
|
|
73
|
-
return ascending(right, left, {
|
|
74
|
-
...ordering,
|
|
75
|
-
nulls: ordering.nulls === 'first' ? 'last' : 'first',
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
export function cursorOf(values) {
|
|
79
|
-
return JSON.stringify(values);
|
|
80
|
-
}
|
|
81
|
-
export function decodedCursor(text) {
|
|
82
|
-
try {
|
|
83
|
-
const decoded = JSON.parse(text);
|
|
84
|
-
return Array.isArray(decoded) ? decoded : null;
|
|
85
|
-
}
|
|
86
|
-
catch {
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
}
|
package/dist/wire.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ConnectionRefusal } from './
|
|
1
|
+
import type { ConnectionRefusal } from './socket.js';
|
|
2
2
|
import type { Described } from './failure.js';
|
|
3
3
|
export type RuntimePort = {
|
|
4
4
|
postMessage(message: unknown): void;
|
|
@@ -54,10 +54,14 @@ declare const MEMBERS: {
|
|
|
54
54
|
readonly reach: 'within';
|
|
55
55
|
readonly effect: 'read';
|
|
56
56
|
};
|
|
57
|
-
readonly 'binaryFile.
|
|
57
|
+
readonly 'binaryFile.show': {
|
|
58
58
|
readonly reach: 'within';
|
|
59
59
|
readonly effect: 'read';
|
|
60
60
|
};
|
|
61
|
+
readonly 'binaryFile.attach': {
|
|
62
|
+
readonly reach: 'within';
|
|
63
|
+
readonly effect: 'action';
|
|
64
|
+
};
|
|
61
65
|
readonly 'binaryFile.part': {
|
|
62
66
|
readonly reach: 'within';
|
|
63
67
|
readonly effect: 'read';
|
|
@@ -78,6 +82,18 @@ declare const MEMBERS: {
|
|
|
78
82
|
readonly reach: 'whole';
|
|
79
83
|
readonly effect: 'write';
|
|
80
84
|
};
|
|
85
|
+
readonly unsent: {
|
|
86
|
+
readonly reach: 'whole';
|
|
87
|
+
readonly effect: 'read';
|
|
88
|
+
};
|
|
89
|
+
readonly reset: {
|
|
90
|
+
readonly reach: 'whole';
|
|
91
|
+
readonly effect: 'write';
|
|
92
|
+
};
|
|
93
|
+
readonly readAgain: {
|
|
94
|
+
readonly reach: 'whole';
|
|
95
|
+
readonly effect: 'read';
|
|
96
|
+
};
|
|
81
97
|
readonly persistence: {
|
|
82
98
|
readonly reach: 'runtime';
|
|
83
99
|
readonly effect: 'read';
|
|
@@ -134,10 +150,6 @@ declare const MEMBERS: {
|
|
|
134
150
|
readonly reach: 'within';
|
|
135
151
|
readonly effect: 'action';
|
|
136
152
|
};
|
|
137
|
-
readonly 'conversation.attach': {
|
|
138
|
-
readonly reach: 'within';
|
|
139
|
-
readonly effect: 'action';
|
|
140
|
-
};
|
|
141
153
|
readonly 'conversation.answer': {
|
|
142
154
|
readonly reach: 'within';
|
|
143
155
|
readonly effect: 'action';
|
|
@@ -150,10 +162,6 @@ declare const MEMBERS: {
|
|
|
150
162
|
readonly reach: 'within';
|
|
151
163
|
readonly effect: 'action';
|
|
152
164
|
};
|
|
153
|
-
readonly 'conversation.cancel': {
|
|
154
|
-
readonly reach: 'within';
|
|
155
|
-
readonly effect: 'action';
|
|
156
|
-
};
|
|
157
165
|
readonly 'conversation.delete': {
|
|
158
166
|
readonly reach: 'within';
|
|
159
167
|
readonly effect: 'action';
|
|
@@ -180,6 +188,7 @@ declare const TOPICS: {
|
|
|
180
188
|
readonly 'sync-status': 'within';
|
|
181
189
|
readonly 'service-mode': 'runtime';
|
|
182
190
|
readonly member: 'runtime';
|
|
191
|
+
readonly 'authority-changes': 'runtime';
|
|
183
192
|
readonly query: 'within';
|
|
184
193
|
readonly queue: 'within';
|
|
185
194
|
readonly 'room-drafts': 'within';
|
|
@@ -187,6 +196,9 @@ declare const TOPICS: {
|
|
|
187
196
|
readonly conversation: 'within';
|
|
188
197
|
readonly conversations: 'within';
|
|
189
198
|
readonly agents: 'within';
|
|
199
|
+
readonly figures: 'whole';
|
|
200
|
+
readonly holdings: 'whole';
|
|
201
|
+
readonly read: 'whole';
|
|
190
202
|
};
|
|
191
203
|
export declare const WIRE: {
|
|
192
204
|
readonly members: Readonly<Record<string, WireCall>>;
|
package/dist/wire.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../src/wire.ts"],"names":[],"mappings":"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"}
|
package/dist/wire.js
CHANGED
|
@@ -10,12 +10,16 @@ const MEMBERS = {
|
|
|
10
10
|
resolve: { reach: 'within', effect: 'read' },
|
|
11
11
|
'binaryFile.read': { reach: 'within', effect: 'read' },
|
|
12
12
|
'binaryFile.link': { reach: 'within', effect: 'read' },
|
|
13
|
-
'binaryFile.
|
|
13
|
+
'binaryFile.show': { reach: 'within', effect: 'read' },
|
|
14
|
+
'binaryFile.attach': { reach: 'within', effect: 'action' },
|
|
14
15
|
'binaryFile.part': { reach: 'within', effect: 'read' },
|
|
15
16
|
call: { reach: 'actions', effect: 'action' },
|
|
16
17
|
reached: { reach: 'within', effect: 'read' },
|
|
17
18
|
log: { reach: 'whole', effect: 'read' },
|
|
18
19
|
cleanUp: { reach: 'whole', effect: 'write' },
|
|
20
|
+
unsent: { reach: 'whole', effect: 'read' },
|
|
21
|
+
reset: { reach: 'whole', effect: 'write' },
|
|
22
|
+
readAgain: { reach: 'whole', effect: 'read' },
|
|
19
23
|
persistence: { reach: 'runtime', effect: 'read' },
|
|
20
24
|
retry: { reach: 'runtime', effect: 'write' },
|
|
21
25
|
reauthorize: { reach: 'runtime', effect: 'write' },
|
|
@@ -30,11 +34,9 @@ const MEMBERS = {
|
|
|
30
34
|
'conversation.read': { reach: 'within', effect: 'read' },
|
|
31
35
|
'conversation.create': { reach: 'within', effect: 'action' },
|
|
32
36
|
'conversation.send': { reach: 'within', effect: 'action' },
|
|
33
|
-
'conversation.attach': { reach: 'within', effect: 'action' },
|
|
34
37
|
'conversation.answer': { reach: 'within', effect: 'action' },
|
|
35
38
|
'conversation.interrupt': { reach: 'within', effect: 'action' },
|
|
36
39
|
'conversation.kill': { reach: 'within', effect: 'action' },
|
|
37
|
-
'conversation.cancel': { reach: 'within', effect: 'action' },
|
|
38
40
|
'conversation.delete': { reach: 'within', effect: 'action' },
|
|
39
41
|
'chatDraft.write': { reach: 'within', effect: 'write' },
|
|
40
42
|
'chatDraft.prepend': { reach: 'within', effect: 'write' },
|
|
@@ -49,6 +51,7 @@ const TOPICS = {
|
|
|
49
51
|
'sync-status': 'within',
|
|
50
52
|
'service-mode': 'runtime',
|
|
51
53
|
member: 'runtime',
|
|
54
|
+
'authority-changes': 'runtime',
|
|
52
55
|
query: 'within',
|
|
53
56
|
queue: 'within',
|
|
54
57
|
'room-drafts': 'within',
|
|
@@ -56,6 +59,9 @@ const TOPICS = {
|
|
|
56
59
|
conversation: 'within',
|
|
57
60
|
conversations: 'within',
|
|
58
61
|
agents: 'within',
|
|
62
|
+
figures: 'whole',
|
|
63
|
+
holdings: 'whole',
|
|
64
|
+
read: 'whole',
|
|
59
65
|
};
|
|
60
66
|
export const WIRE = { members: MEMBERS, topics: TOPICS };
|
|
61
67
|
export function unanswered(call) {
|