@powerhousedao/reactor-browser 4.1.0-dev.5 → 4.1.0-dev.51

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 (293) hide show
  1. package/README.md +624 -0
  2. package/dist/src/actions/dispatch.d.ts +4 -0
  3. package/dist/src/actions/dispatch.d.ts.map +1 -0
  4. package/dist/src/actions/dispatch.js +29 -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 +274 -0
  9. package/dist/src/actions/document.js.map +1 -0
  10. package/dist/src/actions/drive.d.ts +13 -0
  11. package/dist/src/actions/drive.d.ts.map +1 -0
  12. package/dist/src/actions/drive.js +191 -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 +8 -0
  19. package/dist/src/actions/queue.d.ts.map +1 -0
  20. package/dist/src/actions/queue.js +120 -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/context.d.ts +3 -3
  27. package/dist/src/analytics/context.d.ts.map +1 -1
  28. package/dist/src/analytics/context.js +1 -1
  29. package/dist/src/analytics/context.js.map +1 -1
  30. package/dist/src/analytics/hooks.d.ts +3 -2
  31. package/dist/src/analytics/hooks.d.ts.map +1 -1
  32. package/dist/src/analytics/hooks.js +2 -2
  33. package/dist/src/analytics/hooks.js.map +1 -1
  34. package/dist/src/analytics/index.d.ts +2 -0
  35. package/dist/src/analytics/index.d.ts.map +1 -0
  36. package/dist/src/analytics/index.js +2 -0
  37. package/dist/src/analytics/index.js.map +1 -0
  38. package/dist/src/analytics/types.d.ts +2 -2
  39. package/dist/src/analytics/types.d.ts.map +1 -1
  40. package/dist/src/constants.d.ts +3 -0
  41. package/dist/src/constants.d.ts.map +1 -0
  42. package/dist/src/constants.js +3 -0
  43. package/dist/src/constants.js.map +1 -0
  44. package/dist/src/context/read-mode.d.ts +2 -2
  45. package/dist/src/context/read-mode.d.ts.map +1 -1
  46. package/dist/src/context/read-mode.js +5 -9
  47. package/dist/src/context/read-mode.js.map +1 -1
  48. package/dist/src/crypto/browser.d.ts +1 -1
  49. package/dist/src/crypto/browser.d.ts.map +1 -1
  50. package/dist/src/crypto/browser.js +33 -10
  51. package/dist/src/crypto/browser.js.map +1 -1
  52. package/dist/src/crypto/index.d.ts +13 -5
  53. package/dist/src/crypto/index.d.ts.map +1 -1
  54. package/dist/src/crypto/index.js +61 -60
  55. package/dist/src/crypto/index.js.map +1 -1
  56. package/dist/src/document-model.d.ts +4 -3
  57. package/dist/src/document-model.d.ts.map +1 -1
  58. package/dist/src/document-model.js +1 -1
  59. package/dist/src/document-model.js.map +1 -1
  60. package/dist/src/events/add-ph-event-handlers.d.ts +2 -0
  61. package/dist/src/events/add-ph-event-handlers.d.ts.map +1 -0
  62. package/dist/src/events/add-ph-event-handlers.js +26 -0
  63. package/dist/src/events/add-ph-event-handlers.js.map +1 -0
  64. package/dist/src/events/config.d.ts +8 -0
  65. package/dist/src/events/config.d.ts.map +1 -0
  66. package/dist/src/events/config.js +25 -0
  67. package/dist/src/events/config.js.map +1 -0
  68. package/dist/src/events/crypto.d.ts +13 -0
  69. package/dist/src/events/crypto.d.ts.map +1 -0
  70. package/dist/src/events/crypto.js +49 -0
  71. package/dist/src/events/crypto.js.map +1 -0
  72. package/dist/src/events/documents.d.ts +7 -0
  73. package/dist/src/events/documents.d.ts.map +1 -0
  74. package/dist/src/events/documents.js +19 -0
  75. package/dist/src/events/documents.js.map +1 -0
  76. package/dist/src/events/drives.d.ts +13 -0
  77. package/dist/src/events/drives.d.ts.map +1 -0
  78. package/dist/src/events/drives.js +57 -0
  79. package/dist/src/events/drives.js.map +1 -0
  80. package/dist/src/events/index.d.ts +13 -0
  81. package/dist/src/events/index.d.ts.map +1 -0
  82. package/dist/src/events/index.js +13 -0
  83. package/dist/src/events/index.js.map +1 -0
  84. package/dist/src/events/nodes.d.ts +7 -0
  85. package/dist/src/events/nodes.d.ts.map +1 -0
  86. package/dist/src/events/nodes.js +34 -0
  87. package/dist/src/events/nodes.js.map +1 -0
  88. package/dist/src/events/processors.d.ts +8 -0
  89. package/dist/src/events/processors.d.ts.map +1 -0
  90. package/dist/src/events/processors.js +25 -0
  91. package/dist/src/events/processors.js.map +1 -0
  92. package/dist/src/events/reactor.d.ts +8 -0
  93. package/dist/src/events/reactor.d.ts.map +1 -0
  94. package/dist/src/events/reactor.js +25 -0
  95. package/dist/src/events/reactor.js.map +1 -0
  96. package/dist/src/events/renown.d.ts +8 -0
  97. package/dist/src/events/renown.d.ts.map +1 -0
  98. package/dist/src/events/renown.js +27 -0
  99. package/dist/src/events/renown.js.map +1 -0
  100. package/dist/src/events/types.d.ts +60 -0
  101. package/dist/src/events/types.d.ts.map +1 -0
  102. package/dist/src/{renown → events}/types.js.map +1 -1
  103. package/dist/src/events/user.d.ts +14 -0
  104. package/dist/src/events/user.d.ts.map +1 -0
  105. package/dist/src/events/user.js +49 -0
  106. package/dist/src/events/user.js.map +1 -0
  107. package/dist/src/events/vetra-packages.d.ts +8 -0
  108. package/dist/src/events/vetra-packages.d.ts.map +1 -0
  109. package/dist/src/events/vetra-packages.js +29 -0
  110. package/dist/src/events/vetra-packages.js.map +1 -0
  111. package/dist/src/global/types.d.ts +2 -2
  112. package/dist/src/global/types.d.ts.map +1 -1
  113. package/dist/src/hooks/config.d.ts +5 -0
  114. package/dist/src/hooks/config.d.ts.map +1 -0
  115. package/dist/src/hooks/config.js +18 -0
  116. package/dist/src/hooks/config.js.map +1 -0
  117. package/dist/src/hooks/crypto.d.ts +4 -0
  118. package/dist/src/hooks/crypto.d.ts.map +1 -0
  119. package/dist/src/hooks/crypto.js +15 -0
  120. package/dist/src/hooks/crypto.js.map +1 -0
  121. package/dist/src/hooks/dispatch.d.ts +3 -0
  122. package/dist/src/hooks/dispatch.d.ts.map +1 -0
  123. package/dist/src/hooks/dispatch.js +9 -0
  124. package/dist/src/hooks/dispatch.js.map +1 -0
  125. package/dist/src/hooks/documents.d.ts +13 -0
  126. package/dist/src/hooks/documents.d.ts.map +1 -0
  127. package/dist/src/hooks/documents.js +46 -0
  128. package/dist/src/hooks/documents.js.map +1 -0
  129. package/dist/src/hooks/{useDriveContext.d.ts → drive-context.d.ts} +3 -3
  130. package/dist/src/hooks/drive-context.d.ts.map +1 -0
  131. package/dist/src/hooks/{useDriveContext.js → drive-context.js} +1 -1
  132. package/dist/src/hooks/drive-context.js.map +1 -0
  133. package/dist/src/hooks/drives.d.ts +24 -0
  134. package/dist/src/hooks/drives.d.ts.map +1 -0
  135. package/dist/src/hooks/drives.js +89 -0
  136. package/dist/src/hooks/drives.js.map +1 -0
  137. package/dist/src/hooks/index.d.ts +11 -7
  138. package/dist/src/hooks/index.d.ts.map +1 -1
  139. package/dist/src/hooks/index.js +11 -7
  140. package/dist/src/hooks/index.js.map +1 -1
  141. package/dist/src/hooks/nodes.d.ts +41 -0
  142. package/dist/src/hooks/nodes.d.ts.map +1 -0
  143. package/dist/src/hooks/nodes.js +160 -0
  144. package/dist/src/hooks/nodes.js.map +1 -0
  145. package/dist/src/hooks/processor-manager.d.ts +3 -0
  146. package/dist/src/hooks/processor-manager.d.ts.map +1 -0
  147. package/dist/src/hooks/processor-manager.js +7 -0
  148. package/dist/src/hooks/processor-manager.js.map +1 -0
  149. package/dist/src/hooks/reactor.d.ts +3 -0
  150. package/dist/src/hooks/reactor.d.ts.map +1 -0
  151. package/dist/src/hooks/reactor.js +7 -0
  152. package/dist/src/hooks/reactor.js.map +1 -0
  153. package/dist/src/hooks/renown.d.ts +2 -0
  154. package/dist/src/hooks/renown.d.ts.map +1 -0
  155. package/dist/src/hooks/renown.js +7 -0
  156. package/dist/src/hooks/renown.js.map +1 -0
  157. package/dist/src/hooks/user.d.ts +7 -0
  158. package/dist/src/hooks/user.d.ts.map +1 -0
  159. package/dist/src/hooks/user.js +26 -0
  160. package/dist/src/hooks/user.js.map +1 -0
  161. package/dist/src/hooks/vetra-packages.d.ts +18 -0
  162. package/dist/src/hooks/vetra-packages.d.ts.map +1 -0
  163. package/dist/src/hooks/vetra-packages.js +75 -0
  164. package/dist/src/hooks/vetra-packages.js.map +1 -0
  165. package/dist/src/index.d.ts +6 -4
  166. package/dist/src/index.d.ts.map +1 -1
  167. package/dist/src/index.js +6 -2
  168. package/dist/src/index.js.map +1 -1
  169. package/dist/src/pglite/hooks/usePGlite.d.ts +1 -1
  170. package/dist/src/pglite/hooks/usePGlite.d.ts.map +1 -1
  171. package/dist/src/reactor.d.ts +10 -2
  172. package/dist/src/reactor.d.ts.map +1 -1
  173. package/dist/src/reactor.js +65 -0
  174. package/dist/src/reactor.js.map +1 -1
  175. package/dist/src/relational/hooks/useRelationalDb.d.ts +2 -2
  176. package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -1
  177. package/dist/src/relational/hooks/useRelationalDb.js.map +1 -1
  178. package/dist/src/relational/hooks/useRelationalQuery.d.ts +3 -3
  179. package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +1 -1
  180. package/dist/src/relational/utils/createProcessorQuery.d.ts +4 -4
  181. package/dist/src/relational/utils/createProcessorQuery.d.ts.map +1 -1
  182. package/dist/src/relational/utils/createProcessorQuery.js +1 -1
  183. package/dist/src/relational/utils/createProcessorQuery.js.map +1 -1
  184. package/dist/src/renown/index.d.ts +3 -0
  185. package/dist/src/renown/index.d.ts.map +1 -0
  186. package/dist/src/renown/index.js +3 -0
  187. package/dist/src/renown/index.js.map +1 -0
  188. package/dist/src/renown/utils.d.ts +7 -0
  189. package/dist/src/renown/utils.d.ts.map +1 -0
  190. package/dist/src/renown/utils.js +56 -0
  191. package/dist/src/renown/utils.js.map +1 -0
  192. package/dist/src/types/drive-editor.d.ts +10 -82
  193. package/dist/src/types/drive-editor.d.ts.map +1 -1
  194. package/dist/src/types/global.d.ts +62 -0
  195. package/dist/src/types/global.d.ts.map +1 -0
  196. package/dist/src/types/global.js +2 -0
  197. package/dist/src/types/global.js.map +1 -0
  198. package/dist/src/types/index.d.ts +3 -0
  199. package/dist/src/types/index.d.ts.map +1 -1
  200. package/dist/src/types/index.js +3 -0
  201. package/dist/src/types/index.js.map +1 -1
  202. package/dist/src/types/reactor.d.ts +4 -0
  203. package/dist/src/types/reactor.d.ts.map +1 -0
  204. package/dist/src/types/reactor.js +2 -0
  205. package/dist/src/types/reactor.js.map +1 -0
  206. package/dist/src/types/vetra.d.ts +65 -0
  207. package/dist/src/types/vetra.d.ts.map +1 -0
  208. package/dist/src/types/vetra.js +2 -0
  209. package/dist/src/types/vetra.js.map +1 -0
  210. package/dist/src/utils/drives.d.ts +21 -0
  211. package/dist/src/utils/drives.d.ts.map +1 -0
  212. package/dist/src/utils/drives.js +49 -0
  213. package/dist/src/utils/drives.js.map +1 -0
  214. package/dist/src/utils/index.d.ts +6 -4
  215. package/dist/src/utils/index.d.ts.map +1 -1
  216. package/dist/src/utils/index.js +6 -8
  217. package/dist/src/utils/index.js.map +1 -1
  218. package/dist/src/utils/nodes.d.ts +8 -0
  219. package/dist/src/utils/nodes.d.ts.map +1 -0
  220. package/dist/src/utils/nodes.js +17 -0
  221. package/dist/src/utils/nodes.js.map +1 -0
  222. package/dist/src/utils/switchboard.d.ts +3 -4
  223. package/dist/src/utils/switchboard.d.ts.map +1 -1
  224. package/dist/src/utils/switchboard.js +18 -22
  225. package/dist/src/utils/switchboard.js.map +1 -1
  226. package/dist/src/utils/url.d.ts +22 -0
  227. package/dist/src/utils/url.d.ts.map +1 -0
  228. package/dist/src/utils/url.js +59 -0
  229. package/dist/src/utils/url.js.map +1 -0
  230. package/dist/src/utils/user.d.ts +5 -0
  231. package/dist/src/utils/user.d.ts.map +1 -0
  232. package/dist/src/utils/user.js +15 -0
  233. package/dist/src/utils/user.js.map +1 -0
  234. package/dist/src/utils/vetra.d.ts +7 -0
  235. package/dist/src/utils/vetra.d.ts.map +1 -0
  236. package/dist/src/utils/vetra.js +78 -0
  237. package/dist/src/utils/vetra.js.map +1 -0
  238. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  239. package/dist/vitest.config.d.ts +3 -0
  240. package/dist/vitest.config.d.ts.map +1 -0
  241. package/dist/vitest.config.js +24 -0
  242. package/dist/vitest.config.js.map +1 -0
  243. package/package.json +11 -5
  244. package/dist/package.json +0 -75
  245. package/dist/src/hooks/document-state.d.ts +0 -24
  246. package/dist/src/hooks/document-state.d.ts.map +0 -1
  247. package/dist/src/hooks/document-state.js +0 -89
  248. package/dist/src/hooks/document-state.js.map +0 -1
  249. package/dist/src/hooks/useAddDebouncedOperations.d.ts +0 -7
  250. package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
  251. package/dist/src/hooks/useAddDebouncedOperations.js +0 -53
  252. package/dist/src/hooks/useAddDebouncedOperations.js.map +0 -1
  253. package/dist/src/hooks/useConnectCrypto.d.ts +0 -4
  254. package/dist/src/hooks/useConnectCrypto.d.ts.map +0 -1
  255. package/dist/src/hooks/useConnectCrypto.js +0 -57
  256. package/dist/src/hooks/useConnectCrypto.js.map +0 -1
  257. package/dist/src/hooks/useDocument.d.ts +0 -8
  258. package/dist/src/hooks/useDocument.d.ts.map +0 -1
  259. package/dist/src/hooks/useDocument.js +0 -32
  260. package/dist/src/hooks/useDocument.js.map +0 -1
  261. package/dist/src/hooks/useDocumentDispatch.d.ts +0 -10
  262. package/dist/src/hooks/useDocumentDispatch.d.ts.map +0 -1
  263. package/dist/src/hooks/useDocumentDispatch.js +0 -42
  264. package/dist/src/hooks/useDocumentDispatch.js.map +0 -1
  265. package/dist/src/hooks/useDocumentDrives.d.ts +0 -12
  266. package/dist/src/hooks/useDocumentDrives.d.ts.map +0 -1
  267. package/dist/src/hooks/useDocumentDrives.js +0 -122
  268. package/dist/src/hooks/useDocumentDrives.js.map +0 -1
  269. package/dist/src/hooks/useDocumentEditor.d.ts +0 -32
  270. package/dist/src/hooks/useDocumentEditor.d.ts.map +0 -1
  271. package/dist/src/hooks/useDocumentEditor.js +0 -41
  272. package/dist/src/hooks/useDocumentEditor.js.map +0 -1
  273. package/dist/src/hooks/useDriveActions.d.ts +0 -79
  274. package/dist/src/hooks/useDriveActions.d.ts.map +0 -1
  275. package/dist/src/hooks/useDriveActions.js +0 -108
  276. package/dist/src/hooks/useDriveActions.js.map +0 -1
  277. package/dist/src/hooks/useDriveContext.d.ts.map +0 -1
  278. package/dist/src/hooks/useDriveContext.js.map +0 -1
  279. package/dist/src/hooks/useUserPermissions.d.ts +0 -6
  280. package/dist/src/hooks/useUserPermissions.d.ts.map +0 -1
  281. package/dist/src/hooks/useUserPermissions.js +0 -7
  282. package/dist/src/hooks/useUserPermissions.js.map +0 -1
  283. package/dist/src/renown/types.d.ts +0 -76
  284. package/dist/src/renown/types.d.ts.map +0 -1
  285. package/dist/src/utils/export-document.d.ts +0 -3
  286. package/dist/src/utils/export-document.d.ts.map +0 -1
  287. package/dist/src/utils/export-document.js +0 -19
  288. package/dist/src/utils/export-document.js.map +0 -1
  289. package/dist/src/utils/signature.d.ts +0 -5
  290. package/dist/src/utils/signature.d.ts.map +0 -1
  291. package/dist/src/utils/signature.js +0 -40
  292. package/dist/src/utils/signature.js.map +0 -1
  293. /package/dist/src/{renown → events}/types.js +0 -0
