document-drive 1.29.0-dev.0 → 1.29.0-dev.2

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 (45) hide show
  1. package/dist/prisma/schema.prisma +6 -10
  2. package/dist/src/cache/memory.d.ts +14 -4
  3. package/dist/src/cache/memory.d.ts.map +1 -1
  4. package/dist/src/cache/memory.js +57 -19
  5. package/dist/src/cache/redis.d.ts +14 -4
  6. package/dist/src/cache/redis.d.ts.map +1 -1
  7. package/dist/src/cache/redis.js +71 -19
  8. package/dist/src/cache/types.d.ts +10 -3
  9. package/dist/src/cache/types.d.ts.map +1 -1
  10. package/dist/src/cache/util.d.ts +3 -0
  11. package/dist/src/cache/util.d.ts.map +1 -0
  12. package/dist/src/cache/util.js +13 -0
  13. package/dist/src/server/base-server.d.ts +1 -1
  14. package/dist/src/server/base-server.d.ts.map +1 -1
  15. package/dist/src/server/base-server.js +13 -28
  16. package/dist/src/server/listener/listener-manager.js +2 -2
  17. package/dist/src/server/listener/transmitter/pull-responder.d.ts +1 -1
  18. package/dist/src/server/listener/transmitter/pull-responder.d.ts.map +1 -1
  19. package/dist/src/server/listener/transmitter/pull-responder.js +2 -3
  20. package/dist/src/server/sync-manager.d.ts.map +1 -1
  21. package/dist/src/server/sync-manager.js +7 -18
  22. package/dist/src/server/types.d.ts +0 -1
  23. package/dist/src/server/types.d.ts.map +1 -1
  24. package/dist/src/storage/browser.d.ts +6 -4
  25. package/dist/src/storage/browser.d.ts.map +1 -1
  26. package/dist/src/storage/browser.js +83 -22
  27. package/dist/src/storage/filesystem.d.ts +5 -3
  28. package/dist/src/storage/filesystem.d.ts.map +1 -1
  29. package/dist/src/storage/filesystem.js +83 -29
  30. package/dist/src/storage/ipfs.d.ts +5 -1
  31. package/dist/src/storage/ipfs.d.ts.map +1 -1
  32. package/dist/src/storage/ipfs.js +74 -21
  33. package/dist/src/storage/memory.d.ts +5 -5
  34. package/dist/src/storage/memory.d.ts.map +1 -1
  35. package/dist/src/storage/memory.js +78 -51
  36. package/dist/src/storage/prisma/factory.d.ts +4 -3
  37. package/dist/src/storage/prisma/factory.d.ts.map +1 -1
  38. package/dist/src/storage/prisma/factory.js +5 -5
  39. package/dist/src/storage/prisma/index.d.ts +11 -6
  40. package/dist/src/storage/prisma/index.d.ts.map +1 -1
  41. package/dist/src/storage/prisma/index.js +233 -190
  42. package/dist/src/storage/types.d.ts +6 -6
  43. package/dist/src/storage/types.d.ts.map +1 -1
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +5 -5
@@ -27,7 +27,7 @@ model Document {
27
27
  initialState String // json object with the scope as keys of the root object
28
28
  documentType String
29
29
  meta String?
30
- syncronizationUnits SyncronizationUnit[]
30
+ synchronizationUnits SynchronizationUnit[]
31
31
  driveDocuments DriveDocument[]
32
32
  }
33
33
 
