@powerhousedao/reactor-browser 5.0.0-staging.3 → 5.0.0-staging.30

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 (174) hide show
  1. package/README.md +125 -79
  2. package/dist/src/actions/dispatch.d.ts +1 -1
  3. package/dist/src/actions/dispatch.d.ts.map +1 -1
  4. package/dist/src/actions/document.d.ts +6 -4
  5. package/dist/src/actions/document.d.ts.map +1 -1
  6. package/dist/src/actions/document.js +207 -6
  7. package/dist/src/actions/document.js.map +1 -1
  8. package/dist/src/actions/drive.d.ts +1 -1
  9. package/dist/src/actions/drive.d.ts.map +1 -1
  10. package/dist/src/actions/drive.js.map +1 -1
  11. package/dist/src/actions/queue.d.ts +3 -1
  12. package/dist/src/actions/queue.d.ts.map +1 -1
  13. package/dist/src/actions/queue.js +15 -0
  14. package/dist/src/actions/queue.js.map +1 -1
  15. package/dist/src/actions/sign.d.ts +1 -1
  16. package/dist/src/actions/sign.d.ts.map +1 -1
  17. package/dist/src/actions/sign.js +1 -1
  18. package/dist/src/actions/sign.js.map +1 -1
  19. package/dist/src/analytics/context.d.ts +3 -3
  20. package/dist/src/analytics/context.d.ts.map +1 -1
  21. package/dist/src/analytics/context.js +1 -1
  22. package/dist/src/analytics/context.js.map +1 -1
  23. package/dist/src/analytics/hooks.d.ts +3 -2
  24. package/dist/src/analytics/hooks.d.ts.map +1 -1
  25. package/dist/src/analytics/hooks.js +2 -2
  26. package/dist/src/analytics/hooks.js.map +1 -1
  27. package/dist/src/analytics/types.d.ts +2 -2
  28. package/dist/src/analytics/types.d.ts.map +1 -1
  29. package/dist/src/context/read-mode.d.ts +2 -2
  30. package/dist/src/context/read-mode.d.ts.map +1 -1
  31. package/dist/src/context/read-mode.js +2 -2
  32. package/dist/src/context/read-mode.js.map +1 -1
  33. package/dist/src/crypto/browser.d.ts +1 -1
  34. package/dist/src/crypto/browser.d.ts.map +1 -1
  35. package/dist/src/crypto/index.d.ts +1 -1
  36. package/dist/src/crypto/index.d.ts.map +1 -1
  37. package/dist/src/crypto/index.js +1 -1
  38. package/dist/src/crypto/index.js.map +1 -1
  39. package/dist/src/document-model.d.ts +2 -2
  40. package/dist/src/document-model.d.ts.map +1 -1
  41. package/dist/src/document-model.js +1 -1
  42. package/dist/src/document-model.js.map +1 -1
  43. package/dist/src/events/add-ph-event-handlers.d.ts.map +1 -1
  44. package/dist/src/events/add-ph-event-handlers.js +2 -0
  45. package/dist/src/events/add-ph-event-handlers.js.map +1 -1
  46. package/dist/src/events/config.d.ts +2 -2
  47. package/dist/src/events/config.d.ts.map +1 -1
  48. package/dist/src/events/crypto.d.ts +2 -2
  49. package/dist/src/events/crypto.d.ts.map +1 -1
  50. package/dist/src/events/documents.d.ts +2 -2
  51. package/dist/src/events/documents.d.ts.map +1 -1
  52. package/dist/src/events/drives.d.ts +2 -2
  53. package/dist/src/events/drives.d.ts.map +1 -1
  54. package/dist/src/events/modals.d.ts +9 -0
  55. package/dist/src/events/modals.d.ts.map +1 -0
  56. package/dist/src/events/modals.js +28 -0
  57. package/dist/src/events/modals.js.map +1 -0
  58. package/dist/src/events/nodes.d.ts +1 -1
  59. package/dist/src/events/nodes.d.ts.map +1 -1
  60. package/dist/src/events/processors.d.ts +2 -2
  61. package/dist/src/events/processors.d.ts.map +1 -1
  62. package/dist/src/events/reactor.d.ts +2 -2
  63. package/dist/src/events/reactor.d.ts.map +1 -1
  64. package/dist/src/events/renown.d.ts +2 -2
  65. package/dist/src/events/renown.d.ts.map +1 -1
  66. package/dist/src/events/types.d.ts +12 -7
  67. package/dist/src/events/types.d.ts.map +1 -1
  68. package/dist/src/events/user.d.ts +3 -3
  69. package/dist/src/events/user.d.ts.map +1 -1
  70. package/dist/src/events/vetra-packages.d.ts +2 -2
  71. package/dist/src/events/vetra-packages.d.ts.map +1 -1
  72. package/dist/src/global/types.d.ts +2 -2
  73. package/dist/src/global/types.d.ts.map +1 -1
  74. package/dist/src/hooks/dispatch.d.ts +1 -1
  75. package/dist/src/hooks/dispatch.d.ts.map +1 -1
  76. package/dist/src/hooks/documents.d.ts +18 -3
  77. package/dist/src/hooks/documents.d.ts.map +1 -1
  78. package/dist/src/hooks/documents.js +49 -5
  79. package/dist/src/hooks/documents.js.map +1 -1
  80. package/dist/src/hooks/drives.d.ts +5 -2
  81. package/dist/src/hooks/drives.d.ts.map +1 -1
  82. package/dist/src/hooks/drives.js +11 -0
  83. package/dist/src/hooks/drives.js.map +1 -1
  84. package/dist/src/hooks/index.d.ts +2 -1
  85. package/dist/src/hooks/index.d.ts.map +1 -1
  86. package/dist/src/hooks/index.js +2 -1
  87. package/dist/src/hooks/index.js.map +1 -1
  88. package/dist/src/hooks/modals.d.ts +7 -0
  89. package/dist/src/hooks/modals.d.ts.map +1 -0
  90. package/dist/src/hooks/modals.js +18 -0
  91. package/dist/src/hooks/modals.js.map +1 -0
  92. package/dist/src/hooks/nodes.d.ts +11 -2
  93. package/dist/src/hooks/nodes.d.ts.map +1 -1
  94. package/dist/src/hooks/nodes.js +94 -3
  95. package/dist/src/hooks/nodes.js.map +1 -1
  96. package/dist/src/hooks/processor-manager.d.ts +1 -1
  97. package/dist/src/hooks/processor-manager.d.ts.map +1 -1
  98. package/dist/src/hooks/reactor.d.ts +1 -1
  99. package/dist/src/hooks/reactor.d.ts.map +1 -1
  100. package/dist/src/hooks/use-on-drop-file.d.ts +6 -0
  101. package/dist/src/hooks/use-on-drop-file.d.ts.map +1 -0
  102. package/dist/src/hooks/use-on-drop-file.js +21 -0
  103. package/dist/src/hooks/use-on-drop-file.js.map +1 -0
  104. package/dist/src/hooks/vetra-packages.d.ts +2 -2
  105. package/dist/src/hooks/vetra-packages.d.ts.map +1 -1
  106. package/dist/src/pglite/hooks/usePGlite.d.ts +1 -1
  107. package/dist/src/pglite/hooks/usePGlite.d.ts.map +1 -1
  108. package/dist/src/reactor.d.ts +7 -6
  109. package/dist/src/reactor.d.ts.map +1 -1
  110. package/dist/src/reactor.js +29 -2
  111. package/dist/src/reactor.js.map +1 -1
  112. package/dist/src/relational/hooks/useRelationalDb.d.ts +2 -2
  113. package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -1
  114. package/dist/src/relational/hooks/useRelationalDb.js.map +1 -1
  115. package/dist/src/relational/hooks/useRelationalQuery.d.ts +3 -3
  116. package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +1 -1
  117. package/dist/src/relational/utils/createProcessorQuery.d.ts +4 -4
  118. package/dist/src/relational/utils/createProcessorQuery.d.ts.map +1 -1
  119. package/dist/src/relational/utils/createProcessorQuery.js +1 -1
  120. package/dist/src/relational/utils/createProcessorQuery.js.map +1 -1
  121. package/dist/src/renown/utils.d.ts +3 -3
  122. package/dist/src/renown/utils.d.ts.map +1 -1
  123. package/dist/src/types/drive-editor.d.ts +15 -64
  124. package/dist/src/types/drive-editor.d.ts.map +1 -1
  125. package/dist/src/types/global.d.ts +11 -6
  126. package/dist/src/types/global.d.ts.map +1 -1
  127. package/dist/src/types/index.d.ts +1 -0
  128. package/dist/src/types/index.d.ts.map +1 -1
  129. package/dist/src/types/index.js +1 -0
  130. package/dist/src/types/index.js.map +1 -1
  131. package/dist/src/types/modals.d.ts +32 -0
  132. package/dist/src/types/modals.d.ts.map +1 -0
  133. package/dist/src/types/modals.js +2 -0
  134. package/dist/src/types/modals.js.map +1 -0
  135. package/dist/src/types/reactor.d.ts +1 -1
  136. package/dist/src/types/reactor.d.ts.map +1 -1
  137. package/dist/src/types/upload.d.ts +14 -0
  138. package/dist/src/types/upload.d.ts.map +1 -0
  139. package/dist/src/types/upload.js +2 -0
  140. package/dist/src/types/upload.js.map +1 -0
  141. package/dist/src/types/vetra.d.ts +8 -4
  142. package/dist/src/types/vetra.d.ts.map +1 -1
  143. package/dist/src/utils/documents.d.ts +2 -0
  144. package/dist/src/utils/documents.d.ts.map +1 -0
  145. package/dist/src/utils/documents.js +24 -0
  146. package/dist/src/utils/documents.js.map +1 -0
  147. package/dist/src/utils/drives.d.ts +3 -3
  148. package/dist/src/utils/drives.d.ts.map +1 -1
  149. package/dist/src/utils/index.d.ts +1 -0
  150. package/dist/src/utils/index.d.ts.map +1 -1
  151. package/dist/src/utils/index.js +1 -0
  152. package/dist/src/utils/index.js.map +1 -1
  153. package/dist/src/utils/nodes.d.ts +1 -1
  154. package/dist/src/utils/nodes.d.ts.map +1 -1
  155. package/dist/src/utils/switchboard.d.ts +3 -4
  156. package/dist/src/utils/switchboard.d.ts.map +1 -1
  157. package/dist/src/utils/switchboard.js +12 -15
  158. package/dist/src/utils/switchboard.js.map +1 -1
  159. package/dist/src/utils/unsupported-document-type-error.d.ts +4 -0
  160. package/dist/src/utils/unsupported-document-type-error.d.ts.map +1 -0
  161. package/dist/src/utils/unsupported-document-type-error.js +7 -0
  162. package/dist/src/utils/unsupported-document-type-error.js.map +1 -0
  163. package/dist/src/utils/url.d.ts +1 -1
  164. package/dist/src/utils/url.d.ts.map +1 -1
  165. package/dist/src/utils/vetra.d.ts +3 -3
  166. package/dist/src/utils/vetra.d.ts.map +1 -1
  167. package/dist/src/utils/vetra.js +13 -6
  168. package/dist/src/utils/vetra.js.map +1 -1
  169. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  170. package/package.json +5 -4
  171. package/dist/src/hooks/drive-context.d.ts +0 -21
  172. package/dist/src/hooks/drive-context.d.ts.map +0 -1
  173. package/dist/src/hooks/drive-context.js +0 -26
  174. package/dist/src/hooks/drive-context.js.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { useSyncExternalStore } from "react";
