@agentshouse/mdruntime 0.1.0-cd507e16e5fc0 → 0.1.0-cd574a610e9c8
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 +21 -19
- package/dist/acceptance.d.ts +0 -3
- package/dist/acceptance.d.ts.map +1 -1
- package/dist/acceptance.js +75 -165
- package/dist/act-lanes.d.ts +30 -0
- package/dist/act-lanes.d.ts.map +1 -0
- package/dist/act-lanes.js +225 -0
- package/dist/actions.d.ts +8 -2
- package/dist/actions.d.ts.map +1 -1
- package/dist/actions.js +118 -67
- package/dist/adapter.d.ts +90 -58
- package/dist/adapter.d.ts.map +1 -1
- package/dist/attached-model.d.ts +0 -1
- package/dist/attached-model.d.ts.map +1 -1
- package/dist/attached-model.js +0 -5
- package/dist/authored.d.ts +88 -0
- package/dist/authored.d.ts.map +1 -0
- package/dist/authored.js +345 -0
- package/dist/bootstrap.d.ts +1 -1
- package/dist/bootstrap.d.ts.map +1 -1
- package/dist/bootstrap.js +6 -19
- package/dist/change-set.d.ts +4 -0
- package/dist/change-set.d.ts.map +1 -1
- package/dist/change-set.js +6 -0
- package/dist/change.d.ts +4 -0
- package/dist/change.d.ts.map +1 -1
- package/dist/change.js +7 -2
- package/dist/chat-types.d.ts +0 -2
- package/dist/chat-types.d.ts.map +1 -1
- package/dist/chat-types.js +0 -2
- package/dist/client.d.ts +13 -20
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +36 -20
- package/dist/collection.d.ts +25 -4
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +19 -2
- package/dist/column.d.ts +5 -0
- package/dist/column.d.ts.map +1 -0
- package/dist/column.js +9 -0
- package/dist/compile.d.ts +2 -0
- package/dist/compile.d.ts.map +1 -1
- package/dist/compile.js +31 -25
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +31 -24
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +1 -1
- package/dist/conversation-live.d.ts +26 -12
- package/dist/conversation-live.d.ts.map +1 -1
- package/dist/conversation-live.js +23 -12
- package/dist/conversation-row.d.ts +8 -1
- package/dist/conversation-row.d.ts.map +1 -1
- package/dist/conversation-row.js +20 -7
- package/dist/conversation.d.ts +37 -12
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +320 -234
- package/dist/declaration.d.ts +10 -0
- package/dist/declaration.d.ts.map +1 -0
- package/dist/declaration.js +24 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +19 -44
- package/dist/durability.d.ts +4 -0
- package/dist/durability.d.ts.map +1 -1
- package/dist/durability.js +4 -0
- package/dist/entry.js +1 -1
- package/dist/expectation.d.ts +26 -13
- package/dist/expectation.d.ts.map +1 -1
- package/dist/expectation.js +72 -19
- package/dist/failure.d.ts +3 -0
- package/dist/failure.d.ts.map +1 -1
- package/dist/failure.js +6 -0
- package/dist/figures.d.ts.map +1 -1
- package/dist/figures.js +4 -2
- package/dist/file.d.ts +1 -1
- package/dist/file.d.ts.map +1 -1
- package/dist/file.js +3 -2
- package/dist/host.d.ts +18 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +59 -15
- package/dist/index.d.ts +16 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -7
- package/dist/install.d.ts +10 -6
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +92 -111
- package/dist/lifecycle.d.ts +1 -1
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +54 -40
- package/dist/listing.d.ts +11 -12
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +48 -72
- package/dist/live.d.ts +5 -3
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +74 -33
- package/dist/loaded.d.ts +5 -0
- package/dist/loaded.d.ts.map +1 -0
- package/dist/loaded.js +40 -0
- package/dist/locks.d.ts +2 -4
- package/dist/locks.d.ts.map +1 -1
- package/dist/locks.js +10 -39
- package/dist/lost.d.ts.map +1 -1
- package/dist/lost.js +11 -23
- package/dist/media.d.ts +6 -1
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +68 -17
- package/dist/memory.d.ts +8 -3
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +92 -33
- package/dist/messages.d.ts +12 -6
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +30 -38
- package/dist/model.d.ts +0 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +0 -5
- package/dist/models.d.ts +4 -8
- package/dist/models.d.ts.map +1 -1
- package/dist/models.js +97 -139
- package/dist/observation.d.ts +27 -12
- package/dist/observation.d.ts.map +1 -1
- package/dist/observation.js +184 -85
- package/dist/opened.d.ts +1 -1
- package/dist/opened.d.ts.map +1 -1
- package/dist/opened.js +5 -5
- package/dist/opening.d.ts.map +1 -1
- package/dist/opening.js +5 -9
- package/dist/outcome.d.ts +13 -1
- package/dist/outcome.d.ts.map +1 -1
- package/dist/outcome.js +32 -2
- package/dist/overlay.d.ts +6 -2
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +37 -24
- package/dist/page-metadata.d.ts +8 -0
- package/dist/page-metadata.d.ts.map +1 -0
- package/dist/page-metadata.js +19 -0
- package/dist/parts.d.ts +3 -58
- package/dist/parts.d.ts.map +1 -1
- package/dist/parts.js +10 -115
- package/dist/preparation.d.ts +27 -6
- package/dist/preparation.d.ts.map +1 -1
- package/dist/preparation.js +156 -68
- package/dist/presence.d.ts +58 -0
- package/dist/presence.d.ts.map +1 -0
- package/dist/presence.js +231 -0
- package/dist/queries.d.ts +2 -2
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +67 -31
- package/dist/query.d.ts +0 -1
- package/dist/query.d.ts.map +1 -1
- package/dist/questions.d.ts +1 -5
- package/dist/questions.d.ts.map +1 -1
- package/dist/questions.js +1 -7
- package/dist/queue.d.ts +40 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +480 -0
- package/dist/reach.d.ts +2 -3
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +88 -26
- package/dist/react.d.ts +8 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +33 -1
- package/dist/readiness.d.ts +9 -3
- package/dist/readiness.d.ts.map +1 -1
- package/dist/readiness.js +3 -5
- package/dist/reads.d.ts +4 -2
- package/dist/reads.d.ts.map +1 -1
- package/dist/reads.js +11 -4
- package/dist/recovery.d.ts +3 -1
- package/dist/recovery.d.ts.map +1 -1
- package/dist/recovery.js +29 -7
- package/dist/refresh.js +2 -2
- package/dist/refusal.d.ts.map +1 -1
- package/dist/refusal.js +5 -6
- package/dist/replica.d.ts +5 -11
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +15 -17
- package/dist/retried.d.ts +30 -0
- package/dist/retried.d.ts.map +1 -0
- package/dist/retried.js +72 -0
- package/dist/room-draft.d.ts +31 -8
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +273 -66
- package/dist/room-drafts.d.ts.map +1 -1
- package/dist/room-drafts.js +22 -18
- package/dist/room-list.d.ts +10 -0
- package/dist/room-list.d.ts.map +1 -0
- package/dist/room-list.js +45 -0
- package/dist/rows.d.ts +2 -1
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +9 -10
- package/dist/runtime.d.ts +9 -18
- package/dist/runtime.d.ts.map +1 -1
- package/dist/save.d.ts +42 -90
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +327 -229
- package/dist/saves.d.ts +4 -40
- package/dist/saves.d.ts.map +1 -1
- package/dist/saves.js +143 -714
- package/dist/seed.d.ts.map +1 -1
- package/dist/seed.js +4 -5
- package/dist/shared.d.ts +0 -5
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js +4 -90
- package/dist/shown.d.ts +7 -5
- package/dist/shown.d.ts.map +1 -1
- package/dist/shown.js +77 -63
- package/dist/socket/lanes.d.ts +12 -4
- package/dist/socket/lanes.d.ts.map +1 -1
- package/dist/socket/lanes.js +34 -8
- package/dist/socket/session.d.ts +0 -1
- package/dist/socket/session.d.ts.map +1 -1
- package/dist/socket.d.ts +3 -6
- package/dist/socket.d.ts.map +1 -1
- package/dist/socket.js +5 -16
- package/dist/source.d.ts +5 -7
- package/dist/source.d.ts.map +1 -1
- package/dist/source.js +18 -6
- package/dist/store/installs.d.ts +2 -2
- package/dist/store/installs.d.ts.map +1 -1
- package/dist/store/installs.js +10 -4
- package/dist/store/readiness.d.ts +5 -4
- package/dist/store/readiness.d.ts.map +1 -1
- package/dist/store/readiness.js +28 -12
- package/dist/store/records.d.ts +18 -7
- package/dist/store/records.d.ts.map +1 -1
- package/dist/store/records.js +58 -24
- package/dist/store/rooms-shown.d.ts +8 -0
- package/dist/store/rooms-shown.d.ts.map +1 -0
- package/dist/store/rooms-shown.js +13 -0
- package/dist/store/space.d.ts +1 -1
- package/dist/store/space.d.ts.map +1 -1
- package/dist/store/space.js +0 -2
- package/dist/store/watchers.js +1 -2
- package/dist/store.d.ts +23 -14
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +46 -17
- package/dist/stored.d.ts +25 -14
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +83 -32
- package/dist/surface.d.ts +5 -3
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +25 -23
- package/dist/sync.d.ts +1 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +96 -92
- package/dist/tables.d.ts +16 -57
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +91 -332
- package/dist/tallies.d.ts.map +1 -1
- package/dist/tallies.js +6 -7
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +4 -10
- package/dist/wire.d.ts +53 -7
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +17 -4
- package/package.json +3 -2
- package/dist/attempt.d.ts +0 -16
- package/dist/attempt.d.ts.map +0 -1
- package/dist/attempt.js +0 -70
- package/dist/job.d.ts +0 -33
- package/dist/job.d.ts.map +0 -1
- package/dist/job.js +0 -54
- package/dist/log.d.ts +0 -6
- package/dist/log.d.ts.map +0 -1
- package/dist/log.js +0 -14
- package/dist/socket/rooms.d.ts +0 -44
- package/dist/socket/rooms.d.ts.map +0 -1
- package/dist/socket/rooms.js +0 -90
- package/dist/store/fences.d.ts +0 -16
- package/dist/store/fences.d.ts.map +0 -1
- package/dist/store/fences.js +0 -26
package/dist/sync.js
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
import { submitAll, submitLater } from './acceptance.js';
|
|
2
1
|
import { resendCalls, resendLater } from './actions.js';
|
|
3
|
-
import { catchUpConversations,
|
|
2
|
+
import { catchUpConversations, reconcileOpening, resendConversations } from './conversation.js';
|
|
3
|
+
import { declared, sameDeclaration } from './declaration.js';
|
|
4
4
|
import { applyDiscovery, discoverRooms, malformed, signIn } from './discovery.js';
|
|
5
5
|
import { behind, caughtUpTo, publish, pullBootstrap, pullRefresh, reachedBy, replaced, standingAt, } from './install.js';
|
|
6
|
-
import { heldRooms,
|
|
7
|
-
import {
|
|
6
|
+
import { heldRooms, name } from './listing.js';
|
|
7
|
+
import { retainModel, revoked, scoped } from './models.js';
|
|
8
|
+
import { refusalError } from './failure.js';
|
|
8
9
|
import { refuse } from './refusal.js';
|
|
9
|
-
import {
|
|
10
|
+
import { roomListChanged } from './room-list.js';
|
|
11
|
+
import { emitRooms, moveTo, rest, roomUnreadable, submissionDue, transferring, AUTHORITY_TOPIC, } from './shown.js';
|
|
10
12
|
import { unconfirmed } from './transfer.js';
|
|
11
13
|
export const OPENING_LANE = 'opening';
|
|
14
|
+
const FINISHING = 'finishing';
|
|
12
15
|
async function advance(runtime, room, local, authorized, running, unheld) {
|
|
13
|
-
const { store, socket } = runtime;
|
|
16
|
+
const { store, socket, presence } = runtime;
|
|
14
17
|
const live = () => running() && !store.space.full();
|
|
15
18
|
if (!live())
|
|
16
19
|
return unconfirmed;
|
|
17
20
|
const held = unheld === undefined ? await store.record(room.locator) : undefined;
|
|
18
21
|
if (socket.streamed && (held !== undefined || !store.installs.of(room.locator).beyondHorizon)) {
|
|
19
|
-
|
|
22
|
+
presence.stood(room.locator, false);
|
|
23
|
+
runtime.retries.succeeded('download', room.locator);
|
|
20
24
|
await name(runtime, room.locator);
|
|
21
25
|
return null;
|
|
22
26
|
}
|
|
@@ -27,7 +31,7 @@ async function advance(runtime, room, local, authorized, running, unheld) {
|
|
|
27
31
|
return advance(runtime, room, local, authorized, live);
|
|
28
32
|
if (refreshed !== 'beyond-horizon')
|
|
29
33
|
return refreshed;
|
|
30
|
-
if (
|
|
34
|
+
if (presence.standing(room.locator).reloadDue)
|
|
31
35
|
return unconfirmed;
|
|
32
36
|
replaced(store, [room.locator]);
|
|
33
37
|
}
|
|
@@ -45,18 +49,15 @@ async function advance(runtime, room, local, authorized, running, unheld) {
|
|
|
45
49
|
: advance(runtime, room, local, authorized, live);
|
|
46
50
|
}
|
|
47
51
|
async function refreshedRoom(runtime, room, local, authorized, held, live, hold, refresh) {
|
|
48
|
-
const { store, socket } = runtime;
|
|
49
|
-
const { rooms } = socket;
|
|
52
|
+
const { store, socket, presence } = runtime;
|
|
50
53
|
const refreshed = await pullRefresh(runtime, authorized, held, live, hold, refresh);
|
|
51
54
|
if (!live())
|
|
52
55
|
return unconfirmed;
|
|
53
56
|
if (refreshed.kind === 'still-current') {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
emitRooms(runtime);
|
|
59
|
-
}
|
|
57
|
+
presence.stood(room.locator, false);
|
|
58
|
+
runtime.retries.succeeded('download', room.locator);
|
|
59
|
+
if (presence.readable(room.locator))
|
|
60
|
+
emitRooms(runtime, [room.locator]);
|
|
60
61
|
return null;
|
|
61
62
|
}
|
|
62
63
|
if (refreshed.kind === 'advanced') {
|
|
@@ -70,7 +71,7 @@ async function refreshedRoom(runtime, room, local, authorized, held, live, hold,
|
|
|
70
71
|
const reached = now !== undefined && socket.reads.reached(room.locator, now, refreshed.record.roomVersion);
|
|
71
72
|
return reached ? null : 'behind';
|
|
72
73
|
}
|
|
73
|
-
await retainModel(runtime,
|
|
74
|
+
await retainModel(runtime, room.locator, declared(room), null);
|
|
74
75
|
return null;
|
|
75
76
|
}
|
|
76
77
|
return refreshed.kind === 'beyond-horizon' ? 'beyond-horizon' : refreshed;
|
|
@@ -79,43 +80,44 @@ export function advanced(runtime, room, local, authorized) {
|
|
|
79
80
|
return runtime.socket.lanes.inRoom(room.locator, (live) => advance(runtime, room, local, authorized, live));
|
|
80
81
|
}
|
|
81
82
|
export async function withhold(runtime, withheld, room, local, progress) {
|
|
82
|
-
const {
|
|
83
|
-
|
|
84
|
-
if (withheld.kind === 'unconfirmed' || store.fences.has(room.locator))
|
|
83
|
+
const { presence } = runtime;
|
|
84
|
+
if (withheld.kind === 'unconfirmed' || presence.lost(room.locator))
|
|
85
85
|
return;
|
|
86
86
|
if (withheld.kind === 'not-ready') {
|
|
87
87
|
progress.complete = false;
|
|
88
88
|
askAgain(runtime, room.locator);
|
|
89
89
|
return;
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
if (withheld.kind === 'transport-uncertainty') {
|
|
92
|
+
runtime.retries.uncertain('download', room.locator, withheld);
|
|
93
|
+
}
|
|
94
|
+
else if (withheld.kind === 'retryable-refusal') {
|
|
95
|
+
runtime.retries.failed('download', room.locator, refusalError(withheld));
|
|
96
|
+
}
|
|
92
97
|
if (withheld.kind === 'transport-uncertainty' || withheld.kind === 'retryable-refusal') {
|
|
93
98
|
const reset = withheld.kind === 'retryable-refusal' ? withheld.reset : undefined;
|
|
94
|
-
|
|
99
|
+
presence.stood(room.locator, true, { reset });
|
|
95
100
|
repairLater(runtime, room.locator, reset === undefined ? { again: true } : { at: Date.parse(reset) });
|
|
96
101
|
}
|
|
97
102
|
else
|
|
98
|
-
|
|
103
|
+
presence.stood(room.locator, true, null);
|
|
99
104
|
if (withheld.kind === 'scoped-refusal') {
|
|
100
|
-
await scoped(runtime, withheld, room,
|
|
105
|
+
await scoped(runtime, withheld, room.locator, declared(room));
|
|
101
106
|
}
|
|
102
107
|
else if (withheld.kind === 'transport-uncertainty') {
|
|
103
108
|
progress.reachable = false;
|
|
104
109
|
}
|
|
105
|
-
else if (withheld.kind === 'retryable-refusal') {
|
|
106
|
-
journal.record(`refusal ${withheld.kind} ${withheld.code}`);
|
|
107
|
-
}
|
|
108
110
|
else if (withheld.kind === 'room-not-readable') {
|
|
109
|
-
roomUnreadable(runtime, room);
|
|
111
|
+
roomUnreadable(runtime, room.locator);
|
|
110
112
|
}
|
|
111
113
|
else if (withheld.kind === 'revoked-authorization') {
|
|
112
114
|
await refuse(runtime, 'revoked-authorization');
|
|
113
115
|
}
|
|
114
116
|
}
|
|
115
117
|
function askAgain(runtime, locator) {
|
|
116
|
-
const { store, socket } = runtime;
|
|
117
|
-
|
|
118
|
-
const room =
|
|
118
|
+
const { store, socket, presence } = runtime;
|
|
119
|
+
presence.askAgain(locator, () => {
|
|
120
|
+
const room = presence.room(locator);
|
|
119
121
|
if (socket.closed() ||
|
|
120
122
|
socket.stopping() ||
|
|
121
123
|
(socket.streamed && !socket.isOpen()) ||
|
|
@@ -128,25 +130,21 @@ function askAgain(runtime, locator) {
|
|
|
128
130
|
.then(() => rest(runtime, progress), () => undefined);
|
|
129
131
|
});
|
|
130
132
|
}
|
|
131
|
-
async function prepareRoom(runtime, room,
|
|
132
|
-
const { socket
|
|
133
|
+
async function prepareRoom(runtime, room, progress, prior) {
|
|
134
|
+
const { socket } = runtime;
|
|
133
135
|
const { session } = socket;
|
|
134
136
|
if (socket.closed() || session.now().authorization === undefined) {
|
|
135
137
|
progress.complete = false;
|
|
136
138
|
return false;
|
|
137
139
|
}
|
|
138
|
-
if (prior !== undefined && prior.replica.selection !== room.replica.selection) {
|
|
139
|
-
|
|
140
|
-
emitRooms(runtime);
|
|
141
|
-
journal.record(`selection changed ${room.locator}`);
|
|
140
|
+
if (prior !== undefined && prior.declaration.replica.selection !== room.replica.selection) {
|
|
141
|
+
emitRooms(runtime, [room.locator]);
|
|
142
142
|
progress.complete = false;
|
|
143
143
|
return false;
|
|
144
144
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
if (prior !== undefined && (prior.name !== room.name || prior.handle !== room.handle)) {
|
|
149
|
-
await keepNaming(runtime, local, room);
|
|
145
|
+
const declaration = declared(room);
|
|
146
|
+
if (prior !== undefined && !sameDeclaration(prior.declaration, declaration)) {
|
|
147
|
+
await retainModel(runtime, room.locator, declaration, null);
|
|
150
148
|
}
|
|
151
149
|
const { paused, authorization } = session.now();
|
|
152
150
|
if (paused || authorization === undefined)
|
|
@@ -156,22 +154,22 @@ async function prepareRoom(runtime, room, local, progress, prior) {
|
|
|
156
154
|
async function synchronize(runtime, listed, local, progress, attempt, live) {
|
|
157
155
|
const { store, socket } = runtime;
|
|
158
156
|
const heldNow = await store.rooms(listed.map(({ locator }) => locator));
|
|
159
|
-
const prepared = await Promise.allSettled(listed.map((room) => prepareRoom(runtime, room,
|
|
157
|
+
const prepared = await Promise.allSettled(listed.map((room) => prepareRoom(runtime, room, progress, heldNow.get(room.locator)?.record)));
|
|
160
158
|
if (!live())
|
|
161
159
|
return;
|
|
162
160
|
const ready = listed.filter((_, index) => {
|
|
163
161
|
const outcome = prepared[index];
|
|
164
|
-
return outcome
|
|
162
|
+
return outcome.status === 'fulfilled' && outcome.value;
|
|
165
163
|
});
|
|
166
|
-
const held = await heldRooms(runtime, ready);
|
|
167
|
-
if (!live())
|
|
168
|
-
return;
|
|
169
164
|
if (attempt === 'opened') {
|
|
165
|
+
const held = await heldRooms(runtime, ready);
|
|
166
|
+
if (!live())
|
|
167
|
+
return;
|
|
170
168
|
socket.hand(held);
|
|
171
169
|
}
|
|
172
|
-
const kept = attempt === '
|
|
173
|
-
? new Set()
|
|
174
|
-
: new Set(
|
|
170
|
+
const kept = attempt === 'authorized'
|
|
171
|
+
? new Set((await store.rooms(ready.map(({ locator }) => locator))).keys())
|
|
172
|
+
: new Set();
|
|
175
173
|
for (const room of ready) {
|
|
176
174
|
if (attempt === 'opened' || kept.has(room.locator)) {
|
|
177
175
|
if (attempt === 'authorized')
|
|
@@ -204,7 +202,7 @@ export async function loadRoom(runtime, room, local, progress, live, unheld) {
|
|
|
204
202
|
return;
|
|
205
203
|
const prior = unheld === undefined ? await store.record(room.locator) : undefined;
|
|
206
204
|
if (prior !== undefined) {
|
|
207
|
-
if (!(await prepareRoom(runtime, room,
|
|
205
|
+
if (!(await prepareRoom(runtime, room, progress, prior)))
|
|
208
206
|
return;
|
|
209
207
|
if (revoked(prior.model)) {
|
|
210
208
|
await reload(runtime, room, local, progress, live);
|
|
@@ -219,10 +217,10 @@ export async function loadRoom(runtime, room, local, progress, live, unheld) {
|
|
|
219
217
|
await caughtUp(runtime, room, local, progress, live);
|
|
220
218
|
}
|
|
221
219
|
export async function reload(runtime, room, local, progress, live) {
|
|
222
|
-
const { store, socket } = runtime;
|
|
220
|
+
const { store, socket, presence } = runtime;
|
|
223
221
|
try {
|
|
224
222
|
if (live())
|
|
225
|
-
|
|
223
|
+
presence.reload(room.locator, false);
|
|
226
224
|
const { authorization } = socket.session.now();
|
|
227
225
|
if (!live() || authorization === undefined)
|
|
228
226
|
return;
|
|
@@ -242,24 +240,23 @@ export async function reload(runtime, room, local, progress, live) {
|
|
|
242
240
|
}
|
|
243
241
|
}
|
|
244
242
|
function repairLater(runtime, locator, when) {
|
|
245
|
-
const { socket, recovery } = runtime;
|
|
246
|
-
if (!socket.isOpen() ||
|
|
243
|
+
const { socket, presence, recovery } = runtime;
|
|
244
|
+
if (!socket.isOpen() || presence.standing(locator).repairing)
|
|
247
245
|
return;
|
|
248
246
|
void recovery.attempt(`repair ${locator}`, (signal) => repairPass(runtime, locator, signal), when);
|
|
249
247
|
}
|
|
250
248
|
async function repairPass(runtime, locator, signal) {
|
|
251
|
-
const { store, socket } = runtime;
|
|
252
|
-
const
|
|
253
|
-
const room = rooms.discovered(locator);
|
|
249
|
+
const { store, socket, presence } = runtime;
|
|
250
|
+
const room = presence.room(locator);
|
|
254
251
|
if (!socket.isOpen() ||
|
|
255
252
|
!socket.continuing() ||
|
|
256
253
|
socket.stopping() ||
|
|
257
|
-
!
|
|
254
|
+
!presence.standing(locator).stale)
|
|
258
255
|
return 'done';
|
|
259
256
|
if (room === undefined || room.replica.admission !== 'admitted')
|
|
260
257
|
return 'done';
|
|
261
258
|
const progress = { complete: true, reachable: true };
|
|
262
|
-
|
|
259
|
+
presence.repairing(locator, true);
|
|
263
260
|
try {
|
|
264
261
|
const local = await store.open();
|
|
265
262
|
await socket.lanes.roomTask(locator, async (live) => {
|
|
@@ -272,37 +269,35 @@ async function repairPass(runtime, locator, signal) {
|
|
|
272
269
|
});
|
|
273
270
|
}
|
|
274
271
|
catch {
|
|
275
|
-
|
|
272
|
+
presence.stood(locator, true);
|
|
276
273
|
progress.reachable = false;
|
|
277
274
|
}
|
|
278
275
|
finally {
|
|
279
|
-
|
|
276
|
+
presence.repairing(locator, false);
|
|
280
277
|
}
|
|
281
278
|
if (signal.aborted)
|
|
282
279
|
return 'done';
|
|
283
280
|
await rest(runtime, progress);
|
|
284
|
-
if (!
|
|
285
|
-
|
|
286
|
-
submitLater(runtime, locator);
|
|
281
|
+
if (!presence.standing(locator).stale) {
|
|
282
|
+
await submissionDue(runtime, [locator]);
|
|
287
283
|
return 'done';
|
|
288
284
|
}
|
|
289
|
-
const { repairable } =
|
|
285
|
+
const { repairable } = presence.standing(locator);
|
|
290
286
|
if (repairable === null)
|
|
291
287
|
return 'done';
|
|
292
288
|
return repairable.reset === undefined ? 'again' : { at: Date.parse(repairable.reset) };
|
|
293
289
|
}
|
|
294
290
|
export async function finishOpening(runtime, progress, live) {
|
|
295
|
-
const { socket, conversations, recovery } = runtime;
|
|
291
|
+
const { socket, presence, conversations, recovery } = runtime;
|
|
296
292
|
try {
|
|
297
293
|
if (!live()) {
|
|
298
294
|
progress.complete = false;
|
|
299
295
|
return;
|
|
300
296
|
}
|
|
301
|
-
await
|
|
302
|
-
for (const locator of
|
|
297
|
+
await submissionDue(runtime);
|
|
298
|
+
for (const locator of presence.repairsOwed())
|
|
303
299
|
repairLater(runtime, locator, {});
|
|
304
|
-
|
|
305
|
-
await reconcileConversations(conversations);
|
|
300
|
+
await reconcileOpening(conversations);
|
|
306
301
|
const reading = { complete: true, reachable: true };
|
|
307
302
|
await catchUpConversations(conversations, reading);
|
|
308
303
|
if (progress.reachable && reading.reachable)
|
|
@@ -314,8 +309,10 @@ export async function finishOpening(runtime, progress, live) {
|
|
|
314
309
|
progress.reachable = false;
|
|
315
310
|
resendLater(runtime);
|
|
316
311
|
}
|
|
312
|
+
runtime.retries.succeeded('conversations', FINISHING);
|
|
317
313
|
}
|
|
318
|
-
catch {
|
|
314
|
+
catch (error) {
|
|
315
|
+
runtime.retries.failed('conversations', FINISHING, error);
|
|
319
316
|
progress.complete = false;
|
|
320
317
|
}
|
|
321
318
|
finally {
|
|
@@ -351,8 +348,10 @@ export function sync(runtime, attempt, found) {
|
|
|
351
348
|
const listed = await discoverRooms(runtime, local, progress, live, found);
|
|
352
349
|
if (listed !== null)
|
|
353
350
|
await synchronize(runtime, listed, local, progress, attempt, live);
|
|
351
|
+
runtime.retries.succeeded('connection', OPENING_LANE);
|
|
354
352
|
}
|
|
355
|
-
catch {
|
|
353
|
+
catch (error) {
|
|
354
|
+
runtime.retries.failed('connection', OPENING_LANE, error);
|
|
356
355
|
progress.complete = false;
|
|
357
356
|
if (attempt === 'opened' && !socket.isHanded())
|
|
358
357
|
progress.reachable = false;
|
|
@@ -373,7 +372,7 @@ export function sync(runtime, attempt, found) {
|
|
|
373
372
|
});
|
|
374
373
|
}
|
|
375
374
|
export function resynchronize(runtime) {
|
|
376
|
-
const { store, socket } = runtime;
|
|
375
|
+
const { store, socket, presence } = runtime;
|
|
377
376
|
return socket.lanes.task(OPENING_LANE, async (live) => {
|
|
378
377
|
if (!live() || !socket.isAnnounced())
|
|
379
378
|
return;
|
|
@@ -383,28 +382,30 @@ export function resynchronize(runtime) {
|
|
|
383
382
|
const local = await store.open();
|
|
384
383
|
if (!live())
|
|
385
384
|
return;
|
|
386
|
-
await synchronize(runtime,
|
|
385
|
+
await synchronize(runtime, presence.rooms(), local, progress, 'unstreamed', live);
|
|
386
|
+
runtime.retries.succeeded('download', OPENING_LANE);
|
|
387
387
|
}
|
|
388
|
-
catch {
|
|
388
|
+
catch (error) {
|
|
389
|
+
runtime.retries.failed('download', OPENING_LANE, error);
|
|
389
390
|
progress.complete = false;
|
|
390
391
|
}
|
|
391
392
|
if (live())
|
|
392
393
|
await finishOpening(runtime, progress, live);
|
|
393
394
|
});
|
|
394
395
|
}
|
|
395
|
-
export function countAuthorityChange({ store, socket, lastAnswers }) {
|
|
396
|
+
export function countAuthorityChange({ store, socket, lastAnswers }, listed) {
|
|
396
397
|
const authorityChanges = socket.session.now().authorityChanges + 1;
|
|
397
398
|
socket.session.set({ authorityChanges });
|
|
398
399
|
store.tell(AUTHORITY_TOPIC, authorityChanges);
|
|
399
|
-
lastAnswers.again();
|
|
400
|
+
lastAnswers.again(listed);
|
|
400
401
|
}
|
|
401
402
|
export function changeAuthority(runtime, change) {
|
|
402
|
-
const { store, socket
|
|
403
|
+
const { store, socket } = runtime;
|
|
403
404
|
const { session } = socket;
|
|
404
405
|
return socket.lanes.task(OPENING_LANE, async (live) => {
|
|
405
406
|
if (!live() || !socket.isAnnounced())
|
|
406
407
|
return;
|
|
407
|
-
countAuthorityChange(runtime);
|
|
408
|
+
countAuthorityChange(runtime, roomListChanged(runtime, change.roomList));
|
|
408
409
|
const progress = { complete: true, reachable: true };
|
|
409
410
|
moveTo(runtime, transferring(runtime));
|
|
410
411
|
try {
|
|
@@ -413,7 +414,6 @@ export function changeAuthority(runtime, change) {
|
|
|
413
414
|
return;
|
|
414
415
|
const invalid = malformed(change.rooms);
|
|
415
416
|
if (invalid !== null) {
|
|
416
|
-
journal.record(invalid);
|
|
417
417
|
await refuse(runtime, 'missing-required-guarantee');
|
|
418
418
|
return;
|
|
419
419
|
}
|
|
@@ -423,8 +423,10 @@ export function changeAuthority(runtime, change) {
|
|
|
423
423
|
session.set({ discoveries });
|
|
424
424
|
const listed = await applyDiscovery(runtime, change.rooms, discoveries, change.left);
|
|
425
425
|
await synchronize(runtime, listed, local, progress, 'authorized', live);
|
|
426
|
+
runtime.retries.succeeded('connection', OPENING_LANE);
|
|
426
427
|
}
|
|
427
|
-
catch {
|
|
428
|
+
catch (error) {
|
|
429
|
+
runtime.retries.failed('connection', OPENING_LANE, error);
|
|
428
430
|
progress.complete = false;
|
|
429
431
|
}
|
|
430
432
|
if (!live())
|
|
@@ -469,8 +471,8 @@ async function installCarried(runtime, room, local, change, live, progress) {
|
|
|
469
471
|
await publish(runtime, local, room, bootstrapped.record, { kind: 'bootstrapped', refreshed: bootstrapped.refreshed, from }, live);
|
|
470
472
|
}
|
|
471
473
|
export function applyRoom(runtime, change) {
|
|
472
|
-
const { store, socket } = runtime;
|
|
473
|
-
const {
|
|
474
|
+
const { store, socket, presence } = runtime;
|
|
475
|
+
const { session } = socket;
|
|
474
476
|
const { locator } = change;
|
|
475
477
|
if (socket.stopping())
|
|
476
478
|
return Promise.resolve();
|
|
@@ -483,7 +485,7 @@ export function applyRoom(runtime, change) {
|
|
|
483
485
|
for (;;) {
|
|
484
486
|
if (!live())
|
|
485
487
|
return null;
|
|
486
|
-
const room =
|
|
488
|
+
const room = presence.room(locator);
|
|
487
489
|
if (room === undefined || room.replica.admission !== 'admitted')
|
|
488
490
|
return null;
|
|
489
491
|
const held = await store.record(locator);
|
|
@@ -493,7 +495,7 @@ export function applyRoom(runtime, change) {
|
|
|
493
495
|
await installCarried(runtime, room, local, change, live, progress);
|
|
494
496
|
return progress;
|
|
495
497
|
}
|
|
496
|
-
if (held.replica.selection !== room.replica.selection)
|
|
498
|
+
if (held.declaration.replica.selection !== room.replica.selection)
|
|
497
499
|
return null;
|
|
498
500
|
const at = held.roomVersion;
|
|
499
501
|
if (socket.reads.reached(locator, at, change.roomVersion))
|
|
@@ -514,17 +516,19 @@ export function applyRoom(runtime, change) {
|
|
|
514
516
|
remodelled: refreshed.remodelled,
|
|
515
517
|
};
|
|
516
518
|
if (await publish(runtime, local, room, refreshed.record, landing, writing)) {
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
519
|
+
presence.stood(locator, false);
|
|
520
|
+
const declaration = declared(room);
|
|
521
|
+
if (!sameDeclaration(held.declaration, declaration))
|
|
522
|
+
await retainModel(runtime, locator, declaration, null);
|
|
520
523
|
return progress;
|
|
521
524
|
}
|
|
522
525
|
}
|
|
523
526
|
}
|
|
524
|
-
catch {
|
|
525
|
-
|
|
527
|
+
catch (error) {
|
|
528
|
+
runtime.retries.failed('download', locator, error);
|
|
529
|
+
if (!presence.standing(locator).stale)
|
|
526
530
|
void name(runtime, locator);
|
|
527
|
-
|
|
531
|
+
presence.stood(locator, true);
|
|
528
532
|
return progress;
|
|
529
533
|
}
|
|
530
534
|
})
|
package/dist/tables.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import { type QueryAnswer, type QueryRoom } from './compile.js';
|
|
2
2
|
import type { Composed } from './collection.js';
|
|
3
|
+
import { type AuthoredFact, type AuthoredWrite, type HeldQueues, type KeptRecord, type StoredFile } from './authored.js';
|
|
3
4
|
import type { UnsentWork } from './durability.js';
|
|
4
|
-
import type
|
|
5
|
-
import { type ConversationWrite, type HeldConversation, type HeldRow, type MessageWindow } from './messages.js';
|
|
5
|
+
import { type ConversationWrite, type HeldConversation, type HeldFact, type HeldRow, type MessageWindow } from './messages.js';
|
|
6
6
|
import type { GroupTotal, Plan } from './query.js';
|
|
7
7
|
import { type ReadAt } from './reads.js';
|
|
8
8
|
import { type ConversationTally, type RoomTally } from './tallies.js';
|
|
9
|
-
import { type Committed, type Covering, type HeldEntry, type HeldLocators, type HeldRoomRow, type HeldRoomWork, type ReplicaOpened, type Referrer, type Resumed, type RoomCommit, type StoredEntry, type TypedEntry, type View } from './stored.js';
|
|
10
|
-
export type { Committed, Covering, HeldEntry, HeldLocators, HeldRoomRow, HeldRoomWork, OverlayEntry, ReplicaOpened, Referrer, Resumed, RoomCommit, StoredEntry, TypedEntry, View, } from './stored.js';
|
|
9
|
+
import { type Committed, type CoverLog, type Covering, type HeldEntry, type HeldLocators, type HeldRoomRow, type HeldRoomWork, type ReplicaOpened, type Referrer, type Resumed, type RoomCommit, type StoredEntry, type TypedEntry, type View } from './stored.js';
|
|
10
|
+
export type { Committed, CoverLog, Covering, HeldEntry, HeldLocators, HeldRoomRow, HeldRoomWork, OverlayEntry, ReplicaOpened, Referrer, Resumed, RoomCommit, StoredEntry, TypedEntry, View, } from './stored.js';
|
|
11
|
+
export { authoredEmptied, authoredTable, FILE_PART_BYTES, formatted, heldTables, type AuthoredFact, type AuthoredRows, type KeptRecord, type StoredFile, } from './authored.js';
|
|
11
12
|
export type { QueryAnswer, QueryRoom } from './compile.js';
|
|
12
|
-
export type { ConversationWrite, HeldConversation, HeldRow, MessageWindow } from './messages.js';
|
|
13
|
+
export type { ConversationFact, ConversationWrite, HeldConversation, HeldFact, HeldRow, MessageWindow, } from './messages.js';
|
|
13
14
|
export type { ConversationTally, RoomTally } from './tallies.js';
|
|
14
15
|
export type Value = string | number | bigint | Uint8Array | null;
|
|
15
16
|
export type Row = Readonly<Record<string, Value>>;
|
|
@@ -51,53 +52,13 @@ export interface SqliteDatabase {
|
|
|
51
52
|
prepare(sql: string): SqliteStatement;
|
|
52
53
|
}
|
|
53
54
|
export declare function sqliteConnection(engine: SqliteEngine, database: SqliteDatabase): Connection;
|
|
54
|
-
export declare const FILE_PART_BYTES = 1048576;
|
|
55
55
|
export declare const RUNTIME_TABLES: readonly string[];
|
|
56
|
-
export type AuthoredFact = 'holder' | 'generation';
|
|
57
|
-
export type StoredFile = {
|
|
58
|
-
readonly key: string;
|
|
59
|
-
readonly blob: Blob;
|
|
60
|
-
};
|
|
61
56
|
export interface FileSpool {
|
|
62
57
|
held(): Iterable<string>;
|
|
63
58
|
spool(key: string, type: string, parts: Iterable<Uint8Array>): Promise<Blob>;
|
|
64
59
|
drop(key: string): Promise<void>;
|
|
65
60
|
probe(bytes: number): Promise<void>;
|
|
66
61
|
}
|
|
67
|
-
export type KeptPending = {
|
|
68
|
-
readonly id: string;
|
|
69
|
-
readonly batch: string;
|
|
70
|
-
readonly state: string;
|
|
71
|
-
readonly files: readonly string[];
|
|
72
|
-
readonly paths: readonly string[];
|
|
73
|
-
readonly moving: boolean;
|
|
74
|
-
};
|
|
75
|
-
export type KeptRecord = {
|
|
76
|
-
readonly record: string;
|
|
77
|
-
readonly files: readonly string[];
|
|
78
|
-
};
|
|
79
|
-
export type AuthoredRows = {
|
|
80
|
-
readonly locator: string;
|
|
81
|
-
readonly order?: readonly string[];
|
|
82
|
-
readonly added?: readonly KeptPending[];
|
|
83
|
-
readonly founded?: readonly Omit<KeptPending, 'state'>[];
|
|
84
|
-
readonly roomDrafts?: readonly (KeptRecord & {
|
|
85
|
-
readonly path: string;
|
|
86
|
-
})[];
|
|
87
|
-
readonly consumedRoomDrafts?: readonly string[];
|
|
88
|
-
};
|
|
89
|
-
export type HeldQueues = {
|
|
90
|
-
readonly queues: readonly {
|
|
91
|
-
readonly locator: string;
|
|
92
|
-
readonly ids: readonly string[];
|
|
93
|
-
}[];
|
|
94
|
-
readonly pending: readonly {
|
|
95
|
-
readonly locator: string;
|
|
96
|
-
readonly id: string;
|
|
97
|
-
readonly batch: string;
|
|
98
|
-
readonly state: string;
|
|
99
|
-
}[];
|
|
100
|
-
};
|
|
101
62
|
export type HeldStatus = {
|
|
102
63
|
readonly queued: readonly string[];
|
|
103
64
|
readonly lastCompleted: string | null;
|
|
@@ -131,11 +92,6 @@ type Nothing = Readonly<Record<never, never>>;
|
|
|
131
92
|
export type CommittedWrite = Committed & {
|
|
132
93
|
readonly fenced: string | null;
|
|
133
94
|
};
|
|
134
|
-
export type AuthoredWrite = {
|
|
135
|
-
readonly writes: readonly AuthoredRows[];
|
|
136
|
-
readonly files: readonly StoredFile[];
|
|
137
|
-
readonly whole: boolean;
|
|
138
|
-
};
|
|
139
95
|
export interface RuntimeRequests {
|
|
140
96
|
readonly 'authored.status': Asked<Nothing, HeldStatus>;
|
|
141
97
|
readonly 'authored.moving': Asked<Nothing, HeldQueues>;
|
|
@@ -212,13 +168,17 @@ export interface RuntimeRequests {
|
|
|
212
168
|
readonly 'replica.room': Asked<{
|
|
213
169
|
readonly locator: string;
|
|
214
170
|
}, HeldRoomWork>;
|
|
215
|
-
readonly 'replica.covering': Asked<
|
|
171
|
+
readonly 'replica.covering': Asked<{
|
|
172
|
+
readonly since: CoverLog | null;
|
|
173
|
+
}, Covering>;
|
|
216
174
|
readonly 'replica.offline': Asked<{
|
|
217
175
|
readonly locator: string;
|
|
218
176
|
}, string | null>;
|
|
219
177
|
readonly 'replica.held': Asked<Nothing, HeldLocators>;
|
|
220
178
|
readonly 'replica.demote': Asked<Nothing, null>;
|
|
221
|
-
readonly 'replica.facts': Asked<
|
|
179
|
+
readonly 'replica.facts': Asked<{
|
|
180
|
+
readonly names: readonly string[] | null;
|
|
181
|
+
}, Readonly<Record<string, string>>>;
|
|
222
182
|
readonly 'replica.presentation': Asked<{
|
|
223
183
|
readonly app: string;
|
|
224
184
|
}, string | null>;
|
|
@@ -249,7 +209,6 @@ export interface RuntimeRequests {
|
|
|
249
209
|
}, readonly Referrer[]>;
|
|
250
210
|
readonly 'replica.folders': Asked<{
|
|
251
211
|
readonly key: number;
|
|
252
|
-
readonly view: View;
|
|
253
212
|
readonly paths: readonly string[];
|
|
254
213
|
}, readonly string[]>;
|
|
255
214
|
readonly 'replica.typedWithin': Asked<{
|
|
@@ -378,16 +337,16 @@ export interface RuntimeRequests {
|
|
|
378
337
|
readonly 'conversation.rows': Asked<{
|
|
379
338
|
readonly conversations: readonly string[];
|
|
380
339
|
}, readonly HeldRow[]>;
|
|
381
|
-
readonly 'conversation.jobs': Asked<{
|
|
382
|
-
readonly conversation: string;
|
|
383
|
-
}, readonly JobMarker[]>;
|
|
384
340
|
readonly 'conversation.tallies': Asked<{
|
|
385
341
|
readonly conversations: readonly string[] | null;
|
|
386
342
|
readonly since: string;
|
|
387
343
|
}, readonly ConversationTally[]>;
|
|
344
|
+
readonly 'conversation.facts': Asked<Nothing, readonly HeldFact[]>;
|
|
345
|
+
readonly 'conversation.fact': Asked<HeldFact, null>;
|
|
346
|
+
readonly 'conversation.stored': Asked<Nothing, readonly string[]>;
|
|
388
347
|
readonly 'conversation.drop': Asked<{
|
|
389
348
|
readonly conversations: readonly string[];
|
|
390
|
-
},
|
|
349
|
+
}, readonly string[]>;
|
|
391
350
|
readonly 'space.probe': Asked<Nothing, null>;
|
|
392
351
|
readonly 'read.stored': Asked<ReadAt, string | null>;
|
|
393
352
|
readonly 'read.keep': Asked<ReadAt & {
|
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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"}
|