@pairlobby/server-core 0.24.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/admission.d.ts +23 -6
- package/dist/admission.d.ts.map +1 -1
- package/dist/admission.js +34 -11
- package/dist/admission.js.map +1 -1
- package/dist/auto-close-store.d.ts +1 -0
- package/dist/auto-close-store.d.ts.map +1 -1
- package/dist/auto-close-store.js +3 -0
- package/dist/auto-close-store.js.map +1 -1
- package/dist/changes.d.ts +1 -0
- package/dist/changes.d.ts.map +1 -1
- package/dist/changes.js +3 -0
- package/dist/changes.js.map +1 -1
- package/dist/relay.d.ts +36 -7
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +166 -20
- package/dist/relay.js.map +1 -1
- package/dist/service.d.ts +47 -3
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +156 -10
- package/dist/service.js.map +1 -1
- package/dist/store.d.ts +25 -2
- package/dist/store.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/service.js
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
//! Room operations shared by every transport. The Cloudflare Durable Object and
|
|
2
2
|
//! the Node server both run this; only the store and the socket layer differ.
|
|
3
|
-
import { ABSOLUTE_MAX_FILE_BYTES, DEFAULT_MAX_FILE_BYTES, DEFAULT_MAX_RETAINED_FILE_BYTES, DEFAULT_ROOM_POLICY, ProtocolError, UNATTACHED_FILE_LIFETIME_MS, formatFileSize, hashCredential, newId, newInviteCode, normalizeInviteCode, safeFileName } from '@pairlobby/protocol';
|
|
4
|
-
import { assertRoomWritable, appendEvent, assertRoomJoinable, assertCanWrite, assertCanAcknowledge, assertActiveMember, assertController, assertPermitted, authenticate, closeRoom, createRoom, joinAsGuest, joinOnLocalNetwork, recordInvitation, joinRoom, leaveRoom, rejoinRoom, renameRoom, renameSelf, requestControl, revokeParticipant, sendEvent, setExpiry, setAutoClose, setInviteRole, setJoinPolicy, setLocalJoin, setLocked, setMuted, setParticipantPermissions, setParticipantRole, setRoomPermissions, emptyMutation, toSnapshot } from '@pairlobby/room-core';
|
|
3
|
+
import { ABSOLUTE_MAX_FILE_BYTES, DEFAULT_MAX_FILE_BYTES, DEFAULT_MAX_RETAINED_FILE_BYTES, DEFAULT_ROOM_POLICY, PROTOCOL_VERSION, ProtocolError, UNATTACHED_FILE_LIFETIME_MS, formatFileSize, hashCredential, newId, newInviteCode, normalizeInviteCode, safeFileName } from '@pairlobby/protocol';
|
|
4
|
+
import { assertRoomWritable, appendEvent, assertRoomJoinable, assertCanWrite, assertCanAcknowledge, assertActiveMember, assertController, assertPermitted, authenticate, closeRoom, createRoom, joinAsGuest, joinOnLocalNetwork, recordInvitation, joinRoom, leaveRoom, rejoinRoom, renameRoom, renameSelf, requestControl, revokeParticipant, sendEvent, setExpiry, setAutoClose, setInviteRole, setJoinPolicy, setLocalJoin, setLocked, setMuted, setParticipantPermissions, setParticipantRole, setRoomPermissions, emptyMutation, findParticipant, isActive, toSnapshot } from '@pairlobby/room-core';
|
|
5
5
|
import { stableStringify } from './stable-json.js';
|
|
6
6
|
import { TurnCoordinator, assertTurn } from './turns.js';
|
|
7
7
|
import { AutoCloseStore } from './auto-close-store.js';
|
|
8
|
+
/** Requests a watermark marks received in one write; the rest wait for the next one. */
|
|
9
|
+
const WATERMARK_REQUEST_LIMIT = 2000;
|
|
10
|
+
/** A receipt that only says the message arrived: no Read stage, no action. */
|
|
11
|
+
function isPlainReceipt(request) {
|
|
12
|
+
return request.type === 'message.received' && !request.payload.stage && !request.payload.action;
|
|
13
|
+
}
|
|
14
|
+
/** The room with this participant's watermark moved up to `throughSeq`, never past the last event; the same room when it would not move. */
|
|
15
|
+
export function withReceipt(room, participantId, throughSeq, at) {
|
|
16
|
+
const through = Math.min(throughSeq, room.nextSeq - 1);
|
|
17
|
+
if (through <= (room.receipts?.[participantId]?.throughSeq ?? 0)) {
|
|
18
|
+
return room;
|
|
19
|
+
}
|
|
20
|
+
const revision = (room.receiptRevision ?? 0) + 1;
|
|
21
|
+
return { ...room, receipts: { ...room.receipts, [participantId]: { throughSeq: through, revision, at } }, receiptRevision: revision };
|
|
22
|
+
}
|
|
23
|
+
/** The watermarks that moved after `after`, for a read that asked for them. */
|
|
24
|
+
export function receiptsSince(room, after) {
|
|
25
|
+
const receipts = Object.entries(room.receipts ?? {}).filter(([, mark]) => mark.revision > after).map(([participantId, mark]) => ({ participantId, ...mark }));
|
|
26
|
+
return { receipts: receipts.sort((a, b) => a.revision - b.revision), receiptRevision: room.receiptRevision ?? 0 };
|
|
27
|
+
}
|
|
8
28
|
/** The limits a new room gets under `policy`, as a relay reports them; file limits only where files are kept. */
|
|
9
29
|
export function relayLimits(policy, files) {
|
|
10
30
|
return {
|
|
@@ -21,14 +41,16 @@ export class RoomService {
|
|
|
21
41
|
store;
|
|
22
42
|
now;
|
|
23
43
|
turns;
|
|
44
|
+
receiptMode;
|
|
24
45
|
/**
|
|
25
46
|
* `roomPolicy` is what a new room gets when the caller names no policy, such as a
|
|
26
47
|
* self-hosted relay's configured limits. Existing rooms keep the policy they were made with.
|
|
27
48
|
*/
|
|
28
|
-
constructor(store, now = () => Date.now(), directory, roomPolicy = DEFAULT_ROOM_POLICY) {
|
|
49
|
+
constructor(store, now = () => Date.now(), directory, roomPolicy = DEFAULT_ROOM_POLICY, options = {}) {
|
|
29
50
|
this.directory = directory;
|
|
30
51
|
this.roomPolicy = roomPolicy;
|
|
31
52
|
this.now = now;
|
|
53
|
+
this.receiptMode = options.receiptMode ?? 'both';
|
|
32
54
|
this.store = new AutoCloseStore(store, () => this.now());
|
|
33
55
|
this.turns = new TurnCoordinator(this.store, now);
|
|
34
56
|
}
|
|
@@ -44,12 +66,12 @@ export class RoomService {
|
|
|
44
66
|
}
|
|
45
67
|
/** What the room looks like, plus what this relay can do that depends on its store rather than on the room. */
|
|
46
68
|
snapshotOf(view) {
|
|
47
|
-
return { ...toSnapshot(view), filesSupported: this.store.files !== undefined };
|
|
69
|
+
return { ...toSnapshot(view), filesSupported: this.store.files !== undefined, receiptMode: this.receiptMode };
|
|
48
70
|
}
|
|
49
71
|
/** Whether rooms here keep files, and the limits a new room gets: what `GET /v1/server` reports. */
|
|
50
72
|
relayProfile() {
|
|
51
73
|
const files = this.store.files !== undefined;
|
|
52
|
-
return { files, limits: relayLimits(this.roomPolicy, files) };
|
|
74
|
+
return { files, limits: relayLimits(this.roomPolicy, files), receiptMode: this.receiptMode };
|
|
53
75
|
}
|
|
54
76
|
fileStore() {
|
|
55
77
|
if (!this.store.files) {
|
|
@@ -147,6 +169,8 @@ export class RoomService {
|
|
|
147
169
|
nameSource: input.nameSource,
|
|
148
170
|
sessionId: input.sessionId ?? null,
|
|
149
171
|
capabilities: input.capabilities ?? null,
|
|
172
|
+
...(input.member ? { member: input.member } : {}),
|
|
173
|
+
...(input.owner ? { owner: input.owner } : {}),
|
|
150
174
|
...(input.expiresAt !== undefined ? { expiresAt: input.expiresAt } : {}),
|
|
151
175
|
policy: input.policy ?? this.roomPolicy
|
|
152
176
|
}, this.ctx());
|
|
@@ -278,7 +302,8 @@ export class RoomService {
|
|
|
278
302
|
kind: input.kind,
|
|
279
303
|
nameSource: input.nameSource,
|
|
280
304
|
sessionId: input.sessionId ?? null,
|
|
281
|
-
capabilities: input.capabilities ?? null
|
|
305
|
+
capabilities: input.capabilities ?? null,
|
|
306
|
+
...(input.member ? { member: input.member } : {})
|
|
282
307
|
}, this.ctx());
|
|
283
308
|
if (previousOccupant?.muted) {
|
|
284
309
|
joined.participant.muted = true;
|
|
@@ -308,6 +333,13 @@ export class RoomService {
|
|
|
308
333
|
const target = await this.turns.resolve(roomId, request.payload.eventId, participant.participantId);
|
|
309
334
|
const eventId = target?.conversationId ?? request.payload.eventId;
|
|
310
335
|
request = { ...request, payload: { ...request.payload, eventId }, ...(!request.payload.action ? { idempotencyKey: `${request.payload.stage === 'read' ? 'read' : 'receipt'}-${eventId}-${participant.participantId}` } : {}) };
|
|
336
|
+
if (this.receiptMode === 'watermark' && isPlainReceipt(request)) {
|
|
337
|
+
// An older client's plain receipt: kept as the watermark, answered as an event that already existed.
|
|
338
|
+
assertRoomWritable(view, now);
|
|
339
|
+
await this.plainReceipt(view, participant, eventId, now);
|
|
340
|
+
const event = { protocolVersion: PROTOCOL_VERSION, roomId, seq: Math.max(1, view.room.nextSeq - 1), eventId: newId('event'), senderId: participant.participantId, idempotencyKey: request.idempotencyKey, recipientId: null, replyTo: null, at: now, type: 'message.received', payload: request.payload };
|
|
341
|
+
return { event, deduplicated: true };
|
|
342
|
+
}
|
|
311
343
|
}
|
|
312
344
|
const requestDigest = stableStringify({ type: request.type, payload: request.payload, recipientId: request.recipientId ?? null, replyTo: request.replyTo ?? null,
|
|
313
345
|
...(request.recipientIds ? { recipientIds: request.recipientIds } : {}), ...(request.allRecipients ? { allRecipients: true } : {}), ...(request.quoteOf ? { quoteOf: request.quoteOf } : {}) });
|
|
@@ -373,6 +405,8 @@ export class RoomService {
|
|
|
373
405
|
}
|
|
374
406
|
const updates = [];
|
|
375
407
|
let replyTarget = null;
|
|
408
|
+
// A plain receipt for a message not addressed to this participant also moves their watermark, in `both`.
|
|
409
|
+
let watermarkSeq = null;
|
|
376
410
|
if (request.type === 'message.received') {
|
|
377
411
|
const participant = assertCanAcknowledge(actor);
|
|
378
412
|
const target = await this.turns.resolve(roomId, request.payload.eventId, participant.participantId);
|
|
@@ -383,6 +417,9 @@ export class RoomService {
|
|
|
383
417
|
if ((target?.from ?? original?.senderId) === participant.participantId) {
|
|
384
418
|
throw new ProtocolError('unauthorized', 'a sender cannot acknowledge their own message');
|
|
385
419
|
}
|
|
420
|
+
if (this.receiptMode === 'both' && isPlainReceipt(request) && target?.to !== participant.participantId) {
|
|
421
|
+
watermarkSeq = original?.seq ?? (await this.messageSeqOf(roomId, target));
|
|
422
|
+
}
|
|
386
423
|
if (target?.to === participant.participantId) {
|
|
387
424
|
updates.push({ ...target, receivedAt: target.receivedAt ?? now, ...(request.payload.stage === 'read' ? { readAt: target.readAt ?? now } : {}) });
|
|
388
425
|
}
|
|
@@ -492,6 +529,9 @@ export class RoomService {
|
|
|
492
529
|
}
|
|
493
530
|
const outgoing = replyTarget?.conversationId ? { ...request, replyTo: replyTarget.conversationId } : request;
|
|
494
531
|
const mutation = sendEvent(view, await hashCredential(credential), outgoing, { now, newEventId: () => newId('event') });
|
|
532
|
+
if (watermarkSeq !== null && participantId) {
|
|
533
|
+
mutation.room = withReceipt(mutation.room, participantId, watermarkSeq, now);
|
|
534
|
+
}
|
|
495
535
|
if (attached.length) {
|
|
496
536
|
mutation.attachFiles = attached;
|
|
497
537
|
}
|
|
@@ -528,7 +568,7 @@ export class RoomService {
|
|
|
528
568
|
let seq = Math.max(view.room.nextRequestSeq ?? 0, mutation.appendEvent.seq);
|
|
529
569
|
for (const recipient of recipients) {
|
|
530
570
|
updates.push({
|
|
531
|
-
roomId, eventId: group ? newId('event') : mutation.appendEvent.eventId, seq: seq++,
|
|
571
|
+
roomId, eventId: group ? newId('event') : mutation.appendEvent.eventId, seq: seq++, messageSeq: mutation.appendEvent.seq,
|
|
532
572
|
from: mutation.appendEvent.senderId, to: recipient, text: quoteContext + request.payload.text, at: mutation.appendEvent.at,
|
|
533
573
|
requiresReply: !request.replyTo, receivedAt: null, responseEventId: null, respondedAt: null, progressAt: null,
|
|
534
574
|
...(group ? { conversationId: mutation.appendEvent.eventId, turnRequired: true } : {}),
|
|
@@ -546,12 +586,20 @@ export class RoomService {
|
|
|
546
586
|
return { event: mutation.appendEvent, deduplicated: false };
|
|
547
587
|
}
|
|
548
588
|
async acknowledgeMessage(roomId, credential, eventId) {
|
|
549
|
-
const
|
|
589
|
+
const view = await this.view(roomId);
|
|
590
|
+
const now = this.now();
|
|
591
|
+
const actor = authenticate(view, await hashCredential(credential), now);
|
|
550
592
|
const participant = assertCanAcknowledge(actor);
|
|
551
593
|
const target = await this.turns.resolve(roomId, eventId, participant.participantId);
|
|
552
594
|
if (target?.to === participant.participantId && target.receivedAt !== null) {
|
|
553
595
|
return this.publicRequest(target);
|
|
554
596
|
}
|
|
597
|
+
if (this.receiptMode === 'watermark') {
|
|
598
|
+
assertRoomWritable(view, now);
|
|
599
|
+
await this.plainReceipt(view, participant, eventId, now);
|
|
600
|
+
const received = await this.turns.resolve(roomId, eventId, participant.participantId);
|
|
601
|
+
return received ? this.publicRequest(received) : null;
|
|
602
|
+
}
|
|
555
603
|
const root = target?.conversationId ?? eventId;
|
|
556
604
|
const key = `receipt-${root}-${participant.participantId}`;
|
|
557
605
|
const saved = await this.store.idempotencyRecord(roomId, key);
|
|
@@ -565,6 +613,81 @@ export class RoomService {
|
|
|
565
613
|
const updated = await this.turns.resolve(roomId, eventId, participant.participantId);
|
|
566
614
|
return updated ? this.publicRequest(updated) : null;
|
|
567
615
|
}
|
|
616
|
+
/**
|
|
617
|
+
* `POST /v1/rooms/:id/receipts`: this participant has received every event up to `throughSeq`.
|
|
618
|
+
* Moves their watermark and marks their requests up to there received, with no event.
|
|
619
|
+
*/
|
|
620
|
+
async receipt(roomId, credential, throughSeq) {
|
|
621
|
+
if (this.receiptMode === 'events') {
|
|
622
|
+
throw new ProtocolError('unsupported_capability', 'this relay keeps receipts as events; acknowledge each message instead');
|
|
623
|
+
}
|
|
624
|
+
const view = await this.view(roomId);
|
|
625
|
+
const now = this.now();
|
|
626
|
+
const participant = assertCanAcknowledge(authenticate(view, await hashCredential(credential), now));
|
|
627
|
+
assertRoomWritable(view, now);
|
|
628
|
+
const room = await this.moveWatermark(view, participant.participantId, throughSeq, now);
|
|
629
|
+
return { throughSeq: room.receipts?.[participant.participantId]?.throughSeq ?? 0, receiptRevision: room.receiptRevision ?? 0 };
|
|
630
|
+
}
|
|
631
|
+
/** A plain receipt with no event: the request it answers when it is addressed to this participant, else their watermark. */
|
|
632
|
+
async plainReceipt(view, participant, eventId, now) {
|
|
633
|
+
const roomId = view.room.roomId;
|
|
634
|
+
const target = await this.turns.resolve(roomId, eventId, participant.participantId);
|
|
635
|
+
const original = target ? null : await this.store.eventById(roomId, eventId);
|
|
636
|
+
if (!target && original?.type !== 'message') {
|
|
637
|
+
throw new ProtocolError('invalid_request', 'no such retained message in this room');
|
|
638
|
+
}
|
|
639
|
+
if ((target?.from ?? original?.senderId) === participant.participantId) {
|
|
640
|
+
throw new ProtocolError('unauthorized', 'a sender cannot acknowledge their own message');
|
|
641
|
+
}
|
|
642
|
+
if (target?.to === participant.participantId) {
|
|
643
|
+
// A receiver may confirm one request out of order, so it says nothing about earlier messages.
|
|
644
|
+
if (target.receivedAt === null) {
|
|
645
|
+
await this.store.updateTurns(view.room, [{ ...target, receivedAt: now }], view.room.turnRevision ?? 0);
|
|
646
|
+
}
|
|
647
|
+
return;
|
|
648
|
+
}
|
|
649
|
+
// Everything else is confirmed by a reader going through the room in order.
|
|
650
|
+
await this.moveWatermark(view, participant.participantId, original?.seq ?? (await this.messageSeqOf(roomId, target)), now);
|
|
651
|
+
}
|
|
652
|
+
/** Writes the moved watermark and the requests it marks received, in one write without an event. */
|
|
653
|
+
async moveWatermark(view, participantId, throughSeq, now) {
|
|
654
|
+
const room = withReceipt(view.room, participantId, throughSeq, now);
|
|
655
|
+
if (room === view.room) {
|
|
656
|
+
return room;
|
|
657
|
+
}
|
|
658
|
+
const requests = await this.receivedThrough(room.roomId, participantId, room.receipts[participantId].throughSeq, now);
|
|
659
|
+
await this.store.updateTurns(room, requests, view.room.turnRevision ?? 0);
|
|
660
|
+
return room;
|
|
661
|
+
}
|
|
662
|
+
/** This participant's requests whose message is at or before `throughSeq` and not yet received, marked received at `now`. */
|
|
663
|
+
async receivedThrough(roomId, participantId, throughSeq, now) {
|
|
664
|
+
const page = (after) => this.store.unreceivedRequests ? this.store.unreceivedRequests(roomId, participantId, after, 200) : this.store.messageRequests(roomId, after, 200, participantId);
|
|
665
|
+
const marked = [];
|
|
666
|
+
let after = 0;
|
|
667
|
+
while (marked.length < WATERMARK_REQUEST_LIMIT) {
|
|
668
|
+
const { requests, hasMore } = await page(after);
|
|
669
|
+
for (const request of requests) {
|
|
670
|
+
if (request.receivedAt !== null) {
|
|
671
|
+
continue;
|
|
672
|
+
}
|
|
673
|
+
// Requests are numbered in message order, so the first one past the watermark ends the search.
|
|
674
|
+
if ((await this.messageSeqOf(roomId, request)) > throughSeq) {
|
|
675
|
+
return marked;
|
|
676
|
+
}
|
|
677
|
+
marked.push({ ...request, receivedAt: now });
|
|
678
|
+
}
|
|
679
|
+
const last = requests.at(-1)?.seq;
|
|
680
|
+
if (!hasMore || last === undefined || last <= after) {
|
|
681
|
+
return marked;
|
|
682
|
+
}
|
|
683
|
+
after = last;
|
|
684
|
+
}
|
|
685
|
+
return marked;
|
|
686
|
+
}
|
|
687
|
+
/** The transcript seq of a request's message; 0 when that message is no longer retained, which puts it behind any watermark. */
|
|
688
|
+
async messageSeqOf(roomId, request) {
|
|
689
|
+
return request.messageSeq ?? (await this.store.eventById(roomId, request.conversationId ?? request.eventId))?.seq ?? 0;
|
|
690
|
+
}
|
|
568
691
|
publicRequest(request) {
|
|
569
692
|
const result = { ...request };
|
|
570
693
|
delete result.turnToken;
|
|
@@ -832,7 +955,7 @@ export class RoomService {
|
|
|
832
955
|
async close(roomId, credential) {
|
|
833
956
|
return this.applyOne(closeRoom(await this.view(roomId), await hashCredential(credential), this.ctx()));
|
|
834
957
|
}
|
|
835
|
-
async read(roomId, credential, after, limit) {
|
|
958
|
+
async read(roomId, credential, after, limit, receiptsAfter) {
|
|
836
959
|
const view = await this.view(roomId);
|
|
837
960
|
authenticate(view, await hashCredential(credential), this.now());
|
|
838
961
|
if (after > 0 && after < view.earliestSeq - 1) {
|
|
@@ -840,7 +963,7 @@ export class RoomService {
|
|
|
840
963
|
}
|
|
841
964
|
const page = await this.store.readEvents(roomId, after, limit);
|
|
842
965
|
const events = await Promise.all(page.events.map((event) => this.restoreAudience(event)));
|
|
843
|
-
return { events, earliestSeq: view.earliestSeq, latestSeq: view.room.nextSeq - 1, hasMore: page.hasMore };
|
|
966
|
+
return { events, earliestSeq: view.earliestSeq, latestSeq: view.room.nextSeq - 1, hasMore: page.hasMore, ...(receiptsAfter !== undefined && this.receiptMode !== 'events' ? receiptsSince(view.room, receiptsAfter) : {}) };
|
|
844
967
|
}
|
|
845
968
|
/** Older group events kept the all flag only in their canonical idempotency request. */
|
|
846
969
|
async restoreAudience(event) {
|
|
@@ -882,6 +1005,29 @@ export class RoomService {
|
|
|
882
1005
|
const files = this.store.files ? { files: await this.roomFiles(this.store.files, roomId) } : {};
|
|
883
1006
|
return { room: this.snapshotOf(view), events: collected, handovers: await this.store.handovers(roomId), exportedAt: this.now(), complete: view.earliestSeq <= 1, ...files };
|
|
884
1007
|
}
|
|
1008
|
+
/**
|
|
1009
|
+
* The agent a listing shares: the caller's own participant, an agent still in this open room.
|
|
1010
|
+
* `member` is who shares it; an agent that joined as another member is theirs to share.
|
|
1011
|
+
*/
|
|
1012
|
+
async listingSubject(roomId, credential, member) {
|
|
1013
|
+
const view = await this.view(roomId);
|
|
1014
|
+
const now = this.now();
|
|
1015
|
+
const actor = authenticate(view, await hashCredential(credential), now);
|
|
1016
|
+
assertRoomWritable(view, now);
|
|
1017
|
+
if (actor.kind !== 'participant' || actor.participant.kind !== 'agent' || !isActive(actor.participant)) {
|
|
1018
|
+
throw new ProtocolError('unauthorized', 'only an agent still in the room can be shared, with its own credential');
|
|
1019
|
+
}
|
|
1020
|
+
if (actor.participant.member !== undefined && actor.participant.member !== member) {
|
|
1021
|
+
throw new ProtocolError('unauthorized', 'this agent joined as another member; only they can share it');
|
|
1022
|
+
}
|
|
1023
|
+
return { participantId: actor.participant.participantId, agentName: actor.participant.displayName, roomName: view.room.name, at: now };
|
|
1024
|
+
}
|
|
1025
|
+
/** Whether a listing of this participant still stands: the room open and unexpired, the agent still in it. */
|
|
1026
|
+
async listable(roomId, participantId) {
|
|
1027
|
+
const view = await this.store.loadRoom(roomId);
|
|
1028
|
+
const participant = view ? findParticipant(view, participantId) : undefined;
|
|
1029
|
+
return Boolean(view && participant && view.room.lifecycle === 'open' && (view.room.expiresAt === null || this.now() < view.room.expiresAt) && isActive(participant));
|
|
1030
|
+
}
|
|
885
1031
|
/** Makes the room inaccessible immediately; physical cleanup may lag. */
|
|
886
1032
|
async delete(roomId, credential) {
|
|
887
1033
|
const view = await this.view(roomId);
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FileRecord, HandoverRecord, MessageRequest, RequestPage, InviteRecord, ParticipantRecord, RoomEvent, RoomRecord } from '@pairlobby/protocol';
|
|
1
|
+
import type { FileRecord, HandoverRecord, ListingRecord, MessageRequest, RequestPage, InviteRecord, ParticipantRecord, RoomEvent, RoomRecord } from '@pairlobby/protocol';
|
|
2
2
|
import type { Mutation, RoomView } from '@pairlobby/room-core';
|
|
3
3
|
type IdempotencyKey = {
|
|
4
4
|
key: string;
|
|
@@ -66,9 +66,17 @@ export interface RoomStore {
|
|
|
66
66
|
handovers(roomId: string): Promise<HandoverRecord[]>;
|
|
67
67
|
messageRequest(roomId: string, eventId: string): Promise<MessageRequest | null>;
|
|
68
68
|
groupRequests(roomId: string, conversationId: string): Promise<MessageRequest[]>;
|
|
69
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* Writes the room and requests without appending a transcript event, comparing the turn revision
|
|
71
|
+
* atomically: renewing a lease, or moving a receipt watermark.
|
|
72
|
+
*/
|
|
70
73
|
updateTurns(room: RoomRecord, requests: MessageRequest[], expectedRevision: number): Promise<void>;
|
|
71
74
|
messageRequests(roomId: string, after: number, limit: number, recipientId?: string): Promise<RequestPage>;
|
|
75
|
+
/**
|
|
76
|
+
* Requests addressed to `recipientId` that nobody has marked received yet, answered or not, in
|
|
77
|
+
* `seq` order after `after`. Optional: without it a watermark marks only the requests still awaiting a reply.
|
|
78
|
+
*/
|
|
79
|
+
readonly unreceivedRequests?: ((roomId: string, recipientId: string, after: number, limit: number) => Promise<RequestPage>) | undefined;
|
|
72
80
|
setLifecycle(roomId: string, lifecycle: RoomRecord['lifecycle']): Promise<void>;
|
|
73
81
|
deleteRoom(roomId: string): Promise<void>;
|
|
74
82
|
/** Open rooms whose stored auto-close deadline is at or before `now`, earliest first; an index, not a transcript scan. */
|
|
@@ -76,5 +84,20 @@ export interface RoomStore {
|
|
|
76
84
|
/** The earliest stored auto-close deadline among open rooms, or null. */
|
|
77
85
|
nextAutoCloseAt(): Promise<number | null>;
|
|
78
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* Where a relay keeps its agent directory: the agents members shared, by listing. Optional:
|
|
89
|
+
* a relay without one does not offer the directory and says so in `GET /v1/server`.
|
|
90
|
+
*/
|
|
91
|
+
export interface DirectoryStore {
|
|
92
|
+
/** Saves a listing. There is one per room and participant, so sharing the same agent again replaces it. */
|
|
93
|
+
putListing(listing: ListingRecord): Promise<void>;
|
|
94
|
+
listing(listingId: string): Promise<ListingRecord | null>;
|
|
95
|
+
listingFor(roomId: string, participantId: string): Promise<ListingRecord | null>;
|
|
96
|
+
deleteListing(listingId: string): Promise<void>;
|
|
97
|
+
/** Listings in `listingId` order after `after`, for the sweep. */
|
|
98
|
+
listings(after: string, limit: number): Promise<ListingRecord[]>;
|
|
99
|
+
/** When this participant last sent a message in the room, or null; an index, not a transcript scan. */
|
|
100
|
+
lastMessageAt(roomId: string, participantId: string): Promise<number | null>;
|
|
101
|
+
}
|
|
79
102
|
export {};
|
|
80
103
|
//# sourceMappingURL=store.d.ts.map
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|