@may-db/core 0.1.3 → 0.1.4

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.
Files changed (73) hide show
  1. package/package.json +2 -2
  2. package/dist/Client.d.ts +0 -20
  3. package/dist/Client.d.ts.map +0 -1
  4. package/dist/Client.js +0 -163
  5. package/dist/Client.js.map +0 -1
  6. package/dist/IndexRuntime.d.ts +0 -60
  7. package/dist/IndexRuntime.d.ts.map +0 -1
  8. package/dist/IndexRuntime.js +0 -340
  9. package/dist/IndexRuntime.js.map +0 -1
  10. package/dist/RuntimeIndexHandle.d.ts +0 -29
  11. package/dist/RuntimeIndexHandle.d.ts.map +0 -1
  12. package/dist/RuntimeIndexHandle.js +0 -48
  13. package/dist/RuntimeIndexHandle.js.map +0 -1
  14. package/dist/errors.d.ts +0 -12
  15. package/dist/errors.d.ts.map +0 -1
  16. package/dist/errors.js +0 -15
  17. package/dist/errors.js.map +0 -1
  18. package/dist/hooks/useAllowedRooms.d.ts +0 -12
  19. package/dist/hooks/useAllowedRooms.d.ts.map +0 -1
  20. package/dist/hooks/useAllowedRooms.js +0 -29
  21. package/dist/hooks/useAllowedRooms.js.map +0 -1
  22. package/dist/hooks/useAsync.d.ts +0 -8
  23. package/dist/hooks/useAsync.d.ts.map +0 -1
  24. package/dist/hooks/useAsync.js +0 -29
  25. package/dist/hooks/useAsync.js.map +0 -1
  26. package/dist/hooks/useAuth.d.ts +0 -11
  27. package/dist/hooks/useAuth.d.ts.map +0 -1
  28. package/dist/hooks/useAuth.js +0 -45
  29. package/dist/hooks/useAuth.js.map +0 -1
  30. package/dist/hooks/usePresence.d.ts +0 -30
  31. package/dist/hooks/usePresence.d.ts.map +0 -1
  32. package/dist/hooks/usePresence.js +0 -95
  33. package/dist/hooks/usePresence.js.map +0 -1
  34. package/dist/hooks/useRoom.d.ts +0 -11
  35. package/dist/hooks/useRoom.d.ts.map +0 -1
  36. package/dist/hooks/useRoom.js +0 -37
  37. package/dist/hooks/useRoom.js.map +0 -1
  38. package/dist/hooks/useRoomMembers.d.ts +0 -12
  39. package/dist/hooks/useRoomMembers.d.ts.map +0 -1
  40. package/dist/hooks/useRoomMembers.js +0 -37
  41. package/dist/hooks/useRoomMembers.js.map +0 -1
  42. package/dist/indexing/roomRegistry.d.ts +0 -26
  43. package/dist/indexing/roomRegistry.d.ts.map +0 -1
  44. package/dist/indexing/roomRegistry.js +0 -125
  45. package/dist/indexing/roomRegistry.js.map +0 -1
  46. package/dist/indexing.d.ts +0 -93
  47. package/dist/indexing.d.ts.map +0 -1
  48. package/dist/indexing.js +0 -394
  49. package/dist/indexing.js.map +0 -1
  50. package/dist/indexingErrors.d.ts +0 -9
  51. package/dist/indexingErrors.d.ts.map +0 -1
  52. package/dist/indexingErrors.js +0 -11
  53. package/dist/indexingErrors.js.map +0 -1
  54. package/dist/indexingRoomStore.d.ts +0 -26
  55. package/dist/indexingRoomStore.d.ts.map +0 -1
  56. package/dist/indexingRoomStore.js +0 -125
  57. package/dist/indexingRoomStore.js.map +0 -1
  58. package/dist/indexingRows.d.ts +0 -8
  59. package/dist/indexingRows.d.ts.map +0 -1
  60. package/dist/indexingRows.js +0 -114
  61. package/dist/indexingRows.js.map +0 -1
  62. package/dist/indexingTypes.d.ts +0 -9
  63. package/dist/indexingTypes.d.ts.map +0 -1
  64. package/dist/indexingTypes.js +0 -2
  65. package/dist/indexingTypes.js.map +0 -1
  66. package/dist/matrix-crdt-shim.d.ts +0 -43
  67. package/dist/matrix-crdt-shim.d.ts.map +0 -1
  68. package/dist/matrix-crdt-shim.js +0 -2
  69. package/dist/matrix-crdt-shim.js.map +0 -1
  70. package/dist/singletonRoom.d.ts +0 -3
  71. package/dist/singletonRoom.d.ts.map +0 -1
  72. package/dist/singletonRoom.js +0 -8
  73. package/dist/singletonRoom.js.map +0 -1
