@graphprotocol/hypergraph 0.0.1

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 (171) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +2 -0
  3. package/dist/connect/auth-storage.d.ts.map +1 -0
  4. package/dist/connect/create-app-identity.d.ts.map +1 -0
  5. package/dist/connect/create-auth-url.d.ts.map +1 -0
  6. package/dist/connect/create-auth-url.js +35 -0
  7. package/dist/connect/create-auth-url.js.map +1 -0
  8. package/dist/connect/create-callback-params.d.ts.map +1 -0
  9. package/dist/connect/create-callback-params.js +17 -0
  10. package/dist/connect/create-callback-params.js.map +1 -0
  11. package/dist/connect/create-identity-keys.d.ts.map +1 -0
  12. package/dist/connect/identity-encryption.d.ts.map +1 -0
  13. package/dist/connect/index.d.ts.map +1 -0
  14. package/dist/connect/login.d.ts.map +1 -0
  15. package/dist/connect/parse-callback-params.d.ts.map +1 -0
  16. package/dist/connect/parse-callback-params.js +63 -0
  17. package/dist/connect/parse-callback-params.js.map +1 -0
  18. package/dist/connect/prove-ownership.d.ts.map +1 -0
  19. package/dist/connect/types.d.ts +57 -0
  20. package/dist/connect/types.d.ts.map +1 -0
  21. package/dist/connect/types.js +24 -0
  22. package/dist/connect/types.js.map +1 -0
  23. package/dist/entity/create.d.ts.map +1 -0
  24. package/dist/entity/decodedEntitiesCache.d.ts.map +1 -0
  25. package/dist/entity/delete.d.ts.map +1 -0
  26. package/dist/entity/entity.d.ts.map +1 -0
  27. package/dist/entity/entityRelationParentsMap.d.ts.map +1 -0
  28. package/dist/entity/findMany.d.ts.map +1 -0
  29. package/dist/entity/findMany.js +436 -0
  30. package/dist/entity/findMany.js.map +1 -0
  31. package/dist/entity/findOne.d.ts.map +1 -0
  32. package/dist/entity/getEntityRelations.d.ts.map +1 -0
  33. package/dist/entity/index.d.ts.map +1 -0
  34. package/dist/entity/relationParentsMap.d.ts.map +1 -0
  35. package/dist/entity/removeRelation.d.ts.map +1 -0
  36. package/dist/entity/types.d.ts +79 -0
  37. package/dist/entity/types.d.ts.map +1 -0
  38. package/dist/entity/types.js +2 -0
  39. package/dist/entity/types.js.map +1 -0
  40. package/dist/entity/update.d.ts.map +1 -0
  41. package/dist/identity/auth-storage.d.ts.map +1 -0
  42. package/dist/identity/get-verified-identity.d.ts.map +1 -0
  43. package/dist/identity/identity-encryption.d.ts.map +1 -0
  44. package/dist/identity/index.d.ts.map +1 -0
  45. package/dist/identity/logout.d.ts.map +1 -0
  46. package/dist/identity/prove-ownership.d.ts.map +1 -0
  47. package/dist/inboxes/create-inbox.d.ts.map +1 -0
  48. package/dist/inboxes/get-list-inboxes.d.ts.map +1 -0
  49. package/dist/inboxes/index.d.ts.map +1 -0
  50. package/dist/inboxes/merge-messages.d.ts.map +1 -0
  51. package/dist/inboxes/message-encryption.d.ts.map +1 -0
  52. package/dist/inboxes/message-validation.d.ts.map +1 -0
  53. package/dist/inboxes/prepare-message.d.ts +31 -0
  54. package/dist/inboxes/prepare-message.d.ts.map +1 -0
  55. package/dist/inboxes/recover-inbox-creator.d.ts.map +1 -0
  56. package/dist/inboxes/recover-inbox-message-signer.d.ts.map +1 -0
  57. package/dist/inboxes/send-message.d.ts.map +1 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/messages/index.d.ts.map +1 -0
  60. package/dist/messages/signed-update-message.d.ts.map +1 -0
  61. package/dist/messages/types.d.ts.map +1 -0
  62. package/dist/space-events/accept-invitation.d.ts.map +1 -0
  63. package/dist/space-events/apply-event.d.ts.map +1 -0
  64. package/dist/space-events/create-inbox.d.ts.map +1 -0
  65. package/dist/space-events/create-invitation.d.ts.map +1 -0
  66. package/dist/space-events/create-space.d.ts.map +1 -0
  67. package/dist/space-events/delete-space.d.ts.map +1 -0
  68. package/dist/space-events/hash-event.d.ts.map +1 -0
  69. package/dist/space-events/index.d.ts.map +1 -0
  70. package/dist/space-info/decrypt-space-info.d.ts.map +1 -0
  71. package/dist/space-info/encrypt-and-sign-space-info.d.ts.map +1 -0
  72. package/dist/space-info/index.d.ts.map +1 -0
  73. package/dist/store-connect.d.ts.map +1 -0
  74. package/dist/store.d.ts.map +1 -0
  75. package/dist/type/type.d.ts.map +1 -0
  76. package/dist/utils/automergeId.d.ts +9 -0
  77. package/dist/utils/automergeId.d.ts.map +1 -0
  78. package/dist/utils/automergeId.js +17 -0
  79. package/dist/utils/automergeId.js.map +1 -0
  80. package/dist/utils/generateId.d.ts +15 -0
  81. package/dist/utils/generateId.d.ts.map +1 -0
  82. package/dist/utils/generateId.js +18 -0
  83. package/dist/utils/generateId.js.map +1 -0
  84. package/dist/utils/index.d.ts.map +1 -0
  85. package/package.json +35 -0
  86. package/src/connect/auth-storage.ts +67 -0
  87. package/src/connect/create-app-identity.ts +16 -0
  88. package/src/connect/create-auth-url.ts +42 -0
  89. package/src/connect/create-callback-params.ts +30 -0
  90. package/src/connect/create-identity-keys.ts +20 -0
  91. package/src/connect/identity-encryption.ts +232 -0
  92. package/src/connect/index.ts +10 -0
  93. package/src/connect/login.ts +114 -0
  94. package/src/connect/parse-auth-params.ts +37 -0
  95. package/src/connect/parse-callback-params.ts +67 -0
  96. package/src/connect/prove-ownership.ts +58 -0
  97. package/src/connect/types.ts +67 -0
  98. package/src/entity/create.ts +58 -0
  99. package/src/entity/decodedEntitiesCache.ts +38 -0
  100. package/src/entity/delete.ts +52 -0
  101. package/src/entity/entity.ts +26 -0
  102. package/src/entity/entityRelationParentsMap.ts +6 -0
  103. package/src/entity/findMany.ts +506 -0
  104. package/src/entity/findOne.ts +34 -0
  105. package/src/entity/getEntityRelations.ts +45 -0
  106. package/src/entity/hasValidTypesProperty.ts +8 -0
  107. package/src/entity/index.ts +8 -0
  108. package/src/entity/relationParentsMap.ts +6 -0
  109. package/src/entity/removeRelation.ts +21 -0
  110. package/src/entity/test.ts +0 -0
  111. package/src/entity/types.ts +100 -0
  112. package/src/entity/update.ts +58 -0
  113. package/src/entity/variant-schema.ts +677 -0
  114. package/src/identity/auth-storage.ts +57 -0
  115. package/src/identity/get-verified-identity.ts +53 -0
  116. package/src/identity/identity-encryption.ts +140 -0
  117. package/src/identity/index.ts +6 -0
  118. package/src/identity/logout.ts +8 -0
  119. package/src/identity/prove-ownership.ts +58 -0
  120. package/src/identity/types.ts +44 -0
  121. package/src/inboxes/create-inbox.ts +102 -0
  122. package/src/inboxes/get-list-inboxes.ts +52 -0
  123. package/src/inboxes/index.ts +10 -0
  124. package/src/inboxes/merge-messages.ts +28 -0
  125. package/src/inboxes/message-encryption.ts +35 -0
  126. package/src/inboxes/message-validation.ts +66 -0
  127. package/src/inboxes/prepare-message.ts +85 -0
  128. package/src/inboxes/recover-inbox-creator.ts +29 -0
  129. package/src/inboxes/recover-inbox-message-signer.ts +42 -0
  130. package/src/inboxes/send-message.ts +75 -0
  131. package/src/inboxes/types.ts +9 -0
  132. package/src/index.ts +13 -0
  133. package/src/key/create-key.ts +27 -0
  134. package/src/key/decrypt-key.ts +19 -0
  135. package/src/key/encrypt-key.ts +27 -0
  136. package/src/key/index.ts +4 -0
  137. package/src/key/key-box.ts +31 -0
  138. package/src/messages/decrypt-message.ts +13 -0
  139. package/src/messages/encrypt-message.ts +14 -0
  140. package/src/messages/index.ts +5 -0
  141. package/src/messages/serialize.ts +24 -0
  142. package/src/messages/signed-update-message.ts +84 -0
  143. package/src/messages/types.ts +506 -0
  144. package/src/space-events/accept-invitation.ts +36 -0
  145. package/src/space-events/apply-event.ts +150 -0
  146. package/src/space-events/create-inbox.ts +56 -0
  147. package/src/space-events/create-invitation.ts +41 -0
  148. package/src/space-events/create-space.ts +35 -0
  149. package/src/space-events/delete-space.ts +36 -0
  150. package/src/space-events/hash-event.ts +10 -0
  151. package/src/space-events/index.ts +8 -0
  152. package/src/space-events/types.ts +137 -0
  153. package/src/space-info/decrypt-space-info.ts +22 -0
  154. package/src/space-info/encrypt-and-sign-space-info.ts +50 -0
  155. package/src/space-info/index.ts +3 -0
  156. package/src/space-info/types.ts +7 -0
  157. package/src/store-connect.ts +504 -0
  158. package/src/store.ts +493 -0
  159. package/src/type/type.ts +25 -0
  160. package/src/types.ts +47 -0
  161. package/src/utils/assertExhaustive.ts +3 -0
  162. package/src/utils/automergeId.ts +18 -0
  163. package/src/utils/base58.ts +74 -0
  164. package/src/utils/generateId.ts +18 -0
  165. package/src/utils/hexBytesAddressUtils.ts +25 -0
  166. package/src/utils/index.ts +8 -0
  167. package/src/utils/internal/base58Utils.ts +47 -0
  168. package/src/utils/internal/deep-merge.ts +38 -0
  169. package/src/utils/isRelationField.ts +9 -0
  170. package/src/utils/jsc.ts +94 -0
  171. package/src/utils/stringToUint8Array.ts +9 -0
