@powerhousedao/reactor-browser 1.1.0 → 1.3.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 (108) hide show
  1. package/dist/_virtual/__vite-browser-external.js +5 -0
  2. package/dist/_virtual/__vite-browser-external.js.map +1 -0
  3. package/dist/context/read-mode.js +159 -0
  4. package/dist/context/read-mode.js.map +1 -0
  5. package/dist/crypto/browser.js +50 -0
  6. package/dist/crypto/browser.js.map +1 -0
  7. package/dist/crypto/index.js +109 -0
  8. package/dist/crypto/index.js.map +1 -0
  9. package/dist/document-model.js +11 -0
  10. package/dist/document-model.js.map +1 -0
  11. package/dist/hooks/useAddDebouncedOperations.js +54 -0
  12. package/dist/hooks/useAddDebouncedOperations.js.map +1 -0
  13. package/dist/hooks/useConnectCrypto.js +34 -0
  14. package/dist/hooks/useConnectCrypto.js.map +1 -0
  15. package/dist/hooks/useDocument.js +20 -0
  16. package/dist/hooks/useDocument.js.map +1 -0
  17. package/dist/hooks/useDocumentDispatch.js +30 -0
  18. package/dist/hooks/useDocumentDispatch.js.map +1 -0
  19. package/dist/hooks/useDocumentDrives.js +86 -0
  20. package/dist/hooks/useDocumentDrives.js.map +1 -0
  21. package/dist/hooks/useDocumentEditor.js +41 -0
  22. package/dist/hooks/useDocumentEditor.js.map +1 -0
  23. package/dist/hooks/useUserPermissions.js +10 -0
  24. package/dist/hooks/useUserPermissions.js.map +1 -0
  25. package/dist/index.js +23 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/reactor.js +59 -0
  28. package/dist/reactor.js.map +1 -0
  29. package/dist/src/context/index.d.ts.map +1 -0
  30. package/dist/src/context/read-mode.d.ts.map +1 -0
  31. package/dist/src/crypto/browser.d.ts.map +1 -0
  32. package/dist/src/crypto/index.d.ts.map +1 -0
  33. package/dist/src/document-model.d.ts.map +1 -0
  34. package/dist/src/hooks/index.d.ts.map +1 -0
  35. package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +1 -0
  36. package/dist/src/hooks/useConnectCrypto.d.ts.map +1 -0
  37. package/dist/src/hooks/useDocument.d.ts.map +1 -0
  38. package/dist/src/hooks/useDocumentDispatch.d.ts.map +1 -0
  39. package/dist/src/hooks/useDocumentDrives.d.ts.map +1 -0
  40. package/dist/src/hooks/useDocumentEditor.d.ts.map +1 -0
  41. package/dist/src/hooks/useUserPermissions.d.ts.map +1 -0
  42. package/dist/src/index.d.ts.map +1 -0
  43. package/dist/src/reactor.d.ts.map +1 -0
  44. package/dist/src/renown/constants.d.ts.map +1 -0
  45. package/dist/src/renown/types.d.ts.map +1 -0
  46. package/dist/src/storage/index.d.ts.map +1 -0
  47. package/dist/src/storage/types.d.ts.map +1 -0
  48. package/dist/src/utils/index.d.ts.map +1 -0
  49. package/dist/src/utils/signature.d.ts.map +1 -0
  50. package/dist/utils/index.js +16 -0
  51. package/dist/utils/index.js.map +1 -0
  52. package/dist/utils/signature.js +12 -0
  53. package/dist/utils/signature.js.map +1 -0
  54. package/package.json +19 -13
  55. package/dist/cjs/index.js +0 -84145
  56. package/dist/cjs/index.js.map +0 -1
  57. package/dist/cjs/internal/__vite-browser-external-DES75WN9.js +0 -5
  58. package/dist/cjs/internal/__vite-browser-external-DES75WN9.js.map +0 -1
  59. package/dist/cjs/package.json +0 -1
  60. package/dist/es/index.js +0 -84145
  61. package/dist/es/index.js.map +0 -1
  62. package/dist/es/internal/__vite-browser-external-2Ng8QIWW.js +0 -5
  63. package/dist/es/internal/__vite-browser-external-2Ng8QIWW.js.map +0 -1
  64. package/dist/es/package.json +0 -1
  65. package/dist/types/src/context/index.d.ts.map +0 -1
  66. package/dist/types/src/context/read-mode.d.ts.map +0 -1
  67. package/dist/types/src/crypto/browser.d.ts.map +0 -1
  68. package/dist/types/src/crypto/index.d.ts.map +0 -1
  69. package/dist/types/src/document-model.d.ts.map +0 -1
  70. package/dist/types/src/hooks/index.d.ts.map +0 -1
  71. package/dist/types/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
  72. package/dist/types/src/hooks/useConnectCrypto.d.ts.map +0 -1
  73. package/dist/types/src/hooks/useDocument.d.ts.map +0 -1
  74. package/dist/types/src/hooks/useDocumentDispatch.d.ts.map +0 -1
  75. package/dist/types/src/hooks/useDocumentDrives.d.ts.map +0 -1
  76. package/dist/types/src/hooks/useDocumentEditor.d.ts.map +0 -1
  77. package/dist/types/src/hooks/useUserPermissions.d.ts.map +0 -1
  78. package/dist/types/src/index.d.ts.map +0 -1
  79. package/dist/types/src/reactor.d.ts.map +0 -1
  80. package/dist/types/src/renown/constants.d.ts.map +0 -1
  81. package/dist/types/src/renown/types.d.ts.map +0 -1
  82. package/dist/types/src/storage/index.d.ts.map +0 -1
  83. package/dist/types/src/storage/types.d.ts.map +0 -1
  84. package/dist/types/src/utils/index.d.ts.map +0 -1
  85. package/dist/types/src/utils/signature.d.ts.map +0 -1
  86. package/dist/types/vite.config.d.ts +0 -3
  87. package/dist/types/vite.config.d.ts.map +0 -1
  88. /package/dist/{types/src → src}/context/index.d.ts +0 -0
  89. /package/dist/{types/src → src}/context/read-mode.d.ts +0 -0
  90. /package/dist/{types/src → src}/crypto/browser.d.ts +0 -0
  91. /package/dist/{types/src → src}/crypto/index.d.ts +0 -0
  92. /package/dist/{types/src → src}/document-model.d.ts +0 -0
  93. /package/dist/{types/src → src}/hooks/index.d.ts +0 -0
  94. /package/dist/{types/src → src}/hooks/useAddDebouncedOperations.d.ts +0 -0
  95. /package/dist/{types/src → src}/hooks/useConnectCrypto.d.ts +0 -0
  96. /package/dist/{types/src → src}/hooks/useDocument.d.ts +0 -0
  97. /package/dist/{types/src → src}/hooks/useDocumentDispatch.d.ts +0 -0
  98. /package/dist/{types/src → src}/hooks/useDocumentDrives.d.ts +0 -0
  99. /package/dist/{types/src → src}/hooks/useDocumentEditor.d.ts +0 -0
  100. /package/dist/{types/src → src}/hooks/useUserPermissions.d.ts +0 -0
  101. /package/dist/{types/src → src}/index.d.ts +0 -0
  102. /package/dist/{types/src → src}/reactor.d.ts +0 -0
  103. /package/dist/{types/src → src}/renown/constants.d.ts +0 -0
  104. /package/dist/{types/src → src}/renown/types.d.ts +0 -0
  105. /package/dist/{types/src → src}/storage/index.d.ts +0 -0
  106. /package/dist/{types/src → src}/storage/types.d.ts +0 -0
  107. /package/dist/{types/src → src}/utils/index.d.ts +0 -0
  108. /package/dist/{types/src → src}/utils/signature.d.ts +0 -0
