@adonis-agora/collaboration-client 0.3.2 → 0.4.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 (49) hide show
  1. package/dist/src/docs/automerge_doc.d.ts +22 -0
  2. package/dist/src/docs/automerge_doc.d.ts.map +1 -0
  3. package/dist/src/docs/automerge_doc.js +19 -0
  4. package/dist/src/docs/automerge_doc.js.map +1 -0
  5. package/dist/src/docs/index.d.ts +5 -0
  6. package/dist/src/docs/index.d.ts.map +1 -0
  7. package/dist/src/docs/index.js +3 -0
  8. package/dist/src/docs/index.js.map +1 -0
  9. package/dist/src/docs/types.d.ts +21 -0
  10. package/dist/src/docs/types.d.ts.map +1 -0
  11. package/dist/src/docs/types.js +2 -0
  12. package/dist/src/docs/types.js.map +1 -0
  13. package/dist/src/docs/yjs_doc.d.ts +15 -0
  14. package/dist/src/docs/yjs_doc.d.ts.map +1 -0
  15. package/dist/src/docs/yjs_doc.js +24 -0
  16. package/dist/src/docs/yjs_doc.js.map +1 -0
  17. package/dist/src/editors/excalidraw.d.ts +3 -3
  18. package/dist/src/editors/excalidraw.d.ts.map +1 -1
  19. package/dist/src/editors/excalidraw.js +2 -13
  20. package/dist/src/editors/excalidraw.js.map +1 -1
  21. package/dist/src/editors/text.d.ts +4 -1
  22. package/dist/src/editors/text.d.ts.map +1 -1
  23. package/dist/src/editors/text.js +14 -7
  24. package/dist/src/editors/text.js.map +1 -1
  25. package/dist/src/editors/tldraw.d.ts +3 -3
  26. package/dist/src/editors/tldraw.d.ts.map +1 -1
  27. package/dist/src/editors/tldraw.js +10 -16
  28. package/dist/src/editors/tldraw.js.map +1 -1
  29. package/dist/src/editors/types.d.ts +5 -4
  30. package/dist/src/editors/types.d.ts.map +1 -1
  31. package/dist/src/hooks/use_automerge_doc.js +2 -2
  32. package/dist/src/hooks/use_automerge_doc.js.map +1 -1
  33. package/dist/src/hooks/use_collab_editor.d.ts +7 -0
  34. package/dist/src/hooks/use_collab_editor.d.ts.map +1 -1
  35. package/dist/src/hooks/use_collab_editor.js +6 -8
  36. package/dist/src/hooks/use_collab_editor.js.map +1 -1
  37. package/dist/src/index.d.ts +2 -0
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +1 -0
  40. package/dist/src/index.js.map +1 -1
  41. package/dist/src/rest_client.d.ts +2 -0
  42. package/dist/src/rest_client.d.ts.map +1 -1
  43. package/dist/src/rest_client.js +8 -2
  44. package/dist/src/rest_client.js.map +1 -1
  45. package/dist/src/session.d.ts +2 -0
  46. package/dist/src/session.d.ts.map +1 -1
  47. package/dist/src/session.js +6 -0
  48. package/dist/src/session.js.map +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ import type { CollabDoc } from './types.js';
