@pairlobby/room-core 0.14.0 → 0.16.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 CHANGED
@@ -1,5 +1,5 @@
1
1
  # @pairlobby/room-core
2
2
 
3
- Part of [PairLobby](https://github.com/PairLobby/app), built from `packages/room-core` at version 0.14.0. See that repository for documentation.
3
+ Part of [PairLobby](https://github.com/PairLobby/app), built from `packages/room-core` at version 0.16.0. See that repository for documentation.
4
4
 
5
5
  Licensed under the [Elastic License 2.0](LICENSE): you may use, copy, modify and distribute it, but may not offer it to others as a hosted or managed service.
@@ -1,4 +1,4 @@
1
- import type { ParticipantRecord } from '@pairlobby/protocol';
1
+ import type { ParticipantRecord, RoomPermission } from '@pairlobby/protocol';
2
2
  import { type RoomView } from './state.js';
3
3
  export type Actor = {
4
4
  kind: 'participant';
@@ -11,6 +11,10 @@ export declare function assertRoomReadable(view: RoomView, now: number): void;
11
11
  export declare function assertRoomWritable(view: RoomView, now: number): void;
12
12
  export declare function authenticate(view: RoomView, credentialHash: string, now: number): Actor;
13
13
  export declare function assertController(actor: Actor): void;
14
+ /** Owner and admins always pass. A member passes when their own decision, or else the room's, allows the command. */
15
+ export declare function assertPermitted(view: RoomView, actor: Actor, permission: RoomPermission): void;
16
+ /** A permission lets a member moderate other members, never the people who granted it. */
17
+ export declare function assertMayTarget(actor: Actor, target: ParticipantRecord): void;
14
18
  /**
15
19
  * A guest may read and leave. Participant writes go through here; receipt-only
16
20
  * acknowledgements use assertCanAcknowledge so muting does not block reading.
@@ -1 +1 @@
1
- {"version":3,"file":"authorize.d.ts","sourceRoot":"","sources":["../src/authorize.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAA4B,KAAK,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpE,MAAM,MAAM,KAAK,GAAG;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,iBAAiB,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,YAAY,CAAA;CAAC,CAAC;AAEjG,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAUpE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKpE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAgBvF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CASnD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAM9D;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAMpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAQlE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAM5F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKpE"}
1
+ {"version":3,"file":"authorize.d.ts","sourceRoot":"","sources":["../src/authorize.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAA4B,KAAK,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpE,MAAM,MAAM,KAAK,GAAG;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,WAAW,EAAE,iBAAiB,CAAA;CAAC,GAAG;IAAC,IAAI,EAAE,YAAY,CAAA;CAAC,CAAC;AAEjG,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAUpE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKpE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAgBvF;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CASnD;AAID,qHAAqH;AACrH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI,CAQ9F;AAED,0FAA0F;AAC1F,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAI7E;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAM9D;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAMpE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,iBAAiB,CAQlE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAM5F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAKpE"}
package/dist/authorize.js CHANGED
@@ -1,6 +1,6 @@
1
1
  //! Authorization runs on every operation, including events arriving on a socket
2
2
  //! that was authorized when it opened.
3
- import { ProtocolError, digestsEqual } from '@pairlobby/protocol';
3
+ import { ProtocolError, digestsEqual, effectivePermissions } from '@pairlobby/protocol';
4
4
  import { findParticipant, isActive } from './state.js';
5
5
  /** Room lifecycle is checked at request time; physical cleanup is maintenance, not the access boundary. */
6
6
  export function assertRoomReadable(view, now) {
@@ -47,6 +47,23 @@ export function assertController(actor) {
47
47
  }
48
48
  throw new ProtocolError('unauthorized', 'this action requires the room controller credential');
49
49
  }
50
+ const PERMISSION_LABELS = { invite: 'create invites', rename: 'rename the room', lock: 'lock or unlock the room', mute: 'mute or unmute participants', kick: 'remove participants', pause: 'pause, resume or interrupt agents', turns: 'skip or cancel speaking turns' };
51
+ /** Owner and admins always pass. A member passes when their own decision, or else the room's, allows the command. */
52
+ export function assertPermitted(view, actor, permission) {
53
+ if (actor.kind === 'controller') {
54
+ return;
55
+ }
56
+ const participant = assertCanWrite(actor);
57
+ if (!effectivePermissions(participant, view.room.policy.permissions)[permission]) {
58
+ throw new ProtocolError('unauthorized', `this room does not let you ${PERMISSION_LABELS[permission]}; ask its owner or an admin`);
59
+ }
60
+ }
61
+ /** A permission lets a member moderate other members, never the people who granted it. */
62
+ export function assertMayTarget(actor, target) {
63
+ if (actor.kind === 'participant' && actor.participant.role !== 'controller' && target.role === 'controller') {
64
+ throw new ProtocolError('unauthorized', 'only the room owner or another admin can do this to an admin');
65
+ }
66
+ }
50
67
  /**
51
68
  * A guest may read and leave. Participant writes go through here; receipt-only
52
69
  * acknowledgements use assertCanAcknowledge so muting does not block reading.
@@ -1 +1 @@
1
- {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../src/authorize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorize.js","sourceRoot":"","sources":["../src/authorize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEhK,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,6FAA6F;AAC7F,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC;IACvB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,GAAG,QAAQ,CAEhF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEpG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE3F;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,EAAE,CAEtE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAGlG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,GAAG,eAAe,CAmBjG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAiCvD"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAEhK,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,6FAA6F;AAC7F,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC;IACvB,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,GAAG,QAAQ,CAEhF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEpG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAE3F;AAED,wBAAgB,QAAQ,CAAC,WAAW,EAAE,iBAAiB,GAAG,OAAO,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,GAAG,iBAAiB,EAAE,CAEtE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAGlG;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,GAAG,eAAe,CAoBjG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,YAAY,CAkCvD"}
package/dist/state.js CHANGED
@@ -38,6 +38,7 @@ export function toParticipantView(view, participant) {
38
38
  left: participant.leftAt !== null,
39
39
  paused: control?.paused ?? false,
40
40
  muted: participant.muted ?? false,
41
+ ...(participant.permissions ? { permissions: participant.permissions } : {}),
41
42
  controlRevision: control?.revision ?? 0,
42
43
  acknowledgedOutcome: control?.acknowledgedOutcome ?? null,
43
44
  acknowledgedRevision: control?.acknowledgedRevision ?? 0,
@@ -57,6 +58,7 @@ export function toSnapshot(view) {
57
58
  autoCloseSupported: true,
58
59
  interruptSupported: true,
59
60
  adminRolesSupported: true,
61
+ permissionsSupported: true,
60
62
  quotedMessagesSupported: true,
61
63
  groupTurnsSupported: true,
62
64
  workingStatusSupported: true,
package/dist/state.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { RenameSelfRequest } from '@pairlobby/protocol';
2
- import type { AdapterCapabilities, ParticipantKind, NameSource, ParticipantRecord, ParticipantRole, RoomInvitationChange, RoomPolicy, RoomRecord, SendEventRequest } from '@pairlobby/protocol';
2
+ import type { AdapterCapabilities, ParticipantKind, NameSource, ParticipantRecord, ParticipantRole, PermissionChange, RoomInvitationChange, RoomPolicy, RoomRecord, SendEventRequest } from '@pairlobby/protocol';
3
3
  import { type Actor } from './authorize.js';
4
4
  import { type CoreContext, type Mutation, type RoomView } from './state.js';
5
5
  export interface Identity {
@@ -49,6 +49,10 @@ export declare function renameSelf(view: RoomView, credentialHash: string, input
49
49
  export declare function renameRoom(view: RoomView, credentialHash: string, name: string, ctx: CoreContext): Mutation;
50
50
  /** Delegated admins use their own membership; no controller secret is shared. */
51
51
  export declare function setParticipantRole(view: RoomView, credentialHash: string, participantId: string, role: 'member' | 'controller', ctx: CoreContext): Mutation | null;
52
+ /** Sets which commands members may use room-wide. Owner or admin only; returns null when nothing would change. */
53
+ export declare function setRoomPermissions(view: RoomView, credentialHash: string, change: PermissionChange, ctx: CoreContext): Mutation | null;
54
+ /** Allows or refuses commands for one member, ahead of the room's answer. Owner or admin only; returns null when nothing would change. */
55
+ export declare function setParticipantPermissions(view: RoomView, credentialHash: string, participantId: string, change: PermissionChange, ctx: CoreContext): Mutation | null;
52
56
  /** Sets or clears when a room expires. Null stops it expiring at all. */
53
57
  /** Opens or closes guest entry. Controller only. */
54
58
  export declare function setJoinPolicy(view: RoomView, credentialHash: string, joinPolicy: 'invite_only' | 'open_to_guests', ctx: CoreContext): Mutation;
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../src/transitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../src/transitions.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  //! Room state transitions. Each returns one atomic mutation for a storage
2
2
  //! adapter to apply together with its idempotency record.
3
- import { RenameSelfRequest, DEFAULT_ROOM_POLICY, ProtocolError, newId } from '@pairlobby/protocol';
3
+ import { RenameSelfRequest, DEFAULT_ROOM_POLICY, ProtocolError, applyPermissionChange, newId, samePermissions } from '@pairlobby/protocol';
4
4
  import { appendEvent } from './append.js';
5
- import { assertActiveMember, assertCanAcknowledge, assertCanWrite, assertRoomJoinable, assertController, assertRecipientExists, assertRoomWritable, authenticate } from './authorize.js';
5
+ import { assertActiveMember, assertCanAcknowledge, assertCanWrite, assertMayTarget, assertPermitted, assertRoomJoinable, assertController, assertRecipientExists, assertRoomWritable, authenticate } from './authorize.js';
6
6
  import { applyHandoverAccepted, applyHandoverDeclined, applyHandoverOffered } from './handover.js';
7
7
  import { activeParticipants, controlFor, emptyMutation, findParticipant, isActive } from './state.js';
8
8
  export function createRoom(input, ctx) {
@@ -96,12 +96,13 @@ export function sendEvent(view, credentialHash, request, ctx) {
96
96
  */
97
97
  export function requestControl(view, credentialHash, targetParticipantId, paused, ctx, interrupt = false) {
98
98
  const actor = authenticate(view, credentialHash, ctx.now);
99
- assertController(actor);
99
+ assertPermitted(view, actor, 'pause');
100
100
  assertRoomWritable(view, ctx.now);
101
101
  const target = findParticipant(view, targetParticipantId);
102
102
  if (!target || !isActive(target)) {
103
103
  throw new ProtocolError('invalid_request', 'control target is not an active participant of this room');
104
104
  }
105
+ assertMayTarget(actor, target);
105
106
  if (interrupt && (!paused || target.kind !== 'agent')) {
106
107
  throw new ProtocolError('invalid_request', 'only an agent can be interrupted');
107
108
  }
@@ -125,12 +126,13 @@ export function requestControl(view, credentialHash, targetParticipantId, paused
125
126
  }
126
127
  export function revokeParticipant(view, credentialHash, targetParticipantId, ctx) {
127
128
  const actor = authenticate(view, credentialHash, ctx.now);
128
- assertController(actor);
129
+ assertPermitted(view, actor, 'kick');
129
130
  assertRoomWritable(view, ctx.now);
130
131
  const target = findParticipant(view, targetParticipantId);
131
132
  if (!target) {
132
133
  throw new ProtocolError('invalid_request', 'no such participant in this room');
133
134
  }
135
+ assertMayTarget(actor, target);
134
136
  if (target.revokedAt !== null) {
135
137
  throw new ProtocolError('idempotency_conflict', 'this participant was already removed');
136
138
  }
@@ -200,7 +202,7 @@ export function renameSelf(view, credentialHash, input, ctx) {
200
202
  }
201
203
  export function renameRoom(view, credentialHash, name, ctx) {
202
204
  const actor = authenticate(view, credentialHash, ctx.now);
203
- assertController(actor);
205
+ assertPermitted(view, actor, 'rename');
204
206
  assertRoomWritable(view, ctx.now);
205
207
  const previousName = view.room.name;
206
208
  if (previousName === name) {
@@ -230,7 +232,48 @@ export function setParticipantRole(view, credentialHash, participantId, role, ct
230
232
  idempotencyKey: null, recipientId: null, replyTo: null,
231
233
  body: { type: 'participant.role_changed', payload: { participantId, role, previousRole: target.role } }
232
234
  }, ctx);
233
- return { ...emptyMutation(room, event), upsertParticipants: [{ ...target, role }] };
235
+ // Allowances an admin held as a member do not come back when they are made a member again.
236
+ const { permissions: _dropped, ...withoutPermissions } = target;
237
+ return { ...emptyMutation(room, event), upsertParticipants: [{ ...withoutPermissions, role }] };
238
+ }
239
+ /** Sets which commands members may use room-wide. Owner or admin only; returns null when nothing would change. */
240
+ export function setRoomPermissions(view, credentialHash, change, ctx) {
241
+ const actor = authenticate(view, credentialHash, ctx.now);
242
+ assertController(actor);
243
+ assertRoomWritable(view, ctx.now);
244
+ const previous = view.room.policy.permissions ?? {};
245
+ const permissions = applyPermissionChange(previous, change);
246
+ if (samePermissions(previous, permissions)) {
247
+ return null;
248
+ }
249
+ const senderId = actor.kind === 'participant' ? actor.participant.participantId : null;
250
+ const { permissions: _previous, ...policy } = view.room.policy;
251
+ const room = { ...view.room, policy: Object.keys(permissions).length ? { ...policy, permissions } : policy };
252
+ const { room: updated, event } = appendEvent(room, { senderId, idempotencyKey: null, recipientId: null, replyTo: null, body: { type: 'room.permissions_changed', payload: { permissions, previous } } }, ctx);
253
+ return emptyMutation(updated, event);
254
+ }
255
+ /** Allows or refuses commands for one member, ahead of the room's answer. Owner or admin only; returns null when nothing would change. */
256
+ export function setParticipantPermissions(view, credentialHash, participantId, change, ctx) {
257
+ const actor = authenticate(view, credentialHash, ctx.now);
258
+ assertController(actor);
259
+ assertRoomWritable(view, ctx.now);
260
+ const target = assertRecipientExists(view, participantId);
261
+ if (target.role === 'guest') {
262
+ throw new ProtocolError('invalid_request', 'A read-only observer cannot use room commands. Invite them as a member first.');
263
+ }
264
+ if (target.role === 'controller') {
265
+ throw new ProtocolError('invalid_request', 'Admins can already use every command. Make them a member to limit them.');
266
+ }
267
+ const previous = target.permissions ?? {};
268
+ const permissions = applyPermissionChange(previous, change);
269
+ if (samePermissions(previous, permissions)) {
270
+ return null;
271
+ }
272
+ const senderId = actor.kind === 'participant' ? actor.participant.participantId : null;
273
+ const { permissions: _previous, ...rest } = target;
274
+ const updated = Object.keys(permissions).length ? { ...rest, permissions } : rest;
275
+ const { room, event } = appendEvent(view.room, { senderId, idempotencyKey: null, recipientId: null, replyTo: null, body: { type: 'participant.permissions_changed', payload: { participantId, permissions, previous } } }, ctx);
276
+ return { ...emptyMutation(room, event), upsertParticipants: [updated] };
234
277
  }
235
278
  /** Sets or clears when a room expires. Null stops it expiring at all. */
236
279
  /** Opens or closes guest entry. Controller only. */
@@ -365,7 +408,7 @@ function joinPayload(participant) {
365
408
  }
366
409
  export function setLocked(view, credentialHash, locked, ctx) {
367
410
  const actor = authenticate(view, credentialHash, ctx.now);
368
- assertController(actor);
411
+ assertPermitted(view, actor, 'lock');
369
412
  assertRoomWritable(view, ctx.now);
370
413
  const senderId = actor.kind === 'participant' ? actor.participant.participantId : null;
371
414
  const { room, event } = appendEvent({ ...view.room, locked }, {
@@ -376,9 +419,10 @@ export function setLocked(view, credentialHash, locked, ctx) {
376
419
  }
377
420
  export function setMuted(view, credentialHash, participantId, muted, ctx) {
378
421
  const actor = authenticate(view, credentialHash, ctx.now);
379
- assertController(actor);
422
+ assertPermitted(view, actor, 'mute');
380
423
  assertRoomWritable(view, ctx.now);
381
424
  const target = assertRecipientExists(view, participantId);
425
+ assertMayTarget(actor, target);
382
426
  const senderId = actor.kind === 'participant' ? actor.participant.participantId : null;
383
427
  const { room, event } = appendEvent(view.room, {
384
428
  senderId, idempotencyKey: null, recipientId: null, replyTo: null,
@@ -1 +1 @@
1
- {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../src/transitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transitions.js","sourceRoot":"","sources":["../src/transitions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pairlobby/room-core",
3
- "version": "0.14.0",
3
+ "version": "0.16.0",
4
4
  "description": "PairLobby room-core: part of the PairLobby room protocol and relay",
5
5
  "license": "Elastic-2.0",
6
6
  "type": "module",
@@ -30,6 +30,6 @@
30
30
  "access": "public"
31
31
  },
32
32
  "dependencies": {
33
- "@pairlobby/protocol": "0.14.0"
33
+ "@pairlobby/protocol": "0.16.0"
34
34
  }
35
35
  }