@adonis-agora/collaboration 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/dist/src/collaboration_manager.d.ts +4 -1
  3. package/dist/src/collaboration_manager.d.ts.map +1 -1
  4. package/dist/src/collaboration_manager.js +13 -2
  5. package/dist/src/collaboration_manager.js.map +1 -1
  6. package/dist/src/driver.d.ts +3 -3
  7. package/dist/src/driver.d.ts.map +1 -1
  8. package/dist/src/driver.js.map +1 -1
  9. package/dist/src/drivers/automerge/automerge_driver.d.ts +2 -2
  10. package/dist/src/drivers/automerge/automerge_driver.d.ts.map +1 -1
  11. package/dist/src/drivers/automerge/automerge_driver.js +2 -2
  12. package/dist/src/drivers/automerge/automerge_driver.js.map +1 -1
  13. package/dist/src/drivers/partykit/partykit_driver.d.ts +2 -2
  14. package/dist/src/drivers/partykit/partykit_driver.d.ts.map +1 -1
  15. package/dist/src/drivers/partykit/partykit_driver.js +2 -2
  16. package/dist/src/drivers/partykit/partykit_driver.js.map +1 -1
  17. package/dist/src/drivers/yjs/yjs_driver.d.ts +2 -2
  18. package/dist/src/drivers/yjs/yjs_driver.d.ts.map +1 -1
  19. package/dist/src/drivers/yjs/yjs_driver.js +2 -2
  20. package/dist/src/drivers/yjs/yjs_driver.js.map +1 -1
  21. package/dist/src/http/types.d.ts +6 -1
  22. package/dist/src/http/types.d.ts.map +1 -1
  23. package/dist/src/index.d.ts +1 -1
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/routes.d.ts.map +1 -1
  26. package/dist/src/routes.js +22 -5
  27. package/dist/src/routes.js.map +1 -1
  28. package/dist/src/services/comment_service.d.ts +2 -2
  29. package/dist/src/services/comment_service.d.ts.map +1 -1
  30. package/dist/src/services/comment_service.js +2 -2
  31. package/dist/src/services/comment_service.js.map +1 -1
  32. package/dist/src/storage/file_system_storage.d.ts +3 -3
  33. package/dist/src/storage/file_system_storage.d.ts.map +1 -1
  34. package/dist/src/storage/file_system_storage.js +15 -4
  35. package/dist/src/storage/file_system_storage.js.map +1 -1
  36. package/dist/src/storage/in_memory_storage.d.ts +3 -3
  37. package/dist/src/storage/in_memory_storage.d.ts.map +1 -1
  38. package/dist/src/storage/in_memory_storage.js +16 -5
  39. package/dist/src/storage/in_memory_storage.js.map +1 -1
  40. package/dist/src/storage/lucid_storage.d.ts +3 -3
  41. package/dist/src/storage/lucid_storage.d.ts.map +1 -1
  42. package/dist/src/storage/lucid_storage.js +52 -33
  43. package/dist/src/storage/lucid_storage.js.map +1 -1
  44. package/dist/src/storage/shared.d.ts +29 -0
  45. package/dist/src/storage/shared.d.ts.map +1 -1
  46. package/dist/src/storage/shared.js +40 -0
  47. package/dist/src/storage/shared.js.map +1 -1
  48. package/dist/src/types.d.ts +35 -3
  49. package/dist/src/types.d.ts.map +1 -1
  50. package/package.json +6 -6
@@ -1,3 +1,4 @@
1
+ import type { ListPageOptions } from '../types.js';
1
2
  /**
2
3
  * Pure helpers shared by every storage implementation. Nothing here touches a
3
4
  * backend — it is the validation the three built-ins (and any custom storage)
@@ -14,4 +15,32 @@ export declare function assertPruneKeep(keep: number): void;
14
15
  export declare function versionsToPrune<T extends {
15
16
  seq: number;
16
17
  }>(versions: T[], keep: number): T[];
18
+ /**
19
+ * Shared paging bounds for {@link ListPageOptions}.
20
+ *
21
+ * Every storage implementation clamps through these rather than picking its
22
+ * own numbers — a page size that differs between `LucidStorage` and
23
+ * `InMemoryCollaborationStorage` turns "it works in the tests" into a claim
24
+ * about the wrong store. The `{ page, size }` vocabulary intentionally mirrors
25
+ * `@adonis-agora/filter`'s pagination shape — matched structurally, without a
26
+ * dependency — so every `@adonis-agora/*` package pages the same way.
27
+ */
28
+ /** Rows returned when a page is requested with no particular size. */
29
+ export declare const COLLAB_LIST_DEFAULT_SIZE = 50;
30
+ /** Hard ceiling — an unbounded `size` from a query string must not be able to select the table. */
31
+ export declare const COLLAB_LIST_MAX_SIZE = 200;
32
+ /** Clamp a requested page size into `1..COLLAB_LIST_MAX_SIZE`, defaulting when absent/invalid. */
33
+ export declare function clampSize(size: number | undefined): number;
34
+ /** Clamp a requested 1-based page number, defaulting to the first page. */
35
+ export declare function clampPage(page: number | undefined): number;
36
+ /**
37
+ * Resolves the public `{ page, size }` request into the `{ size, offset }` a
38
+ * store actually needs. The 0-based offset is derived here and nowhere else:
39
+ * it is an implementation detail of SQL (and of `Array.prototype.slice`), not
40
+ * something a caller of `CollaborationStorage` should have to know about.
41
+ */
42
+ export declare function resolvePage(page: ListPageOptions): {
43
+ size: number;
44
+ offset: number;
45
+ };
17
46
  //# sourceMappingURL=shared.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/storage/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMlD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAE3F"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../src/storage/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;GAIG;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMlD;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAE3F;AAED;;;;;;;;;GASG;AAEH,sEAAsE;AACtE,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C,mGAAmG;AACnG,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAExC,kGAAkG;AAClG,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAK1D;AAED,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI1D;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAGnF"}