2
+ /**
3
+ * Implementação Automerge do contrato CollabDoc — envolve um documento
4
+ * Automerge (`A.Doc`) lendo/escrevendo chaves top-level. A sync de rede
5
+ * (WS + merge) é administrada pelo host.
6
+ */
7
+ export interface AutomergeDocHost<T extends Record<string, unknown>> {
8
+ /** Doc atual (null antes do primeiro payload do server). */
9
+ readDoc(): T | null;
10
+ /** Aplica uma mutação sobre o doc atual via A.change. */
11
+ change(updater: (doc: T) => void): void;
12
+ /** Assina mudanças locais/remotas; retorna unsubscribe. */
13
+ onChange(callback: () => void): () => void;
14
+ }
15
+ export declare class AutomergeCollabDoc<T extends Record<string, unknown>> implements CollabDoc {
16
+ private readonly host;
17
+ constructor(host: AutomergeDocHost<T>);
18
+ read<U>(key: string): U | undefined;
19
+ write(key: string, value: unknown): void;
20
+ onUpdate(callback: () => void): () => void;
21
+ }
22
+ //# sourceMappingURL=automerge_doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge_doc.d.ts","sourceRoot":"","sources":["../../../src/docs/automerge_doc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,4DAA4D;IAC5D,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC;IACpB,yDAAyD;IACzD,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IACxC,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC5C;AAED,qBAAa,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,YAAW,SAAS;IACzE,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEtD,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAKnC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAMxC,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAG3C"}
@@ -0,0 +1,19 @@
1
+ export class AutomergeCollabDoc {
2
+ host;
3
+ constructor(host) {
4
+ this.host = host;
5
+ }
6
+ read(key) {
7
+ const doc = this.host.readDoc();
8
+ return doc ? doc[key] : undefined;
9
+ }
10
+ write(key, value) {
11
+ this.host.change((doc) => {
12
+ doc[key] = value;
13
+ });
14
+ }
15
+ onUpdate(callback) {
16
+ return this.host.onChange(callback);
17
+ }
18
+ }
19
+ //# sourceMappingURL=automerge_doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automerge_doc.js","sourceRoot":"","sources":["../../../src/docs/automerge_doc.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,IAAyB;QAAzB,SAAI,GAAJ,IAAI,CAAqB;IAAG,CAAC;IAE1D,IAAI,CAAI,GAAW;QACjB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,GAAG,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,CAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,KAAc;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,GAA+B,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ,CAAC,QAAoB;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;CACF"}
@@ -0,0 +1,5 @@
1
+ export { AutomergeCollabDoc } from './automerge_doc.js';
2
+ export type { AutomergeDocHost } from './automerge_doc.js';
3
+ export { YjsCollabDoc } from './yjs_doc.js';
4
+ export type { CollabDoc, RichTextDoc } from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { AutomergeCollabDoc } from './automerge_doc.js';
2
+ export { YjsCollabDoc } from './yjs_doc.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/docs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Abstração de documento colaborativo — a seam que desacopla os adapters de
3
+ * editor (Excalidraw/tldraw/texto) do CRDT de baixo.
4
+ *
5
+ * Tanto Yjs quanto Automerge satisfazem este contrato: o adapter só enxerga
6
+ * `read`/`write`/`onUpdate`. Quem decide a implementação é o `useCollabEditor`,
7
+ * resolvendo a engine pelo token que o server devolve.
8
+ */
9
+ export interface CollabDoc {
10
+ /** Lê o valor de uma chave (undefined se ausente). */
11
+ read<T>(key: string): T | undefined;
12
+ /** Escreve o valor de uma chave (grava no CRDT de forma transacional). */
13
+ write(key: string, value: unknown): void;
14
+ /** Assina mudanças; retorna unsubscribe. */
15
+ onUpdate(callback: () => void): () => void;
16
+ }
17
+ /** Texto rico (Yjs). Sem isso, Tiptap/ProseMirror não conseguem editar. */
18
+ export interface RichTextDoc extends CollabDoc {
19
+ getText(key: string): unknown;
20
+ }
21
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/docs/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,sDAAsD;IACtD,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;IACpC,0EAA0E;IAC1E,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACzC,4CAA4C;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;CAC5C;AAED,2EAA2E;AAC3E,MAAM,WAAW,WAAY,SAAQ,SAAS;IAC5C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/docs/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import type * as Y from 'yjs';
2
+ import type { RichTextDoc } from './types.js';
3
+ /**
4
+ * Implementação Yjs do contrato CollabDoc — envolve o Y.Doc da sessão e usa
5
+ * `getMap(editorId)` para dados serializáveis e `getText` para texto rico.
6
+ */
7
+ export declare class YjsCollabDoc implements RichTextDoc {
8
+ private readonly doc;
9
+ constructor(doc: Y.Doc);
10
+ read<T>(key: string): T | undefined;
11
+ write(key: string, value: unknown): void;
12
+ getText(key: string): unknown;
13
+ onUpdate(callback: () => void): () => void;
14
+ }
15
+ //# sourceMappingURL=yjs_doc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yjs_doc.d.ts","sourceRoot":"","sources":["../../../src/docs/yjs_doc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD;;;GAGG;AACH,qBAAa,YAAa,YAAW,WAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,CAAC,CAAC,GAAG;IAEvC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAInC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAIxC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAI3C"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Implementação Yjs do contrato CollabDoc — envolve o Y.Doc da sessão e usa
3
+ * `getMap(editorId)` para dados serializáveis e `getText` para texto rico.
4
+ */
5
+ export class YjsCollabDoc {
6
+ doc;
7
+ constructor(doc) {
8
+ this.doc = doc;
9
+ }
10
+ read(key) {
11
+ return this.doc.getMap(key).get('value');
12
+ }
13
+ write(key, value) {
14
+ this.doc.transact(() => this.doc.getMap(key).set('value', value));
15
+ }
16
+ getText(key) {
17
+ return this.doc.getText(key);
18
+ }
19
+ onUpdate(callback) {
20
+ this.doc.on('update', callback);
21
+ return () => this.doc.off('update', callback);
22
+ }
23
+ }
24
+ //# sourceMappingURL=yjs_doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yjs_doc.js","sourceRoot":"","sources":["../../../src/docs/yjs_doc.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,OAAO,YAAY;IACM;IAA7B,YAA6B,GAAU;QAAV,QAAG,GAAH,GAAG,CAAO;IAAG,CAAC;IAE3C,IAAI,CAAI,GAAW;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAU,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAkB,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,GAAW,EAAE,KAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAU,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CAAC,QAAoB;QAC3B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -1,8 +1,8 @@
1
1
  import type { CollabEditorAdapter } from './types.js';
