@powerhousedao/reactor-browser 4.1.0-dev.9 → 5.0.0-staging.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 (263) hide show
  1. package/README.md +578 -0
  2. package/dist/src/actions/dispatch.d.ts +3 -0
  3. package/dist/src/actions/dispatch.d.ts.map +1 -0
  4. package/dist/src/actions/dispatch.js +13 -0
  5. package/dist/src/actions/dispatch.js.map +1 -0
  6. package/dist/src/actions/document.d.ts +14 -0
  7. package/dist/src/actions/document.d.ts.map +1 -0
  8. package/dist/src/actions/document.js +259 -0
  9. package/dist/src/actions/document.js.map +1 -0
  10. package/dist/src/actions/drive.d.ts +14 -0
  11. package/dist/src/actions/drive.d.ts.map +1 -0
  12. package/dist/src/actions/drive.js +194 -0
  13. package/dist/src/actions/drive.js.map +1 -0
  14. package/dist/src/actions/index.d.ts +6 -0
  15. package/dist/src/actions/index.d.ts.map +1 -0
  16. package/dist/src/actions/index.js +6 -0
  17. package/dist/src/actions/index.js.map +1 -0
  18. package/dist/src/actions/queue.d.ts +9 -0
  19. package/dist/src/actions/queue.d.ts.map +1 -0
  20. package/dist/src/actions/queue.js +144 -0
  21. package/dist/src/actions/queue.js.map +1 -0
  22. package/dist/src/actions/sign.d.ts +5 -0
  23. package/dist/src/actions/sign.d.ts.map +1 -0
  24. package/dist/src/actions/sign.js +71 -0
  25. package/dist/src/actions/sign.js.map +1 -0
  26. package/dist/src/analytics/index.d.ts +2 -0
  27. package/dist/src/analytics/index.d.ts.map +1 -0
  28. package/dist/src/analytics/index.js +2 -0
  29. package/dist/src/analytics/index.js.map +1 -0
  30. package/dist/src/constants.d.ts +3 -0
  31. package/dist/src/constants.d.ts.map +1 -0
  32. package/dist/src/constants.js +3 -0
  33. package/dist/src/constants.js.map +1 -0
  34. package/dist/src/context/read-mode.d.ts.map +1 -1
  35. package/dist/src/context/read-mode.js +3 -7
  36. package/dist/src/context/read-mode.js.map +1 -1
  37. package/dist/src/crypto/browser.d.ts.map +1 -1
  38. package/dist/src/crypto/browser.js +33 -10
  39. package/dist/src/crypto/browser.js.map +1 -1
  40. package/dist/src/crypto/index.d.ts +12 -5
  41. package/dist/src/crypto/index.d.ts.map +1 -1
  42. package/dist/src/crypto/index.js +61 -60
  43. package/dist/src/crypto/index.js.map +1 -1
  44. package/dist/src/document-model.d.ts +3 -2
  45. package/dist/src/document-model.d.ts.map +1 -1
  46. package/dist/src/document-model.js.map +1 -1
  47. package/dist/src/events/add-ph-event-handlers.d.ts +2 -0
  48. package/dist/src/events/add-ph-event-handlers.d.ts.map +1 -0
  49. package/dist/src/events/add-ph-event-handlers.js +26 -0
  50. package/dist/src/events/add-ph-event-handlers.js.map +1 -0
  51. package/dist/src/events/config.d.ts +8 -0
  52. package/dist/src/events/config.d.ts.map +1 -0
  53. package/dist/src/events/config.js +25 -0
  54. package/dist/src/events/config.js.map +1 -0
  55. package/dist/src/events/crypto.d.ts +13 -0
  56. package/dist/src/events/crypto.d.ts.map +1 -0
  57. package/dist/src/events/crypto.js +49 -0
  58. package/dist/src/events/crypto.js.map +1 -0
  59. package/dist/src/events/documents.d.ts +7 -0
  60. package/dist/src/events/documents.d.ts.map +1 -0
  61. package/dist/src/events/documents.js +19 -0
  62. package/dist/src/events/documents.js.map +1 -0
  63. package/dist/src/events/drives.d.ts +13 -0
  64. package/dist/src/events/drives.d.ts.map +1 -0
  65. package/dist/src/events/drives.js +57 -0
  66. package/dist/src/events/drives.js.map +1 -0
  67. package/dist/src/events/index.d.ts +13 -0
  68. package/dist/src/events/index.d.ts.map +1 -0
  69. package/dist/src/events/index.js +13 -0
  70. package/dist/src/events/index.js.map +1 -0
  71. package/dist/src/events/nodes.d.ts +7 -0
  72. package/dist/src/events/nodes.d.ts.map +1 -0
  73. package/dist/src/events/nodes.js +34 -0
  74. package/dist/src/events/nodes.js.map +1 -0
  75. package/dist/src/events/processors.d.ts +8 -0
  76. package/dist/src/events/processors.d.ts.map +1 -0
  77. package/dist/src/events/processors.js +25 -0
  78. package/dist/src/events/processors.js.map +1 -0
  79. package/dist/src/events/reactor.d.ts +8 -0
  80. package/dist/src/events/reactor.d.ts.map +1 -0
  81. package/dist/src/events/reactor.js +25 -0
  82. package/dist/src/events/reactor.js.map +1 -0
  83. package/dist/src/events/renown.d.ts +8 -0
  84. package/dist/src/events/renown.d.ts.map +1 -0
  85. package/dist/src/events/renown.js +27 -0
  86. package/dist/src/events/renown.js.map +1 -0
  87. package/dist/src/events/types.d.ts +60 -0
  88. package/dist/src/events/types.d.ts.map +1 -0
  89. package/dist/src/{renown → events}/types.js.map +1 -1
  90. package/dist/src/events/user.d.ts +14 -0
  91. package/dist/src/events/user.d.ts.map +1 -0
  92. package/dist/src/events/user.js +50 -0
  93. package/dist/src/events/user.js.map +1 -0
  94. package/dist/src/events/vetra-packages.d.ts +8 -0
  95. package/dist/src/events/vetra-packages.d.ts.map +1 -0
  96. package/dist/src/events/vetra-packages.js +29 -0
  97. package/dist/src/events/vetra-packages.js.map +1 -0
  98. package/dist/src/hooks/config.d.ts +5 -0
  99. package/dist/src/hooks/config.d.ts.map +1 -0
  100. package/dist/src/hooks/config.js +18 -0
  101. package/dist/src/hooks/config.js.map +1 -0
  102. package/dist/src/hooks/crypto.d.ts +4 -0
  103. package/dist/src/hooks/crypto.d.ts.map +1 -0
  104. package/dist/src/hooks/crypto.js +15 -0
  105. package/dist/src/hooks/crypto.js.map +1 -0
  106. package/dist/src/hooks/dispatch.d.ts +3 -0
  107. package/dist/src/hooks/dispatch.d.ts.map +1 -0
  108. package/dist/src/hooks/dispatch.js +9 -0
  109. package/dist/src/hooks/dispatch.js.map +1 -0
  110. package/dist/src/hooks/documents.d.ts +13 -0
  111. package/dist/src/hooks/documents.d.ts.map +1 -0
  112. package/dist/src/hooks/documents.js +46 -0
  113. package/dist/src/hooks/documents.js.map +1 -0
  114. package/dist/src/hooks/{useDriveContext.d.ts → drive-context.d.ts} +1 -1
  115. package/dist/src/hooks/drive-context.d.ts.map +1 -0
  116. package/dist/src/hooks/{useDriveContext.js → drive-context.js} +1 -1
  117. package/dist/src/hooks/drive-context.js.map +1 -0
  118. package/dist/src/hooks/drives.d.ts +24 -0
  119. package/dist/src/hooks/drives.d.ts.map +1 -0
  120. package/dist/src/hooks/drives.js +88 -0
  121. package/dist/src/hooks/drives.js.map +1 -0
  122. package/dist/src/hooks/index.d.ts +11 -7
  123. package/dist/src/hooks/index.d.ts.map +1 -1
  124. package/dist/src/hooks/index.js +11 -7
  125. package/dist/src/hooks/index.js.map +1 -1
  126. package/dist/src/hooks/nodes.d.ts +41 -0
  127. package/dist/src/hooks/nodes.d.ts.map +1 -0
  128. package/dist/src/hooks/nodes.js +160 -0
  129. package/dist/src/hooks/nodes.js.map +1 -0
  130. package/dist/src/hooks/processor-manager.d.ts +3 -0
  131. package/dist/src/hooks/processor-manager.d.ts.map +1 -0
  132. package/dist/src/hooks/processor-manager.js +7 -0
  133. package/dist/src/hooks/processor-manager.js.map +1 -0
  134. package/dist/src/hooks/reactor.d.ts +3 -0
  135. package/dist/src/hooks/reactor.d.ts.map +1 -0
  136. package/dist/src/hooks/reactor.js +7 -0
  137. package/dist/src/hooks/reactor.js.map +1 -0
  138. package/dist/src/hooks/renown.d.ts +2 -0
  139. package/dist/src/hooks/renown.d.ts.map +1 -0
  140. package/dist/src/hooks/renown.js +7 -0
  141. package/dist/src/hooks/renown.js.map +1 -0
  142. package/dist/src/hooks/user.d.ts +7 -0
  143. package/dist/src/hooks/user.d.ts.map +1 -0
  144. package/dist/src/hooks/user.js +26 -0
  145. package/dist/src/hooks/user.js.map +1 -0
  146. package/dist/src/hooks/vetra-packages.d.ts +18 -0
  147. package/dist/src/hooks/vetra-packages.d.ts.map +1 -0
  148. package/dist/src/hooks/vetra-packages.js +75 -0
  149. package/dist/src/hooks/vetra-packages.js.map +1 -0
  150. package/dist/src/index.d.ts +6 -4
  151. package/dist/src/index.d.ts.map +1 -1
  152. package/dist/src/index.js +6 -2
  153. package/dist/src/index.js.map +1 -1
  154. package/dist/src/reactor.d.ts +7 -0
  155. package/dist/src/reactor.d.ts.map +1 -1
  156. package/dist/src/reactor.js +63 -0
  157. package/dist/src/reactor.js.map +1 -1
  158. package/dist/src/renown/index.d.ts +3 -0
  159. package/dist/src/renown/index.d.ts.map +1 -0
  160. package/dist/src/renown/index.js +3 -0
  161. package/dist/src/renown/index.js.map +1 -0
  162. package/dist/src/renown/utils.d.ts +7 -0
  163. package/dist/src/renown/utils.d.ts.map +1 -0
  164. package/dist/src/renown/utils.js +52 -0
  165. package/dist/src/renown/utils.js.map +1 -0
  166. package/dist/src/types/drive-editor.d.ts +9 -81
  167. package/dist/src/types/drive-editor.d.ts.map +1 -1
  168. package/dist/src/types/global.d.ts +64 -0
  169. package/dist/src/types/global.d.ts.map +1 -0
  170. package/dist/src/types/global.js +2 -0
  171. package/dist/src/types/global.js.map +1 -0
  172. package/dist/src/types/index.d.ts +3 -0
  173. package/dist/src/types/index.d.ts.map +1 -1
  174. package/dist/src/types/index.js +3 -0
  175. package/dist/src/types/index.js.map +1 -1
  176. package/dist/src/types/reactor.d.ts +4 -0
  177. package/dist/src/types/reactor.d.ts.map +1 -0
  178. package/dist/src/types/reactor.js +2 -0
  179. package/dist/src/types/reactor.js.map +1 -0
  180. package/dist/src/types/vetra.d.ts +65 -0
  181. package/dist/src/types/vetra.d.ts.map +1 -0
  182. package/dist/src/types/vetra.js +2 -0
  183. package/dist/src/types/vetra.js.map +1 -0
  184. package/dist/src/utils/drives.d.ts +32 -0
  185. package/dist/src/utils/drives.d.ts.map +1 -0
  186. package/dist/src/utils/drives.js +60 -0
  187. package/dist/src/utils/drives.js.map +1 -0
  188. package/dist/src/utils/index.d.ts +6 -4
  189. package/dist/src/utils/index.d.ts.map +1 -1
  190. package/dist/src/utils/index.js +6 -8
  191. package/dist/src/utils/index.js.map +1 -1
  192. package/dist/src/utils/nodes.d.ts +8 -0
  193. package/dist/src/utils/nodes.d.ts.map +1 -0
  194. package/dist/src/utils/nodes.js +17 -0
  195. package/dist/src/utils/nodes.js.map +1 -0
  196. package/dist/src/utils/url.d.ts +22 -0
  197. package/dist/src/utils/url.d.ts.map +1 -0
  198. package/dist/src/utils/url.js +59 -0
  199. package/dist/src/utils/url.js.map +1 -0
  200. package/dist/src/utils/user.d.ts +5 -0
  201. package/dist/src/utils/user.d.ts.map +1 -0
  202. package/dist/src/utils/user.js +15 -0
  203. package/dist/src/utils/user.js.map +1 -0
  204. package/dist/src/utils/vetra.d.ts +7 -0
  205. package/dist/src/utils/vetra.d.ts.map +1 -0
  206. package/dist/src/utils/vetra.js +78 -0
  207. package/dist/src/utils/vetra.js.map +1 -0
  208. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  209. package/dist/vitest.config.d.ts +3 -0
  210. package/dist/vitest.config.d.ts.map +1 -0
  211. package/dist/vitest.config.js +24 -0
  212. package/dist/vitest.config.js.map +1 -0
  213. package/package.json +11 -5
  214. package/dist/package.json +0 -75
  215. package/dist/src/hooks/document-state.d.ts +0 -24
  216. package/dist/src/hooks/document-state.d.ts.map +0 -1
  217. package/dist/src/hooks/document-state.js +0 -89
  218. package/dist/src/hooks/document-state.js.map +0 -1
  219. package/dist/src/hooks/useAddDebouncedOperations.d.ts +0 -7
  220. package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
  221. package/dist/src/hooks/useAddDebouncedOperations.js +0 -53
  222. package/dist/src/hooks/useAddDebouncedOperations.js.map +0 -1
  223. package/dist/src/hooks/useConnectCrypto.d.ts +0 -4
  224. package/dist/src/hooks/useConnectCrypto.d.ts.map +0 -1
  225. package/dist/src/hooks/useConnectCrypto.js +0 -57
  226. package/dist/src/hooks/useConnectCrypto.js.map +0 -1
  227. package/dist/src/hooks/useDocument.d.ts +0 -8
  228. package/dist/src/hooks/useDocument.d.ts.map +0 -1
  229. package/dist/src/hooks/useDocument.js +0 -32
  230. package/dist/src/hooks/useDocument.js.map +0 -1
  231. package/dist/src/hooks/useDocumentDispatch.d.ts +0 -10
  232. package/dist/src/hooks/useDocumentDispatch.d.ts.map +0 -1
  233. package/dist/src/hooks/useDocumentDispatch.js +0 -42
  234. package/dist/src/hooks/useDocumentDispatch.js.map +0 -1
  235. package/dist/src/hooks/useDocumentDrives.d.ts +0 -12
  236. package/dist/src/hooks/useDocumentDrives.d.ts.map +0 -1
  237. package/dist/src/hooks/useDocumentDrives.js +0 -122
  238. package/dist/src/hooks/useDocumentDrives.js.map +0 -1
  239. package/dist/src/hooks/useDocumentEditor.d.ts +0 -32
  240. package/dist/src/hooks/useDocumentEditor.d.ts.map +0 -1
  241. package/dist/src/hooks/useDocumentEditor.js +0 -41
  242. package/dist/src/hooks/useDocumentEditor.js.map +0 -1
  243. package/dist/src/hooks/useDriveActions.d.ts +0 -79
  244. package/dist/src/hooks/useDriveActions.d.ts.map +0 -1
  245. package/dist/src/hooks/useDriveActions.js +0 -108
  246. package/dist/src/hooks/useDriveActions.js.map +0 -1
  247. package/dist/src/hooks/useDriveContext.d.ts.map +0 -1
  248. package/dist/src/hooks/useDriveContext.js.map +0 -1
  249. package/dist/src/hooks/useUserPermissions.d.ts +0 -6
  250. package/dist/src/hooks/useUserPermissions.d.ts.map +0 -1
  251. package/dist/src/hooks/useUserPermissions.js +0 -7
  252. package/dist/src/hooks/useUserPermissions.js.map +0 -1
  253. package/dist/src/renown/types.d.ts +0 -76
  254. package/dist/src/renown/types.d.ts.map +0 -1
  255. package/dist/src/utils/export-document.d.ts +0 -3
  256. package/dist/src/utils/export-document.d.ts.map +0 -1
  257. package/dist/src/utils/export-document.js +0 -19
  258. package/dist/src/utils/export-document.js.map +0 -1
  259. package/dist/src/utils/signature.d.ts +0 -5
  260. package/dist/src/utils/signature.d.ts.map +0 -1
  261. package/dist/src/utils/signature.js +0 -40
  262. package/dist/src/utils/signature.js.map +0 -1
  263. /package/dist/src/{renown → events}/types.js +0 -0