@@ -18,4 +18,44 @@ export function assertPruneKeep(keep) {
18
18
  export function versionsToPrune(versions, keep) {
19
19
  return [...versions].sort((a, b) => b.seq - a.seq).slice(keep);
20
20
  }
21
+ /**
22
+ * Shared paging bounds for {@link ListPageOptions}.
23
+ *
24
+ * Every storage implementation clamps through these rather than picking its
25
+ * own numbers — a page size that differs between `LucidStorage` and
26
+ * `InMemoryCollaborationStorage` turns "it works in the tests" into a claim
27
+ * about the wrong store. The `{ page, size }` vocabulary intentionally mirrors
28
+ * `@adonis-agora/filter`'s pagination shape — matched structurally, without a
29
+ * dependency — so every `@adonis-agora/*` package pages the same way.
30
+ */
31
+ /** Rows returned when a page is requested with no particular size. */
32
+ export const COLLAB_LIST_DEFAULT_SIZE = 50;
33
+ /** Hard ceiling — an unbounded `size` from a query string must not be able to select the table. */
34
+ export const COLLAB_LIST_MAX_SIZE = 200;
35
+ /** Clamp a requested page size into `1..COLLAB_LIST_MAX_SIZE`, defaulting when absent/invalid. */
36
+ export function clampSize(size) {
37
+ if (size === undefined || !Number.isFinite(size))
38
+ return COLLAB_LIST_DEFAULT_SIZE;
39
+ const floored = Math.floor(size);
40
+ if (floored < 1)
41
+ return COLLAB_LIST_DEFAULT_SIZE;
42
+ return Math.min(floored, COLLAB_LIST_MAX_SIZE);
43
+ }
44
+ /** Clamp a requested 1-based page number, defaulting to the first page. */
45
+ export function clampPage(page) {
46
+ if (page === undefined || !Number.isFinite(page))
47
+ return 1;
48
+ const floored = Math.floor(page);
49
+ return floored < 1 ? 1 : floored;
50
+ }
51
+ /**
52
+ * Resolves the public `{ page, size }` request into the `{ size, offset }` a
53
+ * store actually needs. The 0-based offset is derived here and nowhere else:
54
+ * it is an implementation detail of SQL (and of `Array.prototype.slice`), not
55
+ * something a caller of `CollaborationStorage` should have to know about.
56
+ */
57
+ export function resolvePage(page) {
58
+ const size = clampSize(page.size);
59
+ return { size, offset: (clampPage(page.page) - 1) * size };
60
+ }
21
61
  //# sourceMappingURL=shared.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/storage/shared.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,yGAAyG,MAAM,CAAC,IAAI,CAAC,EAAE,CACxH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAA4B,QAAa,EAAE,IAAY;IACpF,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/storage/shared.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,yGAAyG,MAAM,CAAC,IAAI,CAAC,EAAE,CACxH,CAAC;IACJ,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,eAAe,CAA4B,QAAa,EAAE,IAAY;IACpF,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED;;;;;;;;;GASG;AAEH,sEAAsE;AACtE,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,mGAAmG;AACnG,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,kGAAkG;AAClG,MAAM,UAAU,SAAS,CAAC,IAAwB;IAChD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,wBAAwB,CAAC;IAClF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,wBAAwB,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;AACjD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,IAAwB;IAChD,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAqB;IAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;AAC7D,CAAC"}
@@ -150,6 +150,30 @@ export interface PruneVersionsOptions {
150
150
  /** Count what would be removed without deleting anything. */
151
151
  dryRun?: boolean;
152
152
  }
153
+ /**
154
+ * Offset pagination bounds accepted by the list-shaped storage reads
155
+ * ({@link CollaborationStorage.listVersions}, {@link CollaborationStorage.listComments}).
156
+ *
157
+ * Intentionally mirrors `@adonis-agora/filter`'s pagination shape
158
+ * (`FilterInput.page`/`.size`, `ResolvedPagination`) so every `@adonis-agora/*`
159
+ * package pages the same way. Structural match only — this package does not
160
+ * depend on `@adonis-agora/filter`.
161
+ *
162
+ * Deliberately optional and separate from the required params: a caller that
163
+ * omits it (every internal driver call computing the next `seq` or resolving
164
+ * a restore target) gets the historical "every row" behaviour, while the HTTP
165
+ * routes — the only place an unbounded result becomes a client-facing
166
+ * problem — always pass one. Implementations should clamp the values
167
+ * themselves (see `clampPage`/`clampSize`/`resolvePage` in `storage/shared.js`)
168
+ * rather than trust the caller's numbers, and derive the 0-based SQL offset as
169
+ * `(page - 1) * size` internally.
170
+ */
171
+ export interface ListPageOptions {
172
+ /** 1-based page number for offset pagination. Defaults to `1`. */
173
+ page?: number;
174
+ /** Page size for offset pagination. Defaults to `50`, capped at `200`. */
175
+ size?: number;
176
+ }
153
177
  /**
154
178
  * Persistence of documents + versions + comments. The host app implements
155
179
  * this (database, S3...) and the library only knows the interface.
@@ -159,7 +183,12 @@ export interface CollaborationStorage {
159
183
  state: Uint8Array;
160
184
  } | null>;
161
185
  saveDocument(docName: string, state: Uint8Array, meta?: Record<string, unknown>): Promise<void>;
162
- listVersions(docName: string): Promise<CollabVersion[]>;
186
+ /**
187
+ * Versions of a document, oldest first. `page` bounds the result — omit it
188
+ * to get every version (what version-numbering and restore need
189
+ * internally); the HTTP route always supplies one.
190
+ */
191
+ listVersions(docName: string, page?: ListPageOptions): Promise<CollabVersion[]>;
163
192
  saveVersion(docName: string, version: CollabVersion, snapshot: Uint8Array): Promise<void>;
164
193
  loadVersionSnapshot(docName: string, versionId: string): Promise<Uint8Array | null>;
165
194
  /**
@@ -167,8 +196,11 @@ export interface CollaborationStorage {
167
196
  * many versions were removed (or would be, with `dryRun`).
168
197
  */
169
198
  pruneVersions(options: PruneVersionsOptions): Promise<number>;
170
- /** Comments of a document (by space). */
171
- listComments(docName: string, space?: string): Promise<CollabComment[]>;
199
+ /**
200
+ * Comments of a document (by space), oldest first. `page` bounds the
201
+ * result the same way it does for {@link listVersions}.
202
+ */
203
+ listComments(docName: string, space?: string, page?: ListPageOptions): Promise<CollabComment[]>;
172
204
  /**
173
205
  * One comment by id. Optional: a storage that cannot look one up directly is
174
206
  * served by {@link CommentService.get} falling back to a filtered list — the
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/collaboration",
3
- "version": "0.13.0",
3
+ "version": "0.15.0",
4
4
  "description": "Collaborative editing (CRDT) for AdonisJS 7 — Yjs (Hocuspocus) and Automerge drivers, Redis-backed presence, unified version control. Part of the Agora ecosystem.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -107,22 +107,22 @@
107
107
  }
108
108
  },
109
109
  "devDependencies": {
110
- "@adonisjs/assembler": "8.5.0",
110
+ "@adonisjs/assembler": "8.5.1",
111
111
  "@adonisjs/core": "7.5.0",
112
112
  "@adonisjs/lucid": "22.4.2",
113
113
  "@hocuspocus/provider": "^4.6.0",
114
114
  "@mdx-js/mdx": "^3.1.1",
115
- "@swc/core": "1.16.1",
115
+ "@swc/core": "1.16.2",
116
116
  "@testcontainers/postgresql": "^12.1.0",
117
117
  "@types/luxon": "^3.7.5",
118
- "@types/node": "26.4.0",
118
+ "@types/node": "26.5.0",
119
119
  "@types/pg": "^8.23.1",
120
120
  "@types/ws": "8.18.1",
121
121
  "luxon": "^3.7.2",
122
122
  "pg": "^8.23.0",
123
123
  "typescript": "7.0.2",
124
- "unplugin-swc": "1.5.11",
125
- "vitest": "4.1.11"
124
+ "unplugin-swc": "1.6.0",
125
+ "vitest": "5.0.0"
126
126
  },
127
127
  "engines": {
128
128
  "node": ">=20.6.0"