@@ -1,125 +0,0 @@
1
- import * as sdk from "matrix-js-sdk";
2
- import { Room } from "../Room";
3
- export class IndexRoomStore {
4
- namespace;
5
- matrixClient;
6
- openRoom;
7
- constructor(options) {
8
- this.namespace = options.namespace;
9
- this.matrixClient = options.matrixClient;
10
- this.openRoom = options.openRoom;
11
- }
12
- async resolveIndexRoomId(options) {
13
- if (options.scope === "private") {
14
- return this.resolvePrivateIndexRoomId(options.indexName);
15
- }
16
- return this.resolveCollaborativeIndexRoomId(options.indexName, options.ownerRoomId);
17
- }
18
- async resolvePrivateIndexRoomId(indexName) {
19
- const eventType = this.privateIndexAccountDataType();
20
- let mapping = await this.getAccountDataMapping(eventType);
21
- const existing = mapping[indexName];
22
- if (typeof existing === "string") {
23
- return existing;
24
- }
25
- const roomId = await this.createIndexMatrixRoom({
26
- indexName,
27
- scope: "private",
28
- });
29
- mapping = { ...mapping, [indexName]: roomId };
30
- await this.matrixClient.setAccountData(eventType, mapping);
31
- return roomId;
32
- }
33
- async resolveCollaborativeIndexRoomId(indexName, ownerRoomId) {
34
- if (!ownerRoomId) {
35
- throw new Error(`Collaborative index "${indexName}" missing ownerRoomId`);
36
- }
37
- let mapping = await this.getOwnerRoomIndexMapping(ownerRoomId);
38
- const existing = mapping[indexName];
39
- if (typeof existing === "string") {
40
- await this.ensureJoined(existing);
41
- return existing;
42
- }
43
- const ownerRoom = this.openRoom(ownerRoomId);
44
- await ownerRoom.ensureJoined();
45
- await ownerRoom.connect();
46
- if (!ownerRoom.canEdit) {
47
- throw new Error(`Cannot create index "${indexName}" without owner room write access`);
48
- }
49
- const roomId = await this.createIndexMatrixRoom({
50
- indexName,
51
- scope: "collaborative",
52
- });
53
- const indexRoom = this.openRoom(roomId);
54
- await indexRoom.ensureJoined();
55
- await indexRoom.connect();
56
- await indexRoom.delegates.add(ownerRoomId);
57
- mapping = { ...mapping, [indexName]: roomId };
58
- await this.matrixClient.sendStateEvent(ownerRoomId, this.ownerIndexMappingStateType(), mapping, "");
59
- return roomId;
60
- }
61
- async ensureJoined(roomId) {
62
- if (this.matrixClient.getRoom(roomId))
63
- return;
64
- await this.matrixClient.joinRoom(roomId);
65
- }
66
- async getAccountDataMapping(eventType) {
67
- try {
68
- const data = await this.matrixClient.getAccountDataFromServer(eventType);
69
- if (!data || typeof data !== "object")
70
- return {};
71
- return data;
72
- }
73
- catch {
74
- return {};
75
- }
76
- }
77
- async getOwnerRoomIndexMapping(ownerRoomId) {
78
- try {
79
- const state = await this.matrixClient.roomState(ownerRoomId);
80
- const event = state.find((entry) => entry.type === this.ownerIndexMappingStateType() &&
81
- entry.state_key === "");
82
- if (!event || typeof event.content !== "object")
83
- return {};
84
- return event.content;
85
- }
86
- catch {
87
- return {};
88
- }
89
- }
90
- async createIndexMatrixRoom(options) {
91
- const timestamp = Date.now();
92
- const randomSuffix = Math.random().toString(36).substring(2, 8);
93
- const localAlias = `${this.namespace}-index-${timestamp}-${randomSuffix}`;
94
- const response = await this.matrixClient.createRoom({
95
- name: `Index: ${options.indexName}`,
96
- room_alias_name: localAlias,
97
- visibility: sdk.Visibility.Private,
98
- preset: sdk.Preset.PrivateChat,
99
- initial_state: [
100
- {
101
- type: "m.room.history_visibility",
102
- content: { history_visibility: "shared" },
103
- },
104
- {
105
- type: this.namespace,
106
- state_key: "",
107
- content: {
108
- version: 1,
109
- roomType: "__index__",
110
- indexName: options.indexName,
111
- indexScope: options.scope,
112
- },
113
- },
114
- ],
115
- });
116
- return response.room_id;
117
- }
118
- privateIndexAccountDataType() {
119
- return `${this.namespace}.private_indexes`;
120
- }
121
- ownerIndexMappingStateType() {
122
- return `${this.namespace}.index_rooms`;
123
- }
124
- }
125
- //# sourceMappingURL=roomRegistry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roomRegistry.js","sourceRoot":"","sources":["../../src/indexing/roomRegistry.ts"],"names":[],"mappings":"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"}
@@ -1,93 +0,0 @@
1
- import * as Y from "yjs";
2
- import { Room } from "./Room";
3
- import type { MayDbIndexDefinition, MayDbIndexHandle, MayDbIndexQueryPageOptions, MayDbIndexQueryPageResult, MayDbSchema, MatrixClient } from "./types";
4
- export declare class IndexCapacityError extends Error {
5
- readonly indexName: string;
6
- readonly ownerRoomId: string | null;
7
- constructor(options: {
8
- indexName: string;
9
- ownerRoomId: string | null;
10
- });
11
- }
12
- declare class RuntimeIndexHandle implements MayDbIndexHandle {
13
- readonly indexName: string;
14
- readonly ownerRoomId: string | null;
15
- readonly definition: MayDbIndexDefinition;
16
- activeCount: number;
17
- paused: boolean;
18
- indexRoom: Room | null;
19
- rowsMap: Y.Map<string> | null;
20
- roomObserverCleanup: (() => void) | null;
21
- readyPromise: Promise<void> | null;
22
- private readonly runtime;
23
- private readonly listeners;
24
- constructor(options: {
25
- runtime: IndexRuntime;
26
- indexName: string;
27
- ownerRoomId: string | null;
28
- definition: MayDbIndexDefinition;
29
- });
30
- activate(): () => void;
31
- ensureReady(): Promise<void>;
32
- queryPage(options: MayDbIndexQueryPageOptions): Promise<MayDbIndexQueryPageResult>;
33
- subscribe(listener: () => void): () => void;
34
- notifyChange(): void;
35
- }
36
- export declare class IndexRuntime {
37
- private readonly namespace;
38
- private readonly matrixClient;
39
- private readonly schema;
40
- private readonly openRoom;
41
- private readonly roomStore;
42
- private readonly indexEntries;
43
- private readonly roomDescriptors;
44
- private readonly trackedRooms;
45
- private readonly handles;
46
- private readonly activeHandles;
47
- private readonly roomTypesInIndexes;
48
- constructor(options: {
49
- namespace: string;
50
- matrixClient: MatrixClient;
51
- schema: MayDbSchema;
52
- openRoom: (roomId: string) => Room;
53
- });
54
- hasIndexes(): boolean;
55
- isRoomTypeIndexed(roomType: string): boolean;
56
- validateRoomType(roomType: string): void;
57
- openIndex(options: {
58
- indexName: string;
59
- ownerRoomId?: string;
60
- }): MayDbIndexHandle;
61
- dispose(): void;
62
- registerRoom(room: Room): void;
63
- onRoomAcquired(options: {
64
- roomId: string;
65
- roomName: string;
66
- roomType: string;
67
- ownerRoomId?: string | null;
68
- activityAt?: string;
69
- }): Promise<void>;
70
- onHandleActivated(handle: RuntimeIndexHandle): void;
71
- onHandleDeactivated(handle: RuntimeIndexHandle): void;
72
- ensureHandleReady(handle: RuntimeIndexHandle): Promise<void>;
73
- queryHandlePage(handle: RuntimeIndexHandle, options: MayDbIndexQueryPageOptions): Promise<MayDbIndexQueryPageResult>;
74
- private validateSchemaIndexes;
75
- private getIndexDefinition;
76
- private validateIndexScopeOptions;
77
- private getOrCreateHandle;
78
- private initializeHandle;
79
- private maybeAttachRoomActivityListener;
80
- private onRoomActivity;
81
- private upsertRoomAcrossAllRelevantIndexes;
82
- private upsertRoomAcrossActiveIndexes;
83
- private isDescriptorRelevantForHandle;
84
- private upsertRoomToIndex;
85
- private getRoomDescriptor;
86
- private readRoomDescriptorFromState;
87
- private resolveRoomName;
88
- private readRoomNameFromState;
89
- private nowIso;
90
- private handleKey;
91
- }
92
- export {};
93
- //# sourceMappingURL=indexing.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexing.d.ts","sourceRoot":"","sources":["../src/indexing.ts"],"names":[],"mappings":"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"}
package/dist/indexing.js DELETED
@@ -1,394 +0,0 @@
1
- import * as Y from "yjs";
2
- import { Room } from "./Room";
3
- import { IndexRoomStore } from "./indexingRoomStore";
4
- import { buildIndexItem, compareIndexItems, pageRows, readQueryRows, } from "./indexingRows";
5
- const INDEX_ROWS_MAP_KEY = "rows";
6
- const DEFAULT_ROOM_NAME = "Untitled";
7
- const ROOM_NAME_EVENT_TYPE = "m.room.name";
8
- export class IndexCapacityError extends Error {
9
- indexName;
10
- ownerRoomId;
11
- constructor(options) {
12
- super(`Index "${options.indexName}" has reached capacity`);
13
- this.name = "IndexCapacityError";
14
- this.indexName = options.indexName;
15
- this.ownerRoomId = options.ownerRoomId;
16
- }
17
- }
18
- class RuntimeIndexHandle {
19
- indexName;
20
- ownerRoomId;
21
- definition;
22
- activeCount = 0;
23
- paused = false;
24
- indexRoom = null;
25
- rowsMap = null;
26
- roomObserverCleanup = null;
27
- readyPromise = null;
28
- runtime;
29
- listeners = new Set();
30
- constructor(options) {
31
- this.runtime = options.runtime;
32
- this.indexName = options.indexName;
33
- this.ownerRoomId = options.ownerRoomId;
34
- this.definition = options.definition;
35
- }
36
- activate() {
37
- this.activeCount += 1;
38
- this.runtime.onHandleActivated(this);
39
- let disposed = false;
40
- return () => {
41
- if (disposed)
42
- return;
43
- disposed = true;
44
- this.activeCount = Math.max(0, this.activeCount - 1);
45
- this.runtime.onHandleDeactivated(this);
46
- };
47
- }
48
- async ensureReady() {
49
- await this.runtime.ensureHandleReady(this);
50
- }
51
- async queryPage(options) {
52
- return this.runtime.queryHandlePage(this, options);
53
- }
54
- subscribe(listener) {
55
- this.listeners.add(listener);
56
- return () => this.listeners.delete(listener);
57
- }
58
- notifyChange() {
59
- for (const listener of this.listeners) {
60
- listener();
61
- }
62
- }
63
- }
64
- export class IndexRuntime {
65
- namespace;
66
- matrixClient;
67
- schema;
68
- openRoom;
69
- roomStore;
70
- indexEntries;
71
- roomDescriptors = new Map();
72
- trackedRooms = new Map();
73
- handles = new Map();
74
- activeHandles = new Set();
75
- roomTypesInIndexes = new Set();
76
- constructor(options) {
77
- this.namespace = options.namespace;
78
- this.matrixClient = options.matrixClient;
79
- this.schema = options.schema;
80
- this.openRoom = options.openRoom;
81
- this.roomStore = new IndexRoomStore({
82
- namespace: this.namespace,
83
- matrixClient: this.matrixClient,
84
- openRoom: this.openRoom,
85
- });
86
- this.indexEntries = Object.entries(this.schema.indexes);
87
- this.validateSchemaIndexes();
88
- }
89
- // Public runtime API (used by MayDb and index handles)
90
- hasIndexes() {
91
- return this.indexEntries.length > 0;
92
- }
93
- isRoomTypeIndexed(roomType) {
94
- return this.roomTypesInIndexes.has(roomType);
95
- }
96
- validateRoomType(roomType) {
97
- if (!(roomType in this.schema.roomTypes)) {
98
- throw new Error(`Unknown roomType "${roomType}"`);
99
- }
100
- }
101
- openIndex(options) {
102
- const indexDefinition = this.getIndexDefinition(options.indexName);
103
- const ownerRoomId = options.ownerRoomId ?? null;
104
- this.validateIndexScopeOptions(options.indexName, indexDefinition, ownerRoomId);
105
- return this.getOrCreateHandle(options.indexName, ownerRoomId);
106
- }
107
- dispose() {
108
- for (const tracked of this.trackedRooms.values()) {
109
- if (tracked.transactionListener) {
110
- tracked.room.doc.off("afterTransaction", tracked.transactionListener);
111
- }
112
- }
113
- this.trackedRooms.clear();
114
- for (const handle of this.handles.values()) {
115
- if (handle.roomObserverCleanup) {
116
- handle.roomObserverCleanup();
117
- }
118
- handle.activeCount = 0;
119
- }
120
- this.activeHandles.clear();
121
- }
122
- registerRoom(room) {
123
- const tracked = this.trackedRooms.get(room.id);
124
- if (tracked)
125
- return;
126
- this.trackedRooms.set(room.id, {
127
- room,
128
- transactionListener: null,
129
- });
130
- if (this.activeHandles.size > 0) {
131
- void this.maybeAttachRoomActivityListener(room.id);
132
- }
133
- }
134
- async onRoomAcquired(options) {
135
- this.validateRoomType(options.roomType);
136
- const now = options.activityAt ?? this.nowIso();
137
- const descriptor = {
138
- roomId: options.roomId,
139
- roomName: options.roomName,
140
- roomType: options.roomType,
141
- ownerRoomId: options.ownerRoomId ?? null,
142
- joinedAt: now,
143
- lastActivityAt: now,
144
- };
145
- this.roomDescriptors.set(options.roomId, descriptor);
146
- this.registerRoom(this.openRoom(options.roomId));
147
- await this.upsertRoomAcrossAllRelevantIndexes(descriptor, now);
148
- }
149
- onHandleActivated(handle) {
150
- this.activeHandles.add(handle);
151
- void handle.ensureReady().catch((error) => {
152
- console.error(`Failed to initialize index "${handle.indexName}"`, error);
153
- });
154
- for (const roomId of this.trackedRooms.keys()) {
155
- void this.maybeAttachRoomActivityListener(roomId);
156
- }
157
- }
158
- onHandleDeactivated(handle) {
159
- if (handle.activeCount > 0)
160
- return;
161
- this.activeHandles.delete(handle);
162
- }
163
- async ensureHandleReady(handle) {
164
- if (handle.rowsMap && handle.indexRoom) {
165
- return;
166
- }
167
- if (handle.readyPromise) {
168
- return handle.readyPromise;
169
- }
170
- handle.readyPromise = this.initializeHandle(handle);
171
- try {
172
- await handle.readyPromise;
173
- }
174
- catch (error) {
175
- handle.readyPromise = null;
176
- throw error;
177
- }
178
- }
179
- async queryHandlePage(handle, options) {
180
- await this.ensureHandleReady(handle);
181
- const rowsMap = handle.rowsMap;
182
- if (!rowsMap) {
183
- return { items: [], hasMore: false };
184
- }
185
- const rows = readQueryRows(rowsMap, options.where);
186
- rows.sort((a, b) => compareIndexItems(a, b, options.orderBy));
187
- return pageRows(rows, options.limit, options.after?.roomId ?? null);
188
- }
189
- // Handle lifecycle and validation helpers
190
- validateSchemaIndexes() {
191
- for (const [indexName, definition] of this.indexEntries) {
192
- if (definition.maxEntries <= 0) {
193
- throw new Error(`Index "${indexName}" maxEntries must be > 0`);
194
- }
195
- if (!(definition.defaultOrderBy.column in definition.columns)) {
196
- throw new Error(`Index "${indexName}" defaultOrderBy column must be in columns`);
197
- }
198
- for (const roomType of definition.roomTypes) {
199
- if (!(roomType in this.schema.roomTypes)) {
200
- throw new Error(`Index "${indexName}" references unknown roomType "${roomType}"`);
201
- }
202
- this.roomTypesInIndexes.add(roomType);
203
- }
204
- }
205
- }
206
- getIndexDefinition(indexName) {
207
- const definition = this.schema.indexes[indexName];
208
- if (!definition) {
209
- throw new Error(`Unknown index "${indexName}"`);
210
- }
211
- return definition;
212
- }
213
- validateIndexScopeOptions(indexName, definition, ownerRoomId) {
214
- if (definition.scope === "collaborative" && !ownerRoomId) {
215
- throw new Error(`Index "${indexName}" requires ownerRoomId`);
216
- }
217
- if (definition.scope === "private" && ownerRoomId) {
218
- throw new Error(`Private index "${indexName}" must not set ownerRoomId`);
219
- }
220
- }
221
- getOrCreateHandle(indexName, ownerRoomId) {
222
- const key = this.handleKey(indexName, ownerRoomId);
223
- let handle = this.handles.get(key);
224
- if (!handle) {
225
- const definition = this.schema.indexes[indexName];
226
- handle = new RuntimeIndexHandle({
227
- runtime: this,
228
- indexName,
229
- ownerRoomId,
230
- definition,
231
- });
232
- this.handles.set(key, handle);
233
- }
234
- return handle;
235
- }
236
- async initializeHandle(handle) {
237
- const roomId = await this.roomStore.resolveIndexRoomId({
238
- indexName: handle.indexName,
239
- scope: handle.definition.scope,
240
- ownerRoomId: handle.ownerRoomId,
241
- });
242
- const room = this.openRoom(roomId);
243
- this.registerRoom(room);
244
- await room.ensureJoined();
245
- await room.connect();
246
- handle.indexRoom = room;
247
- const rowsMap = room.doc.getMap(INDEX_ROWS_MAP_KEY);
248
- handle.rowsMap = rowsMap;
249
- if (handle.roomObserverCleanup) {
250
- handle.roomObserverCleanup();
251
- }
252
- const observer = () => handle.notifyChange();
253
- rowsMap.observe(observer);
254
- handle.roomObserverCleanup = () => rowsMap.unobserve(observer);
255
- handle.notifyChange();
256
- }
257
- // Room activity ingestion and index updates
258
- async maybeAttachRoomActivityListener(roomId) {
259
- const tracked = this.trackedRooms.get(roomId);
260
- if (!tracked || tracked.transactionListener)
261
- return;
262
- const descriptor = await this.getRoomDescriptor(roomId);
263
- if (!descriptor)
264
- return;
265
- const hasActiveRelevantHandle = Array.from(this.activeHandles).some((handle) => this.isDescriptorRelevantForHandle(descriptor, handle));
266
- if (!hasActiveRelevantHandle)
267
- return;
268
- const onTransaction = (tx) => {
269
- if (!tx.local)
270
- return;
271
- const activityAt = this.nowIso();
272
- void this.onRoomActivity(roomId, activityAt);
273
- };
274
- tracked.room.doc.on("afterTransaction", onTransaction);
275
- tracked.transactionListener = onTransaction;
276
- await this.upsertRoomAcrossActiveIndexes(descriptor, this.nowIso());
277
- }
278
- async onRoomActivity(roomId, activityAt) {
279
- const descriptor = await this.getRoomDescriptor(roomId);
280
- if (!descriptor)
281
- return;
282
- descriptor.lastActivityAt = activityAt;
283
- descriptor.roomName = await this.resolveRoomName(roomId, descriptor.roomName);
284
- await this.upsertRoomAcrossActiveIndexes(descriptor, activityAt);
285
- }
286
- async upsertRoomAcrossAllRelevantIndexes(roomDescriptor, activityAt) {
287
- const room = this.openRoom(roomDescriptor.roomId);
288
- for (const [indexName, definition] of this.indexEntries) {
289
- if (!definition.roomTypes.includes(roomDescriptor.roomType))
290
- continue;
291
- const ownerRoomId = definition.scope === "collaborative" ? roomDescriptor.ownerRoomId : null;
292
- if (definition.scope === "collaborative" && !ownerRoomId)
293
- continue;
294
- const handle = this.getOrCreateHandle(indexName, ownerRoomId);
295
- await this.upsertRoomToIndex(handle, roomDescriptor, room, activityAt);
296
- }
297
- }
298
- async upsertRoomAcrossActiveIndexes(roomDescriptor, activityAt) {
299
- const room = this.openRoom(roomDescriptor.roomId);
300
- for (const handle of this.activeHandles) {
301
- if (!this.isDescriptorRelevantForHandle(roomDescriptor, handle))
302
- continue;
303
- await this.upsertRoomToIndex(handle, roomDescriptor, room, activityAt);
304
- }
305
- }
306
- isDescriptorRelevantForHandle(roomDescriptor, indexHandle) {
307
- if (!indexHandle.definition.roomTypes.includes(roomDescriptor.roomType))
308
- return false;
309
- if (indexHandle.definition.scope === "private")
310
- return true;
311
- return indexHandle.ownerRoomId === roomDescriptor.ownerRoomId;
312
- }
313
- async upsertRoomToIndex(indexHandle, roomDescriptor, sourceRoom, activityAt) {
314
- if (indexHandle.paused) {
315
- throw new IndexCapacityError({
316
- indexName: indexHandle.indexName,
317
- ownerRoomId: indexHandle.ownerRoomId,
318
- });
319
- }
320
- await this.ensureHandleReady(indexHandle);
321
- const rowsMap = indexHandle.rowsMap;
322
- if (!rowsMap)
323
- return;
324
- roomDescriptor.lastActivityAt = activityAt;
325
- const item = buildIndexItem(indexHandle.definition, roomDescriptor, sourceRoom.doc);
326
- const encoded = JSON.stringify(item);
327
- const alreadyPresent = rowsMap.has(roomDescriptor.roomId);
328
- if (!alreadyPresent && rowsMap.size >= indexHandle.definition.maxEntries) {
329
- indexHandle.paused = true;
330
- throw new IndexCapacityError({
331
- indexName: indexHandle.indexName,
332
- ownerRoomId: indexHandle.ownerRoomId,
333
- });
334
- }
335
- if (rowsMap.get(roomDescriptor.roomId) !== encoded) {
336
- rowsMap.set(roomDescriptor.roomId, encoded);
337
- }
338
- }
339
- async getRoomDescriptor(roomId) {
340
- const existing = this.roomDescriptors.get(roomId);
341
- if (existing)
342
- return existing;
343
- const descriptor = await this.readRoomDescriptorFromState(roomId);
344
- if (!descriptor)
345
- return null;
346
- this.roomDescriptors.set(roomId, descriptor);
347
- return descriptor;
348
- }
349
- async readRoomDescriptorFromState(roomId) {
350
- try {
351
- const state = await this.matrixClient.roomState(roomId);
352
- const appState = state.find((event) => event.type === this.namespace && event.state_key === "");
353
- const content = (appState?.content ?? {});
354
- const roomType = typeof content.roomType === "string" ? content.roomType : null;
355
- if (!roomType)
356
- return null;
357
- const roomName = this.readRoomNameFromState(state, DEFAULT_ROOM_NAME);
358
- const now = this.nowIso();
359
- return {
360
- roomId,
361
- roomName,
362
- roomType,
363
- ownerRoomId: typeof content.ownerRoomId === "string" ? content.ownerRoomId : null,
364
- joinedAt: now,
365
- lastActivityAt: now,
366
- };
367
- }
368
- catch {
369
- return null;
370
- }
371
- }
372
- async resolveRoomName(roomId, fallback) {
373
- try {
374
- const state = await this.matrixClient.roomState(roomId);
375
- return this.readRoomNameFromState(state, fallback);
376
- }
377
- catch {
378
- return fallback;
379
- }
380
- }
381
- readRoomNameFromState(state, fallback) {
382
- const nameEvent = state.find((event) => event.type === ROOM_NAME_EVENT_TYPE);
383
- return typeof nameEvent?.content?.name === "string"
384
- ? nameEvent.content.name
385
- : fallback;
386
- }
387
- nowIso() {
388
- return new Date().toISOString();
389
- }
390
- handleKey(indexName, ownerRoomId) {
391
- return ownerRoomId ? `${indexName}::${ownerRoomId}` : `${indexName}::private`;
392
- }
393
- }
394
- //# sourceMappingURL=indexing.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexing.js","sourceRoot":"","sources":["../src/indexing.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- export declare class IndexCapacityError extends Error {
2
- readonly indexName: string;
3
- readonly ownerRoomId: string | null;
4
- constructor(options: {
5
- indexName: string;
6
- ownerRoomId: string | null;
7
- });
8
- }
9
- //# sourceMappingURL=indexingErrors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indexingErrors.d.ts","sourceRoot":"","sources":["../src/indexingErrors.ts"],"names":[],"mappings":"AAAA,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;gBAExB,OAAO,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;CAMvE"}