@agentshouse/mdruntime 0.1.0-cff1b70c6ad46 → 0.1.0-cffcba9cd9c2f
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/dist/acceptance.d.ts +0 -3
- package/dist/acceptance.d.ts.map +1 -1
- package/dist/acceptance.js +48 -124
- package/dist/actions.js +2 -2
- package/dist/adapter.d.ts +16 -44
- package/dist/adapter.d.ts.map +1 -1
- 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/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +5 -3
- package/dist/collection.d.ts +22 -4
- package/dist/collection.d.ts.map +1 -1
- package/dist/collection.js +12 -2
- package/dist/connection.d.ts.map +1 -1
- package/dist/connection.js +13 -13
- package/dist/conversation-live.d.ts +3 -4
- package/dist/conversation-live.d.ts.map +1 -1
- package/dist/conversation-live.js +2 -3
- package/dist/conversation.d.ts +4 -6
- package/dist/conversation.d.ts.map +1 -1
- package/dist/conversation.js +43 -71
- 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 +5 -3
- package/dist/failure.d.ts +1 -0
- package/dist/failure.d.ts.map +1 -1
- package/dist/failure.js +3 -0
- package/dist/host.d.ts +17 -2
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +16 -4
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/install.d.ts +0 -1
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +46 -57
- package/dist/job.d.ts +1 -29
- package/dist/job.d.ts.map +1 -1
- package/dist/job.js +2 -49
- package/dist/lifecycle.d.ts.map +1 -1
- package/dist/lifecycle.js +9 -6
- package/dist/listing.d.ts +3 -4
- package/dist/listing.d.ts.map +1 -1
- package/dist/listing.js +14 -22
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +3 -1
- package/dist/locks.d.ts.map +1 -1
- package/dist/locks.js +2 -1
- package/dist/lost.d.ts.map +1 -1
- package/dist/lost.js +3 -3
- package/dist/memory.d.ts +4 -2
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +8 -6
- package/dist/messages.d.ts +0 -3
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +0 -14
- 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 +101 -126
- package/dist/opening.d.ts.map +1 -1
- package/dist/opening.js +6 -4
- package/dist/overlay.d.ts +2 -1
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +32 -21
- package/dist/parts.d.ts +3 -52
- package/dist/parts.d.ts.map +1 -1
- package/dist/parts.js +15 -120
- package/dist/preparation.d.ts.map +1 -1
- package/dist/preparation.js +10 -3
- package/dist/queue.d.ts +32 -0
- package/dist/queue.d.ts.map +1 -0
- package/dist/queue.js +402 -0
- package/dist/reach.d.ts.map +1 -1
- package/dist/reach.js +5 -4
- package/dist/reads.d.ts.map +1 -1
- package/dist/reads.js +4 -1
- package/dist/refresh.js +2 -2
- package/dist/refusal.d.ts.map +1 -1
- package/dist/refusal.js +3 -1
- package/dist/replica.d.ts +5 -11
- package/dist/replica.d.ts.map +1 -1
- package/dist/replica.js +12 -14
- package/dist/room-draft.d.ts +3 -2
- package/dist/room-draft.d.ts.map +1 -1
- package/dist/room-draft.js +33 -20
- package/dist/room-drafts.js +3 -3
- package/dist/rows.d.ts.map +1 -1
- package/dist/rows.js +3 -4
- package/dist/runtime.d.ts +5 -16
- package/dist/runtime.d.ts.map +1 -1
- package/dist/save.d.ts +5 -10
- package/dist/save.d.ts.map +1 -1
- package/dist/save.js +59 -56
- package/dist/saves.d.ts +2 -40
- package/dist/saves.d.ts.map +1 -1
- package/dist/saves.js +23 -349
- package/dist/shown.d.ts +2 -1
- package/dist/shown.d.ts.map +1 -1
- package/dist/shown.js +13 -6
- package/dist/socket/rooms.d.ts +1 -4
- package/dist/socket/rooms.d.ts.map +1 -1
- package/dist/socket.d.ts +0 -1
- package/dist/socket.d.ts.map +1 -1
- package/dist/store/records.d.ts +0 -2
- package/dist/store/records.d.ts.map +1 -1
- package/dist/store/records.js +0 -3
- package/dist/store.d.ts +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +1 -1
- package/dist/stored.d.ts.map +1 -1
- package/dist/stored.js +3 -3
- package/dist/surface.d.ts.map +1 -1
- package/dist/surface.js +2 -1
- package/dist/sync.d.ts.map +1 -1
- package/dist/sync.js +18 -20
- package/dist/tables.d.ts +0 -4
- package/dist/tables.d.ts.map +1 -1
- package/dist/tables.js +1 -4
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +2 -2
- package/dist/wire.d.ts +4 -4
- package/dist/wire.d.ts.map +1 -1
- package/dist/wire.js +3 -3
- package/package.json +3 -2
package/dist/saves.js
CHANGED
|
@@ -1,345 +1,26 @@
|
|
|
1
1
|
import { parseFrontmatter } from '@agentshouse/mdmodel';
|
|
2
2
|
import { binaryRecord } from './binary.js';
|
|
3
3
|
import { changeSet, mergeChangeSets } from './change-set.js';
|
|
4
|
-
import {
|
|
4
|
+
import { queuedFile } from './change.js';
|
|
5
5
|
import { available, composedOf } from './collection.js';
|
|
6
6
|
import { runtimeError } from './failure.js';
|
|
7
7
|
import { attachedFile } from './file.js';
|
|
8
8
|
import { roomDraftRevision } from './identity.js';
|
|
9
|
-
import { confirmedAgain } from './install.js';
|
|
10
9
|
import { compositionFor } from './listing.js';
|
|
10
|
+
import { scoped } from './models.js';
|
|
11
11
|
import { absentBinary, attachAnswer, binaryAnswer, binaryLinkAnswer, failure, OFFLINE, UNCERTAIN, } from './outcome.js';
|
|
12
12
|
import { sameBinary } from './overlay.js';
|
|
13
13
|
import { ancestors } from './paths.js';
|
|
14
|
-
import { connectionNow
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
14
|
+
import { connectionNow } from './preparation.js';
|
|
15
|
+
import { overlayDiff, replayed, sliceAt, withdrawable } from './queue.js';
|
|
16
|
+
import { entryAt, replaying, slicing, } from './replica.js';
|
|
17
|
+
import { binaryBase, changedParts, changesOf, held, heldFile, joinedDraft, moveTarget, readSavedParts, withdrawnDrafts, } from './room-draft.js';
|
|
17
18
|
import { refuse } from './refusal.js';
|
|
18
19
|
import { visibleOf } from './room-drafts.js';
|
|
19
|
-
import { documentKey } from './rows.js';
|
|
20
20
|
import { buildBatch, buildMove, joined, limiting, queuedDocuments, requeuing, } from './save.js';
|
|
21
21
|
import { pendingShown } from './shown.js';
|
|
22
22
|
import { paced, ROW_WEIGHT, stepped } from './turn.js';
|
|
23
23
|
import { validatedNeighbourhood } from './validation.js';
|
|
24
|
-
export function withdrawable(states) {
|
|
25
|
-
return (batch) => {
|
|
26
|
-
const state = states.get(batch.id);
|
|
27
|
-
return state !== undefined && state.submission.state !== 'submitted' && !state.lost;
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
export async function sliceAt(store, record, view, queue, extra = [], moved = []) {
|
|
31
|
-
const local = await store.open();
|
|
32
|
-
const needed = new Set([...touchedBy(queue), ...extra]);
|
|
33
|
-
const movedPaths = [...new Set([...movedBy(queue, record.locator), ...moved])];
|
|
34
|
-
if (movedPaths.length > 0) {
|
|
35
|
-
for (const { path } of await local.referrers(record.key, view, movedPaths)) {
|
|
36
|
-
needed.add(path);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const paths = [...needed];
|
|
40
|
-
return stepped(slicing(await local.entries(record.key, view, paths), paths));
|
|
41
|
-
}
|
|
42
|
-
export async function landedWhole(store, locator, batch, confirmedLayer, current) {
|
|
43
|
-
if (!landed(batch, confirmedLayer, current))
|
|
44
|
-
return false;
|
|
45
|
-
const partner = partnerOf(batch, locator);
|
|
46
|
-
if (partner === null)
|
|
47
|
-
return true;
|
|
48
|
-
const other = await store.replica(partner);
|
|
49
|
-
const half = other?.queue.find((one) => one.id === batch.id);
|
|
50
|
-
if (other === undefined || half === undefined)
|
|
51
|
-
return false;
|
|
52
|
-
return landed(half, await sliceAt(store, other.record, 'confirmed', [half]));
|
|
53
|
-
}
|
|
54
|
-
async function carriedBack(store, locator, unlanded, written) {
|
|
55
|
-
const back = new Map();
|
|
56
|
-
const taken = [];
|
|
57
|
-
for (const batch of unlanded) {
|
|
58
|
-
const between = batch.between;
|
|
59
|
-
if (between === undefined)
|
|
60
|
-
continue;
|
|
61
|
-
const source = between.source.room;
|
|
62
|
-
const destination = between.destination.room;
|
|
63
|
-
const local = await store.open();
|
|
64
|
-
const arrived = (await local.pending(destination, batch.id)).state?.drafts ?? [];
|
|
65
|
-
for (const { path: to } of arrived) {
|
|
66
|
-
const record = await store.draft(destination, to);
|
|
67
|
-
const path = between.moves.find((move) => move.to === to)?.path;
|
|
68
|
-
if (record === undefined || path === undefined)
|
|
69
|
-
continue;
|
|
70
|
-
const [into, key] = source === locator ? [written, path] : [back, documentKey(source, path)];
|
|
71
|
-
const existing = into.get(key) ?? (await store.draft(source, path));
|
|
72
|
-
taken.push({ locator: destination, path: to });
|
|
73
|
-
into.set(key, {
|
|
74
|
-
locator: source,
|
|
75
|
-
path,
|
|
76
|
-
revision: roomDraftRevision(),
|
|
77
|
-
parts: returnedInto(existing?.parts, record.parts),
|
|
78
|
-
returned: existing?.returned ?? null,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
const records = [...back.values()];
|
|
83
|
-
const elsewhere = taken.filter((one) => one.locator !== locator);
|
|
84
|
-
const rooms = new Set([...records, ...elsewhere].map((one) => one.locator));
|
|
85
|
-
return {
|
|
86
|
-
taken: taken.filter((one) => one.locator === locator).map(({ path }) => path),
|
|
87
|
-
writes: [...rooms].map((room) => ({
|
|
88
|
-
locator: room,
|
|
89
|
-
roomDrafts: records.filter((record) => record.locator === room),
|
|
90
|
-
consumedRoomDrafts: elsewhere.filter((one) => one.locator === room).map(({ path }) => path),
|
|
91
|
-
})),
|
|
92
|
-
changes: [...rooms].map((room) => changeSet(room, {
|
|
93
|
-
drafts: [...records, ...elsewhere]
|
|
94
|
-
.filter((one) => one.locator === room)
|
|
95
|
-
.map(({ path }) => path),
|
|
96
|
-
})),
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
export function preparedAfter(runtime, locator, answer) {
|
|
100
|
-
if (answer.indexed[locator] === false)
|
|
101
|
-
prepare(runtime, [locator]);
|
|
102
|
-
}
|
|
103
|
-
export function replayed(store, record, confirmedLayer, queue) {
|
|
104
|
-
return stepped(replaying(confirmedLayer, queue, record.locator, store.composed(record)));
|
|
105
|
-
}
|
|
106
|
-
export async function overlayDiff(record, before, visible, touched) {
|
|
107
|
-
const kept = before !== undefined && before.record.key === record.key ? before.overlaid : new Set();
|
|
108
|
-
return {
|
|
109
|
-
overlay: {
|
|
110
|
-
set: await stepped(overlayOf(visible, touched)),
|
|
111
|
-
cleared: [...kept].filter((path) => !touched.has(path)),
|
|
112
|
-
},
|
|
113
|
-
touched,
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
export async function settle(runtime, local, locator, work, record, queue, settling = {}) {
|
|
117
|
-
return together(runtime, local, [
|
|
118
|
-
await settlement(runtime, local, locator, work, record, queue, settling),
|
|
119
|
-
]);
|
|
120
|
-
}
|
|
121
|
-
async function unpairedIn(store, locator, batch) {
|
|
122
|
-
const { state } = await (await store.open()).pending(locator, batch.id);
|
|
123
|
-
if (state === undefined)
|
|
124
|
-
return false;
|
|
125
|
-
return !leavingIn(batch, locator) || withdrawable(new Map([[batch.id, state]]))(batch);
|
|
126
|
-
}
|
|
127
|
-
export async function together(runtime, local, settlements) {
|
|
128
|
-
const settled = new Set(settlements.map(({ locator }) => locator));
|
|
129
|
-
const all = [...settlements];
|
|
130
|
-
for (let wave = settlements; wave.length > 0;) {
|
|
131
|
-
const partnered = new Map();
|
|
132
|
-
for (const { locator, left } of wave) {
|
|
133
|
-
for (const batch of left) {
|
|
134
|
-
const partner = partnerOf(batch, locator);
|
|
135
|
-
if (partner === null ||
|
|
136
|
-
settled.has(partner) ||
|
|
137
|
-
!(await unpairedIn(runtime.store, partner, batch))) {
|
|
138
|
-
continue;
|
|
139
|
-
}
|
|
140
|
-
partnered.set(partner, [...(partnered.get(partner) ?? []), batch]);
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
const partners = [];
|
|
144
|
-
for (const [partner, batches] of partnered) {
|
|
145
|
-
settled.add(partner);
|
|
146
|
-
partners.push(await unpairing(runtime, local, partner, batches));
|
|
147
|
-
}
|
|
148
|
-
all.push(...partners);
|
|
149
|
-
wave = partners;
|
|
150
|
-
}
|
|
151
|
-
const answer = await local.commit({
|
|
152
|
-
rooms: all.flatMap(({ commit }) => commit.rooms),
|
|
153
|
-
writes: all.flatMap(({ commit }) => commit.writes),
|
|
154
|
-
});
|
|
155
|
-
return mergeChangeSets(all.map((one) => one.apply(answer)));
|
|
156
|
-
}
|
|
157
|
-
export async function settlement(runtime, local, locator, work, record, queue, settling = {}) {
|
|
158
|
-
const { store, journal, localSaves } = runtime;
|
|
159
|
-
const before = work.replica;
|
|
160
|
-
const view = settling.view ?? 'confirmed';
|
|
161
|
-
const previousQueue = work.queue;
|
|
162
|
-
const overrides = settling.changes;
|
|
163
|
-
const read = await sliceAt(store, record, view, queue, [
|
|
164
|
-
...(before !== undefined && before.record.key === record.key ? before.overlaid : []),
|
|
165
|
-
...(overrides?.set.map(({ path }) => path) ?? []),
|
|
166
|
-
...(overrides?.removed ?? []),
|
|
167
|
-
]);
|
|
168
|
-
const confirmedLayer = overrides === undefined
|
|
169
|
-
? read
|
|
170
|
-
: await stepped(slicingWith(read, overrides.set, overrides.removed));
|
|
171
|
-
const composition = store.composed(record);
|
|
172
|
-
const shown = queue.filter((batch) => {
|
|
173
|
-
const held = store.landed.of(locator, batch.id);
|
|
174
|
-
return (held !== undefined &&
|
|
175
|
-
Object.entries(held).some(([path, revision]) => confirmedLayer.revisions[path] !== revision));
|
|
176
|
-
});
|
|
177
|
-
const unshown = queue.filter((batch) => !shown.includes(batch));
|
|
178
|
-
const { withdrawn, kept } = await stepped(standing(confirmedLayer, unshown, withdrawable(work.states), localSaves, locator, composition));
|
|
179
|
-
const founded = kept.filter((batch) => !unshown.includes(batch));
|
|
180
|
-
const queueChanged = kept.length !== previousQueue.length || founded.length > 0;
|
|
181
|
-
const unqueued = shown.map((batch) => ({ batch, landed: true }));
|
|
182
|
-
for (const batch of withdrawn) {
|
|
183
|
-
unqueued.push({ batch, landed: await landedWhole(store, locator, batch, confirmedLayer) });
|
|
184
|
-
}
|
|
185
|
-
const returning = [
|
|
186
|
-
...[...unqueued].reverse().map(({ batch, landed: held }) => ({
|
|
187
|
-
batch,
|
|
188
|
-
returned: localSaves || held ? null : returnedBy(),
|
|
189
|
-
})),
|
|
190
|
-
...(settling.leaving ?? []),
|
|
191
|
-
];
|
|
192
|
-
const written = new Map();
|
|
193
|
-
for (const { batch, returned: reason } of returning) {
|
|
194
|
-
if (reason === null || batch.between?.destination.room === locator)
|
|
195
|
-
continue;
|
|
196
|
-
for (const saved of work.states.get(batch.id)?.drafts ?? []) {
|
|
197
|
-
const existing = written.get(saved.path) ?? (await store.draft(locator, saved.path));
|
|
198
|
-
written.set(saved.path, {
|
|
199
|
-
locator,
|
|
200
|
-
path: saved.path,
|
|
201
|
-
revision: roomDraftRevision(),
|
|
202
|
-
parts: returnedInto(existing?.parts, saved.parts),
|
|
203
|
-
returned: reason,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
const carried = await carriedBack(store, locator, [
|
|
208
|
-
...[...unqueued].reverse().flatMap(({ batch, landed: held }) => (held ? [] : [batch])),
|
|
209
|
-
...(settling.leaving ?? []).flatMap(({ batch, returned }) => returned === null ? [] : [batch]),
|
|
210
|
-
], written);
|
|
211
|
-
const replayedLayer = await replayed(store, record, confirmedLayer, kept);
|
|
212
|
-
const { overlay } = await overlayDiff(record, before, replayedLayer.visible, replayedLayer.touched);
|
|
213
|
-
const commit = {
|
|
214
|
-
rooms: [
|
|
215
|
-
{
|
|
216
|
-
locator,
|
|
217
|
-
key: record.key,
|
|
218
|
-
record: storedRecord(record),
|
|
219
|
-
roots: record.typedSelection?.roots ?? [],
|
|
220
|
-
composed: composedOf(composition),
|
|
221
|
-
...settling.commit,
|
|
222
|
-
...(overrides === undefined
|
|
223
|
-
? {}
|
|
224
|
-
: { confirmed: { set: overrides.set, removed: overrides.removed } }),
|
|
225
|
-
overlay,
|
|
226
|
-
},
|
|
227
|
-
],
|
|
228
|
-
writes: [
|
|
229
|
-
{
|
|
230
|
-
locator,
|
|
231
|
-
queue: kept,
|
|
232
|
-
stored: previousQueue,
|
|
233
|
-
founded,
|
|
234
|
-
roomDrafts: [...written.values()],
|
|
235
|
-
consumedRoomDrafts: carried.taken,
|
|
236
|
-
},
|
|
237
|
-
...carried.writes,
|
|
238
|
-
],
|
|
239
|
-
};
|
|
240
|
-
const staying = new Set(kept.map((batch) => batch.id));
|
|
241
|
-
return {
|
|
242
|
-
locator,
|
|
243
|
-
left: previousQueue.filter((batch) => !staying.has(batch.id)),
|
|
244
|
-
commit,
|
|
245
|
-
apply: (answer) => {
|
|
246
|
-
for (const batch of previousQueue) {
|
|
247
|
-
if (!staying.has(batch.id))
|
|
248
|
-
store.landed.drop(locator, batch.id);
|
|
249
|
-
}
|
|
250
|
-
const drafts = [...written.keys(), ...carried.taken];
|
|
251
|
-
for (const { batch, landed: held } of unqueued) {
|
|
252
|
-
const outcome = localSaves ? 'dropped' : held ? 'landed' : 'withdrawn';
|
|
253
|
-
journal.record(`outcome ${locator} ${batch.id} ${outcome}`);
|
|
254
|
-
}
|
|
255
|
-
const changed = answer.changed[locator];
|
|
256
|
-
if (settling.commit?.published !== undefined ||
|
|
257
|
-
settling.commit?.refreshed === true ||
|
|
258
|
-
overrides !== undefined) {
|
|
259
|
-
confirmedAgain(store, locator);
|
|
260
|
-
}
|
|
261
|
-
preparedAfter(runtime, locator, answer);
|
|
262
|
-
return mergeChangeSets([
|
|
263
|
-
changeSet(locator, {
|
|
264
|
-
documents: changed === undefined ? [] : changed,
|
|
265
|
-
room: settling.room,
|
|
266
|
-
queue: queueChanged,
|
|
267
|
-
drafts,
|
|
268
|
-
}),
|
|
269
|
-
...carried.changes,
|
|
270
|
-
]);
|
|
271
|
-
},
|
|
272
|
-
};
|
|
273
|
-
}
|
|
274
|
-
export async function unpairing(runtime, local, locator, batches) {
|
|
275
|
-
const { store, journal, localSaves, submitLater } = runtime;
|
|
276
|
-
const ids = new Set(batches.map(({ id }) => id));
|
|
277
|
-
const leaving = batches.map((batch) => ({
|
|
278
|
-
batch,
|
|
279
|
-
returned: !localSaves && leavingIn(batch, locator) ? returnedBy() : null,
|
|
280
|
-
}));
|
|
281
|
-
const outcome = localSaves ? 'dropped' : 'unpaired';
|
|
282
|
-
const work = await store.work(locator);
|
|
283
|
-
const current = work.replica;
|
|
284
|
-
if (current !== undefined) {
|
|
285
|
-
const settled = await settlement(runtime, local, locator, work, current.record, current.queue.filter((one) => !ids.has(one.id)), { leaving });
|
|
286
|
-
return {
|
|
287
|
-
...settled,
|
|
288
|
-
apply(answer) {
|
|
289
|
-
for (const batch of batches)
|
|
290
|
-
journal.record(`outcome ${locator} ${batch.id} ${outcome}`);
|
|
291
|
-
const set = settled.apply(answer);
|
|
292
|
-
submitLater(locator);
|
|
293
|
-
return set;
|
|
294
|
-
},
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
const queue = work.queue.filter((one) => !ids.has(one.id));
|
|
298
|
-
const written = new Map();
|
|
299
|
-
for (const { batch, returned } of leaving) {
|
|
300
|
-
if (returned === null)
|
|
301
|
-
continue;
|
|
302
|
-
for (const saved of work.states.get(batch.id)?.drafts ?? []) {
|
|
303
|
-
written.set(saved.path, {
|
|
304
|
-
locator,
|
|
305
|
-
path: saved.path,
|
|
306
|
-
revision: roomDraftRevision(),
|
|
307
|
-
parts: returnedInto((written.get(saved.path) ?? (await store.draft(locator, saved.path)))?.parts, saved.parts),
|
|
308
|
-
returned,
|
|
309
|
-
});
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
const carried = await carriedBack(store, locator, leaving.flatMap(({ batch, returned }) => (returned === null ? [] : [batch])), written);
|
|
313
|
-
return {
|
|
314
|
-
locator,
|
|
315
|
-
left: batches,
|
|
316
|
-
commit: {
|
|
317
|
-
rooms: [],
|
|
318
|
-
writes: [
|
|
319
|
-
{
|
|
320
|
-
locator,
|
|
321
|
-
queue,
|
|
322
|
-
stored: work.queue,
|
|
323
|
-
roomDrafts: [...written.values()],
|
|
324
|
-
consumedRoomDrafts: carried.taken,
|
|
325
|
-
},
|
|
326
|
-
...carried.writes,
|
|
327
|
-
],
|
|
328
|
-
},
|
|
329
|
-
apply() {
|
|
330
|
-
for (const batch of batches)
|
|
331
|
-
journal.record(`outcome ${locator} ${batch.id} ${outcome}`);
|
|
332
|
-
submitLater(locator);
|
|
333
|
-
return mergeChangeSets([
|
|
334
|
-
changeSet(locator, {
|
|
335
|
-
queue: true,
|
|
336
|
-
drafts: [...written.keys(), ...carried.taken],
|
|
337
|
-
}),
|
|
338
|
-
...carried.changes,
|
|
339
|
-
]);
|
|
340
|
-
},
|
|
341
|
-
};
|
|
342
|
-
}
|
|
343
24
|
async function savedRoom(store, locator) {
|
|
344
25
|
const local = await store.open();
|
|
345
26
|
const replica = await store.replica(locator);
|
|
@@ -426,7 +107,7 @@ async function unmodeledIn(runtime, record) {
|
|
|
426
107
|
if (available(composition))
|
|
427
108
|
return false;
|
|
428
109
|
const local = await runtime.store.open();
|
|
429
|
-
const roots = record.typedSelection?.roots ?? [];
|
|
110
|
+
const roots = record.declaration.typedSelection?.roots ?? [];
|
|
430
111
|
return local.typedWithin(record.key, 'visible', roots, false);
|
|
431
112
|
}
|
|
432
113
|
function textDiffers(left, right) {
|
|
@@ -507,12 +188,10 @@ async function sideOf(runtime, locator, replica, saving) {
|
|
|
507
188
|
const record = replica.record;
|
|
508
189
|
return {
|
|
509
190
|
room: locator,
|
|
510
|
-
handle: record.handle,
|
|
191
|
+
handle: record.declaration.handle,
|
|
511
192
|
baseRoomVersion: record.roomVersion,
|
|
512
193
|
composition: compositionFor(runtime, record),
|
|
513
|
-
|
|
514
|
-
providerOwnedPaths: record.providerOwnedPaths,
|
|
515
|
-
authoredPaths: record.authoredPaths,
|
|
194
|
+
rule: runtime.writeRule(record.declaration),
|
|
516
195
|
visible: saving.visible,
|
|
517
196
|
folders: saving.folders,
|
|
518
197
|
queued: queuedDocuments(replica.queue),
|
|
@@ -532,7 +211,7 @@ async function saveCommit(store, local, files, rooms) {
|
|
|
532
211
|
commits.push({
|
|
533
212
|
locator,
|
|
534
213
|
key: saving.record.key,
|
|
535
|
-
roots: saving.record.typedSelection?.roots ?? [],
|
|
214
|
+
roots: saving.record.declaration.typedSelection?.roots ?? [],
|
|
536
215
|
composed: composedOf(store.composed(saving.record)),
|
|
537
216
|
overlay: diff.overlay,
|
|
538
217
|
});
|
|
@@ -570,7 +249,6 @@ async function committedMove(runtime, locator, destination, { local, replica },
|
|
|
570
249
|
destination: await sideOf(runtime, destination, target, arriving),
|
|
571
250
|
moves,
|
|
572
251
|
providerLimits: (await local.facts()).providerLimits,
|
|
573
|
-
pathRule: runtime.pathRule,
|
|
574
252
|
local: localSaves,
|
|
575
253
|
...(writtenBy === undefined ? {} : { writtenBy }),
|
|
576
254
|
});
|
|
@@ -634,28 +312,24 @@ async function committedMove(runtime, locator, destination, { local, replica },
|
|
|
634
312
|
if (store.fences.has(locator) || store.fences.has(destination)) {
|
|
635
313
|
throw runtimeError('unknown-room', `Unknown Room ${locator}`);
|
|
636
314
|
}
|
|
637
|
-
preparedAfter(runtime, locator, answer);
|
|
638
|
-
preparedAfter(runtime, destination, answer);
|
|
639
315
|
const shownNow = store.changed(mergeChangeSets([
|
|
640
316
|
changeSet(locator, {
|
|
641
317
|
documents: answer.changed[locator] ?? [],
|
|
642
318
|
queue: true,
|
|
643
319
|
drafts: left,
|
|
320
|
+
unindexed: answer.indexed[locator] === false,
|
|
321
|
+
due: true,
|
|
644
322
|
}),
|
|
645
323
|
changeSet(destination, {
|
|
646
324
|
documents: answer.changed[destination] ?? [],
|
|
647
325
|
queue: true,
|
|
648
326
|
drafts: carried.map(({ path }) => path),
|
|
327
|
+
unindexed: answer.indexed[destination] === false,
|
|
649
328
|
}),
|
|
650
329
|
]));
|
|
651
|
-
await Promise.all([shownNow,
|
|
330
|
+
await Promise.all([shownNow, pendingShown(runtime)]);
|
|
652
331
|
return { outcome: 'saved', identifier: id };
|
|
653
332
|
}
|
|
654
|
-
function queuedSave(runtime, locator) {
|
|
655
|
-
const shownNow = pendingShown(runtime);
|
|
656
|
-
runtime.submitLater(locator);
|
|
657
|
-
return shownNow;
|
|
658
|
-
}
|
|
659
333
|
async function committed(runtime, locator, target, saved, consumed, writtenBy, files = []) {
|
|
660
334
|
const { store, localSaves } = runtime;
|
|
661
335
|
if (store.space.full())
|
|
@@ -695,12 +369,9 @@ async function committed(runtime, locator, target, saved, consumed, writtenBy, f
|
|
|
695
369
|
local: localSaves,
|
|
696
370
|
baseRoomVersion: replica.record.roomVersion,
|
|
697
371
|
composition: compositionFor(runtime, replica.record),
|
|
698
|
-
|
|
699
|
-
providerOwnedPaths: replica.record.providerOwnedPaths,
|
|
700
|
-
authoredPaths: replica.record.authoredPaths,
|
|
372
|
+
rule: runtime.writeRule(replica.record.declaration),
|
|
701
373
|
providerLimits,
|
|
702
|
-
|
|
703
|
-
handle: replica.record.handle,
|
|
374
|
+
handle: replica.record.declaration.handle,
|
|
704
375
|
visible: saving.visible,
|
|
705
376
|
folders: saving.folders,
|
|
706
377
|
changes,
|
|
@@ -740,7 +411,9 @@ async function committed(runtime, locator, target, saved, consumed, writtenBy, f
|
|
|
740
411
|
if (built?.kind === 'refused')
|
|
741
412
|
return { outcome: 'refused', ...built.refusal };
|
|
742
413
|
const [owner] = owners;
|
|
743
|
-
const join = built === null || owner === undefined
|
|
414
|
+
const join = built === null || owner === undefined
|
|
415
|
+
? null
|
|
416
|
+
: joined(requeue.queue, owner.batch, built.batch, input.composition);
|
|
744
417
|
if (join?.kind === 'refused')
|
|
745
418
|
return { outcome: 'refused', ...join.refusal };
|
|
746
419
|
const withdrawn = new Map(requeue.withdrawn);
|
|
@@ -794,13 +467,14 @@ async function committed(runtime, locator, target, saved, consumed, writtenBy, f
|
|
|
794
467
|
}
|
|
795
468
|
if (store.fences.has(locator))
|
|
796
469
|
throw runtimeError('unknown-room', `Unknown Room ${locator}`);
|
|
797
|
-
preparedAfter(runtime, locator, answer);
|
|
798
470
|
const shownNow = store.changed(changeSet(locator, {
|
|
799
471
|
documents: answer.changed[locator] ?? [],
|
|
800
472
|
queue: true,
|
|
801
473
|
drafts: [...left, ...arrived.map(({ path }) => path)],
|
|
474
|
+
unindexed: answer.indexed[locator] === false,
|
|
475
|
+
due: true,
|
|
802
476
|
}));
|
|
803
|
-
await Promise.all([shownNow,
|
|
477
|
+
await Promise.all([shownNow, pendingShown(runtime)]);
|
|
804
478
|
const identifier = join?.batch.id ??
|
|
805
479
|
built?.batch.id ??
|
|
806
480
|
[...requeue.withdrawn].map(([origin, replaced]) => replaced?.id ?? origin).at(-1);
|
|
@@ -849,7 +523,7 @@ async function transferBinary(runtime, request, transfer, answer) {
|
|
|
849
523
|
if (settled.kind === 'scoped-refusal') {
|
|
850
524
|
const room = await store.record(settled.locator);
|
|
851
525
|
if (room !== undefined)
|
|
852
|
-
await
|
|
526
|
+
await scoped(runtime, settled, room.locator, room.declaration);
|
|
853
527
|
}
|
|
854
528
|
if (settled.kind === 'revoked-authorization')
|
|
855
529
|
await refuse(runtime, 'revoked-authorization');
|
package/dist/shown.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DiscoveredRoom, Member } from './adapter.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type ChangeSet } from './change-set.js';
|
|
3
3
|
import type { QueueEntry } from './outcome.js';
|
|
4
4
|
import type { Runtime } from './runtime.js';
|
|
5
5
|
import type { Live, Moving } from './socket.js';
|
|
@@ -26,6 +26,7 @@ export declare function transferring({ socket }: Runtime): Moving;
|
|
|
26
26
|
export declare function pendingShown(runtime: Runtime): Promise<void>;
|
|
27
27
|
export declare function entriesOf(runtime: Runtime, locator: string): Promise<readonly QueueEntry[]>;
|
|
28
28
|
export declare function publishChangeSet(runtime: Runtime, set: ChangeSet): Promise<void>;
|
|
29
|
+
export declare function submissionDue(runtime: Runtime, locators?: readonly string[]): Promise<void>;
|
|
29
30
|
export declare function roomUnreadable(runtime: Runtime, room: DiscoveredRoom): void;
|
|
30
31
|
export declare function rest(runtime: Runtime, progress: CycleProgress | null, live?: Live): Promise<void>;
|
|
31
32
|
//# sourceMappingURL=shown.d.ts.map
|
package/dist/shown.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shown.d.ts","sourceRoot":"","sources":["../src/shown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"shown.d.ts","sourceRoot":"","sources":["../src/shown.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAA6B,KAAK,aAAa,EAAmB,MAAM,aAAa,CAAC;AAiB7F,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,YAAY,gBAAgB,CAAC;AAE1C,eAAO,MAAM,aAAa,uBAAuB,CAAC;AAElD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AAEjD,eAAO,MAAM,YAAY,WAAW,CAAC;AAErC,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,eAAO,MAAM,UAAU,YAAa,MAAM,WAA4B,CAAC;AA0CvE,wBAAgB,YAAY,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,OAAO,QAG7D;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,QAI9C;AA6ED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,QAK3C;AAED,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,QAGjD;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,QAEnE;AAsBD,wBAAgB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAepD;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIpE;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3D;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5D;AAYD,wBAAsB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,UAAU,EAAE,CAAC,CAGjG;AAcD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBhF;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjG;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,QAIpE;AAED,wBAAsB,IAAI,CACxB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GAAG,IAAI,EAC9B,IAAI,GAAE,IAAqC,iBAgC5C"}
|
package/dist/shown.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { changeSet, mergeChangeSets } from './change-set.js';
|
|
1
2
|
import { conversationsChanged, conversationsLearned } from './conversation.js';
|
|
3
|
+
import { declared } from './declaration.js';
|
|
2
4
|
import { listingNow, list, patchedListing, shownRooms } from './listing.js';
|
|
3
5
|
import { emitPresentation, publishRoomDrafts } from './room-drafts.js';
|
|
4
6
|
import { same } from './status.js';
|
|
@@ -88,9 +90,7 @@ async function deliverRooms(runtime, owed) {
|
|
|
88
90
|
if (patched === null && owed.changed.size > 0)
|
|
89
91
|
owed.all = true;
|
|
90
92
|
if (patched === null && !owed.all && owed.counted.size > 0) {
|
|
91
|
-
const held = await store.covering()
|
|
92
|
-
if (held === null)
|
|
93
|
-
return;
|
|
93
|
+
const held = await store.covering();
|
|
94
94
|
const { roomsShown } = store.device.now();
|
|
95
95
|
owed.all = [...owed.counted].some((locator) => held.rooms.has(locator) &&
|
|
96
96
|
roomsShown?.get(locator)?.documents !== held.rooms.get(locator).documents);
|
|
@@ -101,8 +101,8 @@ async function deliverRooms(runtime, owed) {
|
|
|
101
101
|
else if (waiting().length === 0)
|
|
102
102
|
return;
|
|
103
103
|
}
|
|
104
|
-
const listing = patched ?? (await listingNow(runtime)
|
|
105
|
-
if (
|
|
104
|
+
const listing = patched ?? (await listingNow(runtime));
|
|
105
|
+
if (socket.closed())
|
|
106
106
|
return;
|
|
107
107
|
const { roomsListed, refusal, moving } = socket.session.now();
|
|
108
108
|
const joining = waiting().length > 0 &&
|
|
@@ -250,9 +250,16 @@ export function publishChangeSet(runtime, set) {
|
|
|
250
250
|
conversationsChanged(conversations, set);
|
|
251
251
|
return Promise.all(shownNow).then(() => undefined);
|
|
252
252
|
}
|
|
253
|
+
export async function submissionDue(runtime, locators) {
|
|
254
|
+
const { store } = runtime;
|
|
255
|
+
const due = (await (await store.open()).queued()).filter((locator) => (locators === undefined || locators.includes(locator)) && !store.fences.has(locator));
|
|
256
|
+
if (due.length === 0)
|
|
257
|
+
return;
|
|
258
|
+
await store.changed(mergeChangeSets(due.map((locator) => changeSet(locator, { due: true }))));
|
|
259
|
+
}
|
|
253
260
|
export function roomUnreadable(runtime, room) {
|
|
254
261
|
runtime.socket.rooms.stand(room.locator, { unreadable: true });
|
|
255
|
-
list(runtime, room, false);
|
|
262
|
+
list(runtime, room.locator, declared(room), false);
|
|
256
263
|
emitRooms(runtime);
|
|
257
264
|
}
|
|
258
265
|
export async function rest(runtime, progress, live = () => !runtime.socket.closed()) {
|
package/dist/socket/rooms.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import type { DiscoveredRoom, ProviderRefusal,
|
|
1
|
+
import type { DiscoveredRoom, ProviderRefusal, RoomDeclaration } from '../adapter.js';
|
|
2
2
|
import type { ModelState } from '../model.js';
|
|
3
|
-
export type RoomDeclaration = Omit<DiscoveredRoom, 'roomVersion' | 'typedSelection'> & {
|
|
4
|
-
typedSelection?: TypedSelection | null;
|
|
5
|
-
};
|
|
6
3
|
export type Declared = {
|
|
7
4
|
readonly room: RoomDeclaration | null;
|
|
8
5
|
readonly available: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../src/socket/rooms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"rooms.d.ts","sourceRoot":"","sources":["../../src/socket/rooms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAE9F,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,GAAG,IAAI,CAAC;IACnE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC,CAAC;AAcF,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;IACnD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAChD,YAAY,IAAI,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9C,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;IACxD,eAAe,IAAI,SAAS,cAAc,EAAE,CAAC;IAC7C,aAAa,IAAI,IAAI,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC;IACxC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC5D,aAAa,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,OAAO,GAAG,SAAS,MAAM,EAAE,CAAC;IACxE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACjD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,IAAI,IAAI,CAAC;IAClB,cAAc,CAAC,MAAM,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACzC,cAAc,IAAI,IAAI,CAAC;CACxB,CAAC;AAQF,wBAAgB,WAAW,IAAI,KAAK,CAsEnC"}
|
package/dist/socket.d.ts
CHANGED
|
@@ -8,7 +8,6 @@ import { type Lanes } from './socket/lanes.js';
|
|
|
8
8
|
import { type Rooms } from './socket/rooms.js';
|
|
9
9
|
import { type Session } from './socket/session.js';
|
|
10
10
|
export type { Live } from './socket/lanes.js';
|
|
11
|
-
export type { RoomDeclaration } from './socket/rooms.js';
|
|
12
11
|
export type { ConnectionRefusal, ConnectionRefusalCode, Moving, RefusalReason, } from './socket/session.js';
|
|
13
12
|
type SocketEvent = {
|
|
14
13
|
readonly kind: 'opened';
|
package/dist/socket.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,eAAe,EACf,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAElE,YAAY,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,YAAY,
|
|
1
|
+
{"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"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"}
|
package/dist/store/records.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type { Submission } from '../outcome.js';
|
|
|
7
7
|
import type { RoomDraftRecord, SavedDraft } from '../room-draft.js';
|
|
8
8
|
import type { ModelState, StoredModel } from '../model.js';
|
|
9
9
|
import type { CommittedWrite, ConversationWrite, HeldConversation, HeldRow, HeldEntry, MessageWindow, QueryAnswer, QueryRoom, Referrer, ReplicaOpened, RoomCommit, RuntimeDatabase, StoredEntry, StoredFile, TypedEntry, View } from '../tables.js';
|
|
10
|
-
import type { JobMarker } from '../job.js';
|
|
11
10
|
export type { ConversationWrite, HeldConversation, MessageWindow } from '../tables.js';
|
|
12
11
|
export type TransferRecord = {
|
|
13
12
|
readonly locator: string;
|
|
@@ -192,7 +191,6 @@ export type RuntimeStore = {
|
|
|
192
191
|
messageCount(conversation: string, phrase?: string | null): Promise<number>;
|
|
193
192
|
turnArrived(conversation: string, turn: string): Promise<boolean>;
|
|
194
193
|
conversationRows(conversations: readonly string[]): Promise<readonly HeldRow[]>;
|
|
195
|
-
jobMarkers(conversation: string): Promise<readonly JobMarker[]>;
|
|
196
194
|
dropConversations(conversations: readonly string[]): Promise<void>;
|
|
197
195
|
chatDrafts(): Promise<readonly ChatDraftRecord[]>;
|
|
198
196
|
chatDraft(conversation: string): Promise<ChatDraftRecord | null>;
|