2
2
  /**
3
- * Excalidraw scene mirror: the element array is JSON-serialized under
4
- * `doc.getMap(editorId).get('elements')`. Standard self-hosted pattern
5
- * (Excalidraw's own `collab` protocol is proprietary and not used here).
3
+ * Espelho da cena Excalidraw: guarda `{ elements, appState }` na chave do
4
+ * editor. Padrão self-hosted (o protocolo `collab` do Excalidraw é
5
+ * proprietário e não é usado aqui).
6
6
  */
7
7
  export interface ExcalidrawScene<S = unknown> {
8
8
  elements: S[];
@@ -1 +1 @@
1
- {"version":3,"file":"excalidraw.d.ts","sourceRoot":"","sources":["../../../src/editors/excalidraw.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,KAAK,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CA4B9F"}
1
+ {"version":3,"file":"excalidraw.d.ts","sourceRoot":"","sources":["../../../src/editors/excalidraw.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CAAC,CAAC,GAAG,OAAO,KAAK,mBAAmB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAgB9F"}
@@ -1,25 +1,14 @@
1
1
  export function createExcalidrawAdapter() {
2
- const ELEMENTS = 'elements';
3
- const APP_STATE = 'appState';
4
2
  return {
5
3
  empty: () => ({ elements: [] }),
6
4
  create: (doc, editorId) => {
7
- const map = doc.getMap(editorId);
8
- const read = () => {
9
- const elements = map.get(ELEMENTS) ?? [];
10
- const appState = map.get(APP_STATE);
11
- return appState ? { elements, appState } : { elements };
12
- };
5
+ const read = () => doc.read(editorId) ?? { elements: [] };
13
6
  return {
14
7
  get state() {
15
8
  return read();
16
9
  },
17
10
  update(next) {
18
- doc.transact(() => {
19
- map.set(ELEMENTS, next.elements);
20
- if (next.appState)
21
- map.set(APP_STATE, next.appState);
22
- });
11
+ doc.write(editorId, next);
23
12
  },
24
13
  };
25
14
  },
@@ -1 +1 @@
1
- {"version":3,"file":"excalidraw.js","sourceRoot":"","sources":["../../../src/editors/excalidraw.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,uBAAuB;IACrC,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,MAAM,SAAS,GAAG,UAAU,CAAC;IAE7B,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAU,QAAQ,CAAC,CAAC;YAE1C,MAAM,IAAI,GAAG,GAAuB,EAAE;gBACpC,MAAM,QAAQ,GAAI,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAqB,IAAI,EAAE,CAAC;gBAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,SAAS,CAAwC,CAAC;gBAC3E,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC1D,CAAC,CAAC;YAEF,OAAO;gBACL,IAAI,KAAK;oBACP,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;gBACD,MAAM,CAAC,IAAI;oBACT,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;wBAChB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACjC,IAAI,IAAI,CAAC,QAAQ;4BAAE,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvD,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"excalidraw.js","sourceRoot":"","sources":["../../../src/editors/excalidraw.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/B,MAAM,EAAE,CAAC,GAAc,EAAE,QAAgB,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,GAAuB,EAAE,CACpC,GAAG,CAAC,IAAI,CAAqB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC7D,OAAO;gBACL,IAAI,KAAK;oBACP,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;gBACD,MAAM,CAAC,IAAI;oBACT,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC5B,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,4 +1,7 @@
1
1
  import type { CollabEditorAdapter } from './types.js';
2
- /** Plain-text mirror over `doc.getText(editorId)` (monaco/textarea surfaces). */
2
+ /**
3
+ * Espelho de texto puro sobre `doc.read(editorId)` (monaco/textarea). Para
4
+ * texto rico use a doc Yjs e o binding Tiptap diretamente.
5
+ */
3
6
  export declare function createTextAdapter(): CollabEditorAdapter<string>;
4
7
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/editors/text.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD,iFAAiF;AACjF,wBAAgB,iBAAiB,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAkB/D"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/editors/text.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAqB/D"}
@@ -1,18 +1,25 @@
1
- /** Plain-text mirror over `doc.getText(editorId)` (monaco/textarea surfaces). */
1
+ /**
2
+ * Espelho de texto puro sobre `doc.read(editorId)` (monaco/textarea). Para
3
+ * texto rico use a doc Yjs e o binding Tiptap diretamente.
4
+ */
2
5
  export function createTextAdapter() {
3
6
  return {
4
7
  empty: () => '',
5
8
  create: (doc, editorId) => {
6
- const text = doc.getText(editorId);
9
+ const rich = doc;
10
+ const get = () => {
11
+ const v = doc.read(editorId);
12
+ if (v !== undefined)
13
+ return v;
14
+ const ytext = rich.getText?.(editorId);
15
+ return ytext ? ytext.toString() : '';
16
+ };
7
17
  return {
8
18
  get state() {
9
- return text.toString();
19
+ return get();
10
20
  },
11
21
  update(next) {
12
- doc.transact(() => {
13
- text.delete(0, text.length);
14
- text.insert(0, next);
15
- });
22
+ doc.write(editorId, next);
16
23
  },
17
24
  };
18
25
  },
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/editors/text.ts"],"names":[],"mappings":"AAGA,iFAAiF;AACjF,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE;QACf,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACxB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,OAAO;gBACL,IAAI,KAAK;oBACP,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzB,CAAC;gBACD,MAAM,CAAC,IAAI;oBACT,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE;wBAChB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACvB,CAAC,CAAC,CAAC;gBACL,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../src/editors/text.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE;QACf,MAAM,EAAE,CAAC,GAAc,EAAE,QAAgB,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,GAAkB,CAAC;YAChC,MAAM,GAAG,GAAG,GAAW,EAAE;gBACvB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAS,QAAQ,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC;gBAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAuC,CAAC;gBAC7E,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,CAAC,CAAC;YACF,OAAO;gBACL,IAAI,KAAK;oBACP,OAAO,GAAG,EAAE,CAAC;gBACf,CAAC;gBACD,MAAM,CAAC,IAAI;oBACT,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC5B,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { CollabEditorAdapter } from './types.js';
2
2
  /**
3
- * tldraw snapshot mirror: `doc.getMap(editorId).get('snapshot')` holds the
4
- * JSON store snapshot (records + schema), enough to rehydrate
5
- * `createTLStore({ snapshot })` on any peer.
3
+ * Espelho do snapshot tldraw: `doc.read(editorId)` guarda
4
+ * `{ snapshot }` (records + schema), suficiente pra reidratar
5
+ * `createTLStore({ snapshot })` em qualquer peer.
6
6
  */
7
7
  export interface TldrawScene<S = Record<string, unknown>> {
8
8
  snapshot: S;
@@ -1 +1 @@
1
- {"version":3,"file":"tldraw.d.ts","sourceRoot":"","sources":["../../../src/editors/tldraw.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,mBAAmB,CACrF,WAAW,CAAC,CAAC,CAAC,CACf,CAoBA"}
1
+ {"version":3,"file":"tldraw.d.ts","sourceRoot":"","sources":["../../../src/editors/tldraw.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;GAIG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,mBAAmB,CACrF,WAAW,CAAC,CAAC,CAAC,CACf,CAaA"}
@@ -1,21 +1,15 @@
1
1
  export function createTldrawAdapter() {
2
- const SNAPSHOT = 'snapshot';
2
+ const empty = () => ({ snapshot: { records: [] } });
3
3
  return {
4
- empty: () => ({ snapshot: { records: [] } }),
5
- create: (doc, editorId) => {
6
- const map = doc.getMap(editorId);
7
- const empty = () => ({ snapshot: { records: [] } });
8
- return {
9
- get state() {
10
- return {
11
- snapshot: map.get(SNAPSHOT) ?? empty().snapshot,
12
- };
13
- },
14
- update(next) {
15
- doc.transact(() => map.set(SNAPSHOT, next.snapshot));
16
- },
17
- };
18
- },
4
+ empty,
5
+ create: (doc, editorId) => ({
6
+ get state() {
7
+ return doc.read(editorId) ?? empty();
8
+ },
9
+ update(next) {
10
+ doc.write(editorId, next);
11
+ },
12
+ }),
19
13
  };
20
14
  }
21
15
  //# sourceMappingURL=tldraw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tldraw.js","sourceRoot":"","sources":["../../../src/editors/tldraw.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,mBAAmB;IAGjC,MAAM,QAAQ,GAAG,UAAU,CAAC;IAE5B,OAAO;QACL,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAmB;QAC9D,MAAM,EAAE,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAU,QAAQ,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAmB,CAAC;YACtE,OAAO;gBACL,IAAI,KAAK;oBACP,OAAO;wBACL,QAAQ,EAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAmB,IAAI,KAAK,EAAE,CAAC,QAAQ;qBACnE,CAAC;gBACJ,CAAC;gBACD,MAAM,CAAC,IAAI;oBACT,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvD,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tldraw.js","sourceRoot":"","sources":["../../../src/editors/tldraw.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,mBAAmB;IAGjC,MAAM,KAAK,GAAG,GAAmB,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAmB,CAAC;IACtF,OAAO;QACL,KAAK;QACL,MAAM,EAAE,CAAC,GAAc,EAAE,QAAgB,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,KAAK;gBACP,OAAO,GAAG,CAAC,IAAI,CAAiB,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,CAAC,IAAI;gBACT,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5B,CAAC;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
@@ -1,8 +1,9 @@
1
- import type * as Y from 'yjs';
1
+ import type { CollabDoc } from '../docs/types.js';
2
2
  /**
3
3
  * Editor adapters decouple a frontend surface (Excalidraw, tldraw, text)
4
4
  * from the CRDT document. Each adapter knows how to read/write its scene
5
- * inside a Y.Doc, so hooks stay engine-aware via the transport seam.
5
+ * against a {@link CollabDoc}, so hooks stay engine-aware: the same adapter
6
+ * works on Yjs or Automerge.
6
7
  */
7
8
  export interface CollabEditorView<S> {
8
9
  /** Current serializable scene state. */
@@ -13,7 +14,7 @@ export interface CollabEditorView<S> {
13
14
  export interface CollabEditorAdapter<S> {
14
15
  /** Empty scene for a fresh document. */
15
16
  empty(): S;
16
- /** Binds the adapter to a document key inside the Y.Doc. */
17
- create(doc: Y.Doc, editorId: string): CollabEditorView<S>;
17
+ /** Binds the adapter to a document key inside the doc. */
18
+ create(doc: CollabDoc, editorId: string): CollabEditorView<S>;
18
19
  }
19
20
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/editors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAE9B;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,wCAAwC;IACxC,KAAK,EAAE,CAAC,CAAC;IACT,wDAAwD;IACxD,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,wCAAwC;IACxC,KAAK,IAAI,CAAC,CAAC;IACX,4DAA4D;IAC5D,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC3D"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/editors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,wCAAwC;IACxC,KAAK,EAAE,CAAC,CAAC;IACT,wDAAwD;IACxD,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,wCAAwC;IACxC,KAAK,IAAI,CAAC,CAAC;IACX,0DAA0D;IAC1D,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAC/D"}
@@ -1,7 +1,7 @@
1
1
  import * as A from '@automerge/automerge';
2
2
  import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { getOrCreateSession, useCollaborationContext } from '../context.js';
4
- import { fetchToken } from '../rest_client.js';
4
+ import { fetchToken, resolveBaseUrl } from '../rest_client.js';
5
5
  const SEND_DEBOUNCE_MS = 200;
6
6
  export function useAutomergeDoc(options) {
7
7
  const { docName, WebSocketImpl } = options;
@@ -28,7 +28,7 @@ export function useAutomergeDoc(options) {
28
28
  }
29
29
  return;
30
30
  }
31
- const base = config.baseUrl.replace(/\/$/, '');
31
+ const base = resolveBaseUrl(config);
32
32
  const wsUrl = info.wsUrl.startsWith('ws')
33
33
  ? `${info.wsUrl}?doc=${encodeURIComponent(docName)}&token=${encodeURIComponent(info.token)}`
34
34
  : `${base.replace(/^http/, 'ws')}${info.wsUrl}?doc=${encodeURIComponent(docName)}&token=${encodeURIComponent(info.token)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"use_automerge_doc.js","sourceRoot":"","sources":["../../../src/hooks/use_automerge_doc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use_automerge_doc.js","sourceRoot":"","sources":["../../../src/hooks/use_automerge_doc.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,16 @@
1
+ import type { CollabDoc } from '../docs/types.js';
1
2
  import type { CollabEditorAdapter } from '../editors/types.js';
2
3
  import type { CollabPeer, CollabStatus } from '../types.js';
3
4
  export interface UseCollabEditorOptions<S> {
4
5
  docName: string;
5
6
  editorId: string;
6
7
  adapter: CollabEditorAdapter<S>;
8
+ /**
9
+ * Doc colaborativo (impl de engine). Omita para Yjs (a doc da sessão);
10
+ * passe `new AutomergeCollabDoc(host)` para engine automerge — os mesmos
11
+ * adapters funcionam com qualquer impl.
12
+ */
13
+ doc?: CollabDoc;
7
14
  }
8
15
  export interface UseCollabEditorResult<S> {
9
16
  /** Current scene state (editor-agnostic shape from the adapter). */
@@ -1 +1 @@
1
- {"version":3,"file":"use_collab_editor.d.ts","sourceRoot":"","sources":["../../../src/hooks/use_collab_editor.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5D,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,oEAAoE;IACpE,KAAK,EAAE,CAAC,CAAC;IACT,iDAAiD;IACjD,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAiC/F"}
1
+ {"version":3,"file":"use_collab_editor.d.ts","sourceRoot":"","sources":["../../../src/hooks/use_collab_editor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG5D,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC;IAChC;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,oEAAoE;IACpE,KAAK,EAAE,CAAC,CAAC;IACT,iDAAiD;IACjD,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CA8B/F"}
@@ -1,5 +1,6 @@
1
1
  import { useCallback, useMemo, useRef, useSyncExternalStore } from 'react';
2
2
  import { getOrCreateSession, useCollaborationContext } from '../context.js';
3
+ import { YjsCollabDoc } from '../docs/index.js';
3
4
  import { useAwareness } from './use_awareness.js';
4
5
  /**
5
6
  * Engine-aware, editor-aware view of a collaborative document.
@@ -18,21 +19,18 @@ import { useAwareness } from './use_awareness.js';
18
19
  * ```
19
20
  */
20
21
  export function useCollabEditor(options) {
21
- const { docName, editorId, adapter } = options;
22
+ const { docName, editorId, adapter, doc } = options;
22
23
  const context = useCollaborationContext();
23
24
  const session = getOrCreateSession(context, docName);
25
+ const collabDoc = doc ?? new YjsCollabDoc(session.doc);
24
26
  const { peers, status } = useAwareness({ docName });
25
27
  // Reactivity: any Yjs update re-renders and re-reads the adapter state.
26
28
  const subscribe = useCallback((onStoreChange) => {
27
- const handler = () => onStoreChange();
28
- session.doc.on('update', handler);
29
- return () => {
30
- session.doc.off('update', handler);
31
- };
32
- }, [session]);
29
+ return collabDoc.onUpdate(onStoreChange);
30
+ }, [collabDoc]);
33
31
  // Adapter view + stable snapshot: scenes are freshly built objects, so we
34
32
  // cache by serialized equality to keep useSyncExternalStore from looping.
35
- const view = useMemo(() => adapter.create(session.doc, editorId), [adapter, session, editorId]);
33
+ const view = useMemo(() => adapter.create(collabDoc, editorId), [adapter, collabDoc, editorId]);
36
34
  const cacheRef = useRef(undefined);
37
35
  const getSnapshot = useCallback(() => {
38
36
  const next = view.state;
@@ -1 +1 @@
1
- {"version":3,"file":"use_collab_editor.js","sourceRoot":"","sources":["../../../src/hooks/use_collab_editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAG5E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAiBlD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAI,OAAkC;IACnE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpD,wEAAwE;IACxE,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,aAAyB,EAAE,EAAE;QAC5B,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IAEF,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,MAAM,CAAwC,SAAS,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,WAAW,CAAC,GAAM,EAAE;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QACjE,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAExE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"use_collab_editor.js","sourceRoot":"","sources":["../../../src/hooks/use_collab_editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAE3E,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAuBlD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAI,OAAkC;IACnE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,OAAO,GAAG,uBAAuB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAEpD,wEAAwE;IACxE,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,aAAyB,EAAE,EAAE;QAC5B,OAAO,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC3C,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,0EAA0E;IAC1E,0EAA0E;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChG,MAAM,QAAQ,GAAG,MAAM,CAAwC,SAAS,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,WAAW,CAAC,GAAM,EAAE;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,QAAQ,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG;YAAE,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC;QACjE,QAAQ,CAAC,OAAO,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAExE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC"}
@@ -21,4 +21,6 @@ export { createExcalidrawAdapter, createTldrawAdapter, createTextAdapter, } from
21
21
  export type { CollabEditorAdapter, CollabEditorView, ExcalidrawScene, TldrawScene, } from './editors/index.js';
22
22
  export { useCollabEditor } from './hooks/use_collab_editor.js';
23
23
  export type { UseCollabEditorResult } from './hooks/use_collab_editor.js';
24
+ export { YjsCollabDoc, AutomergeCollabDoc } from './docs/index.js';
25
+ export type { CollabDoc, RichTextDoc, AutomergeDocHost } from './docs/index.js';
24
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC9E,YAAY,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,YAAY,EACV,aAAa,EACb,UAAU,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EACf,aAAa,EACb,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/src/index.js CHANGED
@@ -12,4 +12,5 @@ export { useVersions } from './hooks/use_versions.js';
12
12
  export { useAutomergeDoc } from './hooks/use_automerge_doc.js';
13
13
  export { createExcalidrawAdapter, createTldrawAdapter, createTextAdapter, } from './editors/index.js';
14
14
  export { useCollabEditor } from './hooks/use_collab_editor.js';
15
+ export { YjsCollabDoc, AutomergeCollabDoc } from './docs/index.js';
15
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAYtD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,eAAe,EACf,WAAW,EACX,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAYtD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -9,6 +9,8 @@ export declare class CollabRestError extends Error {
9
9
  readonly body: string;
10
10
  constructor(status: number, body: string);
11
11
  }
12
+ /** Resolve a base URL: explicit, or the current origin when same-app. */
13
+ export declare function resolveBaseUrl(config: Pick<CollaborationClientConfig, 'baseUrl'>): string;
12
14
  export declare function collabFetch<T>(config: CollaborationClientConfig, path: string, init?: {
13
15
  method?: 'GET' | 'POST' | 'PATCH' | 'DELETE';
14
16
  params?: Record<string, string | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"rest_client.d.ts","sourceRoot":"","sources":["../../src/rest_client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;GAIG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;gBADZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;CAK/B;AAeD,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IACL,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAID,wBAAgB,UAAU,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iDAI5E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,iDAI9F;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,IAAI,CAAC,OAAO,YAAY,EAAE,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC,+CAMjG;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,sDAOlB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;aAEa,OAAO;GAKtC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iDAI9E;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,+CAMvB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,iBAMlB"}
1
+ {"version":3,"file":"rest_client.d.ts","sourceRoot":"","sources":["../../src/rest_client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;GAIG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;aAEtB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,MAAM;gBADZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM;CAK/B;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,GAAG,MAAM,CAIzF;AAcD,wBAAsB,WAAW,CAAC,CAAC,EACjC,MAAM,EAAE,yBAAyB,EACjC,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IACL,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,GACA,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAID,wBAAgB,UAAU,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iDAI5E;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,iDAI9F;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,IAAI,CAAC,OAAO,YAAY,EAAE,aAAa,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,CAAC,+CAMjG;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,sDAOlB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM;aAEa,OAAO;GAKtC;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iDAI9E;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,+CAMvB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,yBAAyB,EACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,iBAMlB"}
@@ -13,9 +13,15 @@ export class CollabRestError extends Error {
13
13
  this.name = 'CollabRestError';
14
14
  }
15
15
  }
16
+ /** Resolve a base URL: explicit, or the current origin when same-app. */
17
+ export function resolveBaseUrl(config) {
18
+ if (config.baseUrl)
19
+ return config.baseUrl.replace(/\/$/, '');
20
+ const loc = globalThis.location;
21
+ return loc?.origin ?? '';
22
+ }
16
23
  function buildUrl(config, path, params) {
17
- const base = config.baseUrl.replace(/\/$/, '');
18
- const url = new URL(`${base}${path}`);
24
+ const url = new URL(`${resolveBaseUrl(config)}${path}`);
19
25
  for (const [key, value] of Object.entries(params ?? {})) {
20
26
  if (value !== undefined)
21
27
  url.searchParams.set(key, value);
@@ -1 +1 @@
1
- {"version":3,"file":"rest_client.js","sourceRoot":"","sources":["../../src/rest_client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rest_client.js","sourceRoot":"","sources":["../../src/rest_client.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAEtB;IACA;IAFlB,YACkB,MAAc,EACd,IAAY;QAE5B,KAAK,CAAC,+BAA+B,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAHxC,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,MAAkD;IAC/E,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAI,UAAiD,CAAC,QAAQ,CAAC;IACxE,OAAO,GAAG,EAAE,MAAM,IAAI,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,QAAQ,CACf,MAAiC,EACjC,IAAY,EACZ,MAA2C;IAE3C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;IACxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,IAAI,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAiC,EACjC,IAAY,EACZ,IAIC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,KAAK,CAAC;IAC5C,MAAM,aAAa,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAE1D,MAAM,OAAO,GAA2B;QACtC,MAAM,EAAE,kBAAkB;QAC1B,GAAG,aAAa;KACjB,CAAC;IAEF,MAAM,WAAW,GAAgB;QAC/B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,KAAK;QAC7B,OAAO;KACR,CAAC;IACF,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC7C,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;IAEpF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5B,OAAO,SAAc,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC;AACtC,CAAC;AAED,2EAA2E;AAE3E,MAAM,UAAU,UAAU,CAAC,MAAiC,EAAE,OAAe;IAC3E,OAAO,WAAW,CAAuC,MAAM,EAAE,sBAAsB,EAAE;QACvF,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAiC,EAAE,OAAe,EAAE,KAAc;IAC7F,OAAO,WAAW,CAAuC,MAAM,EAAE,yBAAyB,EAAE;QAC1F,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAiC,EACjC,KAAgG;IAEhG,OAAO,WAAW,CAAqC,MAAM,EAAE,yBAAyB,EAAE;QACxF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAiC,EACjC,OAAe,EACf,SAAiB,EACjB,QAAiB;IAEjB,OAAO,WAAW,CAChB,MAAM,EACN,2BAA2B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC1D,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAiC,EACjC,OAAe,EACf,SAAiB;IAEjB,OAAO,WAAW,CAChB,MAAM,EACN,2BAA2B,kBAAkB,CAAC,SAAS,CAAC,EAAE,EAC1D,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,CAC/C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAiC,EAAE,OAAe;IAC7E,OAAO,WAAW,CAAuC,MAAM,EAAE,yBAAyB,EAAE;QAC1F,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,MAAiC,EACjC,OAAe,EACf,KAAoB,EACpB,MAAsB;IAEtB,OAAO,WAAW,CAAqC,MAAM,EAAE,yBAAyB,EAAE;QACxF,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;KACjC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAiC,EACjC,OAAe,EACf,SAAiB;IAEjB,OAAO,WAAW,CAAO,MAAM,EAAE,iCAAiC,EAAE;QAClE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;KAC7B,CAAC,CAAC;AACL,CAAC"}
@@ -17,6 +17,8 @@ export declare class DocSession {
17
17
  constructor(docName: string, config: CollaborationClientConfig);
18
18
  get transport(): CollabTransport | undefined;
19
19
  get error(): Error | null;
20
+ /** Engine informado pelo server no token (yjs | automerge | ...). */
21
+ get engine(): string | undefined;
20
22
  getStatus(): CollabStatus;
21
23
  subscribe(listener: () => void): () => void;
22
24
  /** Idempotent — token + transport created a single time per generation. */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;GASG;AACH,qBAAa,UAAU;;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;gBAYR,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB;IAM9D,IAAI,SAAS,IAAI,eAAe,GAAG,SAAS,CAE3C;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED,SAAS,IAAI,YAAY;IAIzB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAS3C,2EAA2E;IAC3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+EtB,OAAO,IAAI,IAAI;CAQhB"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,KAAK,EACV,YAAY,EAEZ,eAAe,EACf,yBAAyB,EAC1B,MAAM,YAAY,CAAC;AAIpB;;;;;;;;;GASG;AACH,qBAAa,UAAU;;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;gBAaR,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB;IAM9D,IAAI,SAAS,IAAI,eAAe,GAAG,SAAS,CAE3C;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED,qEAAqE;IACrE,IAAI,MAAM,IAAI,MAAM,GAAG,SAAS,CAE/B;IAED,SAAS,IAAI,YAAY;IAIzB,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAS3C,2EAA2E;IAC3E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgFtB,OAAO,IAAI,IAAI;CAQhB"}
@@ -24,6 +24,7 @@ export class DocSession {
24
24
  #destroyed = false;
25
25
  #reconnectTimer;
26
26
  #attempt = 0;
27
+ #engine;
27
28
  constructor(docName, config) {
28
29
  this.docName = docName;
29
30
  this.#config = config;
@@ -35,6 +36,10 @@ export class DocSession {
35
36
  get error() {
36
37
  return this.#error;
37
38
  }
39
+ /** Engine informado pelo server no token (yjs | automerge | ...). */
40
+ get engine() {
41
+ return this.#engine;
42
+ }
38
43
  getStatus() {
39
44
  return this.#status;
40
45
  }
@@ -56,6 +61,7 @@ export class DocSession {
56
61
  async #start() {
57
62
  try {
58
63
  const info = await fetchToken(this.#config, this.docName);
64
+ this.#engine = info.engine;
59
65
  if (this.#destroyed)
60
66
  return;
61
67
  if (info.engine === 'automerge') {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAQhE,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,OAAO,UAAU;IACZ,OAAO,CAAS;IAChB,GAAG,CAAQ;IAEpB,OAAO,CAA4B;IACnC,OAAO,GAAiB,YAAY,CAAC;IACrC,MAAM,GAAiB,IAAI,CAAC;IAC5B,UAAU,CAA8B;IACxC,UAAU,GAAG,IAAI,GAAG,EAAc,CAAC;IACnC,aAAa,CAA4B;IACzC,UAAU,GAAG,KAAK,CAAC;IACnB,eAAe,CAA4C;IAC3D,QAAQ,GAAG,CAAC,CAAC;IACb,OAAO,CAAqB;IAE5B,YAAY,OAAe,EAAE,MAAiC;QAC5D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,qEAAqE;IACrE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,SAAS,CAAC,QAAoB;QAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,wDAAwD;QACxD,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAED,2EAA2E;IAC3E,KAAK;QACH,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO;YAE5B,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,uBAAuB,CAAC;YACxE,MAAM,SAAS,GAAG,OAAO,CACvB,IAA4C,EAC5C,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,OAAO,CACb,CAAC;YAEF,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,SAAS,CAAC,SAAS,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpF,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,YAAY,CAAC,MAAoB;QAC/B,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;YAC3B,mDAAmD;YACnD,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExB,IAAI,MAAM,KAAK,cAAc,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,UAAU,CAAC,MAAoB,EAAE,QAAsB,IAAI,CAAC,MAAM;QAChE,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU;gBAAE,QAAQ,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAEpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QAEnB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU;gBAAE,OAAO;YAE5B,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC9B,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IAED,OAAO;QACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,IAAI,CAAC,eAAe;YAAE,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU;YAAE,QAAQ,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/collaboration-client",
3
- "version": "0.3.2",
3
+ "version": "0.4.1",
4
4
  "description": "Client-side React hooks for @adonis-agora/collaboration — collaborative docs, presence, comments and versions. Part of the Agora ecosystem.",
5
5
  "license": "MIT",
6
6
  "repository": {