@@ -0,0 +1,86 @@
1
+ import { useMemo as f, useCallback as D } from "react";
2
+ import { atom as a, useAtom as l } from "jotai";
3
+ import { atomFamily as I } from "jotai/utils";
4
+ import { documentToHash as A } from "../utils/index.js";
5
+ const p = a(
6
+ /* @__PURE__ */ new Map()
7
+ );
8
+ function v(t) {
9
+ return t.map(A).join("&");
10
+ }
11
+ const b = (t) => () => a(
12
+ (o) => t ? o(p).get(t) ?? [] : [],
13
+ (o, c, n) => {
14
+ c(p, (s) => {
15
+ if (!t)
16
+ return /* @__PURE__ */ new Map();
17
+ const e = s.get(t) ?? [];
18
+ return e.length !== n.length || v(e) !== v(n) ? new Map(s).set(t, n) : s;
19
+ });
20
+ }
21
+ ), g = I(
22
+ () => a("INITIAL")
23
+ );
24
+ function R(t) {
25
+ const [o, c] = l(
26
+ f(b(t), [t])
27
+ ), n = D(async () => {
28
+ if (!t)
29
+ return;
30
+ const u = [];
31
+ try {
32
+ const r = await t.getDrives();
33
+ for (const m of r)
34
+ try {
35
+ const i = await t.getDrive(m);
36
+ u.push(i);
37
+ } catch (i) {
38
+ console.error(i);
39
+ }
40
+ } catch (r) {
41
+ console.error(r);
42
+ } finally {
43
+ c(u);
44
+ }
45
+ }, [t]), [s, e] = l(
46
+ g(t)
47
+ );
48
+ s === "INITIAL" && (e("LOADING"), n().then(() => e("LOADED")).catch(() => e("ERROR")));
49
+ const h = D(
50
+ (u) => {
51
+ if (!t)
52
+ return;
53
+ const r = t.on(
54
+ "syncStatus",
55
+ async (E, M, d) => {
56
+ d && console.error(d), await n();
57
+ }
58
+ ), m = t.on("strandUpdate", () => n()), i = t.on(
59
+ "clientStrandsError",
60
+ u.strandsErrorHandler
61
+ ), y = t.on(
62
+ "defaultRemoteDrive",
63
+ () => n()
64
+ );
65
+ return () => {
66
+ r(), m(), i(), y();
67
+ };
68
+ },
69
+ [t, n]
70
+ );
71
+ return f(
72
+ () => [
73
+ o,
74
+ n,
75
+ h,
76
+ s
77
+ ],
78
+ [o, s]
79
+ );
80
+ }
81
+ export {
82
+ g as documentDrivesInitializedMapAtomFamily,
83
+ v as drivesToHash,
84
+ R as useDocumentDrives
85
+ };
86
+ //# sourceMappingURL=useDocumentDrives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentDrives.js","sources":["../../src/hooks/useDocumentDrives.ts"],"sourcesContent":["import { useMemo, useCallback } from \"react\";\nimport type { IDocumentDriveServer } from \"document-drive/server\";\nimport { DocumentDriveDocument } from \"document-model-libs/document-drive\";\nimport { atom, useAtom } from \"jotai\";\nimport { atomFamily } from \"jotai/utils\";\nimport { Trigger } from \"document-model-libs/document-drive\";\n\nimport { documentToHash } from \"../utils\";\n\nconst documentDrivesAtom = atom(\n new Map<IDocumentDriveServer, DocumentDriveDocument[]>(),\n);\n\nexport function drivesToHash(drives: DocumentDriveDocument[]): string {\n return drives.map(documentToHash).join(\"&\");\n}\n\nconst readWriteDocumentDrivesAtom = (server?: IDocumentDriveServer) => () =>\n atom(\n (get) => (server ? (get(documentDrivesAtom).get(server) ?? []) : []),\n (_get, set, newDrives: DocumentDriveDocument[]) => {\n set(documentDrivesAtom, (map) => {\n if (!server) {\n return new Map();\n }\n const currentDrives = map.get(server) ?? [];\n if (\n currentDrives.length !== newDrives.length ||\n drivesToHash(currentDrives) !== drivesToHash(newDrives)\n ) {\n return new Map(map).set(server, newDrives);\n } else {\n return map;\n }\n });\n },\n );\n\nexport type IDrivesState = \"INITIAL\" | \"LOADING\" | \"LOADED\" | \"ERROR\";\nexport const documentDrivesInitializedMapAtomFamily = atomFamily(() =>\n atom<IDrivesState>(\"INITIAL\"),\n);\n\nexport type ClientErrorHandler = {\n strandsErrorHandler: (\n driveId: string,\n trigger: Trigger,\n status: number,\n errorMessage: string,\n ) => Promise<void>;\n};\n\nexport function useDocumentDrives(reactor?: IDocumentDriveServer) {\n const [documentDrives, setDocumentDrives] = useAtom(\n useMemo(readWriteDocumentDrivesAtom(reactor), [reactor]),\n );\n\n const refreshDocumentDrives = useCallback(async () => {\n if (!reactor) {\n return;\n }\n\n const documentDrives: DocumentDriveDocument[] = [];\n try {\n const driveIds = await reactor.getDrives();\n for (const id of driveIds) {\n try {\n const drive = await reactor.getDrive(id);\n documentDrives.push(drive);\n } catch (error) {\n console.error(error);\n }\n }\n } catch (error) {\n console.error(error);\n } finally {\n setDocumentDrives(documentDrives);\n }\n }, [reactor]);\n\n const [status, setStatus] = useAtom(\n documentDrivesInitializedMapAtomFamily(reactor),\n );\n\n if (status === \"INITIAL\") {\n setStatus(\"LOADING\");\n refreshDocumentDrives()\n .then(() => setStatus(\"LOADED\"))\n .catch(() => setStatus(\"ERROR\"));\n }\n\n const serverSubscribeUpdates = useCallback(\n (clientErrorhandler: ClientErrorHandler) => {\n if (!reactor) {\n return;\n }\n const unsub1 = reactor.on(\n \"syncStatus\",\n async (_event, _status, error) => {\n if (error) {\n console.error(error);\n }\n await refreshDocumentDrives();\n },\n );\n const unsub2 = reactor.on(\"strandUpdate\", () => refreshDocumentDrives());\n const unsubOnSyncError = reactor.on(\n \"clientStrandsError\",\n clientErrorhandler.strandsErrorHandler,\n );\n\n const unsub3 = reactor.on(\"defaultRemoteDrive\", () =>\n refreshDocumentDrives(),\n );\n\n return () => {\n unsub1();\n unsub2();\n unsubOnSyncError();\n unsub3();\n };\n },\n [reactor, refreshDocumentDrives],\n );\n\n return useMemo(\n () =>\n [\n documentDrives,\n refreshDocumentDrives,\n serverSubscribeUpdates,\n status,\n ] as const,\n [documentDrives, status],\n );\n}\n"],"names":["documentDrivesAtom","atom","drivesToHash","drives","documentToHash","readWriteDocumentDrivesAtom","server","get","_get","set","newDrives","map","currentDrives","documentDrivesInitializedMapAtomFamily","atomFamily","useDocumentDrives","reactor","documentDrives","setDocumentDrives","useAtom","useMemo","refreshDocumentDrives","useCallback","driveIds","id","drive","error","status","setStatus","serverSubscribeUpdates","clientErrorhandler","unsub1","_event","_status","unsub2","unsubOnSyncError","unsub3"],"mappings":";;;;AASA,MAAMA,IAAqBC;AAAA,sBACrB,IAAmD;AACzD;AAEO,SAASC,EAAaC,GAAyC;AACpE,SAAOA,EAAO,IAAIC,CAAc,EAAE,KAAK,GAAG;AAC5C;AAEA,MAAMC,IAA8B,CAACC,MAAkC,MACrEL;AAAA,EACE,CAACM,MAASD,IAAUC,EAAIP,CAAkB,EAAE,IAAIM,CAAM,KAAK,CAAA,IAAM,CAAC;AAAA,EAClE,CAACE,GAAMC,GAAKC,MAAuC;AAC7C,IAAAD,EAAAT,GAAoB,CAACW,MAAQ;AAC/B,UAAI,CAACL;AACH,mCAAW,IAAI;AAEjB,YAAMM,IAAgBD,EAAI,IAAIL,CAAM,KAAK,CAAC;AAExC,aAAAM,EAAc,WAAWF,EAAU,UACnCR,EAAaU,CAAa,MAAMV,EAAaQ,CAAS,IAE/C,IAAI,IAAIC,CAAG,EAAE,IAAIL,GAAQI,CAAS,IAElCC;AAAA,IACT,CACD;AAAA,EAAA;AAEL,GAGWE,IAAyCC;AAAA,EAAW,MAC/Db,EAAmB,SAAS;AAC9B;AAWO,SAASc,EAAkBC,GAAgC;AAC1D,QAAA,CAACC,GAAgBC,CAAiB,IAAIC;AAAA,IAC1CC,EAAQf,EAA4BW,CAAO,GAAG,CAACA,CAAO,CAAC;AAAA,EACzD,GAEMK,IAAwBC,EAAY,YAAY;AACpD,QAAI,CAACN;AACH;AAGF,UAAMC,IAA0C,CAAC;AAC7C,QAAA;AACI,YAAAM,IAAW,MAAMP,EAAQ,UAAU;AACzC,iBAAWQ,KAAMD;AACX,YAAA;AACF,gBAAME,IAAQ,MAAMT,EAAQ,SAASQ,CAAE;AACvCP,UAAAA,EAAe,KAAKQ,CAAK;AAAA,iBAClBC,GAAO;AACd,kBAAQ,MAAMA,CAAK;AAAA,QAAA;AAAA,aAGhBA,GAAO;AACd,cAAQ,MAAMA,CAAK;AAAA,IAAA,UACnB;AACA,MAAAR,EAAkBD,CAAc;AAAA,IAAA;AAAA,EAClC,GACC,CAACD,CAAO,CAAC,GAEN,CAACW,GAAQC,CAAS,IAAIT;AAAA,IAC1BN,EAAuCG,CAAO;AAAA,EAChD;AAEA,EAAIW,MAAW,cACbC,EAAU,SAAS,GACGP,EAAA,EACnB,KAAK,MAAMO,EAAU,QAAQ,CAAC,EAC9B,MAAM,MAAMA,EAAU,OAAO,CAAC;AAGnC,QAAMC,IAAyBP;AAAA,IAC7B,CAACQ,MAA2C;AAC1C,UAAI,CAACd;AACH;AAEF,YAAMe,IAASf,EAAQ;AAAA,QACrB;AAAA,QACA,OAAOgB,GAAQC,GAASP,MAAU;AAChC,UAAIA,KACF,QAAQ,MAAMA,CAAK,GAErB,MAAML,EAAsB;AAAA,QAAA;AAAA,MAEhC,GACMa,IAASlB,EAAQ,GAAG,gBAAgB,MAAMK,GAAuB,GACjEc,IAAmBnB,EAAQ;AAAA,QAC/B;AAAA,QACAc,EAAmB;AAAA,MACrB,GAEMM,IAASpB,EAAQ;AAAA,QAAG;AAAA,QAAsB,MAC9CK,EAAsB;AAAA,MACxB;AAEA,aAAO,MAAM;AACJ,QAAAU,EAAA,GACAG,EAAA,GACUC,EAAA,GACVC,EAAA;AAAA,MACT;AAAA,IACF;AAAA,IACA,CAACpB,GAASK,CAAqB;AAAA,EACjC;AAEO,SAAAD;AAAA,IACL,MACE;AAAA,MACEH;AAAA,MACAI;AAAA,MACAQ;AAAA,MACAF;AAAA,IACF;AAAA,IACF,CAACV,GAAgBU,CAAM;AAAA,EACzB;AACF;"}
@@ -0,0 +1,41 @@
1
+ import { useDocumentDispatch as I } from "./useDocumentDispatch.js";
2
+ import { addActionContext as O, signOperation as g } from "../utils/signature.js";
3
+ import { useConnectDid as v, useConnectCrypto as x } from "./useConnectCrypto.js";
4
+ import { useAddDebouncedOperations as A } from "./useAddDebouncedOperations.js";
5
+ function S(e, n) {
6
+ const { nodeId: o, driveId: c, documentModel: t, document: r } = n;
7
+ v();
8
+ const { sign: d } = x(), i = A(e, {
9
+ driveId: c,
10
+ documentId: o
11
+ }), [u, s, m] = I(
12
+ t.reducer,
13
+ r
14
+ );
15
+ function a(p, D) {
16
+ const f = (h, l) => {
17
+ const { prevState: C } = l;
18
+ g(
19
+ h,
20
+ d,
21
+ o,
22
+ C,
23
+ t.reducer
24
+ ).then((b) => i(b)).catch(console.error);
25
+ };
26
+ s(
27
+ O(p),
28
+ f,
29
+ D
30
+ );
31
+ }
32
+ return {
33
+ dispatch: a,
34
+ document: u,
35
+ error: m
36
+ };
37
+ }
38
+ export {
39
+ S as useDocumentEditor
40
+ };
41
+ //# sourceMappingURL=useDocumentEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentEditor.js","sources":["../../src/hooks/useDocumentEditor.ts"],"sourcesContent":["import {\n Action,\n Document,\n Operation,\n BaseAction,\n DocumentModel,\n ActionErrorCallback,\n} from \"document-model/document\";\n\nimport { useDocumentDispatch } from \"./useDocumentDispatch\";\nimport { signOperation, addActionContext } from \"../utils/signature\";\nimport { useConnectCrypto, useConnectDid } from \"./useConnectCrypto\";\nimport { useAddDebouncedOperations } from \"./useAddDebouncedOperations\";\nimport { IDocumentDriveServer } from \"document-drive\";\n\nexport type DocumentDispatchCallback<State, A extends Action, LocalState> = (\n operation: Operation,\n state: {\n prevState: Document<State, A, LocalState>;\n newState: Document<State, A, LocalState>;\n },\n) => void;\n\nexport type UseDocumentEditorProps<\n T = unknown,\n A extends Action = Action,\n LocalState = unknown,\n> = {\n driveId: string;\n nodeId: string;\n document: Document<T, A, LocalState> | undefined;\n documentModel: DocumentModel<unknown, Action>;\n onExport?: () => void;\n onOpenSwitchboardLink?: () => Promise<void>;\n onChange?: (document: Document<T, A, LocalState>) => void;\n};\n\nexport function useDocumentEditor(\n reactor: IDocumentDriveServer | undefined,\n props: UseDocumentEditorProps,\n) {\n const { nodeId, driveId, documentModel, document: initialDocument } = props;\n\n // TODO: implement useUser hook\n const user = undefined;\n\n const connectDid = useConnectDid();\n const { sign } = useConnectCrypto();\n\n const addDebouncedOprations = useAddDebouncedOperations(reactor, {\n driveId,\n documentId: nodeId,\n });\n\n const [document, _dispatch, error] = useDocumentDispatch(\n documentModel.reducer,\n initialDocument,\n );\n\n function dispatch(\n action: BaseAction | Action,\n onErrorCallback?: ActionErrorCallback,\n ) {\n const callback: DocumentDispatchCallback<unknown, Action, unknown> = (\n operation,\n state,\n ) => {\n const { prevState } = state;\n\n signOperation(\n operation,\n sign,\n nodeId,\n prevState,\n documentModel.reducer,\n user,\n )\n .then((op) => {\n return addDebouncedOprations(op);\n })\n .catch(console.error);\n };\n\n _dispatch(\n addActionContext(action, connectDid, user),\n callback,\n onErrorCallback,\n );\n }\n\n return {\n dispatch,\n document,\n error,\n };\n}\n"],"names":["useDocumentEditor","reactor","props","nodeId","driveId","documentModel","initialDocument","useConnectDid","sign","useConnectCrypto","addDebouncedOprations","useAddDebouncedOperations","document","_dispatch","error","useDocumentDispatch","dispatch","action","onErrorCallback","callback","operation","state","prevState","signOperation","op","addActionContext"],"mappings":";;;;AAqCgB,SAAAA,EACdC,GACAC,GACA;AACA,QAAM,EAAE,QAAAC,GAAQ,SAAAC,GAAS,eAAAC,GAAe,UAAUC,MAAoBJ;AAKnD,EAAAK,EAAc;AAC3B,QAAA,EAAE,MAAAC,EAAK,IAAIC,EAAiB,GAE5BC,IAAwBC,EAA0BV,GAAS;AAAA,IAC/D,SAAAG;AAAA,IACA,YAAYD;AAAA,EAAA,CACb,GAEK,CAACS,GAAUC,GAAWC,CAAK,IAAIC;AAAA,IACnCV,EAAc;AAAA,IACdC;AAAA,EACF;AAES,WAAAU,EACPC,GACAC,GACA;AACM,UAAAC,IAA+D,CACnEC,GACAC,MACG;AACG,YAAA,EAAE,WAAAC,MAAcD;AAEtB,MAAAE;AAAA,QACEH;AAAA,QACAZ;AAAA,QACAL;AAAA,QACAmB;AAAA,QACAjB,EAAc;AAAA,MAEhB,EACG,KAAK,CAACmB,MACEd,EAAsBc,CAAE,CAChC,EACA,MAAM,QAAQ,KAAK;AAAA,IACxB;AAEA,IAAAX;AAAA,MACEY,EAAiBR,CAAwB;AAAA,MACzCE;AAAA,MACAD;AAAA,IACF;AAAA,EAAA;AAGK,SAAA;AAAA,IACL,UAAAF;AAAA,IACA,UAAAJ;AAAA,IACA,OAAAE;AAAA,EACF;AACF;"}
@@ -0,0 +1,10 @@
1
+ function e() {
2
+ return {
3
+ isAllowedToCreateDocuments: !0,
4
+ isAllowedToEditDocuments: !0
5
+ };
6
+ }
7
+ export {
8
+ e as useUserPermissions
9
+ };
10
+ //# sourceMappingURL=useUserPermissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUserPermissions.js","sources":["../../src/hooks/useUserPermissions.ts"],"sourcesContent":["export type UserPermissions = {\n isAllowedToCreateDocuments: boolean;\n isAllowedToEditDocuments: boolean;\n};\n\nexport function useUserPermissions(): UserPermissions | undefined {\n return {\n isAllowedToCreateDocuments: true,\n isAllowedToEditDocuments: true,\n };\n}\n"],"names":["useUserPermissions"],"mappings":"AAKO,SAASA,IAAkD;AACzD,SAAA;AAAA,IACL,4BAA4B;AAAA,IAC5B,0BAA0B;AAAA,EAC5B;AACF;"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ import { baseDocumentModels as r, baseDocumentModelsMap as t } from "./document-model.js";
2
+ import { ReadModeContext as m, ReadModeContextProvider as i, useReadModeContext as a } from "./context/read-mode.js";
3
+ import { createBrowserDocumentDriveServer as n, getReactorDefaultDrivesConfig as u } from "./reactor.js";
4
+ import { useUserPermissions as x } from "./hooks/useUserPermissions.js";
5
+ import { useDocumentEditor as f } from "./hooks/useDocumentEditor.js";
6
+ import { documentDrivesInitializedMapAtomFamily as v, drivesToHash as M, useDocumentDrives as l } from "./hooks/useDocumentDrives.js";
7
+ import { useDocument as R } from "./hooks/useDocument.js";
8
+ export {
9
+ m as ReadModeContext,
10
+ i as ReadModeContextProvider,
11
+ r as baseDocumentModels,
12
+ t as baseDocumentModelsMap,
13
+ n as createBrowserDocumentDriveServer,
14
+ v as documentDrivesInitializedMapAtomFamily,
15
+ M as drivesToHash,
16
+ u as getReactorDefaultDrivesConfig,
17
+ R as useDocument,
18
+ l as useDocumentDrives,
19
+ f as useDocumentEditor,
20
+ a as useReadModeContext,
21
+ x as useUserPermissions
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,59 @@
1
+ import a from "document-drive/cache/memory";
2
+ import { BaseQueueManager as n } from "document-drive/queue/base";
3
+ import { DocumentDriveServer as s } from "document-drive/server";
4
+ import { BrowserStorage as l } from "document-drive/storage/browser";
5
+ const p = (r = {}) => {
6
+ const e = r.defaultDrivesUrl || [];
7
+ return {
8
+ defaultDrives: {
9
+ remoteDrives: e.map(
10
+ (o) => ({
11
+ url: o,
12
+ options: {
13
+ sharingType: "PUBLIC",
14
+ availableOffline: !0,
15
+ listeners: [
16
+ {
17
+ block: !0,
18
+ callInfo: {
19
+ data: o,
20
+ name: "switchboard-push",
21
+ transmitterType: "SwitchboardPush"
22
+ },
23
+ filter: {
24
+ branch: ["main"],
25
+ documentId: ["*"],
26
+ documentType: ["*"],
27
+ scope: ["global"]
28
+ },
29
+ label: "Switchboard Sync",
30
+ listenerId: "1",
31
+ system: !0
32
+ }
33
+ ],
34
+ triggers: [],
35
+ pullInterval: 3e3
36
+ }
37
+ })
38
+ ),
39
+ removeOldRemoteDrives: e.length > 0 ? {
40
+ strategy: "preserve-by-url-and-detach",
41
+ urls: e
42
+ } : { strategy: "preserve-all" }
43
+ }
44
+ };
45
+ };
46
+ function v(r, e, t) {
47
+ return new s(
48
+ r,
49
+ new l(e),
50
+ new a(),
51
+ new n(1, 10),
52
+ t
53
+ );
54
+ }
55
+ export {
56
+ v as createBrowserDocumentDriveServer,
57
+ p as getReactorDefaultDrivesConfig
58
+ };
59
+ //# sourceMappingURL=reactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.js","sources":["../src/reactor.ts"],"sourcesContent":["import InMemoryCache from \"document-drive/cache/memory\";\nimport { BaseQueueManager } from \"document-drive/queue/base\";\nimport {\n DefaultRemoteDriveInput,\n DocumentDriveServer,\n DocumentDriveServerOptions,\n} from \"document-drive/server\";\nimport { BrowserStorage } from \"document-drive/storage/browser\";\nimport { DocumentModel } from \"document-model/document\";\n\nexport type ReactorDefaultDrivesConfig = {\n defaultDrivesUrl?: string[];\n};\n\nexport const getReactorDefaultDrivesConfig = (\n config: ReactorDefaultDrivesConfig = {},\n): Pick<DocumentDriveServerOptions, \"defaultDrives\"> => {\n const defaultDrivesUrl = config.defaultDrivesUrl || [];\n\n const remoteDrives: DefaultRemoteDriveInput[] = defaultDrivesUrl.map(\n (driveUrl) => ({\n url: driveUrl,\n options: {\n sharingType: \"PUBLIC\",\n availableOffline: true,\n listeners: [\n {\n block: true,\n callInfo: {\n data: driveUrl,\n name: \"switchboard-push\",\n transmitterType: \"SwitchboardPush\",\n },\n filter: {\n branch: [\"main\"],\n documentId: [\"*\"],\n documentType: [\"*\"],\n scope: [\"global\"],\n },\n label: \"Switchboard Sync\",\n listenerId: \"1\",\n system: true,\n },\n ],\n triggers: [],\n pullInterval: 3000,\n },\n }),\n );\n\n return {\n defaultDrives: {\n remoteDrives,\n removeOldRemoteDrives:\n defaultDrivesUrl.length > 0\n ? {\n strategy: \"preserve-by-url-and-detach\",\n urls: defaultDrivesUrl,\n }\n : { strategy: \"preserve-all\" },\n },\n };\n};\n\nexport function createBrowserDocumentDriveServer(\n documentModels: DocumentModel[],\n routerBasename: string,\n documentDriveServerOptions?: DocumentDriveServerOptions,\n) {\n return new DocumentDriveServer(\n documentModels,\n new BrowserStorage(routerBasename),\n new InMemoryCache(),\n new BaseQueueManager(1, 10),\n documentDriveServerOptions,\n );\n}\n"],"names":["getReactorDefaultDrivesConfig","config","defaultDrivesUrl","driveUrl","createBrowserDocumentDriveServer","documentModels","routerBasename","documentDriveServerOptions","DocumentDriveServer","BrowserStorage","InMemoryCache","BaseQueueManager"],"mappings":";;;;AAcO,MAAMA,IAAgC,CAC3CC,IAAqC,OACiB;AAChD,QAAAC,IAAmBD,EAAO,oBAAoB,CAAC;AAiC9C,SAAA;AAAA,IACL,eAAe;AAAA,MACb,cAjC4CC,EAAiB;AAAA,QAC/D,CAACC,OAAc;AAAA,UACb,KAAKA;AAAA,UACL,SAAS;AAAA,YACP,aAAa;AAAA,YACb,kBAAkB;AAAA,YAClB,WAAW;AAAA,cACT;AAAA,gBACE,OAAO;AAAA,gBACP,UAAU;AAAA,kBACR,MAAMA;AAAA,kBACN,MAAM;AAAA,kBACN,iBAAiB;AAAA,gBACnB;AAAA,gBACA,QAAQ;AAAA,kBACN,QAAQ,CAAC,MAAM;AAAA,kBACf,YAAY,CAAC,GAAG;AAAA,kBAChB,cAAc,CAAC,GAAG;AAAA,kBAClB,OAAO,CAAC,QAAQ;AAAA,gBAClB;AAAA,gBACA,OAAO;AAAA,gBACP,YAAY;AAAA,gBACZ,QAAQ;AAAA,cAAA;AAAA,YAEZ;AAAA,YACA,UAAU,CAAC;AAAA,YACX,cAAc;AAAA,UAAA;AAAA,QAElB;AAAA,MACF;AAAA,MAKI,uBACED,EAAiB,SAAS,IACtB;AAAA,QACE,UAAU;AAAA,QACV,MAAMA;AAAA,MAAA,IAER,EAAE,UAAU,eAAe;AAAA,IAAA;AAAA,EAErC;AACF;AAEgB,SAAAE,EACdC,GACAC,GACAC,GACA;AACA,SAAO,IAAIC;AAAA,IACTH;AAAA,IACA,IAAII,EAAeH,CAAc;AAAA,IACjC,IAAII,EAAc;AAAA,IAClB,IAAIC,EAAiB,GAAG,EAAE;AAAA,IAC1BJ;AAAA,EACF;AACF;"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-mode.d.ts","sourceRoot":"","sources":["../../../src/context/read-mode.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,uBAAuB,EAKvB,oBAAoB,EAEpB,SAAS,EAOV,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAEL,EAAE,EACF,SAAS,EAKV,MAAM,OAAO,CAAC;AAkBf,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,gBAAgB,CAAC,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7D;AAuID,eAAO,MAAM,eAAe,2CAG1B,CAAC;AAEH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC,uBAAuB,GAAG,oBAAoB,CAAC,CAAC;CACzE;AAcD,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,4BAA4B,CAkFpE,CAAC;AACF,eAAO,MAAM,kBAAkB,wBAAoC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/crypto/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEvD,qBAAa,iBAAkB,YAAW,qBAAqB;;;IA2BvD,WAAW,CAAC,OAAO,EAAE,UAAU;IAa/B,WAAW,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;CAgBrD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/crypto/index.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,UAAU,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,WAAW,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC/C,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAQD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACxB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,GAAG,GAAG,WAAW,MAAM,EAAE,CAAC;AAEtC,qBAAa,aAAc,YAAW,cAAc;;IAOlD,MAAM,CAAC,SAAS,EAAE,cAAc,CAG9B;IAEF,MAAM,CAAC,aAAa;;;;MAIlB;gBAEU,cAAc,EAAE,qBAAqB;IA2CjD,GAAG;IAIG,aAAa;IA+Eb,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;CAelD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-model.d.ts","sourceRoot":"","sources":["../../src/document-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGxD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAG/D,CAAC;AAEF,eAAO,MAAM,kBAAkB,iBAAuC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAddDebouncedOperations.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAddDebouncedOperations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAI9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAyCtD,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,KAAK,EAAE,8BAA8B,eAxClB,SAAS,mCAoF7B"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnectCrypto.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnectCrypto.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAE,cAAc,EAAiB,MAAM,WAAW,CAAC;AAS/D,wBAAgB,gBAAgB,IAAI,cAAc,CAkBjD;AAID,wBAAgB,aAAa,IAAI,GAAG,GAAG,SAAS,CAc/C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocument.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocument.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAgB,MAAM,uBAAuB,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,WAAW,CACzB,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,YAAY,GAAE,YAAiB,wBA2ChC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentDispatch.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,SAAS,EACT,OAAO,EACR,MAAM,yBAAyB,CAAC;AAGjC,MAAM,MAAM,wBAAwB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,IAAI,CAC1E,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;IACL,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;CAC1C,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,IAAI,CAClE,MAAM,EAAE,CAAC,GAAG,UAAU,EACtB,QAAQ,CAAC,EAAE,wBAAwB,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EACzD,eAAe,CAAC,EAAE,mBAAmB,KAClC,IAAI,CAAC;AAEV,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;AAE/C,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,EACrE,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,EAC1D,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,EACxD,OAAO,GAAE,cAA8B,GACtC,SAAS;IACV,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS;IAC1C,gBAAgB,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC;IACtC,OAAO;CACR,CAkDA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentDrives.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentDrives.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAQ7D,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE;AAuBD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;AACtE,eAAO,MAAM,sCAAsC;;EAElD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,oBAAoB,gFAwCvC,kBAAkB,6CA2C1C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentEditor.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,EACV,aAAa,EACb,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,wBAAwB,CAAC,KAAK,EAAE,CAAC,SAAS,MAAM,EAAE,UAAU,IAAI,CAC1E,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE;IACL,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;IAC1C,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;CAC1C,KACE,IAAI,CAAC;AAEV,MAAM,MAAM,sBAAsB,CAChC,CAAC,GAAG,OAAO,EACX,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,UAAU,GAAG,OAAO,IAClB;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,SAAS,CAAC;IACjD,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,KAAK,IAAI,CAAC;CAC3D,CAAC;AAEF,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,oBAAoB,GAAG,SAAS,EACzC,KAAK,EAAE,sBAAsB;uBAqBnB,UAAU,GAAG,MAAM,oBACT,mBAAmB;;;EAkCxC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useUserPermissions.d.ts","sourceRoot":"","sources":["../../../src/hooks/useUserPermissions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,SAAS,CAKhE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,MAAM,MAAM,4BAA4B,GAAG,oBAAoB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,0BAA0B,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,6BAA6B,YAChC,0BAA0B,KACjC,IAAI,CAAC,0BAA0B,EAAE,eAAe,CA8ClD,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,cAAc,EAAE,aAAa,EAAE,EAC/B,cAAc,EAAE,MAAM,EACtB,0BAA0B,CAAC,EAAE,0BAA0B,oGASxD"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/renown/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,0BAA0B,CAAC;AAClD,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,WAAW;;;;;;;;;;;;EAKd,CAAC;AAEX,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;EASpC,CAAC;AAEX,eAAO,MAAM,6BAA6B;;;;;;EAGhC,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;EAI1B,CAAC;AAEX,eAAO,MAAM,WAAW;;;;;;EAGd,CAAC;AAEX,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMnB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/renown/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/storage/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CACvB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAE3D,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACzD,MAAM,CAAC,GAAG,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;CAC7C"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAOtD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.d.ts","sourceRoot":"","sources":["../../../src/utils/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EAEN,QAAQ,EACR,SAAS,EAET,OAAO,EACP,IAAI,EAEL,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE1D,wBAAsB,aAAa,CACjC,KAAK,GAAG,OAAO,EACf,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,UAAU,GAAG,OAAO,EAEpB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EACvB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,CAAC,EAC/C,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EACxC,OAAO,CAAC,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,UAAU,CAAC,EACvC,IAAI,CAAC,EAAE,IAAI,GACV,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CA0BvB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACxD,MAAM,EAAE,CAAC,EACT,UAAU,CAAC,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,UAAU,KAqBlB"}
@@ -0,0 +1,16 @@
1
+ function a(o) {
2
+ return Object.keys(o.operations).map(
3
+ (n) => {
4
+ var t;
5
+ return `${n}:${o.operations[n].length}:${(t = o.operations[n].at(-1)) == null ? void 0 : t.hash}`;
6
+ }
7
+ ).join(":");
8
+ }
9
+ function s(o) {
10
+ return o.map(a).join("&");
11
+ }
12
+ export {
13
+ a as documentToHash,
14
+ s as drivesToHash
15
+ };
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { Document, OperationScope } from \"document-model/document\";\nimport { DocumentDriveDocument } from \"document-model-libs/document-drive\";\n\nexport function documentToHash(drive: Document): string {\n return Object.keys(drive.operations)\n .map(\n (key) =>\n `${key}:${drive.operations[key as OperationScope].length}:${drive.operations[key as OperationScope].at(-1)?.hash}`,\n )\n .join(\":\");\n}\n\nexport function drivesToHash(drives: DocumentDriveDocument[]): string {\n return drives.map(documentToHash).join(\"&\");\n}\n"],"names":["documentToHash","drive","key","_a","drivesToHash","drives"],"mappings":"AAGO,SAASA,EAAeC,GAAyB;AACtD,SAAO,OAAO,KAAKA,EAAM,UAAU,EAChC;AAAA,IACC,CAACC,MACC;AAJD,UAAAC;AAIC,gBAAGD,CAAG,IAAID,EAAM,WAAWC,CAAqB,EAAE,MAAM,KAAIC,IAAAF,EAAM,WAAWC,CAAqB,EAAE,GAAG,EAAE,MAA7C,gBAAAC,EAAgD,IAAI;AAAA;AAAA,EAAA,EAEnH,KAAK,GAAG;AACb;AAEO,SAASC,EAAaC,GAAyC;AACpE,SAAOA,EAAO,IAAIL,CAAc,EAAE,KAAK,GAAG;AAC5C;"}
@@ -0,0 +1,12 @@
1
+ import "document-model/document";
2
+ async function i(n, t, e, r, o, c) {
3
+ return n;
4
+ }
5
+ function d(n, t, e) {
6
+ return n;
7
+ }
8
+ export {
9
+ d as addActionContext,
10
+ i as signOperation
11
+ };
12
+ //# sourceMappingURL=signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.js","sources":["../../src/utils/signature.ts"],"sourcesContent":["import {\n Action,\n ActionSigner,\n Document,\n Operation,\n OperationSignatureContext,\n Reducer,\n User,\n utils,\n} from \"document-model/document\";\nimport type { User as RenownUser } from \"../renown/types\";\n\nexport async function signOperation<\n State = unknown,\n A extends Action = Action,\n LocalState = unknown,\n>(\n operation: Operation<A>,\n sign: (data: Uint8Array) => Promise<Uint8Array>,\n documentId: string,\n document: Document<State, A, LocalState>,\n reducer?: Reducer<State, A, LocalState>,\n user?: User,\n): Promise<Operation<A>> {\n if (!user) return operation;\n if (!operation.context) return operation;\n if (!operation.context.signer) return operation;\n if (!reducer) {\n console.error(\n `Document model '${document.documentType}' does not have a reducer`,\n );\n return operation;\n }\n\n const context: Omit<\n OperationSignatureContext,\n \"operation\" | \"previousStateHash\"\n > = {\n documentId,\n signer: operation.context.signer,\n };\n\n const signedOperation = await utils.buildSignedOperation<\n State,\n A,\n LocalState\n >(operation, reducer, document, context, sign);\n\n return signedOperation as Operation<A>;\n}\n\nexport function addActionContext<A extends Action = Action>(\n action: A,\n connectDid?: string,\n user?: RenownUser,\n) {\n if (!user) return action;\n\n const signer: ActionSigner = {\n app: {\n name: \"Connect\",\n key: connectDid || \"\",\n },\n user: {\n address: user.address,\n networkId: user.networkId,\n chainId: user.chainId,\n },\n signatures: [],\n };\n\n return {\n context: { signer },\n ...action,\n };\n}\n"],"names":["signOperation","operation","sign","documentId","document","reducer","user","addActionContext","action","connectDid"],"mappings":";AAYA,eAAsBA,EAKpBC,GACAC,GACAC,GACAC,GACAC,GACAC,GACuB;AACL,SAAAL;AAyBpB;AAEgB,SAAAM,EACdC,GACAC,GACAH,GACA;AACkB,SAAAE;AAmBpB;"}
package/package.json CHANGED
@@ -1,37 +1,43 @@
1
1
  {
2
2
  "name": "@powerhousedao/reactor-browser",
3
- "version": "1.1.0",
3
+ "version": "1.3.0",
4
4
  "license": "AGPL-3.0-only",
5
+ "type": "module",
5
6
  "publishConfig": {
6
7
  "access": "public"
7
8
  },
8
9
  "files": [
9
10
  "dist"
10
11
  ],
11
- "types": "dist/types/src/index.d.ts",
12
- "main": "dist/cjs/index.js",
13
- "module": "dist/es/index.js",
12
+ "types": "dist/src/index.d.ts",
13
+ "main": "dist/index.js",
14
14
  "keywords": [],
15
15
  "author": "",
16
16
  "devDependencies": {
17
17
  "@types/react": "^18.3.1",
18
18
  "@types/react-dom": "^18.3.1",
19
19
  "react": "^18.3.1",
20
- "react-dom": "^18.3.1"
20
+ "react-dom": "^18.3.1",
21
+ "@powerhousedao/design-system": "1.18.0",
22
+ "document-drive": "1.13.0",
23
+ "@powerhousedao/scalars": "1.16.0",
24
+ "@powerhousedao/config": "1.5.0",
25
+ "document-model": "2.15.0",
26
+ "document-model-libs": "1.125.0"
21
27
  },
22
28
  "peerDependencies": {
23
29
  "react": "^18.3.1",
24
- "react-dom": "^18.3.1"
30
+ "react-dom": "^18.3.1",
31
+ "@powerhousedao/config": "1.5.0",
32
+ "@powerhousedao/design-system": "1.18.0",
33
+ "@powerhousedao/scalars": "1.16.0",
34
+ "document-drive": "1.13.0",
35
+ "document-model-libs": "1.125.0",
36
+ "document-model": "2.15.0"
25
37
  },
26
38
  "dependencies": {
27
39
  "did-key-creator": "^1.2.0",
28
- "jotai": "^2.10.3",
29
- "@powerhousedao/config": "1.4.0",
30
- "@powerhousedao/scalars": "1.15.0",
31
- "@powerhousedao/design-system": "1.17.1",
32
- "document-model-libs": "1.124.0",
33
- "document-drive": "1.12.1",
34
- "document-model": "2.14.0"
40
+ "jotai": "^2.10.3"
35
41
  },
36
42
  "scripts": {
37
43
  "check-types": "tsc",