@@ -0,0 +1,436 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { deepMerge } from '../utils/internal/deep-merge.js';
3
+ import { isRelationField } from '../utils/isRelationField.js';
4
+ import { canonicalize } from '../utils/jsc.js';
5
+ import { decodedEntitiesCache } from './decodedEntitiesCache.js';
6
+ import { entityRelationParentsMap } from './entityRelationParentsMap.js';
7
+ import { getEntityRelations } from './getEntityRelations.js';
8
+ import { hasValidTypesProperty } from './hasValidTypesProperty.js';
9
+ const documentChangeListener = {
10
+ subscribedQueriesCount: 0,
11
+ unsubscribe: undefined
12
+ };
13
+ const subscribeToDocumentChanges = handle => {
14
+ const onChange = ({
15
+ patches,
16
+ doc
17
+ }) => {
18
+ const changedRelations = new Set();
19
+ const deletedRelations = new Set();
20
+ const changedEntities = new Set();
21
+ const deletedEntities = new Set();
22
+ for (const patch of patches) {
23
+ switch (patch.action) {
24
+ case 'put':
25
+ case 'insert':
26
+ case 'splice':
27
+ {
28
+ if (patch.path.length > 2 && patch.path[0] === 'entities' && typeof patch.path[1] === 'string') {
29
+ changedEntities.add(patch.path[1]);
30
+ }
31
+ if (patch.path.length > 2 && patch.path[0] === 'relations' && typeof patch.path[1] === 'string') {
32
+ changedRelations.add(patch.path[1]);
33
+ }
34
+ break;
35
+ }
36
+ case 'del':
37
+ {
38
+ if (patch.path.length === 2 && patch.path[0] === 'entities' && typeof patch.path[1] === 'string') {
39
+ deletedEntities.add(patch.path[1]);
40
+ }
41
+ if (patch.path.length === 2 && patch.path[0] === 'relations' && typeof patch.path[1] === 'string') {
42
+ deletedRelations.add(patch.path[1]);
43
+ }
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ const entityTypes = new Set();
49
+ // collect all query entries that changed and only at the end make one copy to change the
50
+ // reference to reduce the amount of O(n) operations per query to 1
51
+ const touchedQueries = new Set();
52
+ // collect all entities that used this entity as a entry in on of their relation fields
53
+ const touchedRelationParents = new Set();
54
+ // loop over all changed entities and update the cache
55
+ for (const entityId of changedEntities) {
56
+ const entity = doc.entities?.[entityId];
57
+ if (!hasValidTypesProperty(entity)) continue;
58
+ for (const typeName of entity['@@types@@']) {
59
+ if (typeof typeName !== 'string') continue;
60
+ const cacheEntry = decodedEntitiesCache.get(typeName);
61
+ if (!cacheEntry) continue;
62
+ let includeFromAllQueries = {};
63
+ for (const [, query] of cacheEntry.queries) {
64
+ includeFromAllQueries = deepMerge(includeFromAllQueries, query.include);
65
+ }
66
+ const oldDecodedEntry = cacheEntry.entities.get(entityId);
67
+ const relations = getEntityRelations(entityId, cacheEntry.type, doc, includeFromAllQueries);
68
+ let decoded;
69
+ try {
70
+ decoded = cacheEntry.decoder({
71
+ ...entity,
72
+ ...relations,
73
+ id: entityId
74
+ });
75
+ cacheEntry.entities.set(entityId, decoded);
76
+ } catch (error) {
77
+ // TODO: store the corrupt entity ids somewhere, so they can be read via the API
78
+ console.error('error', error);
79
+ }
80
+ if (oldDecodedEntry) {
81
+ // collect all the Ids for relation entries in the `oldDecodedEntry`
82
+ const deletedRelationIds = new Set();
83
+ for (const [, value] of Object.entries(oldDecodedEntry)) {
84
+ if (Array.isArray(value)) {
85
+ for (const relationEntity of value) {
86
+ deletedRelationIds.add(relationEntity.id);
87
+ }
88
+ }
89
+ }
90
+ // it's fine to remove all of them since they are re-added below
91
+ for (const deletedRelationId of deletedRelationIds) {
92
+ const deletedRelationEntry = entityRelationParentsMap.get(deletedRelationId);
93
+ if (deletedRelationEntry) {
94
+ deletedRelationEntry.set(cacheEntry, (deletedRelationEntry.get(cacheEntry) ?? 0) - 1);
95
+ if (deletedRelationEntry.get(cacheEntry) === 0) {
96
+ deletedRelationEntry.delete(cacheEntry);
97
+ }
98
+ if (deletedRelationEntry.size === 0) {
99
+ entityRelationParentsMap.delete(deletedRelationId);
100
+ }
101
+ }
102
+ }
103
+ }
104
+ if (decoded) {
105
+ for (const [, value] of Object.entries(decoded)) {
106
+ if (Array.isArray(value)) {
107
+ for (const relationEntity of value) {
108
+ let relationParentEntry = entityRelationParentsMap.get(relationEntity.id);
109
+ if (relationParentEntry) {
110
+ relationParentEntry.set(cacheEntry, (relationParentEntry.get(cacheEntry) ?? 0) + 1);
111
+ } else {
112
+ relationParentEntry = new Map();
113
+ entityRelationParentsMap.set(relationEntity.id, relationParentEntry);
114
+ relationParentEntry.set(cacheEntry, 1);
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+ for (const [queryKey, query] of cacheEntry.queries) {
121
+ touchedQueries.add([typeName, queryKey]);
122
+ query.isInvalidated = true;
123
+ }
124
+ entityTypes.add(typeName);
125
+ // gather all the decodedEntitiesCacheEntries that have a relation to this entity to
126
+ // invoke their query listeners below
127
+ if (entityRelationParentsMap.has(entityId)) {
128
+ const decodedEntitiesCacheEntries = entityRelationParentsMap.get(entityId);
129
+ if (!decodedEntitiesCacheEntries) return;
130
+ for (const [entry] of decodedEntitiesCacheEntries) {
131
+ touchedRelationParents.add(entry);
132
+ }
133
+ }
134
+ }
135
+ }
136
+ // loop over all deleted entities and remove them from the cache
137
+ for (const entityId of deletedEntities) {
138
+ for (const [affectedTypeName, cacheEntry] of decodedEntitiesCache) {
139
+ if (cacheEntry.entities.has(entityId)) {
140
+ entityTypes.add(affectedTypeName);
141
+ cacheEntry.entities.delete(entityId);
142
+ for (const [queryKey, query] of cacheEntry.queries) {
143
+ // find the entity in the query and remove it using splice
144
+ const index = query.data.findIndex(entity => entity.id === entityId);
145
+ if (index !== -1) {
146
+ query.data.splice(index, 1);
147
+ touchedQueries.add([affectedTypeName, queryKey]);
148
+ }
149
+ }
150
+ }
151
+ }
152
+ // gather all the queries of impacted parent relation queries and then remove the cacheEntry
153
+ if (entityRelationParentsMap.has(entityId)) {
154
+ const decodedEntitiesCacheEntries = entityRelationParentsMap.get(entityId);
155
+ if (!decodedEntitiesCacheEntries) return;
156
+ for (const [entry] of decodedEntitiesCacheEntries) {
157
+ touchedRelationParents.add(entry);
158
+ }
159
+ entityRelationParentsMap.delete(entityId);
160
+ }
161
+ }
162
+ // update the queries affected queries
163
+ for (const [typeName, queryKey] of touchedQueries) {
164
+ const cacheEntry = decodedEntitiesCache.get(typeName);
165
+ if (!cacheEntry) continue;
166
+ const query = cacheEntry.queries.get(queryKey);
167
+ if (!query) continue;
168
+ query.data = [...query.data]; // must be a new reference for React.useSyncExternalStore
169
+ }
170
+ // invoke all the listeners per type
171
+ for (const typeName of entityTypes) {
172
+ const cacheEntry = decodedEntitiesCache.get(typeName);
173
+ if (!cacheEntry) continue;
174
+ for (const query of cacheEntry.queries.values()) {
175
+ for (const listener of query.listeners) {
176
+ listener();
177
+ }
178
+ }
179
+ }
180
+ // trigger all the listeners of the parent relation queries
181
+ for (const decodedEntitiesCacheEntry of touchedRelationParents) {
182
+ decodedEntitiesCacheEntry.isInvalidated = true;
183
+ for (const query of decodedEntitiesCacheEntry.queries.values()) {
184
+ query.isInvalidated = true;
185
+ for (const listener of query.listeners) {
186
+ listener();
187
+ }
188
+ }
189
+ }
190
+ };
191
+ handle.on('change', onChange);
192
+ return () => {
193
+ handle.off('change', onChange);
194
+ decodedEntitiesCache.clear(); // currently we only support exactly one space
195
+ };
196
+ };
197
+ /**
198
+ * Queries for a list of entities of the given type from the repo.
199
+ */
200
+ export function findMany(handle, type, filter, include) {
201
+ const decode = Schema.decodeUnknownSync(type);
202
+ // TODO: what's the right way to get the name of the type?
203
+ // @ts-expect-error name is defined
204
+ const typeName = type.name;
205
+ const doc = handle.doc();
206
+ if (!doc) {
207
+ return {
208
+ entities: [],
209
+ corruptEntityIds: []
210
+ };
211
+ }
212
+ const entities = doc.entities ?? {};
213
+ const corruptEntityIds = [];
214
+ const filtered = [];
215
+ const evaluateFilter = (fieldFilter, fieldValue) => {
216
+ // Handle NOT operator
217
+ if ('NOT' in fieldFilter && fieldFilter.NOT) {
218
+ return !evaluateFilter(fieldFilter.NOT, fieldValue);
219
+ }
220
+ // Handle OR operator
221
+ if ('OR' in fieldFilter) {
222
+ const orFilters = fieldFilter.OR;
223
+ if (Array.isArray(orFilters)) {
224
+ return orFilters.some(orFilter => evaluateFilter(orFilter, fieldValue));
225
+ }
226
+ }
227
+ // Handle basic filters
228
+ if ('is' in fieldFilter) {
229
+ if (typeof fieldValue === 'boolean') {
230
+ return fieldValue === fieldFilter.is;
231
+ }
232
+ if (typeof fieldValue === 'number') {
233
+ return fieldValue === fieldFilter.is;
234
+ }
235
+ if (typeof fieldValue === 'string') {
236
+ return fieldValue === fieldFilter.is;
237
+ }
238
+ }
239
+ if (typeof fieldValue === 'number') {
240
+ if ('greaterThan' in fieldFilter) {
241
+ const numberFilter = fieldFilter;
242
+ if (numberFilter.greaterThan !== undefined && fieldValue <= numberFilter.greaterThan) {
243
+ return false;
244
+ }
245
+ }
246
+ if ('lessThan' in fieldFilter) {
247
+ const numberFilter = fieldFilter;
248
+ if (numberFilter.lessThan !== undefined && fieldValue >= numberFilter.lessThan) {
249
+ return false;
250
+ }
251
+ }
252
+ }
253
+ if (typeof fieldValue === 'string') {
254
+ if ('startsWith' in fieldFilter) {
255
+ const textFilter = fieldFilter;
256
+ if (textFilter.startsWith !== undefined && !fieldValue.startsWith(textFilter.startsWith)) {
257
+ return false;
258
+ }
259
+ }
260
+ if ('endsWith' in fieldFilter) {
261
+ const textFilter = fieldFilter;
262
+ if (textFilter.endsWith !== undefined && !fieldValue.endsWith(textFilter.endsWith)) {
263
+ return false;
264
+ }
265
+ }
266
+ if ('contains' in fieldFilter) {
267
+ const textFilter = fieldFilter;
268
+ if (textFilter.contains !== undefined && !fieldValue.includes(textFilter.contains)) {
269
+ return false;
270
+ }
271
+ }
272
+ }
273
+ return true;
274
+ };
275
+ const evaluateCrossFieldFilter = (crossFieldFilter, entity) => {
276
+ for (const fieldName in crossFieldFilter) {
277
+ const fieldFilter = crossFieldFilter[fieldName];
278
+ const fieldValue = entity[fieldName];
279
+ if (fieldFilter && !evaluateFilter(fieldFilter, fieldValue)) {
280
+ return false;
281
+ }
282
+ }
283
+ return true;
284
+ };
285
+ const evaluateEntityFilter = (entityFilter, entity) => {
286
+ // handle top-level NOT operator
287
+ if ('NOT' in entityFilter && entityFilter.NOT) {
288
+ return !evaluateCrossFieldFilter(entityFilter.NOT, entity);
289
+ }
290
+ // handle top-level OR operator
291
+ if ('OR' in entityFilter && Array.isArray(entityFilter.OR)) {
292
+ return entityFilter.OR.some(orFilter => evaluateCrossFieldFilter(orFilter, entity));
293
+ }
294
+ // evaluate regular field filters
295
+ return evaluateCrossFieldFilter(entityFilter, entity);
296
+ };
297
+ for (const id in entities) {
298
+ const entity = entities[id];
299
+ if (hasValidTypesProperty(entity) && entity['@@types@@'].includes(typeName)) {
300
+ const relations = getEntityRelations(id, type, doc, include);
301
+ try {
302
+ const decoded = {
303
+ ...decode({
304
+ ...entity,
305
+ ...relations,
306
+ id
307
+ }),
308
+ type: typeName
309
+ };
310
+ if (filter) {
311
+ if (evaluateEntityFilter(filter, decoded)) {
312
+ filtered.push(decoded);
313
+ }
314
+ } else {
315
+ filtered.push(decoded);
316
+ }
317
+ } catch (error) {
318
+ corruptEntityIds.push(id);
319
+ }
320
+ }
321
+ }
322
+ return {
323
+ entities: filtered,
324
+ corruptEntityIds: []
325
+ };
326
+ }
327
+ const stableEmptyArray = [];
328
+ export function subscribeToFindMany(handle, type, filter, include) {
329
+ const queryKey = filter ? canonicalize(filter) : 'all';
330
+ const decode = Schema.decodeUnknownSync(type);
331
+ // TODO: what's the right way to get the name of the type?
332
+ // @ts-expect-error name is defined
333
+ const typeName = type.name;
334
+ const getEntities = () => {
335
+ const cacheEntry = decodedEntitiesCache.get(typeName);
336
+ if (!cacheEntry) return stableEmptyArray;
337
+ const query = cacheEntry.queries.get(queryKey);
338
+ if (!query) return stableEmptyArray;
339
+ if (!cacheEntry.isInvalidated && !query.isInvalidated) {
340
+ return query.data;
341
+ }
342
+ const {
343
+ entities
344
+ } = findMany(handle, type, filter, include);
345
+ for (const entity of entities) {
346
+ cacheEntry?.entities.set(entity.id, entity);
347
+ }
348
+ // must be a new reference to ensure it can be used in React.useMemo
349
+ query.data = [...entities];
350
+ cacheEntry.isInvalidated = false;
351
+ query.isInvalidated = false;
352
+ return query.data;
353
+ };
354
+ const allTypes = new Set();
355
+ for (const [_key, field] of Object.entries(type.fields)) {
356
+ if (isRelationField(field)) {
357
+ allTypes.add(field);
358
+ }
359
+ }
360
+ const subscribe = callback => {
361
+ let cacheEntry = decodedEntitiesCache.get(typeName);
362
+ if (!cacheEntry) {
363
+ const entitiesMap = new Map();
364
+ const queries = new Map();
365
+ queries.set(queryKey, {
366
+ data: [],
367
+ listeners: [],
368
+ isInvalidated: true,
369
+ include: include ?? {}
370
+ });
371
+ cacheEntry = {
372
+ decoder: decode,
373
+ type,
374
+ entities: entitiesMap,
375
+ queries,
376
+ isInvalidated: true
377
+ };
378
+ decodedEntitiesCache.set(typeName, cacheEntry);
379
+ }
380
+ let query = cacheEntry.queries.get(queryKey);
381
+ if (!query) {
382
+ query = {
383
+ data: [],
384
+ listeners: [],
385
+ isInvalidated: true,
386
+ include: include ?? {}
387
+ };
388
+ // we just set up the query and expect it to correctly set itself up in findMany
389
+ cacheEntry.queries.set(queryKey, query);
390
+ }
391
+ if (query?.listeners) {
392
+ query.listeners.push(callback);
393
+ }
394
+ return () => {
395
+ const cacheEntry = decodedEntitiesCache.get(typeName);
396
+ if (cacheEntry) {
397
+ // first cleanup the queries
398
+ const query = cacheEntry.queries.get(queryKey);
399
+ if (query) {
400
+ query.listeners = query?.listeners?.filter(cachedListener => cachedListener !== callback);
401
+ if (query.listeners.length === 0) {
402
+ cacheEntry.queries.delete(queryKey);
403
+ }
404
+ }
405
+ // if the last query is removed, cleanup the entityRelationParentsMap and remove the decodedEntitiesCacheEntry
406
+ if (cacheEntry.queries.size === 0) {
407
+ entityRelationParentsMap.forEach((relationCacheEntries, key) => {
408
+ for (const [relationCacheEntry, counter] of relationCacheEntries) {
409
+ if (relationCacheEntry === cacheEntry && counter === 0) {
410
+ relationCacheEntries.delete(cacheEntry);
411
+ }
412
+ }
413
+ if (relationCacheEntries.size === 0) {
414
+ entityRelationParentsMap.delete(key);
415
+ }
416
+ });
417
+ decodedEntitiesCache.delete(typeName);
418
+ }
419
+ }
420
+ documentChangeListener.subscribedQueriesCount--;
421
+ if (documentChangeListener.subscribedQueriesCount === 0) {
422
+ documentChangeListener.unsubscribe?.();
423
+ documentChangeListener.unsubscribe = undefined;
424
+ }
425
+ };
426
+ };
427
+ if (documentChangeListener.subscribedQueriesCount === 0) {
428
+ documentChangeListener.unsubscribe = subscribeToDocumentChanges(handle);
429
+ }
430
+ documentChangeListener.subscribedQueriesCount++;
431
+ return {
432
+ subscribe,
433
+ getEntities
434
+ };
435
+ }
436
+ //# sourceMappingURL=findMany.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findMany.js","names":["Schema","deepMerge","isRelationField","canonicalize","decodedEntitiesCache","entityRelationParentsMap","getEntityRelations","hasValidTypesProperty","documentChangeListener","subscribedQueriesCount","unsubscribe","undefined","subscribeToDocumentChanges","handle","onChange","patches","doc","changedRelations","Set","deletedRelations","changedEntities","deletedEntities","patch","action","path","length","add","entityTypes","touchedQueries","touchedRelationParents","entityId","entity","entities","typeName","cacheEntry","get","includeFromAllQueries","query","queries","include","oldDecodedEntry","relations","type","decoded","decoder","id","set","error","console","deletedRelationIds","value","Object","entries","Array","isArray","relationEntity","deletedRelationId","deletedRelationEntry","delete","size","relationParentEntry","Map","queryKey","isInvalidated","has","decodedEntitiesCacheEntries","entry","affectedTypeName","index","data","findIndex","splice","values","listener","listeners","decodedEntitiesCacheEntry","on","off","clear","findMany","filter","decode","decodeUnknownSync","name","corruptEntityIds","filtered","evaluateFilter","fieldFilter","fieldValue","NOT","orFilters","OR","some","orFilter","is","numberFilter","greaterThan","lessThan","textFilter","startsWith","endsWith","contains","includes","evaluateCrossFieldFilter","crossFieldFilter","fieldName","evaluateEntityFilter","entityFilter","push","stableEmptyArray","subscribeToFindMany","getEntities","allTypes","_key","field","fields","subscribe","callback","entitiesMap","cachedListener","forEach","relationCacheEntries","key","relationCacheEntry","counter"],"sources":["../../src/entity/findMany.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findOne.d.ts","sourceRoot":"","sources":["../../src/entity/findOne.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,CAAC,CAAC,SAAS,YAAY,EAClD,QAAQ,SAAS,CAAC,eAAe,CAAC,EAClC,MAAM,CAAC,EACP,UAAS,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAO,MAQpE,IAAI,MAAM,KAAG,MAAM,CAAC,CAAC,CAAC,GAAG,SAalC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEntityRelations.d.ts","sourceRoot":"","sources":["../../src/entity/getEntityRelations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAG7C,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAU,MAAM,YAAY,CAAC;AACxE,eAAO,MAAM,kBAAkB,GAAI,KAAK,CAAC,CAAC,SAAS,YAAY,EAC7D,UAAU,MAAM,EAChB,MAAM,CAAC,EACP,KAAK,eAAe,EACpB,SAAS,GAAG,CAAC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAE,GAAG,SAAS,wBAoCpF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entity/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationParentsMap.d.ts","sourceRoot":"","sources":["../../src/entity/relationParentsMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,eAAO,MAAM,kBAAkB,EAAE,GAAG,CAClC,MAAM,EAAE,cAAc;AACtB,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAC3B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeRelation.d.ts","sourceRoot":"","sources":["../../src/entity/removeRelation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,SAAS,CAAC,eAAe,CAAC,MACvD,YAAY,MAAM,KAAG,OAa9B,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type * as Schema from 'effect/Schema';
2
+ export type Any = Schema.Schema.Any & {
3
+ readonly fields: Schema.Struct.Fields;
4
+ readonly insert: Schema.Schema.Any;
5
+ readonly update: Schema.Schema.Any;
6
+ };
7
+ export type AnyNoContext = Schema.Schema.AnyNoContext & {
8
+ readonly fields: Schema.Struct.Fields;
9
+ readonly insert: Schema.Schema.AnyNoContext;
10
+ readonly update: Schema.Schema.AnyNoContext;
11
+ };
12
+ export type Update<S extends Any> = S['update'];
13
+ export type Insert<S extends Any> = S['insert'];
14
+ export type Entity<S extends AnyNoContext> = Schema.Schema.Type<S> & {
15
+ type: string;
16
+ id: string;
17
+ };
18
+ export type EntityWithRelation<S extends AnyNoContext> = Entity<S> & {
19
+ _relation: {
20
+ id: string;
21
+ } | undefined;
22
+ };
23
+ export type DocumentEntity = {
24
+ __deleted: boolean;
25
+ [key: string]: unknown;
26
+ };
27
+ export type DocumentRelation = {
28
+ from: string;
29
+ to: string;
30
+ fromTypeName: string;
31
+ fromPropertyName: string;
32
+ __deleted: boolean;
33
+ [key: string]: unknown;
34
+ };
35
+ export type DocumentContent = {
36
+ entities?: Record<string, DocumentEntity>;
37
+ relations?: Record<string, DocumentRelation>;
38
+ };
39
+ export type EntityCheckboxFilter = {
40
+ is: boolean;
41
+ };
42
+ export type EntityNumberFilter = {
43
+ is?: number;
44
+ greaterThan?: number;
45
+ lessThan?: number;
46
+ NOT?: EntityNumberFilter;
47
+ OR?: EntityNumberFilter[];
48
+ };
49
+ export type EntityTextFilter = {
50
+ is?: string;
51
+ startsWith?: string;
52
+ endsWith?: string;
53
+ contains?: string;
54
+ equals?: string;
55
+ NOT?: EntityTextFilter;
56
+ OR?: EntityTextFilter[];
57
+ };
58
+ export type CrossFieldFilter<T> = {
59
+ [K in keyof T]?: EntityFieldFilter<T[K]>;
60
+ } & {
61
+ OR?: Array<CrossFieldFilter<T>>;
62
+ NOT?: CrossFieldFilter<T>;
63
+ };
64
+ export type EntityFieldFilter<T> = {
65
+ is?: T;
66
+ NOT?: EntityFieldFilter<T>;
67
+ OR?: Array<EntityFieldFilter<T>>;
68
+ } & (T extends boolean ? {
69
+ is?: boolean;
70
+ } : T extends number ? {
71
+ greaterThan?: number;
72
+ lessThan?: number;
73
+ } : T extends string ? {
74
+ startsWith?: string;
75
+ endsWith?: string;
76
+ contains?: string;
77
+ } : Record<string, never>);
78
+ export type EntityFilter<T> = CrossFieldFilter<T>;
79
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/entity/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/entity/types.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/entity/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEhF;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,CAAC,CAAC,SAAS,YAAY,EAAE,QAAQ,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,MAStF,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,CAAC,CAwC7F,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-storage.d.ts","sourceRoot":"","sources":["../../src/identity/auth-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,aAAa,GAAI,SAAS,OAAO,EAAE,UAAU,kBAAkB,SAS3E,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,KAAG,kBAAkB,GAAG,IA+BpE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,OAAO,SAS5C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-verified-identity.d.ts","sourceRoot":"","sources":["../../src/identity/get-verified-identity.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,mBAAmB,GAC9B,gBAAgB,MAAM,EACtB,eAAe,MAAM,KACpB,OAAO,CAAC;IACT,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAwCA,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-encryption.d.ts","sourceRoot":"","sources":["../../src/identity/identity-encryption.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AA2DvD,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,gBAAgB,MAAM,EACtB,MAAM,YAAY,KACjB,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA0B/C,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,QAAQ,MAAM,EACd,gBAAgB,MAAM,EACtB,YAAY,MAAM,EAClB,OAAO,MAAM,KACZ,OAAO,CAAC,YAAY,CAmCtB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/identity/logout.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,QAGtC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prove-ownership.d.ts","sourceRoot":"","sources":["../../src/identity/prove-ownership.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEvD,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAElF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAE9E,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,EACd,gBAAgB,MAAM,EACtB,MAAM,YAAY,KACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAQpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,gBAAgB,MAAM,EACtB,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,UAAU,MAAM,KACf,OAAO,CAAC,OAAO,CAwBjB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-inbox.d.ts","sourceRoot":"","sources":["../../src/inboxes/create-inbox.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACjD,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAC;AAExD,OAAO,KAAK,KAAK,OAAO,MAAM,YAAY,CAAC;AAE3C,KAAK,wBAAwB,GAAG;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC1C,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,MAAM,CAAC;CAG7B,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAC1C,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAGF,wBAAgB,iCAAiC,CAAC,EAChD,cAAc,EACd,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,mBAAmB,GACpB,EAAE,wBAAwB,GAAG,QAAQ,CAAC,yBAAyB,CA4B/D;AAED,wBAAsB,+BAA+B,CAAC,EACpD,MAAM,EACN,OAAO,EACP,QAAQ,EACR,UAAU,EACV,cAAc,EACd,iBAAiB,GAClB,EAAE,sBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CA6BzE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-list-inboxes.d.ts","sourceRoot":"","sources":["../../src/inboxes/get-list-inboxes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAEjD,eAAO,MAAM,sBAAsB,GAAU,6BAG1C,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,KAAG,OAAO,CAAC,SAAS,QAAQ,CAAC,gBAAgB,EAAE,CAMrG,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAU,oCAG5C,QAAQ,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,KAAG,OAAO,CAAC,SAAS,QAAQ,CAAC,kBAAkB,EAAE,CAM9G,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,sCAIjC,QAAQ,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,KAAG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAM3G,CAAC;AAEF,eAAO,MAAM,eAAe,GAAU,6CAInC,QAAQ,CAAC;IACV,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,KAAG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAMvC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/inboxes/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-messages.d.ts","sourceRoot":"","sources":["../../src/inboxes/merge-messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAE5D,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,wBAAwB,EAAE,EAC5C,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,EAC5B,WAAW,EAAE,wBAAwB,EAAE;;;EAsBxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-encryption.d.ts","sourceRoot":"","sources":["../../src/inboxes/message-encryption.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,OAAO,EAAE,mBAAmB,EAAE,EAAE,aAAa,GAAG;IACpF,UAAU,EAAE,MAAM,CAAC;CACpB,CAOA;AAED,wBAAgB,mBAAmB,CAAC,EAAE,UAAU,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,EAAE,aAAa,GAAG,MAAM,CASpH"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-validation.d.ts","sourceRoot":"","sources":["../../src/inboxes/message-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAGpF,eAAO,MAAM,yBAAyB,GACpC,SAAS,QAAQ,CAAC,YAAY,EAC9B,OAAO,sBAAsB,EAC7B,SAAS,MAAM,EACf,eAAe,MAAM,qBAyBtB,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,SAAS,QAAQ,CAAC,YAAY,EAC9B,OAAO,wBAAwB,EAC/B,gBAAgB,MAAM,EACtB,eAAe,MAAM,qBAyBtB,CAAC"}