@@ -0,0 +1,65 @@
1
+ import type { IAnalyticsStore } from "@powerhousedao/analytics-engine-core";
2
+ import type { IRelationalDb, ProcessorRecord } from "document-drive/processors/types";
3
+ import type { Action, Author, DocumentModelState, DocumentSpecification, ImportScriptModule, PHDocumentHeader, Reducer, 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,21 @@
1
+ import type { DocumentDriveDocument, FolderNode } from "document-drive";
2
+ import type { PHDocument } from "document-model";
3
+ import type { Reactor } from "../types/reactor.js";
4
+ /** Returns whether a drive is available offline. */
5
+ export declare function getDriveAvailableOffline(drive: {
6
+ state: {
7
+ local: {
8
+ availableOffline?: boolean | null;
9
+ };
10
+ };
11
+ readContext?: {
12
+ availableOffline?: boolean | null;
13
+ };
14
+ } | undefined | null): boolean;
15
+ /** Makes a folder node from a drive, used for making breadcrumbs. */
16
+ export declare function makeFolderNodeFromDrive(drive: DocumentDriveDocument | null | undefined): FolderNode | undefined;
17
+ export declare function getDocumentsForDriveId(reactor: Reactor | undefined, driveId: string | undefined): Promise<PHDocument[]>;
18
+ export declare function getDrives(reactor: Reactor | undefined): Promise<DocumentDriveDocument[]>;
19
+ export declare function getDocuments(reactor: Reactor | undefined): Promise<PHDocument[]>;
20
+ export declare function getDriveById(reactor: Reactor | undefined, driveId: string | undefined): Promise<DocumentDriveDocument | undefined>;
21
+ //# 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,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,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,49 @@
1
+ /** Returns whether a drive is available offline. */
2
+ export function getDriveAvailableOffline(drive) {
3
+ if (!drive)
4
+ return false;
5
+ const isReadDrive = "readContext" in drive;
6
+ const { availableOffline: _availableOffline } = !isReadDrive
7
+ ? drive.state.local
8
+ : { availableOffline: false };
9
+ return _availableOffline ?? false;
10
+ }
11
+ /** Makes a folder node from a drive, used for making breadcrumbs. */
12
+ export function makeFolderNodeFromDrive(drive) {
13
+ if (!drive)
14
+ return undefined;
15
+ return {
16
+ id: drive.header.id,
17
+ name: drive.state.global.name,
18
+ kind: "FOLDER",
19
+ parentFolder: null,
20
+ };
21
+ }
22
+ export async function getDocumentsForDriveId(reactor, driveId) {
23
+ if (!reactor || !driveId)
24
+ return [];
25
+ const documentIds = await reactor.getDocuments(driveId);
26
+ const documents = await Promise.all(documentIds.map((id) => reactor.getDocument(id)));
27
+ return documents;
28
+ }
29
+ export async function getDrives(reactor) {
30
+ if (!reactor)
31
+ return [];
32
+ const driveIds = await reactor.getDrives();
33
+ const drives = await Promise.all(driveIds.map((id) => reactor.getDrive(id)));
34
+ return drives;
35
+ }
36
+ export async function getDocuments(reactor) {
37
+ if (!reactor)
38
+ return [];
39
+ const driveIds = await reactor.getDrives();
40
+ const documentIds = await Promise.all(driveIds.map((id) => reactor.getDocuments(id)));
41
+ const documents = await Promise.all(documentIds.flat().map((id) => reactor.getDocument(id)));
42
+ return documents;
43
+ }
44
+ export async function getDriveById(reactor, driveId) {
45
+ if (!reactor || !driveId)
46
+ return undefined;
47
+ return await reactor.getDrive(driveId);
48
+ }
49
+ //# sourceMappingURL=drives.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drives.js","sourceRoot":"","sources":["../../../src/utils/drives.ts"],"names":[],"mappings":"AAIA,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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAOxD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAEpE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -1,9 +1,7 @@
1
- export function documentToHash(drive) {
2
- return Object.keys(drive.operations)
3
- .map((key) => `${key}:${drive.operations[key].length}:${drive.operations[key].at(-1)?.hash}`)
4
- .join(":");
5
- }
6
- export function drivesToHash(drives) {
7
- return drives.map(documentToHash).join("&");
8
- }
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";
9
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,cAAc,CAAC,KAAiB;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;SACjC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,GAAG,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CACjF;SACA,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAA+B;IAC1D,OAAO,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { FileNode, FolderNode, Node } from "document-drive";
2
+ /** Sorts nodes by name. */
3
+ export declare function sortNodesByName<T extends Node>(nodes: T[]): T[];
4
+ /** Returns whether a node is a file. */
5
+ export declare function isFileNodeKind(node: Node | null | undefined): node is FileNode;
6
+ /** Returns whether a node is a folder. */
7
+ export declare function isFolderNodeKind(node: Node | null | undefined): node is FolderNode;
8
+ //# sourceMappingURL=nodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/utils/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEjE,2BAA2B;AAC3B,wBAAgB,eAAe,CAAC,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,OAEzD;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAC5B,IAAI,IAAI,QAAQ,CAGlB;AAED,0CAA0C;AAC1C,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAC5B,IAAI,IAAI,UAAU,CAGpB"}
@@ -0,0 +1,17 @@
1
+ /** Sorts nodes by name. */
2
+ export function sortNodesByName(nodes) {
3
+ return nodes.toSorted((a, b) => a.name.localeCompare(b.name));
4
+ }
5
+ /** Returns whether a node is a file. */
6
+ export function isFileNodeKind(node) {
7
+ if (!node)
8
+ return false;
9
+ return node.kind.toUpperCase() === "FILE";
10
+ }
11
+ /** Returns whether a node is a folder. */
12
+ export function isFolderNodeKind(node) {
13
+ if (!node)
14
+ return false;
15
+ return node.kind.toUpperCase() === "FOLDER";
16
+ }
17
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/utils/nodes.ts"],"names":[],"mappings":"AAEA,2BAA2B;AAC3B,MAAM,UAAU,eAAe,CAAiB,KAAU;IACxD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,cAAc,CAC5B,IAA6B;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAC5C,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,gBAAgB,CAC9B,IAA6B;IAE7B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC;AAC9C,CAAC"}
@@ -1,8 +1,7 @@
1
- import { type DocumentModelState } from "document-model";
2
1
  export declare function getDriveIdBySlug(driveUrl: string, slug: string): Promise<string | undefined>;
3
2
  export declare function getSlugFromDriveUrl(driveUrl: string): string | undefined;
4
3
  export declare function getSwitchboardGatewayUrlFromDriveUrl(driveUrl: string): string;
5
- export declare function getDocumentGraphqlQuery(documentModel: DocumentModelState): string;
6
- export declare function buildDocumentSubgraphQuery(driveUrl: string, documentId: string, documentModel: DocumentModelState): string;
7
- export declare function buildDocumentSubgraphUrl(driveUrl: string, documentId: string, documentModel: DocumentModelState): string;
4
+ export declare function getDocumentGraphqlQuery(): string;
5
+ export declare function buildDocumentSubgraphQuery(driveUrl: string, documentId: string, authToken?: string): string;
6
+ export declare function buildDocumentSubgraphUrl(driveUrl: string, documentId: string, authToken?: string): string;
8
7
  //# sourceMappingURL=switchboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"switchboard.d.ts","sourceRoot":"","sources":["../../../src/utils/switchboard.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzD,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+BAgCpE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,sBAGnD;AAED,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,UAMpE;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,kBAAkB,UAmBxE;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,kBAAkB,UAWlC;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,kBAAkB,UAUlC"}
1
+ {"version":3,"file":"switchboard.d.ts","sourceRoot":"","sources":["../../../src/utils/switchboard.ts"],"names":[],"mappings":"AAEA,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,+BAgCpE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,sBAGnD;AAED,wBAAgB,oCAAoC,CAAC,QAAQ,EAAE,MAAM,UAMpE;AAED,wBAAgB,uBAAuB,WAUtC;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,UAqBnB;AAED,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,UAQnB"}
@@ -1,5 +1,3 @@
1
- import { kebabCase } from "change-case";
2
- import { generateDocumentStateQueryFields } from "document-drive/utils/graphql";
3
1
  import { compressToEncodedURIComponent } from "lz-string";
4
2
  export async function getDriveIdBySlug(driveUrl, slug) {
5
3
  if (!driveUrl) {
@@ -40,36 +38,34 @@ export function getSwitchboardGatewayUrlFromDriveUrl(driveUrl) {
40
38
  urlParts.push("graphql"); // add /graphql
41
39
  return urlParts.join("/");
42
40
  }
43
- export function getDocumentGraphqlQuery(documentModel) {
44
- const stateFields = generateDocumentStateQueryFields(documentModel, "document");
45
- return `query getDocument($documentId: PHID!, $driveId: String) {
46
- ${documentModel.name} {
47
- getDocument(docId: $documentId, driveId: $driveId) {
41
+ export function getDocumentGraphqlQuery() {
42
+ return `query getDocument($documentId: String!) {
43
+ document(id: $documentId) {
48
44
  id
49
- created
50
45
  lastModified
51
46
  name
52
47
  revision
53
- state {
54
- ${stateFields}
55
- }
48
+ stateJSON
56
49
  }
57
- }
58
- }`;
50
+ }`;
59
51
  }
60
- export function buildDocumentSubgraphQuery(driveUrl, documentId, documentModel) {
52
+ export function buildDocumentSubgraphQuery(driveUrl, documentId, authToken) {
61
53
  const driveSlug = getSlugFromDriveUrl(driveUrl);
62
- const query = getDocumentGraphqlQuery(documentModel);
54
+ const query = getDocumentGraphqlQuery();
63
55
  const variables = { documentId, driveId: driveSlug };
64
- return compressToEncodedURIComponent(JSON.stringify({
56
+ const queryData = {
65
57
  document: query.trim(),
66
58
  variables: JSON.stringify(variables, null, 2),
67
- }));
59
+ };
60
+ if (authToken) {
61
+ queryData.headers = JSON.stringify({
62
+ Authorization: `Bearer ${authToken}`,
63
+ });
64
+ }
65
+ return compressToEncodedURIComponent(JSON.stringify(queryData));
68
66
  }
69
- export function buildDocumentSubgraphUrl(driveUrl, documentId, documentModel) {
70
- const switchboardUrl = getSwitchboardGatewayUrlFromDriveUrl(driveUrl);
71
- const subgraph = kebabCase(documentModel.name);
72
- const encodedQuery = buildDocumentSubgraphQuery(driveUrl, documentId, documentModel);
73
- return `${switchboardUrl}/${subgraph}?explorerURLState=${encodedQuery}`;
67
+ export function buildDocumentSubgraphUrl(driveUrl, documentId, authToken) {
68
+ const encodedQuery = buildDocumentSubgraphQuery(driveUrl, documentId, authToken);
69
+ return `${driveUrl}?explorerURLState=${encodedQuery}`;
74
70
  }
75
71
  //# sourceMappingURL=switchboard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"switchboard.js","sourceRoot":"","sources":["../../../src/utils/switchboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"switchboard.js","sourceRoot":"","sources":["../../../src/utils/switchboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,WAAW,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB,EAAE,IAAY;IACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY;IAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY;IAC5B,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc;IACvC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE;QACpC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE;;;;qBAIQ;YACf,SAAS,EAAE;gBACT,IAAI;aACL;SACF,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAEhC,CAAC;IAEF,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oCAAoC,CAAC,QAAgB;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY;IAC5B,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,YAAY;IAC5B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe;IACzC,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,uBAAuB;IACrC,OAAO;;;;;;;;IAQL,CAAC;AACL,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAgB,EAChB,UAAkB,EAClB,SAAkB;IAElB,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IACrD,MAAM,SAAS,GAIX;QACF,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE;QACtB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KAC9C,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,aAAa,EAAE,UAAU,SAAS,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAAgB,EAChB,UAAkB,EAClB,SAAkB;IAElB,MAAM,YAAY,GAAG,0BAA0B,CAC7C,QAAQ,EACR,UAAU,EACV,SAAS,CACV,CAAC;IACF,OAAO,GAAG,QAAQ,qBAAqB,YAAY,EAAE,CAAC;AACxD,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { DocumentDriveDocument, Node } from "document-drive";
2
+ /** Makes a URL component for a drive. */
3
+ export declare function makeDriveUrlComponent(drive: DocumentDriveDocument | undefined): string;
4
+ /** Makes a URL component for a node. */
5
+ export declare function makeNodeSlug(node: Node | undefined): string;
6
+ /** Extracts the node slug from a path.
7
+ *
8
+ * The path is expected to be in the format `/d/<drive-slug>/<node-slug>`.
9
+ */
10
+ export declare function extractNodeSlugFromPath(path: string): string;
11
+ /** Finds a UUID in a string, used for extracting node ids from node slugs in the URL. */
12
+ export declare function findUuid(input: string | undefined): string | undefined;
13
+ export declare function extractNodeIdFromSlug(nodeSlug: string | undefined): string | undefined;
14
+ export declare function extractNodeIdFromPath(path: string): string | undefined;
15
+ /** Extracts the drive slug from a path.
16
+ * Used for extracting drive ids from drive slugs in the URL.
17
+ * Expects the path to be in the format `/d/<drive-slug>`.
18
+ */
19
+ export declare function extractDriveSlugFromPath(path: string): string;
20
+ export declare function extractDriveIdFromSlug(driveSlug: string | undefined): string | undefined;
21
+ export declare function extractDriveIdFromPath(path: string): string | undefined;
22
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGlE,yCAAyC;AACzC,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,qBAAqB,GAAG,SAAS,UAIzC;AAED,wCAAwC;AACxC,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,UAKlD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,UAGnD;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,sBAMjD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,sBAGjE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,sBAIjD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,UAGpD;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,sBAGnE;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,sBAIlD"}
@@ -0,0 +1,59 @@
1
+ import slug from "slug";
2
+ /** Makes a URL component for a drive. */
3
+ export function makeDriveUrlComponent(drive) {
4
+ if (!drive)
5
+ return "";
6
+ return `/d/${slug(drive.header.slug)}`;
7
+ }
8
+ /** Makes a URL component for a node. */
9
+ export function makeNodeSlug(node) {
10
+ if (!node)
11
+ return "";
12
+ const nodeName = node.name;
13
+ if (!nodeName)
14
+ return slug(node.id);
15
+ return slug(`${nodeName}-${node.id}`);
16
+ }
17
+ /** Extracts the node slug from a path.
18
+ *
19
+ * The path is expected to be in the format `/d/<drive-slug>/<node-slug>`.
20
+ */
21
+ export function extractNodeSlugFromPath(path) {
22
+ const match = /^\/d\/[^/]+\/([^/]+)$/.exec(path);
23
+ return match?.[1] ?? "";
24
+ }
25
+ /** Finds a UUID in a string, used for extracting node ids from node slugs in the URL. */
26
+ export function findUuid(input) {
27
+ if (!input)
28
+ return undefined;
29
+ const uuidRegex = /\b[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\b/;
30
+ const match = uuidRegex.exec(input);
31
+ return match?.[0];
32
+ }
33
+ export function extractNodeIdFromSlug(nodeSlug) {
34
+ const nodeId = findUuid(nodeSlug);
35
+ return nodeId;
36
+ }
37
+ export function extractNodeIdFromPath(path) {
38
+ const nodeSlug = extractNodeSlugFromPath(path);
39
+ const nodeId = extractNodeIdFromSlug(nodeSlug);
40
+ return nodeId;
41
+ }
42
+ /** Extracts the drive slug from a path.
43
+ * Used for extracting drive ids from drive slugs in the URL.
44
+ * Expects the path to be in the format `/d/<drive-slug>`.
45
+ */
46
+ export function extractDriveSlugFromPath(path) {
47
+ const match = /^\/d\/([^/]+)/.exec(path);
48
+ return match?.[1] ?? "";
49
+ }
50
+ export function extractDriveIdFromSlug(driveSlug) {
51
+ const driveId = findUuid(driveSlug);
52
+ return driveId;
53
+ }
54
+ export function extractDriveIdFromPath(path) {
55
+ const driveSlug = extractDriveSlugFromPath(path);
56
+ const driveId = extractDriveIdFromSlug(driveSlug);
57
+ return driveId;
58
+ }
59
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/utils/url.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,yCAAyC;AACzC,MAAM,UAAU,qBAAqB,CACnC,KAAwC;IAExC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AACzC,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,YAAY,CAAC,IAAsB;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IAC3B,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpC,OAAO,IAAI,CAAC,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,QAAQ,CAAC,KAAyB;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,SAAS,GACb,iFAAiF,CAAC;IACpF,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAA4B;IAChE,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,SAA6B;IAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function getUserPermissions(): {
2
+ isAllowedToCreateDocuments: boolean;
3
+ isAllowedToEditDocuments: boolean;
4
+ };
5
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../src/utils/user.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB;;;EAajC"}
@@ -0,0 +1,15 @@
1
+ export function getUserPermissions() {
2
+ const user = window.user;
3
+ const allowList = window.phAppConfig?.allowList;
4
+ if (!allowList) {
5
+ return {
6
+ isAllowedToCreateDocuments: true,
7
+ isAllowedToEditDocuments: true,
8
+ };
9
+ }
10
+ return {
11
+ isAllowedToCreateDocuments: allowList.includes(user?.address ?? ""),
12
+ isAllowedToEditDocuments: allowList.includes(user?.address ?? ""),
13
+ };
14
+ }
15
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/utils/user.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,kBAAkB;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,0BAA0B,EAAE,IAAI;YAChC,wBAAwB,EAAE,IAAI;SAC/B,CAAC;IACJ,CAAC;IACD,OAAO;QACL,0BAA0B,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;QACnE,wBAAwB,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DocumentModelLib, DocumentModelModule, EditorModule } from "document-model";
2
+ import type { VetraDocumentModelModule, VetraEditorModule, VetraPackage, VetraPackageManifest } from "../types/vetra.js";
3
+ export declare function convertLegacyLibToVetraPackage(legacyLib: DocumentModelLib): VetraPackage;
4
+ export declare function convertLegacyDocumentModelModuleToVetraDocumentModelModule(legacyDocumentModelModule: DocumentModelModule): VetraDocumentModelModule;
5
+ export declare function convertLegacyEditorModuleToVetraEditorModule(legacyEditorModule: EditorModule): VetraEditorModule;
6
+ export declare function makeVetraPackageManifest(vetraPackage: VetraPackage): VetraPackageManifest;
7
+ //# sourceMappingURL=vetra.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vetra.d.ts","sourceRoot":"","sources":["../../../src/utils/vetra.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EAGjB,YAAY,EACZ,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,gBAAgB,GAC1B,YAAY,CAsBd;AAED,wBAAgB,0DAA0D,CACxE,yBAAyB,EAAE,mBAAmB,4BAuB/C;AAED,wBAAgB,4CAA4C,CAC1D,kBAAkB,EAAE,YAAY,GAC/B,iBAAiB,CAcnB;AAED,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,GACzB,oBAAoB,CAUtB"}
@@ -0,0 +1,78 @@
1
+ import { generateId } from "document-model";
2
+ export function convertLegacyLibToVetraPackage(legacyLib) {
3
+ const id = generateId();
4
+ const vetraPackage = {
5
+ id,
6
+ name: legacyLib.manifest.name,
7
+ description: legacyLib.manifest.description,
8
+ category: legacyLib.manifest.category,
9
+ author: {
10
+ name: "Powerhouse",
11
+ website: "https://powerhousedao.com",
12
+ },
13
+ modules: {
14
+ documentModelModules: legacyLib.documentModels.map(convertLegacyDocumentModelModuleToVetraDocumentModelModule),
15
+ editorModules: legacyLib.editors.map(convertLegacyEditorModuleToVetraEditorModule),
16
+ },
17
+ };
18
+ return vetraPackage;
19
+ }
20
+ export function convertLegacyDocumentModelModuleToVetraDocumentModelModule(legacyDocumentModelModule) {
21
+ const documentModel = legacyDocumentModelModule.documentModel;
22
+ const name = documentModel.name;
23
+ const documentType = documentModel.id;
24
+ const unsafeIdFromDocumentType = documentType;
25
+ const extension = documentModel.extension;
26
+ const specifications = documentModel.specifications;
27
+ const reducer = legacyDocumentModelModule.reducer;
28
+ const actions = legacyDocumentModelModule.actions;
29
+ const utils = legacyDocumentModelModule.utils;
30
+ const vetraDocumentModelModule = {
31
+ id: unsafeIdFromDocumentType,
32
+ name,
33
+ documentType,
34
+ extension,
35
+ documentModel,
36
+ specifications,
37
+ reducer,
38
+ actions,
39
+ utils,
40
+ };
41
+ return vetraDocumentModelModule;
42
+ }
43
+ export function convertLegacyEditorModuleToVetraEditorModule(legacyEditorModule) {
44
+ const config = legacyEditorModule.config;
45
+ const unsafeNameFromConfig = config.id;
46
+ const unsafeIdFromConfig = unsafeNameFromConfig;
47
+ const documentTypes = legacyEditorModule.documentTypes;
48
+ const Component = legacyEditorModule.Component;
49
+ const vetraEditorModule = {
50
+ id: unsafeIdFromConfig,
51
+ name: unsafeNameFromConfig,
52
+ documentTypes,
53
+ Component,
54
+ config,
55
+ };
56
+ return vetraEditorModule;
57
+ }
58
+ export function makeVetraPackageManifest(vetraPackage) {
59
+ const { id, name, description, category, author, modules } = vetraPackage;
60
+ return {
61
+ id,
62
+ name,
63
+ description,
64
+ category,
65
+ author,
66
+ modules: makeVetraPackageManifestModulesEntry(modules),
67
+ };
68
+ }
69
+ function makeVetraPackageManifestModulesEntry(modules) {
70
+ return Object.entries(modules).reduce((acc, [moduleType, module]) => {
71
+ acc[moduleType] = module.map((m) => ({
72
+ id: m.id,
73
+ name: m.name,
74
+ }));
75
+ return acc;
76
+ }, {});
77
+ }
78
+ //# sourceMappingURL=vetra.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vetra.js","sourceRoot":"","sources":["../../../src/utils/vetra.ts"],"names":[],"mappings":"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"}