@@ -1,5 +1,10 @@
1
1
  import { BaseQueueManager, InMemoryCache, ReactorBuilder, } from "document-drive";
2
2
  import { BrowserStorage } from "document-drive/storage/browser";
3
+ import { generateId } from "document-model";
4
+ import { BrowserKeyStorage, ConnectCrypto, } from "./crypto/index.js";
5
+ import { dispatchSetDocumentsEvent } from "./events/documents.js";
6
+ import { dispatchSetDrivesEvent } from "./events/drives.js";
7
+ import { getDocuments, getDrives } from "./utils/drives.js";
3
8
  export const getReactorDefaultDrivesConfig = (config = {}) => {
4
9
  const defaultDrivesUrl = config.defaultDrivesUrl || [];
5
10
  const remoteDrives = defaultDrivesUrl.map((driveUrl) => ({
@@ -51,4 +56,62 @@ export function createBrowserDocumentDriveServer(documentModelModules, routerBas
51
56
  }
52
57
  return builder.build();
53
58
  }
59
+ export async function refreshReactorData(reactor) {
60
+ if (!reactor)
61
+ return;
62
+ const drives = await getDrives(reactor);
63
+ const documents = await getDocuments(reactor);
64
+ dispatchSetDrivesEvent(drives);
65
+ dispatchSetDocumentsEvent(documents);
66
+ }
67
+ export async function initReactor(reactor, renown, connectCrypto) {
68
+ await initJwtHandler(reactor, renown, connectCrypto);
69
+ const errors = await reactor.initialize();
70
+ const error = errors?.at(0);
71
+ if (error) {
72
+ throw error;
73
+ }
74
+ }
75
+ export async function handleCreateFirstLocalDrive(reactor, localDrivesEnabled = true) {
76
+ if (!localDrivesEnabled || reactor === undefined)
77
+ return;
78
+ const drives = await getDrives(reactor);
79
+ const hasDrives = drives.length > 0;
80
+ if (hasDrives)
81
+ return;
82
+ const driveId = generateId();
83
+ const driveSlug = `my-local-drive-${driveId}`;
84
+ const document = await reactor.addDrive({
85
+ id: driveId,
86
+ slug: driveSlug,
87
+ global: {
88
+ name: "My Local Drive",
89
+ icon: null,
90
+ },
91
+ local: {
92
+ availableOffline: false,
93
+ sharingType: "private",
94
+ listeners: [],
95
+ triggers: [],
96
+ },
97
+ });
98
+ return document;
99
+ }
100
+ async function initJwtHandler(reactor, renown, connectCrypto) {
101
+ let user = renown?.user;
102
+ if (user instanceof Function) {
103
+ user = await user();
104
+ }
105
+ if (!connectCrypto || !user) {
106
+ return;
107
+ }
108
+ reactor.setGenerateJwtHandler(async (driveUrl) => {
109
+ return connectCrypto.getBearerToken(driveUrl, user.address, true, 10);
110
+ });
111
+ }
112
+ export async function initConnectCrypto() {
113
+ const connectCrypto = new ConnectCrypto(new BrowserKeyStorage());
114
+ await connectCrypto.did();
115
+ return connectCrypto;
116
+ }
54
117
  //# sourceMappingURL=reactor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAIhB,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAOhE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,SAAqC,EAAE,EACY,EAAE;IACrD,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAEvD,MAAM,YAAY,GAA8B,gBAAgB,CAAC,GAAG,CAClE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACb,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE;YACP,WAAW,EAAE,QAAQ;YACrB,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE;wBACR,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,kBAAkB;wBACxB,eAAe,EAAE,iBAAiB;qBACnC;oBACD,MAAM,EAAE;wBACN,MAAM,EAAE,CAAC,MAAM,CAAC;wBAChB,UAAU,EAAE,CAAC,GAAG,CAAC;wBACjB,YAAY,EAAE,CAAC,GAAG,CAAC;wBACnB,KAAK,EAAE,CAAC,QAAQ,CAAC;qBAClB;oBACD,KAAK,EAAE,kBAAkB;oBACzB,UAAU,EAAE,GAAG;oBACf,MAAM,EAAE,IAAI;iBACb;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF,CAAC,CACH,CAAC;IAEF,OAAO;QACL,aAAa,EAAE;YACb,YAAY;YACZ,qBAAqB,EACnB,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBACzB,CAAC,CAAC;oBACE,QAAQ,EAAE,4BAA4B;oBACtC,IAAI,EAAE,gBAAgB;iBACvB;gBACH,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE;SACnC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,gCAAgC,CAC9C,oBAA2C,EAC3C,cAAsB,EACtB,0BAAuD;IAEvD,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,oBAAoB,CAAC;SACrD,WAAW,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,CAAC;SAC/C,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;SAC9B,gBAAgB,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAE5C,IAAI,0BAA0B,EAAE,CAAC;QAC/B,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from "./constants.js";
2
+ export * from "./utils.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renown/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./constants.js";
2
+ export * from "./utils.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renown/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { type IRenown } from "@renown/sdk";
2
+ import { type IConnectCrypto } from "../crypto/index.js";
3
+ import { type Reactor } from "../types/reactor.js";
4
+ export declare function openRenown(): void;
5
+ export declare function login(userDid: string | undefined, reactor: Reactor | undefined, renown: IRenown | undefined, connectCrypto: IConnectCrypto | undefined): Promise<import("@renown/sdk").User | undefined>;
6
+ export declare function logout(): Promise<void>;
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/renown/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAGnD,wBAAgB,UAAU,SASzB;AAED,wBAAsB,KAAK,CACzB,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,EAAE,cAAc,GAAG,SAAS,mDAqC1C;AAED,wBAAsB,MAAM,kBAM3B"}
@@ -0,0 +1,52 @@
1
+ import { logger } from "document-drive";
2
+ import { dispatchSetLoginStatusEvent, dispatchSetUserEvent, } from "../events/user.js";
3
+ import { RENOWN_CHAIN_ID, RENOWN_NETWORK_ID, RENOWN_URL } from "./constants.js";
4
+ export function openRenown() {
5
+ const url = new URL(RENOWN_URL);
6
+ url.searchParams.set("connect", window.did ?? "");
7
+ url.searchParams.set("network", RENOWN_NETWORK_ID);
8
+ url.searchParams.set("chain", RENOWN_CHAIN_ID);
9
+ const returnUrl = new URL(window.location.pathname, window.location.origin);
10
+ url.searchParams.set("returnUrl", returnUrl.toJSON());
11
+ window.open(url, "_self")?.focus();
12
+ }
13
+ export async function login(userDid, reactor, renown, connectCrypto) {
14
+ if (!renown || !connectCrypto || !reactor) {
15
+ return;
16
+ }
17
+ try {
18
+ dispatchSetLoginStatusEvent("checking");
19
+ let user = renown.user instanceof Function ? renown.user() : renown.user;
20
+ user = user instanceof Promise ? await user : user;
21
+ if (user?.did && (user.did === userDid || !userDid)) {
22
+ dispatchSetLoginStatusEvent("authorized");
23
+ dispatchSetUserEvent(user);
24
+ reactor.setGenerateJwtHandler(async (driveUrl) => connectCrypto.getBearerToken(driveUrl, user.address, true, 10));
25
+ return user;
26
+ }
27
+ if (!userDid) {
28
+ return;
29
+ }
30
+ const newUser = await renown.login(userDid ?? "");
31
+ if (newUser) {
32
+ dispatchSetLoginStatusEvent("authorized");
33
+ dispatchSetUserEvent(newUser);
34
+ reactor.setGenerateJwtHandler(async (driveUrl) => connectCrypto.getBearerToken(driveUrl, newUser.address, true, 10));
35
+ }
36
+ else {
37
+ dispatchSetLoginStatusEvent("not-authorized");
38
+ }
39
+ }
40
+ catch (error) {
41
+ dispatchSetLoginStatusEvent("not-authorized");
42
+ logger.error(error);
43
+ }
44
+ }
45
+ export async function logout() {
46
+ const renown = window.renown;
47
+ const reactor = window.reactor;
48
+ dispatchSetLoginStatusEvent("initial");
49
+ await renown?.logout();
50
+ reactor?.removeJwtHandler();
51
+ }
52
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/renown/utils.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,11 @@
1
- import { type FileNode, type FolderNode, type Node, type SyncStatus } from "document-drive";
2
- import { type Action, type ActionErrorCallback, type DocumentModelModule, type EditorContext, type EditorModule, type EditorProps, type PHDocument } from "document-model";
1
+ import { type FolderNode, type Node } from "document-drive";
2
+ import { type DocumentModelModule, type PHDocument } from "document-model";
3
3
  import { type FC } from "react";
4
- import { type User } from "../renown/types.js";
5
4
  /**
6
5
  * Interface representing the context values provided by the host application
7
6
  * for managing document drive functionality.
8
7
  */
9
8
  export type IDriveContext = {
10
- /** Controls the visibility of the search bar in the drive interface */
11
- showSearchBar: boolean;
12
- /** Indicates whether the current user has permissions to create new documents */
13
- isAllowedToCreateDocuments: boolean;
14
- /** Array of available document models that can be created */
15
- documentModels: DocumentModelModule[];
16
- /**
17
- * The name of the analytics database to use for the drive editor
18
- */
19
- analyticsDatabaseName: string;
20
9
  /**
21
10
  * Callback to add a new file to the drive
22
11
  * @param file - The file to be added
@@ -58,82 +47,21 @@ export type IDriveContext = {
58
47
  * @returns Promise resolving to the newly created Node
59
48
  */
60
49
  onDuplicateNode: (src: Node) => Promise<void>;
61
- /**
62
- * Callback to add a new folder and select it
63
- * @param name - The name of the folder
64
- * @returns Promise resolving to the newly created FolderNode
65
- */
66
- onAddAndSelectNewFolder: (name: string) => Promise<void>;
67
- /**
68
- * Callback to get the sync status of a sync
69
- * @param syncId - The id of the sync
70
- * @param sharingType - The sharing type of the sync
71
- * @returns The sync status of the sync, or undefined if not found
72
- */
73
- getSyncStatusSync: (syncId: string, sharingType: "LOCAL" | "CLOUD" | "PUBLIC") => SyncStatus | undefined;
74
- /**
75
- * Adds a new file to the drive
76
- * @param file - File to be added (can be a string path or File object)
77
- * @param drive - The drive to add the file to
78
- * @param name - Optional name for the file
79
- * @param parentFolder - Optional parent folder of the file
80
- * @returns Promise resolving to the newly created Node
81
- */
82
- addFile: (file: string | File, drive: string, name?: string, parentFolder?: string) => Promise<void>;
83
- /**
84
- * Adds a new document to the drive
85
- * @param driveId - ID of the drive to add the document to
86
- * @param name - Name of the document
87
- * @param documentType - Type of document to create
88
- * @param parentFolder - Optional parent folder of the document
89
- * @param document - Optional document content
90
- * @param id - Optional id for the document
91
- * @returns Promise resolving to the newly created
92
- */
93
- addDocument: (driveId: string, name: string, documentType: string, parentFolder?: string, document?: PHDocument, id?: string) => Promise<FileNode | undefined>;
94
- /**
95
- * Shows a modal for creating a new document
96
- * @param documentModel - Document model of the document to be created
97
- * @returns Promise resolving to an object containing the document name
98
- */
99
50
  showCreateDocumentModal: (documentModel: DocumentModelModule) => void;
100
51
  /**
101
52
  * Shows a modal for deleting a node
102
53
  * @param node - The node to be deleted
103
54
  */
104
55
  showDeleteNodeModal: (node: Node) => void;
105
- /**
106
- * Retrieves the document model module for a given document type
107
- * @param documentType - The type of document to retrieve the model for
108
- * @returns The document model module for the given document type, or undefined if not found
109
- */
110
- getDocumentModelModule: (documentType: string | undefined) => DocumentModelModule<PHDocument> | undefined;
111
- /**
112
- * Retrieves the editor module for a given document type
113
- * @param documentType - The type of document to retrieve the editor for
114
- * @returns The editor module for the given document type, or null if not found
115
- */
116
- getEditor: (documentType: string | undefined) => EditorModule | null | undefined;
117
- useDocumentEditorProps: (props: {
118
- driveId: string | undefined;
119
- documentId: string | undefined;
120
- documentType: string | undefined;
121
- documentModelModule: DocumentModelModule<PHDocument> | undefined;
122
- user?: User;
123
- }) => {
124
- dispatch: (action: Action, onErrorCallback?: ActionErrorCallback) => void;
125
- document: PHDocument | undefined;
126
- error: unknown;
127
- };
128
56
  };
129
- export type DriveEditorContext = Omit<EditorContext, "getDocumentRevision"> & IDriveContext;
130
- export interface DriveEditorProps<TDocument extends PHDocument> extends Omit<EditorProps<TDocument>, "context"> {
131
- context: DriveEditorContext;
132
- }
133
- export type DriveEditorModule<TDocument extends PHDocument = PHDocument, TCustomProps = unknown, TEditorConfig extends Record<string, unknown> = Record<string, unknown>> = {
134
- Component: FC<DriveEditorProps<TDocument> & TCustomProps & Record<string, unknown>>;
57
+ export type DriveEditorProps = {
58
+ document: PHDocument;
59
+ context: IDriveContext;
60
+ };
61
+ export type DriveEditorModule = {
62
+ Component: FC<DriveEditorProps>;
135
63
  documentTypes: string[];
136
- config: TEditorConfig & {
64
+ config: {
137
65
  id: string;
138
66
  disableExternalControls?: boolean;
139
67
  documentToolbarEnabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"drive-editor.d.ts","sourceRoot":"","sources":["../../../src/types/drive-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,MAAM,EACX,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,uEAAuE;IACvE,aAAa,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,0BAA0B,EAAE,OAAO,CAAC;IACpC,6DAA6D;IAC7D,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;;OAKG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACrC;;;;;OAKG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACzE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;OAIG;IACH,eAAe,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;;;;OAKG;IACH,iBAAiB,EAAE,CACjB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,GAAG,OAAO,GAAG,QAAQ,KACtC,UAAU,GAAG,SAAS,CAAC;IAC5B;;;;;;;OAOG;IACH,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;;;;;;;OASG;IACH,WAAW,EAAE,CACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,UAAU,EACrB,EAAE,CAAC,EAAE,MAAM,KACR,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IACnC;;;;OAIG;IACH,uBAAuB,EAAE,CAAC,aAAa,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC1C;;;;OAIG;IACH,sBAAsB,EAAE,CACtB,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,mBAAmB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IACjD;;;;OAIG;IACH,SAAS,EAAE,CACT,YAAY,EAAE,MAAM,GAAG,SAAS,KAC7B,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,sBAAsB,EAAE,CAAC,KAAK,EAAE;QAC9B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;QACjC,mBAAmB,EAAE,mBAAmB,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;QACjE,IAAI,CAAC,EAAE,IAAI,CAAC;KACb,KAAK;QACJ,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,mBAAmB,KAAK,IAAI,CAAC;QAC1E,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAC;QACjC,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,GACzE,aAAa,CAAC;AAEhB,MAAM,WAAW,gBAAgB,CAAC,SAAS,SAAS,UAAU,CAC5D,SAAQ,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC;IAC/C,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,MAAM,MAAM,iBAAiB,CAC3B,SAAS,SAAS,UAAU,GAAG,UAAU,EACzC,YAAY,GAAG,OAAO,EACtB,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACrE;IACF,SAAS,EAAE,EAAE,CACX,gBAAgB,CAAC,SAAS,CAAC,GAAG,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACrE,CAAC;IACF,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,aAAa,GAAG;QACtB,EAAE,EAAE,MAAM,CAAC;QACX,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"drive-editor.d.ts","sourceRoot":"","sources":["../../../src/types/drive-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;;OAKG;IACH,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACrC;;;;;OAKG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IACzE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;;OAKG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE;;;;OAIG;IACH,eAAe,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,uBAAuB,EAAE,CAAC,aAAa,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACtE;;;OAGG;IACH,mBAAmB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,UAAU,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC;IAChC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { type IRenown, type User } from "@renown/sdk";
2
+ import { type DocumentDriveDocument, type IDocumentDriveServer, type ProcessorManager } from "document-drive";
3
+ import { type IDocumentAdminStorage, type IDocumentOperationStorage, type IDocumentStorage, type IDriveOperationStorage } from "document-drive/storage/types";
4
+ import { type PHDocument } from "document-model";
5
+ import { type DID, type IConnectCrypto } from "../crypto/index.js";
6
+ import { type AppConfigUpdatedEvent, type ConnectCryptoUpdatedEvent, type DidUpdatedEvent, type DocumentsUpdatedEvent, type DrivesUpdatedEvent, type LoginStatusUpdatedEvent, type ProcessorManagerUpdatedEvent, type ReactorUpdatedEvent, type RenownUpdatedEvent, type SelectedDriveIdUpdatedEvent, type SelectedNodeIdUpdatedEvent, type SetAppConfigEvent, type SetConnectCryptoEvent, type SetDidEvent, type SetDocumentsEvent, type SetDrivesEvent, type SetLoginStatusEvent, type SetProcessorManagerEvent, type SetReactorEvent, type SetRenownEvent, type SetSelectedDriveIdEvent, type SetSelectedNodeIdEvent, type SetUserEvent, type SetVetraPackagesEvent, type UserUpdatedEvent, type VetraPackagesUpdatedEvent } from "../events/types.js";
7
+ import { type VetraPackage } from "./vetra.js";
8
+ export type UserPermissions = {
9
+ isAllowedToCreateDocuments: boolean;
10
+ isAllowedToEditDocuments: boolean;
11
+ };
12
+ export type LoginStatus = "initial" | "checking" | "not-authorized" | "authorized";
13
+ export type AppConfig = {
14
+ showSearchBar?: boolean;
15
+ analyticsDatabaseName?: string;
16
+ allowList?: string[];
17
+ };
18
+ declare global {
19
+ interface Window {
20
+ reactor?: IDocumentDriveServer | undefined;
21
+ phStorage?: IDriveOperationStorage & IDocumentOperationStorage & IDocumentStorage & IDocumentAdminStorage;
22
+ connectCrypto?: IConnectCrypto | undefined;
23
+ did?: DID | undefined;
24
+ renown?: IRenown | undefined;
25
+ user?: User | undefined;
26
+ loginStatus?: LoginStatus | undefined;
27
+ vetraPackages?: VetraPackage[] | undefined;
28
+ phProcessorManager?: ProcessorManager | undefined;
29
+ phDrives?: DocumentDriveDocument[] | undefined;
30
+ phDocuments?: PHDocument[] | undefined;
31
+ phSelectedDriveId?: string | undefined;
32
+ phSelectedNodeId?: string | undefined;
33
+ phAppConfig?: AppConfig | undefined;
34
+ }
35
+ interface WindowEventMap {
36
+ "ph:setReactor": SetReactorEvent;
37
+ "ph:reactorUpdated": ReactorUpdatedEvent;
38
+ "ph:setConnectCrypto": SetConnectCryptoEvent;
39
+ "ph:connectCryptoUpdated": ConnectCryptoUpdatedEvent;
40
+ "ph:setDid": SetDidEvent;
41
+ "ph:didUpdated": DidUpdatedEvent;
42
+ "ph:setRenown": SetRenownEvent;
43
+ "ph:renownUpdated": RenownUpdatedEvent;
44
+ "ph:setLoginStatus": SetLoginStatusEvent;
45
+ "ph:loginStatusUpdated": LoginStatusUpdatedEvent;
46
+ "ph:setUser": SetUserEvent;
47
+ "ph:userUpdated": UserUpdatedEvent;
48
+ "ph:setProcessorManager": SetProcessorManagerEvent;
49
+ "ph:processorManagerUpdated": ProcessorManagerUpdatedEvent;
50
+ "ph:setDrives": SetDrivesEvent;
51
+ "ph:drivesUpdated": DrivesUpdatedEvent;
52
+ "ph:setDocuments": SetDocumentsEvent;
53
+ "ph:documentsUpdated": DocumentsUpdatedEvent;
54
+ "ph:setVetraPackages": SetVetraPackagesEvent;
55
+ "ph:vetraPackagesUpdated": VetraPackagesUpdatedEvent;
56
+ "ph:setSelectedDriveId": SetSelectedDriveIdEvent;
57
+ "ph:selectedDriveIdUpdated": SelectedDriveIdUpdatedEvent;
58
+ "ph:setSelectedNodeId": SetSelectedNodeIdEvent;
59
+ "ph:selectedNodeIdUpdated": SelectedNodeIdUpdatedEvent;
60
+ "ph:setAppConfig": SetAppConfigEvent;
61
+ "ph:appConfigUpdated": AppConfigUpdatedEvent;
62
+ }
63
+ }
64
+ //# sourceMappingURL=global.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["../../../src/types/global.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAChC,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,wBAAwB,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,UAAU,GACV,gBAAgB,GAChB,YAAY,CAAC;AAEjB,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,OAAO,CAAC,EAAE,oBAAoB,GAAG,SAAS,CAAC;QAC3C,SAAS,CAAC,EAAE,sBAAsB,GAChC,yBAAyB,GACzB,gBAAgB,GAChB,qBAAqB,CAAC;QACxB,aAAa,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;QAC3C,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC;QACtB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;QACxB,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QACtC,aAAa,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;QAC3C,kBAAkB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;QAClD,QAAQ,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;QAC/C,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;QACvC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC,WAAW,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;KACrC;IAED,UAAU,cAAc;QACtB,eAAe,EAAE,eAAe,CAAC;QACjC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,yBAAyB,EAAE,yBAAyB,CAAC;QACrD,WAAW,EAAE,WAAW,CAAC;QACzB,eAAe,EAAE,eAAe,CAAC;QACjC,cAAc,EAAE,cAAc,CAAC;QAC/B,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,uBAAuB,EAAE,uBAAuB,CAAC;QACjD,YAAY,EAAE,YAAY,CAAC;QAC3B,gBAAgB,EAAE,gBAAgB,CAAC;QACnC,wBAAwB,EAAE,wBAAwB,CAAC;QACnD,4BAA4B,EAAE,4BAA4B,CAAC;QAC3D,cAAc,EAAE,cAAc,CAAC;QAC/B,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,qBAAqB,EAAE,qBAAqB,CAAC;QAC7C,yBAAyB,EAAE,yBAAyB,CAAC;QACrD,uBAAuB,EAAE,uBAAuB,CAAC;QACjD,2BAA2B,EAAE,2BAA2B,CAAC;QACzD,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,0BAA0B,EAAE,0BAA0B,CAAC;QACvD,iBAAiB,EAAE,iBAAiB,CAAC;QACrC,qBAAqB,EAAE,qBAAqB,CAAC;KAC9C;CACF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=global.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../../../src/types/global.ts"],"names":[],"mappings":""}
@@ -1,2 +1,5 @@
1
1
  export * from "./drive-editor.js";
2
+ export * from "./global.js";
3
+ export * from "./reactor.js";
4
+ export * from "./vetra.js";
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -1,2 +1,5 @@
1
1
  export * from "./drive-editor.js";
2
+ export * from "./global.js";
3
+ export * from "./reactor.js";
4
+ export * from "./vetra.js";
2
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type IDocumentDriveServer } from "document-drive";
2
+ export type Reactor = IDocumentDriveServer;
3
+ export type NodeKind = "FOLDER" | "FILE";
4
+ //# sourceMappingURL=reactor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/types/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,MAAM,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAE3C,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=reactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactor.js","sourceRoot":"","sources":["../../../src/types/reactor.ts"],"names":[],"mappings":""}
@@ -0,0 +1,65 @@
1
+ import { type IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
2
+ import { type IRelationalDb, type ProcessorRecord } from "document-drive/processors/types";
3
+ import { type Action, type Author, type DocumentModelState, type DocumentSpecification, type ImportScriptModule, type PHDocumentHeader, type Reducer, type SubgraphModule } from "document-model";
4
+ export type Processors = (module: {
5
+ analyticsStore: IAnalyticsStore;
6
+ relationalDb: IRelationalDb;
7
+ }) => (driveHeader: PHDocumentHeader) => ProcessorRecord[];
8
+ export type VetraMeta = {
9
+ id: string;
10
+ name: string;
11
+ };
12
+ export type VetraModule = Record<string, unknown> & VetraMeta;
13
+ export type VetraPackageMeta = {
14
+ id: string;
15
+ name: string;
16
+ description: string;
17
+ category: string;
18
+ author: Author;
19
+ };
20
+ type BaseVetraPackage<TModules extends {
21
+ [K in keyof TModules]: VetraMeta[];
22
+ }> = VetraPackageMeta & {
23
+ modules: {
24
+ [K in keyof TModules]: TModules[K];
25
+ };
26
+ };
27
+ type DocumentModel = DocumentModelState;
28
+ export type VetraDocumentModelModule = VetraMeta & {
29
+ documentType: string;
30
+ extension: string;
31
+ specifications: DocumentSpecification[];
32
+ reducer: Reducer<any>;
33
+ actions: Record<string, (input: any) => Action>;
34
+ utils: any;
35
+ documentModel: DocumentModel;
36
+ };
37
+ export type VetraEditorModule = VetraMeta & {
38
+ documentTypes: string[];
39
+ Component: (props: any) => any;
40
+ config: {
41
+ id: string;
42
+ disableExternalControls?: boolean;
43
+ documentToolbarEnabled?: boolean;
44
+ showSwitchboardLink?: boolean;
45
+ timelineEnabled?: boolean;
46
+ };
47
+ };
48
+ export type VetraProcessorModule = VetraMeta & {
49
+ processors: Processors;
50
+ };
51
+ export type VetraModules = {
52
+ documentModelModules?: VetraDocumentModelModule[];
53
+ editorModules?: VetraEditorModule[];
54
+ subgraphModules?: SubgraphModule[];
55
+ importScriptModules?: ImportScriptModule[];
56
+ processorModules?: VetraProcessorModule[];
57
+ };
58
+ export type VetraPackage = BaseVetraPackage<VetraModules>;
59
+ export type VetraPackageManifest = VetraPackageMeta & {
60
+ modules: {
61
+ [K in keyof VetraModules]: VetraMeta[];
62
+ };
63
+ };
64
+ export {};
65
+ //# sourceMappingURL=vetra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/types/vetra.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vetra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/types/vetra.ts"],"names":[],"mappings":""}
@@ -0,0 +1,32 @@
1
+ import { type DocumentDriveDocument, type FolderNode, type SharingType } from "document-drive";
2
+ import { type PHDocument } from "document-model";
3
+ import { type Reactor } from "../types/reactor.js";
4
+ /** Returns the sharing type for a drive. */
5
+ export declare function getDriveSharingType(drive: {
6
+ state: {
7
+ local: {
8
+ sharingType?: string | null;
9
+ };
10
+ };
11
+ readContext?: {
12
+ sharingType?: string | null;
13
+ };
14
+ } | undefined | null): SharingType;
15
+ /** Returns whether a drive is available offline. */
16
+ export declare function getDriveAvailableOffline(drive: {
17
+ state: {
18
+ local: {
19
+ availableOffline?: boolean | null;
20
+ };
21
+ };
22
+ readContext?: {
23
+ availableOffline?: boolean | null;
24
+ };
25
+ } | undefined | null): boolean;
26
+ /** Makes a folder node from a drive, used for making breadcrumbs. */
27
+ export declare function makeFolderNodeFromDrive(drive: DocumentDriveDocument | null | undefined): FolderNode | undefined;
28
+ export declare function getDocumentsForDriveId(reactor: Reactor | undefined, driveId: string | undefined): Promise<PHDocument[]>;
29
+ export declare function getDrives(reactor: Reactor | undefined): Promise<DocumentDriveDocument[]>;
30
+ export declare function getDocuments(reactor: Reactor | undefined): Promise<PHDocument[]>;
31
+ export declare function getDriveById(reactor: Reactor | undefined, driveId: string | undefined): Promise<DocumentDriveDocument | undefined>;
32
+ //# sourceMappingURL=drives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drives.d.ts","sourceRoot":"","sources":["../../../src/utils/drives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EACf,KAAK,WAAW,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,4CAA4C;AAC5C,wBAAgB,mBAAmB,CACjC,KAAK,EACD;IACE,KAAK,EAAE;QACL,KAAK,EAAE;YACL,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;SAC7B,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;CACH,GACD,SAAS,GACT,IAAI,eAST;AAED,oDAAoD;AACpD,wBAAgB,wBAAwB,CACtC,KAAK,EACD;IACE,KAAK,EAAE;QACL,KAAK,EAAE;YACL,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;SACnC,CAAC;KACH,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,gBAAgB,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KACnC,CAAC;CACH,GACD,SAAS,GACT,IAAI,WAQT;AAED,qEAAqE;AACrE,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,qBAAqB,GAAG,IAAI,GAAG,SAAS,GAC9C,UAAU,GAAG,SAAS,CAQxB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,UAAU,EAAE,CAAC,CAOvB;AAED,wBAAsB,SAAS,CAC7B,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAKlC;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,GAAG,SAAS,GAC3B,OAAO,CAAC,UAAU,EAAE,CAAC,CAUvB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAG5C"}
@@ -0,0 +1,60 @@
1
+ /** Returns the sharing type for a drive. */
2
+ export function getDriveSharingType(drive) {
3
+ if (!drive)
4
+ return "PUBLIC";
5
+ const isReadDrive = "readContext" in drive;
6
+ const { sharingType: _sharingType } = !isReadDrive
7
+ ? drive.state.local
8
+ : { sharingType: "PUBLIC" };
9
+ const __sharingType = _sharingType?.toUpperCase();
10
+ return (__sharingType === "PRIVATE" ? "LOCAL" : __sharingType);
11
+ }
12
+ /** Returns whether a drive is available offline. */
13
+ export function getDriveAvailableOffline(drive) {
14
+ if (!drive)
15
+ return false;
16
+ const isReadDrive = "readContext" in drive;
17
+ const { availableOffline: _availableOffline } = !isReadDrive
18
+ ? drive.state.local
19
+ : { availableOffline: false };
20
+ return _availableOffline ?? false;
21
+ }
22
+ /** Makes a folder node from a drive, used for making breadcrumbs. */
23
+ export function makeFolderNodeFromDrive(drive) {
24
+ if (!drive)
25
+ return undefined;
26
+ return {
27
+ id: drive.header.id,
28
+ name: drive.state.global.name,
29
+ kind: "FOLDER",
30
+ parentFolder: null,
31
+ };
32
+ }
33
+ export async function getDocumentsForDriveId(reactor, driveId) {
34
+ if (!reactor || !driveId)
35
+ return [];
36
+ const documentIds = await reactor.getDocuments(driveId);
37
+ const documents = await Promise.all(documentIds.map((id) => reactor.getDocument(id)));
38
+ return documents;
39
+ }
40
+ export async function getDrives(reactor) {
41
+ if (!reactor)
42
+ return [];
43
+ const driveIds = await reactor.getDrives();
44
+ const drives = await Promise.all(driveIds.map((id) => reactor.getDrive(id)));
45
+ return drives;
46
+ }
47
+ export async function getDocuments(reactor) {
48
+ if (!reactor)
49
+ return [];
50
+ const driveIds = await reactor.getDrives();
51
+ const documentIds = await Promise.all(driveIds.map((id) => reactor.getDocuments(id)));
52
+ const documents = await Promise.all(documentIds.flat().map((id) => reactor.getDocument(id)));
53
+ return documents;
54
+ }
55
+ export async function getDriveById(reactor, driveId) {
56
+ if (!reactor || !driveId)
57
+ return undefined;
58
+ return await reactor.getDrive(driveId);
59
+ }
60
+ //# sourceMappingURL=drives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drives.js","sourceRoot":"","sources":["../../../src/utils/drives.ts"],"names":[],"mappings":"AAQA,4CAA4C;AAC5C,MAAM,UAAU,mBAAmB,CACjC,KAYQ;IAER,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,MAAM,WAAW,GAAG,aAAa,IAAI,KAAK,CAAC;IAC3C,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,CAAC,WAAW;QAChD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;QACnB,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAC9B,MAAM,aAAa,GAAG,YAAY,EAAE,WAAW,EAAE,CAAC;IAClD,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAgB,CAAC;AAChF,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,wBAAwB,CACtC,KAYQ;IAER,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,WAAW,GAAG,aAAa,IAAI,KAAK,CAAC;IAC3C,MAAM,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,CAAC,WAAW;QAC1D,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;QACnB,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;IAChC,OAAO,iBAAiB,IAAI,KAAK,CAAC;AACpC,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,uBAAuB,CACrC,KAA+C;IAE/C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO;QACL,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;QACnB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI;QAC7B,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAA4B,EAC5B,OAA2B;IAE3B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CACjD,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAA4B;IAE5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA4B;IAE5B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAC/C,CAAC;IACF,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,WAAW,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CACxD,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAA4B,EAC5B,OAA2B;IAE3B,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACzC,CAAC"}
@@ -1,5 +1,7 @@
1
- import { type DocumentDriveDocument } from "document-drive";
2
- import { type PHDocument } from "document-model";
3
- export declare function documentToHash(drive: PHDocument): string;
4
- export declare function drivesToHash(drives: DocumentDriveDocument[]): string;
1
+ export * from "./drives.js";
2
+ export * from "./nodes.js";
3
+ export * from "./switchboard.js";
4
+ export * from "./url.js";
5
+ export * from "./user.js";
6
+ export * from "./vetra.js";
5
7
  //# sourceMappingURL=index.d.ts.map