@@ -46,7 +46,6 @@ model DriveDocument {
46
46
  model Operation {
47
47
  id String @id @default(uuid())
48
48
  opId String?
49
- driveId String
50
49
  Document Document? @relation(fields: [documentId], references: [id], onDelete: Cascade)
51
50
  documentId String
52
51
  scope String
@@ -63,22 +62,19 @@ model Operation {
63
62
  context Json?
64
63
  resultingState Bytes?
65
64
 
66
- SyncronizationUnit SyncronizationUnit? @relation(fields: [syncId, driveId], references: [id, driveId], onDelete: Cascade)
65
+ SynchronizationUnit SynchronizationUnit? @relation(fields: [syncId], references: [id], onDelete: Cascade)
67
66
 
68
- @@unique([driveId, documentId, scope, branch, index(sort: Asc)], name: "unique_operation")
67
+ @@unique([documentId, scope, branch, index(sort: Asc)], name: "unique_operation")
69
68
  }
70
69
 
71
- model SyncronizationUnit {
72
- id String
73
- driveId String
70
+ model SynchronizationUnit {
71
+ id String @id
74
72
  documentId String
75
73
 
76
- Document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
74
+ Document Document @relation(fields: [documentId], references: [id], onDelete: Cascade)
77
75
  scope String
78
76
  branch String
79
77
  operations Operation[]
80
-
81
- @@id([id, driveId])
82
78
  }
83
79
 
84
80
  model Attachment {
@@ -1,10 +1,20 @@
1
+ import { DocumentDriveDocument } from "#drive-document-model/gen/types";
1
2
  import { type PHDocument } from "document-model";
2
3
  import { type ICache } from "./types.js";
3
4
  declare class InMemoryCache implements ICache {
4
- private cache;
5
- setDocument(drive: string, id: string, document: PHDocument): Promise<boolean>;
6
- deleteDocument(drive: string, id: string): Promise<boolean>;
7
- getDocument<TDocument extends PHDocument>(drive: string, id: string): Promise<TDocument | undefined>;
5
+ private idTodocument;
6
+ private idToDrive;
7
+ private slugToDriveId;
8
+ clear(): void;
9
+ setDocument(documentId: string, document: PHDocument): Promise<void>;
10
+ getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
11
+ deleteDocument(documentId: string): Promise<boolean>;
12
+ setDrive(driveId: string, drive: DocumentDriveDocument): Promise<void>;
13
+ getDrive(driveId: string): Promise<DocumentDriveDocument | undefined>;
14
+ deleteDrive(driveId: string): Promise<boolean>;
15
+ setDriveBySlug(slug: string, drive: DocumentDriveDocument): Promise<void>;
16
+ getDriveBySlug(slug: string): Promise<DocumentDriveDocument | undefined>;
17
+ deleteDriveBySlug(slug: string): Promise<boolean>;
8
18
  }
9
19
  export default InMemoryCache;
10
20
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cache/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,cAAM,aAAc,YAAW,MAAM;IACnC,OAAO,CAAC,KAAK,CAA8C;IAErD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAiB3D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAIxC,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;CAGlC;AAED,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cache/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,cAAM,aAAc,YAAW,MAAM;IACnC,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,SAAS,CAA4C;IAC7D,OAAO,CAAC,aAAa,CAA6B;IAElD,KAAK;IAUC,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAKpD,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAI3B,cAAc,CAAC,UAAU,EAAE,MAAM;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAKtD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAIrE,WAAW,CAAC,OAAO,EAAE,MAAM;IAe3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAMzD,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAQvC,iBAAiB,CAAC,IAAI,EAAE,MAAM;CASrC;AAED,eAAe,aAAa,CAAC"}
@@ -1,26 +1,64 @@
1
+ import { trimResultingState } from "./util.js";
1
2
  class InMemoryCache {
2
- cache = new Map();
3
- async setDocument(drive, id, document) {
4
- const global = document.operations.global.map((e) => {
5
- delete e.resultingState;
6
- return e;
7
- });
8
- const local = document.operations.local.map((e) => {
9
- delete e.resultingState;
10
- return e;
11
- });
12
- const doc = { ...document, operations: { global, local } };
13
- if (!this.cache.has(drive)) {
14
- this.cache.set(drive, new Map());
3
+ idTodocument = new Map();
4
+ idToDrive = new Map();
5
+ slugToDriveId = new Map();
6
+ clear() {
7
+ this.idTodocument.clear();
8
+ this.idToDrive.clear();
9
+ this.slugToDriveId.clear();
10
+ }
11
+ /////////////////////////////////////////////////////////////////////////////
12
+ // ICache
13
+ /////////////////////////////////////////////////////////////////////////////
14
+ async setDocument(documentId, document) {
15
+ const doc = trimResultingState(document);
16
+ this.idTodocument.set(documentId, doc);
17
+ }
18
+ async getDocument(documentId) {
19
+ return this.idTodocument.get(documentId);
20
+ }
21
+ async deleteDocument(documentId) {
22
+ return this.idTodocument.delete(documentId);
23
+ }
24
+ async setDrive(driveId, drive) {
25
+ const doc = trimResultingState(drive);
26
+ this.idToDrive.set(driveId, doc);
27
+ }
28
+ async getDrive(driveId) {
29
+ return this.idToDrive.get(driveId);
30
+ }
31
+ async deleteDrive(driveId) {
32
+ // look up the slug
33
+ const drive = this.idToDrive.get(driveId);
34
+ if (!drive) {
35
+ return false;
36
+ }
37
+ const slug = drive.state.global.slug;
38
+ if (slug) {
39
+ this.slugToDriveId.delete(slug);
15
40
  }
16
- this.cache.get(drive)?.set(id, doc);
17
- return true;
41
+ return this.idToDrive.delete(driveId);
18
42
  }
19
- async deleteDocument(drive, id) {
20
- return this.cache.get(drive)?.delete(id) ?? false;
43
+ async setDriveBySlug(slug, drive) {
44
+ const driveId = drive.state.global.id;
45
+ this.slugToDriveId.set(slug, driveId);
46
+ this.setDrive(driveId, drive);
21
47
  }
22
- async getDocument(drive, id) {
23
- return this.cache.get(drive)?.get(id);
48
+ async getDriveBySlug(slug) {
49
+ const driveId = this.slugToDriveId.get(slug);
50
+ if (!driveId) {
51
+ return undefined;
52
+ }
53
+ return this.getDrive(driveId);
54
+ }
55
+ async deleteDriveBySlug(slug) {
56
+ const driveId = this.slugToDriveId.get(slug);
57
+ if (!driveId) {
58
+ return false;
59
+ }
60
+ this.slugToDriveId.delete(slug);
61
+ return this.deleteDrive(driveId);
24
62
  }
25
63
  }
26
64
  export default InMemoryCache;
@@ -1,14 +1,24 @@
1
+ import { DocumentDriveDocument } from "#drive-document-model/gen/types";
1
2
  import { type PHDocument } from "document-model";
2
3
  import type { RedisClientType } from "redis";
3
4
  import { type ICache } from "./types.js";
4
5
  declare class RedisCache implements ICache {
6
+ private logger;
5
7
  private redis;
6
8
  private timeoutInSeconds;
7
9
  constructor(redis: RedisClientType, timeoutInSeconds?: number | undefined);
8
- private static _getId;
9
- setDocument(drive: string, id: string, document: PHDocument): Promise<boolean>;
10
- getDocument<TDocument extends PHDocument>(drive: string, id: string): Promise<TDocument | undefined>;
11
- deleteDocument(drive: string, id: string): Promise<boolean>;
10
+ private static _getDocumentKey;
11
+ private static _getDriveKey;
12
+ private static _getDriveBySlugKey;
13
+ setDocument(documentId: string, document: PHDocument): Promise<void>;
14
+ getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
15
+ deleteDocument(documentId: string): Promise<boolean>;
16
+ setDrive(driveId: string, drive: DocumentDriveDocument): Promise<void>;
17
+ getDrive(driveId: string): Promise<DocumentDriveDocument | undefined>;
18
+ deleteDrive(driveId: string): Promise<boolean>;
19
+ setDriveBySlug(slug: string, drive: DocumentDriveDocument): Promise<void>;
20
+ getDriveBySlug(slug: string): Promise<DocumentDriveDocument | undefined>;
21
+ deleteDriveBySlug(slug: string): Promise<boolean>;
12
22
  }
13
23
  export default RedisCache;
14
24
  //# sourceMappingURL=redis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC,cAAM,UAAW,YAAW,MAAM;IAChC,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAS;gBAG/B,KAAK,EAAE,eAAe,EACtB,gBAAgB,GAAE,MAAM,GAAG,SAAkB;IAM/C,OAAO,CAAC,MAAM,CAAC,MAAM;IAIf,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAsB3D,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAO3B,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAI/C;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"redis.d.ts","sourceRoot":"","sources":["../../../src/cache/redis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC,cAAM,UAAW,YAAW,MAAM;IAChC,OAAO,CAAC,MAAM,CAA+B;IAE7C,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,gBAAgB,CAAS;gBAG/B,KAAK,EAAE,eAAe,EACtB,gBAAgB,GAAE,MAAM,GAAG,SAAkB;IAM/C,OAAO,CAAC,MAAM,CAAC,eAAe;IAI9B,OAAO,CAAC,MAAM,CAAC,YAAY;IAI3B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAQ3B,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU;IAcpD,WAAW,CAAC,SAAS,SAAS,UAAU,EAC5C,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAO3B,cAAc,CAAC,UAAU,EAAE,MAAM;IAKjC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IActD,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAMrE,WAAW,CAAC,OAAO,EAAE,MAAM;IAiB3B,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IAgBzD,cAAc,CAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAMvC,iBAAiB,CAAC,IAAI,EAAE,MAAM;CAIrC;AAED,eAAe,UAAU,CAAC"}
@@ -1,39 +1,91 @@
1
+ import { childLogger } from "#utils/logger";
2
+ import { trimResultingState } from "./util.js";
1
3
  class RedisCache {
4
+ logger = childLogger(["RedisCache"]);
2
5
  redis;
3
6
  timeoutInSeconds;
4
7
  constructor(redis, timeoutInSeconds = 5 * 60) {
5
8
  this.redis = redis;
6
9
  this.timeoutInSeconds = timeoutInSeconds;
7
10
  }
8
- static _getId(drive, id) {
9
- return `cache:${drive}:${id}`;
11
+ static _getDocumentKey(documentId) {
12
+ return `cache:document:${documentId}`;
10
13
  }
11
- async setDocument(drive, id, document) {
12
- const global = document.operations.global.map((e) => {
13
- delete e.resultingState;
14
- return e;
15
- });
16
- const local = document.operations.local.map((e) => {
17
- delete e.resultingState;
18
- return e;
14
+ static _getDriveKey(driveId) {
15
+ return `cache:drive:${driveId}`;
16
+ }
17
+ static _getDriveBySlugKey(slug) {
18
+ return `cache:drive:slug:${slug}`;
19
+ }
20
+ /////////////////////////////////////////////////////////////////////////////
21
+ // ICache
22
+ /////////////////////////////////////////////////////////////////////////////
23
+ async setDocument(documentId, document) {
24
+ const doc = trimResultingState(document);
25
+ const redisId = RedisCache._getDocumentKey(documentId);
26
+ const result = await this.redis.set(redisId, JSON.stringify(doc), {
27
+ EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
19
28
  });
20
- const doc = { ...document, operations: { global, local } };
21
- const redisId = RedisCache._getId(drive, id);
29
+ if (result !== "OK") {
30
+ throw new Error(`Failed to set document ${documentId} in redis. Got '${result}'`);
31
+ }
32
+ }
33
+ async getDocument(documentId) {
34
+ const redisId = RedisCache._getDocumentKey(documentId);
35
+ const doc = await this.redis.get(redisId);
36
+ return doc ? JSON.parse(doc) : undefined;
37
+ }
38
+ async deleteDocument(documentId) {
39
+ const redisId = RedisCache._getDocumentKey(documentId);
40
+ return (await this.redis.del(redisId)) > 0;
41
+ }
42
+ async setDrive(driveId, drive) {
43
+ const doc = trimResultingState(drive);
44
+ const redisId = RedisCache._getDriveKey(driveId);
22
45
  const result = await this.redis.set(redisId, JSON.stringify(doc), {
23
46
  EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
24
47
  });
25
- if (result === "OK") {
26
- return true;
48
+ if (result !== "OK") {
49
+ throw new Error(`Failed to set drive ${driveId} in redis. Got '${result}'`);
27
50
  }
28
- return false;
29
51
  }
30
- async getDocument(drive, id) {
31
- const redisId = RedisCache._getId(drive, id);
52
+ async getDrive(driveId) {
53
+ const redisId = RedisCache._getDriveKey(driveId);
32
54
  const doc = await this.redis.get(redisId);
33
55
  return doc ? JSON.parse(doc) : undefined;
34
56
  }
35
- async deleteDocument(drive, id) {
36
- const redisId = RedisCache._getId(drive, id);
57
+ async deleteDrive(driveId) {
58
+ const redisId = RedisCache._getDriveKey(driveId);
59
+ const drive = await this.getDrive(driveId);
60
+ if (!drive) {
61
+ return false;
62
+ }
63
+ const slug = drive.state.global.slug;
64
+ if (slug) {
65
+ const slugRedisId = RedisCache._getDriveBySlugKey(slug);
66
+ await this.redis.del(slugRedisId);
67
+ }
68
+ return (await this.redis.del(redisId)) > 0;
69
+ }
70
+ // We store two pices: slug -> driveId, and driveId -> drive
71
+ async setDriveBySlug(slug, drive) {
72
+ const driveId = drive.state.global.id;
73
+ const redisId = RedisCache._getDriveBySlugKey(slug);
74
+ const result = await this.redis.set(redisId, driveId, {
75
+ EX: this.timeoutInSeconds ? this.timeoutInSeconds : undefined,
76
+ });
77
+ if (result !== "OK") {
78
+ throw new Error(`Failed to set drive slug mapping for ${slug} -> ${driveId} in redis. Got '${result}'`);
79
+ }
80
+ await this.setDrive(driveId, drive);
81
+ }
82
+ async getDriveBySlug(slug) {
83
+ const redisId = RedisCache._getDriveBySlugKey(slug);
84
+ const driveId = await this.redis.get(redisId);
85
+ return driveId ? await this.getDrive(driveId) : undefined;
86
+ }
87
+ async deleteDriveBySlug(slug) {
88
+ const redisId = RedisCache._getDriveBySlugKey(slug);
37
89
  return (await this.redis.del(redisId)) > 0;
38
90
  }
39
91
  }
@@ -1,7 +1,14 @@
1
+ import { DocumentDriveDocument } from "#drive-document-model/gen/types";
1
2
  import { type PHDocument } from "document-model";
2
3
  export interface ICache {
3
- setDocument(drive: string, id: string, document: PHDocument): Promise<boolean>;
4
- getDocument<TDocument extends PHDocument>(drive: string, id: string): Promise<TDocument | undefined>;
5
- deleteDocument(drive: string, id: string): Promise<boolean>;
4
+ setDocument(documentId: string, document: PHDocument): Promise<void>;
5
+ getDocument<TDocument extends PHDocument>(documentId: string): Promise<TDocument | undefined>;
6
+ deleteDocument(documentId: string): Promise<boolean>;
7
+ setDrive(driveId: string, drive: DocumentDriveDocument): Promise<void>;
8
+ setDriveBySlug(slug: string, drive: DocumentDriveDocument): Promise<void>;
9
+ getDrive(driveId: string): Promise<DocumentDriveDocument | undefined>;
10
+ getDriveBySlug(slug: string): Promise<DocumentDriveDocument | undefined>;
11
+ deleteDrive(driveId: string): Promise<boolean>;
12
+ deleteDriveBySlug(slug: string): Promise<boolean>;
6
13
  }
7
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,MAAM;IACrB,WAAW,CACT,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,UAAU,GACnB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,WAAW,CAAC,SAAS,SAAS,UAAU,EACtC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAGlC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,MAAM;IAGrB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGrE,WAAW,CAAC,SAAS,SAAS,UAAU,EACtC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAElC,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAIrD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAIvE,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAGtE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;IAEzE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD"}
@@ -0,0 +1,3 @@
1
+ import { PHDocument } from "document-model";
2
+ export declare const trimResultingState: <TDocument extends PHDocument>(document: TDocument) => TDocument;
3
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/cache/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,eAAO,MAAM,kBAAkB,GAAI,SAAS,SAAS,UAAU,EAC7D,UAAU,SAAS,KAClB,SAYF,CAAC"}
@@ -0,0 +1,13 @@
1
+ // Deletes the resulting state on all operations in a document.
2
+ // NOTE: THE RESULT IS THE CACHES MUTATE DOCUMENTS
3
+ export const trimResultingState = (document) => {
4
+ const global = document.operations.global.map((e) => {
5
+ delete e.resultingState;
6
+ return e;
7
+ });
8
+ const local = document.operations.local.map((e) => {
9
+ delete e.resultingState;
10
+ return e;
11
+ });
12
+ return { ...document, operations: { global, local } };
13
+ };
@@ -1,10 +1,10 @@
1
- import { type ICache } from "#cache/types";
2
1
  import { type IQueueManager } from "#queue/types";
3
2
  import { type IDocumentStorage, type IDriveStorage } from "#storage/types";
4
3
  import { type IDefaultDrivesManager } from "#utils/default-drives-manager";
5
4
  import { type DocumentDriveAction, type DocumentDriveDocument } from "document-drive";
6
5
  import { type Action, type DocumentModelModule, type Operation, type PHDocument } from "document-model";
7
6
  import { type Unsubscribe } from "nanoevents";
7
+ import { type ICache } from "../cache/types.js";
8
8
  import { OperationError, type SynchronizationUnitNotFoundError } from "./error.js";
9
9
  import { type AddOperationOptions, type Constructor, type CreateDocumentInput, type DocumentDriveServerOptions, type DriveEvents, type DriveInput, type DriveOperationResult, type GetDocumentOptions, type GetStrandsOptions, type IBaseDocumentDriveServer, type IEventEmitter, type IListenerManager, type IOperationResult, type ISynchronizationManager, type Mixin, type OperationUpdate, type RemoteDriveAccessLevel, type RemoteDriveOptions, type SignalResult, type SyncStatus, type SyncUnitStatusObject, type SynchronizationUnit, type SynchronizationUnitQuery } from "./types.js";
10
10
  export declare class BaseDocumentDriveServer implements IBaseDocumentDriveServer, IDefaultDrivesManager {
@@ -1 +1 @@
1
- {"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-server.d.ts","sourceRoot":"","sources":["../../../src/server/base-server.ts"],"names":[],"mappings":"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"}
@@ -81,18 +81,6 @@ export class BaseDocumentDriveServer {
81
81
  };
82
82
  // todo: move to external dependencies
83
83
  this.defaultDrivesManager = new DefaultDrivesManager(this, this.defaultDrivesManagerDelegate, options);
84
- this.storage.setStorageDelegate?.({
85
- getCachedOperations: async (drive, id) => {
86
- try {
87
- const document = await this.cache.getDocument(drive, id);
88
- return document?.operations;
89
- }
90
- catch (error) {
91
- logger.error(error);
92
- return undefined;
93
- }
94
- },
95
- });
96
84
  this.initializePromise = this._initialize();
97
85
  }
98
86
  // workaround for testing the ephemeral listeners -- we don't have DI in place yet
@@ -292,7 +280,7 @@ export class BaseDocumentDriveServer {
292
280
  };
293
281
  await this.storage.createDrive(id, document);
294
282
  if (input.global.slug) {
295
- await this.cache.deleteDocument("drives-slug", input.global.slug);
283
+ await this.cache.deleteDriveBySlug(input.global.slug);
296
284
  }
297
285
  await this._initializeDrive(id);
298
286
  this.eventEmitter.emit("driveAdded", document);
@@ -324,7 +312,7 @@ export class BaseDocumentDriveServer {
324
312
  const result = await Promise.allSettled([
325
313
  this.stopSyncRemoteDrive(driveId),
326
314
  this.listenerManager.removeDrive(driveId),
327
- this.cache.deleteDocument("drives", driveId),
315
+ this.cache.deleteDrive(driveId),
328
316
  this.storage.deleteDrive(driveId),
329
317
  ]);
330
318
  result.forEach((r) => {
@@ -339,7 +327,7 @@ export class BaseDocumentDriveServer {
339
327
  async getDrive(driveId, options) {
340
328
  let document;
341
329
  try {
342
- const cachedDocument = await this.cache.getDocument("drives", driveId); // TODO support GetDocumentOptions
330
+ const cachedDocument = await this.cache.getDrive(driveId); // TODO support GetDocumentOptions
343
331
  if (cachedDocument && isDocumentDrive(cachedDocument)) {
344
332
  document = cachedDocument;
345
333
  if (isAtRevision(document, options?.revisions)) {
@@ -357,16 +345,16 @@ export class BaseDocumentDriveServer {
357
345
  }
358
346
  else {
359
347
  if (!options?.revisions) {
360
- this.cache.setDocument("drives", driveId, result).catch(logger.error);
348
+ this.cache.setDrive(driveId, result).catch(logger.error);
361
349
  }
362
350
  return result;
363
351
  }
364
352
  }
365
353
  async getDriveBySlug(slug, options) {
366
354
  try {
367
- const document = await this.cache.getDocument("drives-slug", slug);
368
- if (document && isDocumentDrive(document)) {
369
- return document;
355
+ const drive = await this.cache.getDriveBySlug(slug);
356
+ if (drive) {
357
+ return drive;
370
358
  }
371
359
  }
372
360
  catch (e) {
@@ -378,14 +366,14 @@ export class BaseDocumentDriveServer {
378
366
  throw new Error(`Document with slug ${slug} is not a Document Drive`);
379
367
  }
380
368
  else {
381
- this.cache.setDocument("drives-slug", slug, document).catch(logger.error);
369
+ this.cache.setDriveBySlug(slug, document).catch(logger.error);
382
370
  return document;
383
371
  }
384
372
  }
385
373
  async getDocument(driveId, documentId, options) {
386
374
  let cachedDocument;
387
375
  try {
388
- cachedDocument = await this.cache.getDocument(driveId, documentId); // TODO support GetDocumentOptions
376
+ cachedDocument = await this.cache.getDocument(documentId); // TODO support GetDocumentOptions
389
377
  if (cachedDocument && isAtRevision(cachedDocument, options?.revisions)) {
390
378
  return cachedDocument;
391
379
  }
@@ -397,7 +385,7 @@ export class BaseDocumentDriveServer {
397
385
  (await this.storage.getDocument(driveId, documentId));
398
386
  const document = this._buildDocument(documentStorage, options);
399
387
  if (!options?.revisions) {
400
- this.cache.setDocument(driveId, documentId, document).catch(logger.error);
388
+ this.cache.setDocument(documentId, document).catch(logger.error);
401
389
  }
402
390
  return document;
403
391
  }
@@ -466,7 +454,7 @@ export class BaseDocumentDriveServer {
466
454
  catch (error) {
467
455
  logger.warn("Error deleting document", error);
468
456
  }
469
- await this.cache.deleteDocument(driveId, documentId);
457
+ await this.cache.deleteDocument(documentId);
470
458
  return this.storage.deleteDocument(driveId, documentId);
471
459
  }
472
460
  async _processOperations(driveId, documentId, documentStorage, operations) {
@@ -802,9 +790,7 @@ export class BaseDocumentDriveServer {
802
790
  };
803
791
  });
804
792
  if (document) {
805
- this.cache
806
- .setDocument(driveId, documentId, document)
807
- .catch(logger.error);
793
+ this.cache.setDocument(documentId, document).catch(logger.error);
808
794
  }
809
795
  // gets all the different scopes and branches combinations from the operations
810
796
  const { scopes, branches } = operationsApplied.reduce((acc, operation) => {
@@ -996,7 +982,7 @@ export class BaseDocumentDriveServer {
996
982
  if (!document || !isDocumentDrive(document)) {
997
983
  throw error ?? new Error("Invalid Document Drive document");
998
984
  }
999
- this.cache.setDocument("drives", driveId, document).catch(logger.error);
985
+ this.cache.setDrive(driveId, document).catch(logger.error);
1000
986
  // update listener cache
1001
987
  const lastOperation = operationsApplied
1002
988
  .filter((op) => op.scope === "global")
@@ -1019,7 +1005,6 @@ export class BaseDocumentDriveServer {
1019
1005
  .updateSynchronizationRevisions(driveId, [
1020
1006
  {
1021
1007
  syncId: "0",
1022
- driveId: driveId,
1023
1008
  documentId: "",
1024
1009
  scope: "global",
1025
1010
  branch: "main",
@@ -154,7 +154,7 @@ export class ListenerManager {
154
154
  return;
155
155
  }
156
156
  else {
157
- this.logger.verbose(`Listener out-of-date for sync unit (${syncUnit.driveId}, ${syncUnit.scope}, ${syncUnit.documentId}): ${unitState?.listenerRev} < ${syncUnit.revision}`);
157
+ this.logger.verbose(`Listener out-of-date for sync unit (${syncUnit.scope}, ${syncUnit.documentId}): ${unitState?.listenerRev} < ${syncUnit.revision}`);
158
158
  }
159
159
  const opData = [];
160
160
  try {
@@ -342,7 +342,7 @@ export class ListenerManager {
342
342
  if (entry && entry.listenerRev >= syncUnit.revision) {
343
343
  return;
344
344
  }
345
- const { documentId, driveId, scope, branch } = syncUnit;
345
+ const { documentId, scope, branch } = syncUnit;
346
346
  try {
347
347
  const operations = await this.syncManager.getOperationData(
348
348
  // DEAL WITH INVALID SYNC ID ERROR
@@ -1,6 +1,6 @@
1
1
  import { type GetStrandsOptions, type IListenerManager, type IOperationResult, type Listener, type ListenerRevision, type ListenerRevisionWithError, type OperationUpdate, type RemoteDriveOptions, type StrandUpdate } from "#server/types";
2
- import { type ITransmitter, type PullResponderTrigger, type StrandUpdateSource } from "./types.js";
3
2
  import { type ListenerFilter, type Trigger } from "#drive-document-model/gen/types";
3
+ import { type ITransmitter, type PullResponderTrigger, type StrandUpdateSource } from "./types.js";
4
4
  export type OperationUpdateGraphQL = Omit<OperationUpdate, "input"> & {
5
5
  input: string;
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pull-responder.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/pull-responder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull-responder.d.ts","sourceRoot":"","sources":["../../../../../src/server/listener/transmitter/pull-responder.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
- import { childLogger } from "#utils/logger";
2
- import { generateUUID } from "#utils/misc";
3
1
  import { PULL_DRIVE_INTERVAL } from "#server/constants";
4
2
  import { OperationError } from "#server/error";
5
3
  import { requestGraphql } from "#utils/graphql";
4
+ import { childLogger } from "#utils/logger";
5
+ import { generateUUID } from "#utils/misc";
6
6
  import { gql } from "graphql-request";
7
7
  const MAX_REVISIONS_PER_ACK = 100;
8
8
  export class PullResponderTransmitter {
@@ -36,7 +36,6 @@ export class PullResponderTransmitter {
36
36
  for (const revision of revisions) {
37
37
  const syncUnit = syncUnits.find((s) => s.scope === revision.scope &&
38
38
  s.branch === revision.branch &&
39
- s.driveId === revision.driveId &&
40
39
  s.documentId == revision.documentId);
41
40
  if (!syncUnit) {
42
41
  this.logger.warn("Unknown sync unit was acknowledged", revision);
@@ -1 +1 @@
1
- {"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../../../src/server/sync-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,uBAAuB;IAM1E,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IARhC,OAAO,CAAC,UAAU,CAA2C;IAE7D,OAAO,CAAC,MAAM,CAA2C;gBAGtC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACtB,oBAAoB,EAAE,mBAAmB,EAAE,EAClC,YAAY,CAAC,EAAE,aAAa,YAAA;IAGzC,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAe3B,+BAA+B,CACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,wBAAwB,EAAE,GACzC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA6B3B,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAmEhC,4BAA4B,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA6B1C,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IA0BrC,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC;YA2Cf,QAAQ;YAiBR,WAAW;IAgBzB,OAAO,CAAC,cAAc;IAuBtB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE;IAItD,OAAO,CAAC,sBAAsB;IAU9B,yBAAyB,CAAC,cAAc,EAAE,oBAAoB,GAAG,UAAU;IAoB3E,aAAa,CACX,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,gCAAgC;IAWhD,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAC5C,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI;IAiDP,OAAO,CAAC,cAAc;IAyBhB,yBAAyB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC;CAejB"}
1
+ {"version":3,"file":"sync-manager.d.ts","sourceRoot":"","sources":["../../../src/server/sync-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EACL,KAAK,qBAAqB,EAE3B,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGpD,OAAO,EACL,KAAK,mBAAmB,EAKzB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC9B,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,uBAAuB;IAM1E,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IARhC,OAAO,CAAC,UAAU,CAA2C;IAE7D,OAAO,CAAC,MAAM,CAA2C;gBAGtC,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,EACtB,oBAAoB,EAAE,mBAAmB,EAAE,EAClC,YAAY,CAAC,EAAE,aAAa,YAAA;IAGzC,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAe3B,+BAA+B,CACnC,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,wBAAwB,EAAE,GACzC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmB3B,0BAA0B,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EAAE,EACrB,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,MAAM,CAAC,EAAE,MAAM,EAAE,EACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAmEhC,4BAA4B,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC;IA4B1C,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAyBrC,gBAAgB,CACpB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,eAAe,EAAE,CAAC;YA2Cf,QAAQ;YAiBR,WAAW;IAgBzB,OAAO,CAAC,cAAc;IAuBtB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,EAAE;IAItD,OAAO,CAAC,sBAAsB;IAU9B,yBAAyB,CAAC,cAAc,EAAE,oBAAoB,GAAG,UAAU;IAoB3E,aAAa,CACX,UAAU,EAAE,MAAM,GACjB,UAAU,GAAG,gCAAgC;IAWhD,gBAAgB,CACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAC5C,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI;IAiDP,OAAO,CAAC,cAAc;IAyBhB,yBAAyB,CAC7B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,IAAI,CAAC;CAejB"}