2
2
  import { useDispatch } from "./dispatch.js";
3
- import { useFileNodes, useSelectedNodeId } from "./nodes.js";
3
+ import { useFileNodes, useNodeKind, useSelectedNodeId } from "./nodes.js";
4
+ import { useDocumentModelModuleById } from "./vetra-packages.js";
4
5
  function getDocumentsSnapshot() {
5
6
  const documents = window.phDocuments;
6
7
  return documents;
@@ -20,12 +21,19 @@ export function useSelectedDriveDocuments() {
20
21
  const fileNodeIds = fileNodes?.map((node) => node.id);
21
22
  return documents?.filter((d) => fileNodeIds?.includes(d.header.id));
22
23
  }
24
+ /** Returns the selected document id */
25
+ export function useSelectedDocumentId() {
26
+ const selectedNodeId = useSelectedNodeId();
27
+ const kind = useNodeKind(selectedNodeId);
28
+ if (kind === "FILE") {
29
+ return selectedNodeId;
30
+ }
31
+ return undefined;
32
+ }
23
33
  /** Returns the selected document. */
24
34
  export function useSelectedDocument() {
25
- const selectedNodeId = useSelectedNodeId();
26
- const documents = useSelectedDriveDocuments();
27
- const selectedDocument = documents?.find((d) => d.header.id === selectedNodeId);
28
- return useDispatch(selectedDocument);
35
+ const selectedNodeId = useSelectedDocumentId();
36
+ return useDocumentById(selectedNodeId);
29
37
  }
30
38
  /** Returns the document type of a document by id. */
31
39
  export function useDocumentTypeById(id) {
@@ -43,4 +51,40 @@ export function useDocumentById(id) {
43
51
  const document = documents?.find((d) => d.header.id === id);
44
52
  return useDispatch(document);
45
53
  }
54
+ export class DocumentNotFoundError extends Error {
55
+ constructor(documentId) {
56
+ super(`Document with id ${documentId} not found`);
57
+ }
58
+ }
59
+ export class DocumentModelNotFoundError extends Error {
60
+ constructor(documentType) {
61
+ super(`Document model module for type ${documentType} not found`);
62
+ }
63
+ }
64
+ export class DocumentTypeMismatchError extends Error {
65
+ constructor(documentId, expectedType, actualType) {
66
+ super(`Document ${documentId} is not of type ${expectedType}. Actual type: ${actualType}`);
67
+ }
68
+ }
69
+ /** Returns a document of a specific type, throws an error if the found document has a different type */
70
+ export function useDocumentOfType(documentId, documentType) {
71
+ const [document, dispatch] = useDocumentById(documentId);
72
+ const documentModelModule = useDocumentModelModuleById(documentType);
73
+ if (!documentId || !documentType)
74
+ return [];
75
+ if (!document) {
76
+ throw new DocumentNotFoundError(documentId);
77
+ }
78
+ if (!documentModelModule) {
79
+ throw new DocumentModelNotFoundError(documentType);
80
+ }
81
+ if (document.header.documentType !== documentType) {
82
+ throw new DocumentTypeMismatchError(documentId, documentType, document.header.documentType);
83
+ }
84
+ return [document, dispatch];
85
+ }
86
+ export function useSelectedDocumentOfType(documentType) {
87
+ const documentId = useSelectedDocumentId();
88
+ return useDocumentOfType(documentId, documentType);
89
+ }
46
90
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../src/hooks/documents.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7D,SAAS,oBAAoB;IAC3B,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;IACrC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAyB;IACrD,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAC1D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,MAAM,SAAS,GAAG,oBAAoB,CACpC,oBAAoB,EACpB,oBAAoB,CACrB,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,yBAAyB;IACvC,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,MAAM,WAAW,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,mBAAmB;IACjC,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAC9C,MAAM,gBAAgB,GAAG,SAAS,EAAE,IAAI,CACtC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,cAAc,CACtC,CAAC;IACF,OAAO,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACvC,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,mBAAmB,CAAC,EAA6B;IAC/D,MAAM,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;IACvC,OAAO,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC;AACvC,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,uBAAuB;IACrC,MAAM,CAAC,gBAAgB,CAAC,GAAG,mBAAmB,EAAE,CAAC;IACjD,OAAO,gBAAgB,EAAE,MAAM,CAAC,YAAY,CAAC;AAC/C,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,eAAe,CAAC,EAA6B;IAC3D,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAG,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../src/hooks/documents.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
- import { type DocumentDriveDocument, type DocumentDrivePHState, type SharingType, type Trigger } from "document-drive";
2
- import { type PHDocument } from "document-model";
1
+ import type { DocumentDriveAction, DocumentDriveDocument, DocumentDrivePHState, SharingType, Trigger } from "document-drive";
2
+ import type { PHDocument } from "document-model";
3
+ import type { DocumentDispatch } from "./documents.js";
3
4
  /** Returns the drives for a reactor. */
4
5
  export declare function useDrives(): PHDocument<DocumentDrivePHState>[] | undefined;
5
6
  export declare function useDriveById(driveId: string | undefined | null): readonly [DocumentDriveDocument | undefined, (actionOrActions: import("document-model").Action[] | import("document-model").Action | undefined) => void];
7
+ export declare function useDriveDocument(driveId: string | undefined | null): readonly [DocumentDriveDocument, DocumentDispatch<DocumentDriveAction>];
8
+ export declare function useSelectedDriveDocument(): readonly [DocumentDriveDocument, DocumentDispatch<DocumentDriveAction>];
6
9
  export declare function useSelectedDriveId(): string | undefined;
7
10
  /** Returns the selected drive */
8
11
  export declare function useSelectedDrive(): readonly [DocumentDriveDocument | undefined, (actionOrActions: import("document-model").Action[] | import("document-model").Action | undefined) => void];
@@ -1 +1 @@
1
- {"version":3,"file":"drives.d.ts","sourceRoot":"","sources":["../../../src/hooks/drives.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,OAAO,EACb,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAUjD,wCAAwC;AACxC,wBAAgB,SAAS,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,GAAG,SAAS,CAG1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,4JAM9D;AAED,wBAAgB,kBAAkB,uBAMjC;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,6JAS/B;AAED,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,QAO7D;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAcnE;AAED,sDAAsD;AACtD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,GAAG,SAAS,CAOrB;AAED,kDAAkD;AAClD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAG1E;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,WAIlE;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,WAAW,GAAG,SAAS,CAIzB;AAED,uDAAuD;AACvD,wBAAgB,2BAA2B,IAAI,WAAW,GAAG,SAAS,CAIrE;AAED,qDAAqD;AACrD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,WAI1E"}
1
+ {"version":3,"file":"drives.d.ts","sourceRoot":"","sources":["../../../src/hooks/drives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,WAAW,EACX,OAAO,EACR,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AASjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,wCAAwC;AACxC,wBAAgB,SAAS,IAAI,UAAU,CAAC,oBAAoB,CAAC,EAAE,GAAG,SAAS,CAG1E;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,4JAM9D;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,2EAMlE;AAED,wBAAgB,wBAAwB,4EAGvC;AAED,wBAAgB,kBAAkB,uBAMjC;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,6JAS/B;AAED,wBAAgB,gBAAgB,CAC9B,gBAAgB,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,QAO7D;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAcnE;AAED,sDAAsD;AACtD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,OAAO,GAAG,SAAS,CAOrB;AAED,kDAAkD;AAClD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAG1E;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,WAIlE;AAED,4CAA4C;AAC5C,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACjC,WAAW,GAAG,SAAS,CAIzB;AAED,uDAAuD;AACvD,wBAAgB,2BAA2B,IAAI,WAAW,GAAG,SAAS,CAIrE;AAED,qDAAqD;AACrD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,WAI1E"}
@@ -15,6 +15,17 @@ export function useDriveById(driveId) {
15
15
  const unsafeDrive = document;
16
16
  return [unsafeDrive, dispatch];
17
17
  }
18
+ export function useDriveDocument(driveId) {
19
+ const [drive, dispatch] = useDriveById(driveId);
20
+ if (!drive) {
21
+ throw new Error(`Drive with id ${driveId} not found`);
22
+ }
23
+ return [drive, dispatch];
24
+ }
25
+ export function useSelectedDriveDocument() {
26
+ const selectedDriveId = useSelectedDriveId();
27
+ return useDriveDocument(selectedDriveId);
28
+ }
18
29
  export function useSelectedDriveId() {
19
30
  const selectedDriveId = useSyncExternalStore(subscribeToSelectedDriveId, () => window.phSelectedDriveId);
20
31
  return selectedDriveId;
@@ -1 +1 @@
1
- {"version":3,"file":"drives.js","sourceRoot":"","sources":["../../../src/hooks/drives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drives.js","sourceRoot":"","sources":["../../../src/hooks/drives.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  export * from "./config.js";
2
2
  export * from "./crypto.js";
3
3
  export * from "./documents.js";
4
- export * from "./drive-context.js";
5
4
  export * from "./drives.js";
5
+ export * from "./modals.js";
6
6
  export * from "./nodes.js";
7
7
  export * from "./processor-manager.js";
8
8
  export * from "./reactor.js";
9
9
  export * from "./renown.js";
10
+ export * from "./use-on-drop-file.js";
10
11
  export * from "./user.js";
11
12
  export * from "./vetra-packages.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
@@ -1,12 +1,13 @@
1
1
  export * from "./config.js";
2
2
  export * from "./crypto.js";
3
3
  export * from "./documents.js";
4
- export * from "./drive-context.js";
5
4
  export * from "./drives.js";
5
+ export * from "./modals.js";
6
6
  export * from "./nodes.js";
7
7
  export * from "./processor-manager.js";
8
8
  export * from "./reactor.js";
9
9
  export * from "./renown.js";
10
+ export * from "./use-on-drop-file.js";
10
11
  export * from "./user.js";
11
12
  export * from "./vetra-packages.js";
12
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { PHModal } from "../types/modals.js";
2
+ export declare function usePHModal(): PHModal | undefined;
3
+ export declare function showPHModal(modal: PHModal): void;
4
+ export declare function closePHModal(): void;
5
+ export declare function showCreateDocumentModal(documentType: string): void;
6
+ export declare function showDeleteNodeModal(id: string): void;
7
+ //# sourceMappingURL=modals.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modals.d.ts","sourceRoot":"","sources":["../../../src/hooks/modals.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,wBAAgB,UAAU,wBAEzB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,QAEzC;AAED,wBAAgB,YAAY,SAE3B;AAED,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,QAE3D;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,QAE7C"}
@@ -0,0 +1,18 @@
1
+ import { useSyncExternalStore } from "react";
2
+ import { dispatchSetModalEvent, getModalSnapshot, subscribeToModal, } from "../events/modals.js";
3
+ export function usePHModal() {
4
+ return useSyncExternalStore(subscribeToModal, getModalSnapshot);
5
+ }
6
+ export function showPHModal(modal) {
7
+ dispatchSetModalEvent(modal);
8
+ }
9
+ export function closePHModal() {
10
+ dispatchSetModalEvent(undefined);
11
+ }
12
+ export function showCreateDocumentModal(documentType) {
13
+ dispatchSetModalEvent({ type: "createDocument", documentType });
14
+ }
15
+ export function showDeleteNodeModal(id) {
16
+ dispatchSetModalEvent({ type: "deleteItem", id });
17
+ }
18
+ //# sourceMappingURL=modals.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modals.js","sourceRoot":"","sources":["../../../src/hooks/modals.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,UAAU,UAAU;IACxB,OAAO,oBAAoB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,qBAAqB,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,YAAoB;IAC1D,qBAAqB,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,EAAU;IAC5C,qBAAqB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type FileNode, type FolderNode, type Node } from "document-drive";
2
- import { type NodeKind } from "../types/reactor.js";
1
+ import type { FileNode, FolderNode, Node } from "document-drive";
2
+ import type { NodeKind } from "../types/reactor.js";
3
3
  /** Returns the nodes for a drive. */
4
4
  export declare function useNodes(): Node[] | undefined;
5
5
  export declare function useSelectedNodeId(): string | undefined;
@@ -38,4 +38,13 @@ export declare function useFileChildNodesForId(id: string | null | undefined): F
38
38
  export declare function useNodeName(id: string | null | undefined): string | undefined;
39
39
  /** Returns the kind of a node. */
40
40
  export declare function useNodeKind(id: string | null | undefined): NodeKind | undefined;
41
+ export declare function useNodeActions(): {
42
+ onAddFile: (file: File, parent: Node | undefined) => Promise<void>;
43
+ onAddFolder: (name: string, parent: Node | undefined) => Promise<FolderNode | undefined>;
44
+ onRenameNode: (newName: string, node: Node) => Promise<Node | undefined>;
45
+ onCopyNode: (src: Node, target: Node | undefined) => Promise<void>;
46
+ onMoveNode: (src: Node, target: Node | undefined) => Promise<void>;
47
+ onDuplicateNode: (src: Node) => Promise<void>;
48
+ onAddAndSelectNewFolder: (name: string) => Promise<void>;
49
+ };
41
50
  //# sourceMappingURL=nodes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/hooks/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAM3E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAWpD,qCAAqC;AACrC,wBAAgB,QAAQ,uBAGvB;AAED,wBAAgB,iBAAiB,uBAMhC;AAED,wBAAgB,YAAY,2BAG3B;AAED,wBAAgB,cAAc,uBAG7B;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,QAMxE;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,oBAGxD;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAG9D;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,0BAO5D;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,2BAKtC;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,EAAE,CAmBjE;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,UAAU,GAAG,SAAS,CAK1D;AAED,6CAA6C;AAC7C,wBAAgB,mBAAmB,WAKlC;AAED,gEAAgE;AAChE,wBAAgB,aAAa,IAAI,IAAI,EAAE,CAStC;AAED,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAGhD;AAED,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAG5C;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,IAAI,UAAU,EAAE,CAGlD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,IAAI,QAAQ,EAAE,CAG9C;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,UAS/D;AAED,kEAAkE;AAClE,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC5B,UAAU,EAAE,CAGd;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC5B,QAAQ,EAAE,CAGZ;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAKxD;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,wBAMxD"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../../../src/hooks/nodes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAajE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAWpD,qCAAqC;AACrC,wBAAgB,QAAQ,uBAGvB;AAED,wBAAgB,iBAAiB,uBAMhC;AAED,wBAAgB,YAAY,2BAG3B;AAED,wBAAgB,cAAc,uBAG7B;AAED,wBAAgB,eAAe,CAAC,cAAc,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,QAMxE;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,oBAGxD;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAG9D;AAED,gDAAgD;AAChD,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,0BAO5D;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,2BAKtC;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,EAAE,CAmBjE;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,IAAI,UAAU,GAAG,SAAS,CAK1D;AAED,6CAA6C;AAC7C,wBAAgB,mBAAmB,WAKlC;AAED,gEAAgE;AAChE,wBAAgB,aAAa,IAAI,IAAI,EAAE,CAStC;AAED,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAGhD;AAED,wBAAgB,eAAe,IAAI,QAAQ,EAAE,CAG5C;AAED,uEAAuE;AACvE,wBAAgB,mBAAmB,IAAI,UAAU,EAAE,CAGlD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,IAAI,QAAQ,EAAE,CAG9C;AAED,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,UAS/D;AAED,kEAAkE;AAClE,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC5B,UAAU,EAAE,CAGd;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC5B,QAAQ,EAAE,CAGZ;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,sBAKxD;AAED,kCAAkC;AAClC,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,wBAMxD;AAMD,wBAAgB,cAAc;sBAMG,IAAI,UAAU,IAAI,GAAG,SAAS;wBAa5B,MAAM,UAAU,IAAI,GAAG,SAAS;4BAWtD,MAAM,QACT,IAAI,KACT,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;sBAYG,IAAI,UAAU,IAAI,GAAG,SAAS;sBAY9B,IAAI,UAAU,IAAI,GAAG,SAAS;2BAoBzB,IAAI;oCAeK,MAAM;EA0BpD"}
@@ -1,9 +1,10 @@
1
1
  import { useSyncExternalStore } from "react";
2
+ import { addFile, addFolder, copyNode, moveNode, renameNode, } from "../actions/document.js";
2
3
  import { dispatchSetSelectedNodeIdEvent, subscribeToSelectedNodeId, } from "../events/nodes.js";
3
4
  import { makeFolderNodeFromDrive } from "../utils/drives.js";
4
5
  import { isFileNodeKind, isFolderNodeKind, sortNodesByName, } from "../utils/nodes.js";
5
6
  import { makeNodeSlug } from "../utils/url.js";
6
- import { useSelectedDocument } from "./documents.js";
7
+ import { useSelectedDocument, useSelectedDocumentId } from "./documents.js";
7
8
  import { useDrives, useSelectedDrive } from "./drives.js";
8
9
  /** Returns the nodes for a drive. */
9
10
  export function useNodes() {
@@ -84,8 +85,8 @@ export function useSelectedFolder() {
84
85
  /** Returns the path to the selected node. */
85
86
  export function useSelectedNodePath() {
86
87
  const selectedFolder = useSelectedFolder();
87
- const [selectedDocument] = useSelectedDocument();
88
- const selectedNodeId = selectedDocument?.header.id ?? selectedFolder?.id;
88
+ const selectedDocumentId = useSelectedDocumentId();
89
+ const selectedNodeId = selectedDocumentId ?? selectedFolder?.id;
89
90
  return useNodePath(selectedNodeId);
90
91
  }
91
92
  /** Returns the child nodes for the selected drive or folder. */
@@ -157,4 +158,94 @@ export function useNodeKind(id) {
157
158
  return undefined;
158
159
  return node.kind.toUpperCase();
159
160
  }
161
+ function resolveNode(driveId, node) {
162
+ return node?.id !== driveId ? node : undefined;
163
+ }
164
+ export function useNodeActions() {
165
+ const [selectedDrive] = useSelectedDrive();
166
+ const selectedFolder = useSelectedFolder();
167
+ const selectedParentFolder = useSelectedParentFolder();
168
+ const selectedDriveId = selectedDrive?.header.id;
169
+ async function onAddFile(file, parent) {
170
+ if (!selectedDriveId)
171
+ return;
172
+ const fileName = file.name.replace(/\..+/gim, "");
173
+ return addFile(file, selectedDriveId, fileName, resolveNode(selectedDriveId, parent)?.id);
174
+ }
175
+ async function onAddFolder(name, parent) {
176
+ if (!selectedDriveId)
177
+ return;
178
+ return addFolder(selectedDriveId, name, resolveNode(selectedDriveId, parent)?.id);
179
+ }
180
+ async function onRenameNode(newName, node) {
181
+ if (!selectedDriveId)
182
+ return;
183
+ const resolvedNode = resolveNode(selectedDriveId, node);
184
+ if (!resolvedNode) {
185
+ console.error(`Node ${node.id} not found`);
186
+ return;
187
+ }
188
+ return await renameNode(selectedDriveId, node.id, newName);
189
+ }
190
+ async function onCopyNode(src, target) {
191
+ if (!selectedDriveId)
192
+ return;
193
+ const resolvedSrc = resolveNode(selectedDriveId, src);
194
+ if (!resolvedSrc) {
195
+ console.error(`Node ${src.id} not found`);
196
+ return;
197
+ }
198
+ const resolvedTarget = resolveNode(selectedDriveId, target);
199
+ await copyNode(selectedDriveId, resolvedSrc, resolvedTarget);
200
+ }
201
+ async function onMoveNode(src, target) {
202
+ if (!selectedDriveId)
203
+ return;
204
+ const resolvedSrc = resolveNode(selectedDriveId, src);
205
+ if (!resolvedSrc) {
206
+ console.error(`Node ${src.id} not found`);
207
+ return;
208
+ }
209
+ const resolvedTarget = resolveNode(selectedDriveId, target);
210
+ // if node is already on target then ignore move
211
+ if ((!resolvedTarget?.id && !src.parentFolder) ||
212
+ resolvedTarget?.id === src.parentFolder) {
213
+ return;
214
+ }
215
+ await moveNode(selectedDriveId, resolvedSrc, resolvedTarget);
216
+ }
217
+ async function onDuplicateNode(src) {
218
+ if (!selectedDriveId)
219
+ return;
220
+ const resolvedSrc = resolveNode(selectedDriveId, src);
221
+ if (!resolvedSrc) {
222
+ console.error(`Node ${src.id} not found`);
223
+ return;
224
+ }
225
+ const target = resolveNode(selectedDriveId, selectedFolder ?? selectedParentFolder);
226
+ await copyNode(selectedDriveId, resolvedSrc, target);
227
+ }
228
+ async function onAddAndSelectNewFolder(name) {
229
+ if (!name)
230
+ return;
231
+ if (!selectedDriveId)
232
+ return;
233
+ const resolvedTarget = resolveNode(selectedDriveId, selectedFolder ?? selectedParentFolder);
234
+ if (!resolvedTarget)
235
+ return;
236
+ const newFolder = await onAddFolder(name, resolvedTarget);
237
+ if (newFolder) {
238
+ setSelectedNode(newFolder);
239
+ }
240
+ }
241
+ return {
242
+ onAddFile,
243
+ onAddFolder,
244
+ onRenameNode,
245
+ onCopyNode,
246
+ onMoveNode,
247
+ onDuplicateNode,
248
+ onAddAndSelectNewFolder,
249
+ };
250
+ }
160
251
  //# sourceMappingURL=nodes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/hooks/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/hooks/nodes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { type ProcessorManager } from "document-drive";
1
+ import type { ProcessorManager } from "document-drive";
2
2
  export declare function useProcessorManager(): ProcessorManager | undefined;
3
3
  //# sourceMappingURL=processor-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processor-manager.d.ts","sourceRoot":"","sources":["../../../src/hooks/processor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS,CAMlE"}
1
+ {"version":3,"file":"processor-manager.d.ts","sourceRoot":"","sources":["../../../src/hooks/processor-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAIvD,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS,CAMlE"}
@@ -1,3 +1,3 @@
1
- import { type Reactor } from "../types/reactor.js";
1
+ import type { Reactor } from "../types/reactor.js";
2
2
  export declare function useReactor(): Reactor | undefined;
3
3
  //# sourceMappingURL=reactor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/hooks/reactor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wBAAgB,UAAU,IAAI,OAAO,GAAG,SAAS,CAMhD"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../../src/hooks/reactor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD,wBAAgB,UAAU,IAAI,OAAO,GAAG,SAAS,CAMhD"}
@@ -0,0 +1,6 @@
1
+ import type { FileNode } from "document-drive";
2
+ import type { ConflictResolution, FileUploadProgressCallback } from "../types/upload.js";
3
+ type UseOnDropFile = (documentTypes?: string[]) => (file: File, onProgress?: FileUploadProgressCallback, resolveConflict?: ConflictResolution) => Promise<FileNode | undefined>;
4
+ export declare const useOnDropFile: UseOnDropFile;
5
+ export {};
6
+ //# sourceMappingURL=use-on-drop-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-on-drop-file.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-on-drop-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,OAAO,KAAK,EACV,kBAAkB,EAClB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAI5B,KAAK,aAAa,GAAG,CACnB,aAAa,CAAC,EAAE,MAAM,EAAE,KACrB,CACH,IAAI,EAAE,IAAI,EACV,UAAU,CAAC,EAAE,0BAA0B,EACvC,eAAe,CAAC,EAAE,kBAAkB,KACjC,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;AAEnC,eAAO,MAAM,aAAa,EAAE,aAkC3B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { useCallback } from "react";
2
+ import { addFileWithProgress } from "../actions/document.js";
3
+ import { useSelectedDrive } from "./drives.js";
4
+ import { useSelectedFolder } from "./nodes.js";
5
+ export const useOnDropFile = (documentTypes = []) => {
6
+ const [selectedDrive] = useSelectedDrive();
7
+ const selectedDriveId = selectedDrive?.header.id;
8
+ const selectedFolder = useSelectedFolder();
9
+ const onDropFile = useCallback(async (file, onProgress, resolveConflict) => {
10
+ if (!selectedDriveId) {
11
+ console.warn("No selected drive - upload skipped");
12
+ return;
13
+ }
14
+ const fileName = file.name.replace(/\..+/gim, "");
15
+ const targetNodeId = selectedFolder?.id;
16
+ // Return the FileNode directly from addFileWithProgress
17
+ return await addFileWithProgress(file, selectedDriveId, fileName, targetNodeId, onProgress, documentTypes, resolveConflict);
18
+ }, [selectedDriveId, selectedFolder]);
19
+ return onDropFile;
20
+ };
21
+ //# sourceMappingURL=use-on-drop-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-on-drop-file.js","sourceRoot":"","sources":["../../../src/hooks/use-on-drop-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAK7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAU/C,MAAM,CAAC,MAAM,aAAa,GAAkB,CAAC,aAAa,GAAG,EAAE,EAAE,EAAE;IACjE,MAAM,CAAC,aAAa,CAAC,GAAG,gBAAgB,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,WAAW,CAC5B,KAAK,EACH,IAAU,EACV,UAAuC,EACvC,eAAoC,EACpC,EAAE;QACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,cAAc,EAAE,EAAE,CAAC;QAExC,wDAAwD;QACxD,OAAO,MAAM,mBAAmB,CAC9B,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,CAChB,CAAC;IACJ,CAAC,EACD,CAAC,eAAe,EAAE,cAAc,CAAC,CAClC,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type ImportScriptModule, type SubgraphModule } from "document-model";
2
- import { type Processors, type VetraDocumentModelModule, type VetraEditorModule, type VetraPackage, type VetraProcessorModule } from "../types/vetra.js";
1
+ import type { ImportScriptModule, SubgraphModule } from "document-model";
2
+ import type { Processors, VetraDocumentModelModule, VetraEditorModule, VetraPackage, VetraProcessorModule } from "../types/vetra.js";
3
3
  export declare function useVetraPackages(): VetraPackage[];
4
4
  export declare function setVetraPackages(packages: VetraPackage[]): void;
5
5
  export declare function useDocumentModelModules(): VetraDocumentModelModule[];
@@ -1 +1 @@
1
- {"version":3,"file":"vetra-packages.d.ts","sourceRoot":"","sources":["../../../src/hooks/vetra-packages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAO9E,OAAO,EACL,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EAC1B,MAAM,mBAAmB,CAAC;AAI3B,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,CAKjD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAExD;AAED,wBAAgB,uBAAuB,IAAI,wBAAwB,EAAE,CAGpE;AAED,wBAAgB,gBAAgB,IAAI,iBAAiB,EAAE,CAOtD;AAED,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAO3D;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,wCAGvE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iCAGhE;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iCAUxC;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iCAGrE;AAED,wBAAgB,2BAA2B,kCAK1C;AAED,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,mCASxC;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,EAAE,CAG5D;AAED,wBAAgB,aAAa,IAAI,UAAU,EAAE,CAG5C;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAGrD;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,EAAE,CAG7D"}
1
+ {"version":3,"file":"vetra-packages.d.ts","sourceRoot":"","sources":["../../../src/hooks/vetra-packages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAOzE,OAAO,KAAK,EACV,UAAU,EACV,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAI3B,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,CAKjD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,QAExD;AAED,wBAAgB,uBAAuB,IAAI,wBAAwB,EAAE,CAGpE;AAED,wBAAgB,gBAAgB,IAAI,iBAAiB,EAAE,CAOtD;AAED,wBAAgB,qBAAqB,IAAI,iBAAiB,EAAE,CAO3D;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,wCAGvE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iCAGhE;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iCAUxC;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,iCAGrE;AAED,wBAAgB,2BAA2B,kCAK1C;AAED,wBAAgB,+BAA+B,CAC7C,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,mCASxC;AAED,wBAAgB,mBAAmB,IAAI,oBAAoB,EAAE,CAG5D;AAED,wBAAgB,aAAa,IAAI,UAAU,EAAE,CAG5C;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAGrD;AAED,wBAAgB,sBAAsB,IAAI,kBAAkB,EAAE,CAG7D"}
@@ -1,4 +1,4 @@
1
- import { type PGliteWithLive } from "@electric-sql/pglite/live";
1
+ import type { PGliteWithLive } from "@electric-sql/pglite/live";
2
2
  export declare const PGLITE_UPDATE_EVENT = "ph:pglite-update";
3
3
  export interface PGliteState {
4
4
  db: PGliteWithLive | null;
@@ -1 +1 @@
1
- {"version":3,"file":"usePGlite.d.ts","sourceRoot":"","sources":["../../../../src/pglite/hooks/usePGlite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAQD,eAAO,MAAM,WAAW,mBAgBvB,CAAC;AAEF,eAAO,MAAM,cAAc,iBACO,OAAO,CAAC,WAAW,CAAC,SAerD,CAAC;AAEF,eAAO,MAAM,SAAS,iCAjBY,OAAO,CAAC,WAAW,CAAC,aAsBrD,CAAC"}
1
+ {"version":3,"file":"usePGlite.d.ts","sourceRoot":"","sources":["../../../../src/pglite/hooks/usePGlite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAQD,eAAO,MAAM,WAAW,mBAgBvB,CAAC;AAEF,eAAO,MAAM,cAAc,iBACO,OAAO,CAAC,WAAW,CAAC,SAerD,CAAC;AAEF,eAAO,MAAM,SAAS,iCAjBY,OAAO,CAAC,WAAW,CAAC,aAsBrD,CAAC"}
@@ -1,14 +1,15 @@
1
- import { type IRenown } from "@renown/sdk";
2
- import { type DocumentDriveServerOptions, type IDocumentDriveServer } from "document-drive";
3
- import { type DocumentModelModule } from "document-model";
4
- import { ConnectCrypto, type IConnectCrypto } from "./crypto/index.js";
5
- import { type Reactor } from "./types/reactor.js";
1
+ import type { IRenown } from "@renown/sdk";
2
+ import type { DocumentDriveServerOptions, IDocumentDriveServer } from "document-drive";
3
+ import type { DocumentModelModule } from "document-model";
4
+ import type { IConnectCrypto } from "./crypto/index.js";
5
+ import { ConnectCrypto } from "./crypto/index.js";
6
+ import type { Reactor } from "./types/reactor.js";
6
7
  export type ReactorDefaultDrivesConfig = {
7
8
  defaultDrivesUrl?: string[];
8
9
  };
9
10
  export declare const getReactorDefaultDrivesConfig: (config?: ReactorDefaultDrivesConfig) => Pick<DocumentDriveServerOptions, "defaultDrives">;
10
11
  export declare function createBrowserDocumentDriveServer(documentModelModules: DocumentModelModule[], routerBasename: string, documentDriveServerOptions?: DocumentDriveServerOptions): IDocumentDriveServer;
11
- export declare function refreshReactorData(reactor: Reactor | undefined): Promise<void>;
12
+ export declare const refreshReactorData: (reactor: Reactor | undefined, immediate?: boolean) => Promise<void>;
12
13
  export declare function initReactor(reactor: Reactor, renown: IRenown | undefined, connectCrypto: IConnectCrypto | undefined): Promise<void>;
13
14
  export declare function handleCreateFirstLocalDrive(reactor: Reactor | undefined, localDrivesEnabled?: boolean): Promise<import("document-drive").DocumentDriveDocument | undefined>;
14
15
  export declare function initConnectCrypto(): Promise<ConnectCrypto>;
@@ -1 +1 @@
1
- {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAKL,KAAK,0BAA0B,EAC/B,KAAK,oBAAoB,EAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAEL,aAAa,EACb,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,SAAQ,0BAA+B,KACtC,IAAI,CAAC,0BAA0B,EAAE,eAAe,CA6ClD,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,cAAc,EAAE,MAAM,EACtB,0BAA0B,CAAC,EAAE,0BAA0B,GACtD,oBAAoB,CAWtB;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,iBAMpE;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,EAAE,cAAc,GAAG,SAAS,iBAQ1C;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,kBAAkB,UAAO,uEAyB1B;AAsBD,wBAAsB,iBAAiB,2BAItC"}
1
+ {"version":3,"file":"reactor.d.ts","sourceRoot":"","sources":["../../src/reactor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAEV,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAOxB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAqB,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGlD,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,6BAA6B,GACxC,SAAQ,0BAA+B,KACtC,IAAI,CAAC,0BAA0B,EAAE,eAAe,CA6ClD,CAAC;AAEF,wBAAgB,gCAAgC,CAC9C,oBAAoB,EAAE,mBAAmB,EAAE,EAC3C,cAAc,EAAE,MAAM,EACtB,0BAA0B,CAAC,EAAE,0BAA0B,GACtD,oBAAoB,CAWtB;AA6CD,eAAO,MAAM,kBAAkB,YAzBZ,OAAO,GAAG,SAAS,uCAyB+B,CAAC;AAEtE,wBAAsB,WAAW,CAC/B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,GAAG,SAAS,EAC3B,aAAa,EAAE,cAAc,GAAG,SAAS,iBAQ1C;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,EAC5B,kBAAkB,UAAO,uEAyB1B;AAsBD,wBAAsB,iBAAiB,2BAItC"}
@@ -1,7 +1,7 @@
1
1
  import { BaseQueueManager, InMemoryCache, ReactorBuilder, } from "document-drive";
2
2
  import { BrowserStorage } from "document-drive/storage/browser";
3
3
  import { generateId } from "document-model";
4
- import { BrowserKeyStorage, ConnectCrypto, } from "./crypto/index.js";
4
+ import { BrowserKeyStorage, ConnectCrypto } from "./crypto/index.js";
5
5
  import { dispatchSetDocumentsEvent } from "./events/documents.js";
6
6
  import { dispatchSetDrivesEvent } from "./events/drives.js";
7
7
  import { getDocuments, getDrives } from "./utils/drives.js";
@@ -56,7 +56,9 @@ export function createBrowserDocumentDriveServer(documentModelModules, routerBas
56
56
  }
57
57
  return builder.build();
58
58
  }
59
- export async function refreshReactorData(reactor) {
59
+ const DEFAULT_DEBOUNCE_DELAY_MS = 200;
60
+ const DEFAULT_IMMEDIATE_THRESHOLD_MS = 1000;
61
+ async function _refreshReactorData(reactor) {
60
62
  if (!reactor)
61
63
  return;
62
64
  const drives = await getDrives(reactor);
@@ -64,6 +66,31 @@ export async function refreshReactorData(reactor) {
64
66
  dispatchSetDrivesEvent(drives);
65
67
  dispatchSetDocumentsEvent(documents);
66
68
  }
69
+ function createDebouncedRefreshReactorData(debounceDelayMs = DEFAULT_DEBOUNCE_DELAY_MS, immediateThresholdMs = DEFAULT_IMMEDIATE_THRESHOLD_MS) {
70
+ let timeout = null;
71
+ let lastRefreshTime = 0;
72
+ return (reactor, immediate = false) => {
73
+ const now = Date.now();
74
+ const timeSinceLastRefresh = now - lastRefreshTime;
75
+ // Clear any pending timeout
76
+ if (timeout !== null) {
77
+ clearTimeout(timeout);
78
+ }
79
+ // If caller requests immediate execution or enough time has passed, execute immediately
80
+ if (immediate || timeSinceLastRefresh >= immediateThresholdMs) {
81
+ lastRefreshTime = now;
82
+ return _refreshReactorData(reactor);
83
+ }
84
+ // Otherwise, debounce the call
85
+ return new Promise((resolve) => {
86
+ timeout = setTimeout(() => {
87
+ lastRefreshTime = Date.now();
88
+ void _refreshReactorData(reactor).then(resolve);
89
+ }, debounceDelayMs);
90
+ });
91
+ };
92
+ }
93
+ export const refreshReactorData = createDebouncedRefreshReactorData();
67
94
  export async function initReactor(reactor, renown, connectCrypto) {
68
95
  await initJwtHandler(reactor, renown, connectCrypto);
69
96
  const errors = await reactor.initialize();