@powerhousedao/reactor-browser 4.1.0-dev.9 → 4.1.0-dev.90

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 (490) 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 +16 -0
  7. package/dist/src/actions/document.d.ts.map +1 -0
  8. package/dist/src/actions/document.js +470 -0
  9. package/dist/src/actions/document.js.map +1 -0
  10. package/dist/src/actions/drive.d.ts +12 -0
  11. package/dist/src/actions/drive.d.ts.map +1 -0
  12. package/dist/src/actions/drive.js +152 -0
  13. package/dist/src/actions/drive.js.map +1 -0
  14. package/dist/src/actions/index.d.ts +3 -0
  15. package/dist/src/actions/index.d.ts.map +1 -0
  16. package/dist/src/actions/index.js +3 -0
  17. package/dist/src/actions/index.js.map +1 -0
  18. package/dist/src/actions/queue.d.ts +10 -0
  19. package/dist/src/actions/queue.d.ts.map +1 -0
  20. package/dist/src/actions/queue.js +136 -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 +2 -2
  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 +3 -3
  33. package/dist/src/analytics/hooks.js.map +1 -1
  34. package/dist/src/analytics/index.d.ts +3 -0
  35. package/dist/src/analytics/index.d.ts.map +1 -0
  36. package/dist/src/analytics/index.js +3 -0
  37. package/dist/src/analytics/index.js.map +1 -0
  38. package/dist/src/analytics/store/browser.d.ts +1 -1
  39. package/dist/src/analytics/store/browser.d.ts.map +1 -1
  40. package/dist/src/analytics/store/browser.js +1 -1
  41. package/dist/src/analytics/store/browser.js.map +1 -1
  42. package/dist/src/analytics/store/memory.d.ts +1 -1
  43. package/dist/src/analytics/store/memory.d.ts.map +1 -1
  44. package/dist/src/analytics/store/memory.js +1 -1
  45. package/dist/src/analytics/store/memory.js.map +1 -1
  46. package/dist/src/analytics/types.d.ts +2 -3
  47. package/dist/src/analytics/types.d.ts.map +1 -1
  48. package/dist/src/connect.d.ts +2 -0
  49. package/dist/src/connect.d.ts.map +1 -0
  50. package/dist/src/connect.js +2 -0
  51. package/dist/src/connect.js.map +1 -0
  52. package/dist/src/constants.d.ts +3 -0
  53. package/dist/src/constants.d.ts.map +1 -0
  54. package/dist/src/constants.js +3 -0
  55. package/dist/src/constants.js.map +1 -0
  56. package/dist/src/context/index.d.ts +1 -1
  57. package/dist/src/context/index.d.ts.map +1 -1
  58. package/dist/src/context/index.js +1 -1
  59. package/dist/src/context/index.js.map +1 -1
  60. package/dist/src/context/read-mode.d.ts +2 -2
  61. package/dist/src/context/read-mode.d.ts.map +1 -1
  62. package/dist/src/context/read-mode.js +25 -47
  63. package/dist/src/context/read-mode.js.map +1 -1
  64. package/dist/src/document-model.d.ts +3 -3
  65. package/dist/src/document-model.d.ts.map +1 -1
  66. package/dist/src/document-model.js +1 -1
  67. package/dist/src/document-model.js.map +1 -1
  68. package/dist/src/errors.d.ts +16 -0
  69. package/dist/src/errors.d.ts.map +1 -0
  70. package/dist/src/errors.js +27 -0
  71. package/dist/src/errors.js.map +1 -0
  72. package/dist/src/global/core.d.ts.map +1 -1
  73. package/dist/src/global/core.js +0 -1
  74. package/dist/src/global/core.js.map +1 -1
  75. package/dist/src/global/index.d.ts +0 -1
  76. package/dist/src/global/index.d.ts.map +1 -1
  77. package/dist/src/global/index.js +0 -1
  78. package/dist/src/global/index.js.map +1 -1
  79. package/dist/src/global/types.d.ts +2 -2
  80. package/dist/src/global/types.d.ts.map +1 -1
  81. package/dist/src/hooks/add-ph-event-handlers.d.ts +2 -0
  82. package/dist/src/hooks/add-ph-event-handlers.d.ts.map +1 -0
  83. package/dist/src/hooks/add-ph-event-handlers.js +89 -0
  84. package/dist/src/hooks/add-ph-event-handlers.js.map +1 -0
  85. package/dist/src/hooks/all-documents.d.ts +9 -0
  86. package/dist/src/hooks/all-documents.d.ts.map +1 -0
  87. package/dist/src/hooks/all-documents.js +9 -0
  88. package/dist/src/hooks/all-documents.js.map +1 -0
  89. package/dist/src/hooks/allowed-document-model-modules.d.ts +2 -0
  90. package/dist/src/hooks/allowed-document-model-modules.d.ts.map +1 -0
  91. package/dist/src/hooks/allowed-document-model-modules.js +10 -0
  92. package/dist/src/hooks/allowed-document-model-modules.js.map +1 -0
  93. package/dist/src/hooks/child-nodes.d.ts +4 -0
  94. package/dist/src/hooks/child-nodes.d.ts.map +1 -0
  95. package/dist/src/hooks/child-nodes.js +15 -0
  96. package/dist/src/hooks/child-nodes.js.map +1 -0
  97. package/dist/src/hooks/config/connect.d.ts +72 -0
  98. package/dist/src/hooks/config/connect.d.ts.map +1 -0
  99. package/dist/src/hooks/config/connect.js +174 -0
  100. package/dist/src/hooks/config/connect.js.map +1 -0
  101. package/dist/src/hooks/config/editor.d.ts +32 -0
  102. package/dist/src/hooks/config/editor.d.ts.map +1 -0
  103. package/dist/src/hooks/config/editor.js +43 -0
  104. package/dist/src/hooks/config/editor.js.map +1 -0
  105. package/dist/src/hooks/config/set-config-by-key.d.ts +5 -0
  106. package/dist/src/hooks/config/set-config-by-key.d.ts.map +1 -0
  107. package/dist/src/hooks/config/set-config-by-key.js +15 -0
  108. package/dist/src/hooks/config/set-config-by-key.js.map +1 -0
  109. package/dist/src/hooks/config/set-config-by-object.d.ts +31 -0
  110. package/dist/src/hooks/config/set-config-by-object.d.ts.map +1 -0
  111. package/dist/src/hooks/config/set-config-by-object.js +84 -0
  112. package/dist/src/hooks/config/set-config-by-object.js.map +1 -0
  113. package/dist/src/hooks/config/use-value-by-key.d.ts +13 -0
  114. package/dist/src/hooks/config/use-value-by-key.d.ts.map +1 -0
  115. package/dist/src/hooks/config/use-value-by-key.js +23 -0
  116. package/dist/src/hooks/config/use-value-by-key.js.map +1 -0
  117. package/dist/src/hooks/config/utils.d.ts +3 -0
  118. package/dist/src/hooks/config/utils.d.ts.map +1 -0
  119. package/dist/src/hooks/config/utils.js +6 -0
  120. package/dist/src/hooks/config/utils.js.map +1 -0
  121. package/dist/src/hooks/connect.d.ts +15 -0
  122. package/dist/src/hooks/connect.d.ts.map +1 -0
  123. package/dist/src/hooks/connect.js +15 -0
  124. package/dist/src/hooks/connect.js.map +1 -0
  125. package/dist/src/hooks/crypto.d.ts +3 -0
  126. package/dist/src/hooks/crypto.d.ts.map +1 -0
  127. package/dist/src/hooks/crypto.js +7 -0
  128. package/dist/src/hooks/crypto.js.map +1 -0
  129. package/dist/src/hooks/did.d.ts +2 -0
  130. package/dist/src/hooks/did.d.ts.map +1 -0
  131. package/dist/src/hooks/did.js +3 -0
  132. package/dist/src/hooks/did.js.map +1 -0
  133. package/dist/src/hooks/dispatch.d.ts +4 -0
  134. package/dist/src/hooks/dispatch.d.ts.map +1 -0
  135. package/dist/src/hooks/dispatch.js +10 -0
  136. package/dist/src/hooks/dispatch.js.map +1 -0
  137. package/dist/src/hooks/document-by-id.d.ts +4 -0
  138. package/dist/src/hooks/document-by-id.d.ts.map +1 -0
  139. package/dist/src/hooks/document-by-id.js +10 -0
  140. package/dist/src/hooks/document-by-id.js.map +1 -0
  141. package/dist/src/hooks/document-model-modules.d.ts +4 -0
  142. package/dist/src/hooks/document-model-modules.d.ts.map +1 -0
  143. package/dist/src/hooks/document-model-modules.js +10 -0
  144. package/dist/src/hooks/document-model-modules.js.map +1 -0
  145. package/dist/src/hooks/document-of-type.d.ts +5 -0
  146. package/dist/src/hooks/document-of-type.d.ts.map +1 -0
  147. package/dist/src/hooks/document-of-type.js +22 -0
  148. package/dist/src/hooks/document-of-type.js.map +1 -0
  149. package/dist/src/hooks/document-types.d.ts +7 -0
  150. package/dist/src/hooks/document-types.d.ts.map +1 -0
  151. package/dist/src/hooks/document-types.js +13 -0
  152. package/dist/src/hooks/document-types.js.map +1 -0
  153. package/dist/src/hooks/drive-by-id.d.ts +4 -0
  154. package/dist/src/hooks/drive-by-id.d.ts.map +1 -0
  155. package/dist/src/hooks/drive-by-id.js +12 -0
  156. package/dist/src/hooks/drive-by-id.js.map +1 -0
  157. package/dist/src/hooks/drives.d.ts +9 -0
  158. package/dist/src/hooks/drives.d.ts.map +1 -0
  159. package/dist/src/hooks/drives.js +9 -0
  160. package/dist/src/hooks/drives.js.map +1 -0
  161. package/dist/src/hooks/editor-modules.d.ts +9 -0
  162. package/dist/src/hooks/editor-modules.d.ts.map +1 -0
  163. package/dist/src/hooks/editor-modules.js +43 -0
  164. package/dist/src/hooks/editor-modules.js.map +1 -0
  165. package/dist/src/hooks/folder-by-id.d.ts +3 -0
  166. package/dist/src/hooks/folder-by-id.d.ts.map +1 -0
  167. package/dist/src/hooks/folder-by-id.js +6 -0
  168. package/dist/src/hooks/folder-by-id.js.map +1 -0
  169. package/dist/src/hooks/import-script-modules.d.ts +3 -0
  170. package/dist/src/hooks/import-script-modules.d.ts.map +1 -0
  171. package/dist/src/hooks/import-script-modules.js +6 -0
  172. package/dist/src/hooks/import-script-modules.js.map +1 -0
  173. package/dist/src/hooks/index.d.ts +37 -7
  174. package/dist/src/hooks/index.d.ts.map +1 -1
  175. package/dist/src/hooks/index.js +37 -7
  176. package/dist/src/hooks/index.js.map +1 -1
  177. package/dist/src/hooks/items-in-selected-drive.d.ts +13 -0
  178. package/dist/src/hooks/items-in-selected-drive.d.ts.map +1 -0
  179. package/dist/src/hooks/items-in-selected-drive.js +36 -0
  180. package/dist/src/hooks/items-in-selected-drive.js.map +1 -0
  181. package/dist/src/hooks/loading.d.ts +2 -0
  182. package/dist/src/hooks/loading.d.ts.map +1 -0
  183. package/dist/src/hooks/loading.js +3 -0
  184. package/dist/src/hooks/loading.js.map +1 -0
  185. package/dist/src/hooks/login-status.d.ts +2 -0
  186. package/dist/src/hooks/login-status.d.ts.map +1 -0
  187. package/dist/src/hooks/login-status.js +3 -0
  188. package/dist/src/hooks/login-status.js.map +1 -0
  189. package/dist/src/hooks/make-ph-event-functions.d.ts +7 -0
  190. package/dist/src/hooks/make-ph-event-functions.d.ts.map +1 -0
  191. package/dist/src/hooks/make-ph-event-functions.js +46 -0
  192. package/dist/src/hooks/make-ph-event-functions.js.map +1 -0
  193. package/dist/src/hooks/modals.d.ts +17 -0
  194. package/dist/src/hooks/modals.d.ts.map +1 -0
  195. package/dist/src/hooks/modals.js +26 -0
  196. package/dist/src/hooks/modals.js.map +1 -0
  197. package/dist/src/hooks/node-actions.d.ts +11 -0
  198. package/dist/src/hooks/node-actions.d.ts.map +1 -0
  199. package/dist/src/hooks/node-actions.js +97 -0
  200. package/dist/src/hooks/node-actions.js.map +1 -0
  201. package/dist/src/hooks/node-by-id.d.ts +4 -0
  202. package/dist/src/hooks/node-by-id.d.ts.map +1 -0
  203. package/dist/src/hooks/node-by-id.js +7 -0
  204. package/dist/src/hooks/node-by-id.js.map +1 -0
  205. package/dist/src/hooks/node-path.d.ts +6 -0
  206. package/dist/src/hooks/node-path.d.ts.map +1 -0
  207. package/dist/src/hooks/node-path.js +23 -0
  208. package/dist/src/hooks/node-path.js.map +1 -0
  209. package/dist/src/hooks/parent-folder.d.ts +4 -0
  210. package/dist/src/hooks/parent-folder.d.ts.map +1 -0
  211. package/dist/src/hooks/parent-folder.js +13 -0
  212. package/dist/src/hooks/parent-folder.js.map +1 -0
  213. package/dist/src/hooks/processor-manager.d.ts +9 -0
  214. package/dist/src/hooks/processor-manager.d.ts.map +1 -0
  215. package/dist/src/hooks/processor-manager.js +9 -0
  216. package/dist/src/hooks/processor-manager.js.map +1 -0
  217. package/dist/src/hooks/processor-modules.d.ts +4 -0
  218. package/dist/src/hooks/processor-modules.d.ts.map +1 -0
  219. package/dist/src/hooks/processor-modules.js +12 -0
  220. package/dist/src/hooks/processor-modules.js.map +1 -0
  221. package/dist/src/hooks/reactor.d.ts +9 -0
  222. package/dist/src/hooks/reactor.d.ts.map +1 -0
  223. package/dist/src/hooks/reactor.js +9 -0
  224. package/dist/src/hooks/reactor.js.map +1 -0
  225. package/dist/src/hooks/renown.d.ts +7 -0
  226. package/dist/src/hooks/renown.d.ts.map +1 -0
  227. package/dist/src/hooks/renown.js +9 -0
  228. package/dist/src/hooks/renown.js.map +1 -0
  229. package/dist/src/hooks/revision-history.d.ts +11 -0
  230. package/dist/src/hooks/revision-history.d.ts.map +1 -0
  231. package/dist/src/hooks/revision-history.js +17 -0
  232. package/dist/src/hooks/revision-history.js.map +1 -0
  233. package/dist/src/hooks/selected-document.d.ts +10 -0
  234. package/dist/src/hooks/selected-document.d.ts.map +1 -0
  235. package/dist/src/hooks/selected-document.js +28 -0
  236. package/dist/src/hooks/selected-document.js.map +1 -0
  237. package/dist/src/hooks/selected-drive.d.ts +12 -0
  238. package/dist/src/hooks/selected-drive.d.ts.map +1 -0
  239. package/dist/src/hooks/selected-drive.js +47 -0
  240. package/dist/src/hooks/selected-drive.js.map +1 -0
  241. package/dist/src/hooks/selected-folder.d.ts +4 -0
  242. package/dist/src/hooks/selected-folder.d.ts.map +1 -0
  243. package/dist/src/hooks/selected-folder.js +10 -0
  244. package/dist/src/hooks/selected-folder.js.map +1 -0
  245. package/dist/src/hooks/selected-node.d.ts +7 -0
  246. package/dist/src/hooks/selected-node.d.ts.map +1 -0
  247. package/dist/src/hooks/selected-node.js +31 -0
  248. package/dist/src/hooks/selected-node.js.map +1 -0
  249. package/dist/src/hooks/selected-timeline-item.d.ts +7 -0
  250. package/dist/src/hooks/selected-timeline-item.d.ts.map +1 -0
  251. package/dist/src/hooks/selected-timeline-item.js +9 -0
  252. package/dist/src/hooks/selected-timeline-item.js.map +1 -0
  253. package/dist/src/hooks/subgraph-modules.d.ts +3 -0
  254. package/dist/src/hooks/subgraph-modules.d.ts.map +1 -0
  255. package/dist/src/hooks/subgraph-modules.js +6 -0
  256. package/dist/src/hooks/subgraph-modules.js.map +1 -0
  257. package/dist/src/hooks/supported-document-types.d.ts +3 -0
  258. package/dist/src/hooks/supported-document-types.d.ts.map +1 -0
  259. package/dist/src/hooks/supported-document-types.js +7 -0
  260. package/dist/src/hooks/supported-document-types.js.map +1 -0
  261. package/dist/src/hooks/timeline-revision.d.ts +7 -0
  262. package/dist/src/hooks/timeline-revision.d.ts.map +1 -0
  263. package/dist/src/hooks/timeline-revision.js +9 -0
  264. package/dist/src/hooks/timeline-revision.js.map +1 -0
  265. package/dist/src/hooks/use-document-timeline.d.ts +19 -0
  266. package/dist/src/hooks/use-document-timeline.d.ts.map +1 -0
  267. package/dist/src/hooks/use-document-timeline.js +10 -0
  268. package/dist/src/hooks/use-document-timeline.js.map +1 -0
  269. package/dist/src/hooks/use-on-drop-file.d.ts +3 -0
  270. package/dist/src/hooks/use-on-drop-file.d.ts.map +1 -0
  271. package/dist/src/hooks/use-on-drop-file.js +21 -0
  272. package/dist/src/hooks/use-on-drop-file.js.map +1 -0
  273. package/dist/src/hooks/use-timeline-items.d.ts +25 -0
  274. package/dist/src/hooks/use-timeline-items.d.ts.map +1 -0
  275. package/dist/src/hooks/use-timeline-items.js +104 -0
  276. package/dist/src/hooks/use-timeline-items.js.map +1 -0
  277. package/dist/src/hooks/user-permissions.d.ts +5 -0
  278. package/dist/src/hooks/user-permissions.d.ts.map +1 -0
  279. package/dist/src/hooks/user-permissions.js +17 -0
  280. package/dist/src/hooks/user-permissions.js.map +1 -0
  281. package/dist/src/hooks/user.d.ts +2 -0
  282. package/dist/src/hooks/user.d.ts.map +1 -0
  283. package/dist/src/hooks/user.js +3 -0
  284. package/dist/src/hooks/user.js.map +1 -0
  285. package/dist/src/hooks/vetra-packages.d.ts +8 -0
  286. package/dist/src/hooks/vetra-packages.d.ts.map +1 -0
  287. package/dist/src/hooks/vetra-packages.js +15 -0
  288. package/dist/src/hooks/vetra-packages.js.map +1 -0
  289. package/dist/src/index.d.ts +7 -4
  290. package/dist/src/index.d.ts.map +1 -1
  291. package/dist/src/index.js +7 -2
  292. package/dist/src/index.js.map +1 -1
  293. package/dist/src/pglite/hooks/usePGlite.d.ts +1 -1
  294. package/dist/src/pglite/hooks/usePGlite.d.ts.map +1 -1
  295. package/dist/src/pglite/index.d.ts +0 -4
  296. package/dist/src/pglite/index.d.ts.map +1 -1
  297. package/dist/src/pglite/index.js +0 -4
  298. package/dist/src/pglite/index.js.map +1 -1
  299. package/dist/src/reactor.d.ts +11 -3
  300. package/dist/src/reactor.d.ts.map +1 -1
  301. package/dist/src/reactor.js +90 -10
  302. package/dist/src/reactor.js.map +1 -1
  303. package/dist/src/relational/hooks/useRelationalDb.d.ts +2 -2
  304. package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -1
  305. package/dist/src/relational/hooks/useRelationalDb.js +2 -2
  306. package/dist/src/relational/hooks/useRelationalDb.js.map +1 -1
  307. package/dist/src/relational/hooks/useRelationalQuery.d.ts +2 -3
  308. package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +1 -1
  309. package/dist/src/relational/hooks/useRelationalQuery.js +1 -1
  310. package/dist/src/relational/hooks/useRelationalQuery.js.map +1 -1
  311. package/dist/src/relational/utils/createProcessorQuery.d.ts +4 -4
  312. package/dist/src/relational/utils/createProcessorQuery.d.ts.map +1 -1
  313. package/dist/src/relational/utils/createProcessorQuery.js +2 -2
  314. package/dist/src/relational/utils/createProcessorQuery.js.map +1 -1
  315. package/dist/src/renown/index.d.ts +3 -0
  316. package/dist/src/renown/index.d.ts.map +1 -0
  317. package/dist/src/renown/index.js +3 -0
  318. package/dist/src/renown/index.js.map +1 -0
  319. package/dist/src/renown/utils.d.ts +6 -0
  320. package/dist/src/renown/utils.d.ts.map +1 -0
  321. package/dist/src/renown/utils.js +56 -0
  322. package/dist/src/renown/utils.js.map +1 -0
  323. package/dist/src/types/config.d.ts +90 -0
  324. package/dist/src/types/config.d.ts.map +1 -0
  325. package/dist/src/types/config.js +2 -0
  326. package/dist/src/types/config.js.map +1 -0
  327. package/dist/src/types/documents.d.ts +3 -0
  328. package/dist/src/types/documents.d.ts.map +1 -0
  329. package/dist/src/types/documents.js +2 -0
  330. package/dist/src/types/documents.js.map +1 -0
  331. package/dist/src/types/global.d.ts +42 -0
  332. package/dist/src/types/global.d.ts.map +1 -0
  333. package/dist/src/types/global.js +2 -0
  334. package/dist/src/types/global.js.map +1 -0
  335. package/dist/src/types/index.d.ts +8 -1
  336. package/dist/src/types/index.d.ts.map +1 -1
  337. package/dist/src/types/index.js +1 -1
  338. package/dist/src/types/index.js.map +1 -1
  339. package/dist/src/types/modals.d.ts +32 -0
  340. package/dist/src/types/modals.d.ts.map +1 -0
  341. package/dist/src/types/modals.js +2 -0
  342. package/dist/src/types/modals.js.map +1 -0
  343. package/dist/src/types/reactor.d.ts +2 -0
  344. package/dist/src/types/reactor.d.ts.map +1 -0
  345. package/dist/src/types/reactor.js +2 -0
  346. package/dist/src/types/reactor.js.map +1 -0
  347. package/dist/src/types/timeline.d.ts +24 -0
  348. package/dist/src/types/timeline.d.ts.map +1 -0
  349. package/dist/src/types/timeline.js +2 -0
  350. package/dist/src/types/timeline.js.map +1 -0
  351. package/dist/src/types/upload.d.ts +16 -0
  352. package/dist/src/types/upload.d.ts.map +1 -0
  353. package/dist/src/types/upload.js +2 -0
  354. package/dist/src/types/upload.js.map +1 -0
  355. package/dist/src/types/vetra.d.ts +57 -0
  356. package/dist/src/types/vetra.d.ts.map +1 -0
  357. package/dist/src/types/vetra.js +2 -0
  358. package/dist/src/types/vetra.js.map +1 -0
  359. package/dist/src/utils/documents.d.ts +2 -0
  360. package/dist/src/utils/documents.d.ts.map +1 -0
  361. package/dist/src/utils/documents.js +20 -0
  362. package/dist/src/utils/documents.js.map +1 -0
  363. package/dist/src/utils/drives.d.ts +35 -0
  364. package/dist/src/utils/drives.d.ts.map +1 -0
  365. package/dist/src/utils/drives.js +120 -0
  366. package/dist/src/utils/drives.js.map +1 -0
  367. package/dist/src/utils/export-document.d.ts +2 -2
  368. package/dist/src/utils/export-document.d.ts.map +1 -1
  369. package/dist/src/utils/export-document.js +14 -15
  370. package/dist/src/utils/export-document.js.map +1 -1
  371. package/dist/src/utils/get-revision-from-date.d.ts +3 -0
  372. package/dist/src/utils/get-revision-from-date.d.ts.map +1 -0
  373. package/dist/src/utils/get-revision-from-date.js +10 -0
  374. package/dist/src/utils/get-revision-from-date.js.map +1 -0
  375. package/dist/src/utils/index.d.ts +10 -4
  376. package/dist/src/utils/index.d.ts.map +1 -1
  377. package/dist/src/utils/index.js +10 -8
  378. package/dist/src/utils/index.js.map +1 -1
  379. package/dist/src/utils/nodes.d.ts +8 -0
  380. package/dist/src/utils/nodes.d.ts.map +1 -0
  381. package/dist/src/utils/nodes.js +17 -0
  382. package/dist/src/utils/nodes.js.map +1 -0
  383. package/dist/src/utils/switchboard.d.ts +3 -4
  384. package/dist/src/utils/switchboard.d.ts.map +1 -1
  385. package/dist/src/utils/switchboard.js +25 -24
  386. package/dist/src/utils/switchboard.js.map +1 -1
  387. package/dist/src/utils/url.d.ts +25 -0
  388. package/dist/src/utils/url.d.ts.map +1 -0
  389. package/dist/src/utils/url.js +70 -0
  390. package/dist/src/utils/url.js.map +1 -0
  391. package/dist/src/utils/user.d.ts +5 -0
  392. package/dist/src/utils/user.d.ts.map +1 -0
  393. package/dist/src/utils/user.js +15 -0
  394. package/dist/src/utils/user.js.map +1 -0
  395. package/dist/src/utils/validate-document.d.ts +3 -0
  396. package/dist/src/utils/validate-document.d.ts.map +1 -0
  397. package/dist/src/utils/validate-document.js +38 -0
  398. package/dist/src/utils/validate-document.js.map +1 -0
  399. package/dist/src/utils/vetra.d.ts +7 -0
  400. package/dist/src/utils/vetra.d.ts.map +1 -0
  401. package/dist/src/utils/vetra.js +84 -0
  402. package/dist/src/utils/vetra.js.map +1 -0
  403. package/dist/test/analytics.test.d.ts +2 -0
  404. package/dist/test/analytics.test.d.ts.map +1 -0
  405. package/dist/test/analytics.test.js +262 -0
  406. package/dist/test/analytics.test.js.map +1 -0
  407. package/dist/test/getSwitchboardUrl.test.d.ts +2 -0
  408. package/dist/test/getSwitchboardUrl.test.d.ts.map +1 -0
  409. package/dist/test/getSwitchboardUrl.test.js +105 -0
  410. package/dist/test/getSwitchboardUrl.test.js.map +1 -0
  411. package/dist/test/reactor.test.d.ts +2 -0
  412. package/dist/test/reactor.test.d.ts.map +1 -0
  413. package/dist/test/reactor.test.js +26 -0
  414. package/dist/test/reactor.test.js.map +1 -0
  415. package/dist/test/switchboard.test.d.ts +2 -0
  416. package/dist/test/switchboard.test.d.ts.map +1 -0
  417. package/dist/test/switchboard.test.js +25 -0
  418. package/dist/test/switchboard.test.js.map +1 -0
  419. package/dist/tsconfig.tsbuildinfo +1 -0
  420. package/dist/vitest.config.d.ts +3 -0
  421. package/dist/vitest.config.d.ts.map +1 -0
  422. package/dist/vitest.config.js +24 -0
  423. package/dist/vitest.config.js.map +1 -0
  424. package/package.json +34 -34
  425. package/dist/package.json +0 -75
  426. package/dist/src/analytics/analytics.d.ts +0 -5
  427. package/dist/src/analytics/analytics.d.ts.map +0 -1
  428. package/dist/src/analytics/analytics.js +0 -6
  429. package/dist/src/analytics/analytics.js.map +0 -1
  430. package/dist/src/crypto/browser.d.ts +0 -8
  431. package/dist/src/crypto/browser.d.ts.map +0 -1
  432. package/dist/src/crypto/browser.js +0 -50
  433. package/dist/src/crypto/browser.js.map +0 -1
  434. package/dist/src/crypto/index.d.ts +0 -27
  435. package/dist/src/crypto/index.d.ts.map +0 -1
  436. package/dist/src/crypto/index.js +0 -152
  437. package/dist/src/crypto/index.js.map +0 -1
  438. package/dist/src/hooks/document-state.d.ts +0 -24
  439. package/dist/src/hooks/document-state.d.ts.map +0 -1
  440. package/dist/src/hooks/document-state.js +0 -89
  441. package/dist/src/hooks/document-state.js.map +0 -1
  442. package/dist/src/hooks/useAddDebouncedOperations.d.ts +0 -7
  443. package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
  444. package/dist/src/hooks/useAddDebouncedOperations.js +0 -53
  445. package/dist/src/hooks/useAddDebouncedOperations.js.map +0 -1
  446. package/dist/src/hooks/useConnectCrypto.d.ts +0 -4
  447. package/dist/src/hooks/useConnectCrypto.d.ts.map +0 -1
  448. package/dist/src/hooks/useConnectCrypto.js +0 -57
  449. package/dist/src/hooks/useConnectCrypto.js.map +0 -1
  450. package/dist/src/hooks/useDocument.d.ts +0 -8
  451. package/dist/src/hooks/useDocument.d.ts.map +0 -1
  452. package/dist/src/hooks/useDocument.js +0 -32
  453. package/dist/src/hooks/useDocument.js.map +0 -1
  454. package/dist/src/hooks/useDocumentDispatch.d.ts +0 -10
  455. package/dist/src/hooks/useDocumentDispatch.d.ts.map +0 -1
  456. package/dist/src/hooks/useDocumentDispatch.js +0 -42
  457. package/dist/src/hooks/useDocumentDispatch.js.map +0 -1
  458. package/dist/src/hooks/useDocumentDrives.d.ts +0 -12
  459. package/dist/src/hooks/useDocumentDrives.d.ts.map +0 -1
  460. package/dist/src/hooks/useDocumentDrives.js +0 -122
  461. package/dist/src/hooks/useDocumentDrives.js.map +0 -1
  462. package/dist/src/hooks/useDocumentEditor.d.ts +0 -32
  463. package/dist/src/hooks/useDocumentEditor.d.ts.map +0 -1
  464. package/dist/src/hooks/useDocumentEditor.js +0 -41
  465. package/dist/src/hooks/useDocumentEditor.js.map +0 -1
  466. package/dist/src/hooks/useDriveActions.d.ts +0 -79
  467. package/dist/src/hooks/useDriveActions.d.ts.map +0 -1
  468. package/dist/src/hooks/useDriveActions.js +0 -108
  469. package/dist/src/hooks/useDriveActions.js.map +0 -1
  470. package/dist/src/hooks/useDriveContext.d.ts +0 -21
  471. package/dist/src/hooks/useDriveContext.d.ts.map +0 -1
  472. package/dist/src/hooks/useDriveContext.js +0 -26
  473. package/dist/src/hooks/useDriveContext.js.map +0 -1
  474. package/dist/src/hooks/useUserPermissions.d.ts +0 -6
  475. package/dist/src/hooks/useUserPermissions.d.ts.map +0 -1
  476. package/dist/src/hooks/useUserPermissions.js +0 -7
  477. package/dist/src/hooks/useUserPermissions.js.map +0 -1
  478. package/dist/src/renown/types.d.ts +0 -76
  479. package/dist/src/renown/types.d.ts.map +0 -1
  480. package/dist/src/renown/types.js +0 -2
  481. package/dist/src/renown/types.js.map +0 -1
  482. package/dist/src/types/drive-editor.d.ts +0 -143
  483. package/dist/src/types/drive-editor.d.ts.map +0 -1
  484. package/dist/src/types/drive-editor.js +0 -2
  485. package/dist/src/types/drive-editor.js.map +0 -1
  486. package/dist/src/utils/signature.d.ts +0 -5
  487. package/dist/src/utils/signature.d.ts.map +0 -1
  488. package/dist/src/utils/signature.js +0 -40
  489. package/dist/src/utils/signature.js.map +0 -1
  490. package/dist/tsconfig.lib.tsbuildinfo +0 -1
@@ -0,0 +1,470 @@
1
+ import { isDocumentTypeSupported, } from "@powerhousedao/reactor-browser";
2
+ import { addFile as baseAddFile, addFolder as baseAddFolder, copyNode as baseCopyNode, deleteNode as baseDeleteNode, moveNode as baseMoveNode, updateFile as baseUpdateFile, generateNodesCopy, isFileNode, isFolderNode, logger, updateNode, } from "document-drive";
3
+ import { baseLoadFromInput, baseSaveToFileHandle, createPresignedHeader, createZip, generateId, replayDocument, } from "document-model/core";
4
+ import { UnsupportedDocumentTypeError } from "../errors.js";
5
+ import { getUserPermissions } from "../utils/user.js";
6
+ import { queueActions, queueOperations, uploadOperations } from "./queue.js";
7
+ async function isDocumentInLocation(document, driveId, parentFolder) {
8
+ const reactor = window.ph?.reactor;
9
+ if (!reactor) {
10
+ return { isDuplicate: false };
11
+ }
12
+ try {
13
+ // Get the drive and check its nodes
14
+ const drive = await reactor.getDrive(driveId);
15
+ // Case 1: Check for duplicate by ID
16
+ const nodeById = drive.state.global.nodes.find((node) => node.id === document.header.id);
17
+ if (nodeById && nodeById.parentFolder === (parentFolder ?? null)) {
18
+ return {
19
+ isDuplicate: true,
20
+ duplicateType: "id",
21
+ nodeId: nodeById.id,
22
+ };
23
+ }
24
+ // Case 2: Check for duplicate by name + type in same parent folder
25
+ const nodeByNameAndType = drive.state.global.nodes.find((node) => isFileNode(node) &&
26
+ node.name === document.header.name &&
27
+ node.documentType === document.header.documentType &&
28
+ node.parentFolder === (parentFolder ?? null));
29
+ if (nodeByNameAndType) {
30
+ return {
31
+ isDuplicate: true,
32
+ duplicateType: "name",
33
+ nodeId: nodeByNameAndType.id,
34
+ };
35
+ }
36
+ return { isDuplicate: false };
37
+ }
38
+ catch {
39
+ // Drive doesn't exist or other error
40
+ return { isDuplicate: false };
41
+ }
42
+ }
43
+ function getDocumentTypeIcon(document) {
44
+ const documentType = document.header.documentType;
45
+ switch (documentType) {
46
+ case "powerhouse/document-model":
47
+ return "document-model";
48
+ case "powerhouse/app":
49
+ return "app";
50
+ case "powerhouse/document-editor":
51
+ return "editor";
52
+ case "powerhouse/subgraph":
53
+ return "subgraph";
54
+ case "powerhouse/package":
55
+ return "package";
56
+ case "powerhouse/processor": {
57
+ // Check the processor type from global state (safely)
58
+ const globalState = document.state
59
+ .global;
60
+ const processorType = globalState?.type;
61
+ if (processorType === "analytics")
62
+ return "analytics-processor";
63
+ if (processorType === "relational")
64
+ return "relational-processor";
65
+ if (processorType === "codegen")
66
+ return "codegen-processor";
67
+ return undefined;
68
+ }
69
+ default:
70
+ return undefined;
71
+ }
72
+ }
73
+ export function downloadFile(document, fileName) {
74
+ const zip = createZip(document);
75
+ zip
76
+ .generateAsync({ type: "blob" })
77
+ .then((blob) => {
78
+ const link = window.document.createElement("a");
79
+ link.style.display = "none";
80
+ link.href = URL.createObjectURL(blob);
81
+ link.download = fileName;
82
+ window.document.body.appendChild(link);
83
+ link.click();
84
+ window.document.body.removeChild(link);
85
+ })
86
+ .catch(logger.error);
87
+ }
88
+ export async function exportFile(document, suggestedName) {
89
+ const reactor = window.ph?.reactor;
90
+ if (!reactor) {
91
+ return;
92
+ }
93
+ const documentModelModules = reactor.getDocumentModelModules();
94
+ const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === document.header.documentType);
95
+ let extension = "";
96
+ const documentExtension = documentModelModule?.documentModel.global.extension;
97
+ if (documentExtension) {
98
+ const cleanExtension = documentExtension.replace(/^\.+|\.+$/g, "") || "";
99
+ extension = `.${cleanExtension}`;
100
+ }
101
+ const name = `${suggestedName || document.header.name || "Untitled"}${extension}.phd`;
102
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
103
+ if (!window.showSaveFilePicker) {
104
+ return downloadFile(document, name);
105
+ }
106
+ try {
107
+ const fileHandle = await window.showSaveFilePicker({
108
+ suggestedName: name,
109
+ });
110
+ await baseSaveToFileHandle(document, fileHandle);
111
+ return fileHandle;
112
+ }
113
+ catch (e) {
114
+ // ignores error if user cancelled the file picker
115
+ if (!(e instanceof DOMException && e.name === "AbortError")) {
116
+ throw e;
117
+ }
118
+ }
119
+ }
120
+ export async function loadFile(path) {
121
+ const reactor = window.ph?.reactor;
122
+ if (!reactor) {
123
+ return;
124
+ }
125
+ const documentModelModules = reactor.getDocumentModelModules();
126
+ const baseDocument = await baseLoadFromInput(path, (state) => state, { checkHashes: true });
127
+ const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === baseDocument.header.documentType);
128
+ if (!documentModelModule) {
129
+ throw new Error(`Document "${baseDocument.header.documentType}" is not supported`);
130
+ }
131
+ return documentModelModule.utils.loadFromInput(path);
132
+ }
133
+ export async function addDocument(driveId, name, documentType, parentFolder, document, id, preferredEditor) {
134
+ const reactor = window.ph?.reactor;
135
+ if (!reactor) {
136
+ return;
137
+ }
138
+ const { isAllowedToCreateDocuments } = getUserPermissions();
139
+ if (!isAllowedToCreateDocuments) {
140
+ throw new Error("User is not allowed to create documents");
141
+ }
142
+ const drive = await reactor.getDrive(driveId);
143
+ const documentId = id ?? generateId();
144
+ const reactorDocumentModelModules = reactor.getDocumentModelModules();
145
+ const documentModelModuleFromReactor = reactorDocumentModelModules.find((module) => module.documentModel.global.id === documentType);
146
+ if (!documentModelModuleFromReactor) {
147
+ throw new Error(`Document model module for type ${documentType} not found`);
148
+ }
149
+ const newDocument = documentModelModuleFromReactor.utils.createDocument({
150
+ ...document?.state,
151
+ });
152
+ newDocument.header = createPresignedHeader(documentId, documentType);
153
+ newDocument.header.name = name;
154
+ const documentMeta = preferredEditor ? { preferredEditor } : undefined;
155
+ await reactor.addDocument(newDocument, documentMeta);
156
+ const action = baseAddFile({
157
+ id: documentId,
158
+ name,
159
+ documentType,
160
+ parentFolder: parentFolder ?? null,
161
+ });
162
+ const unsafeCastAsDrive = (await queueActions(drive, action));
163
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === documentId);
164
+ if (!node || !isFileNode(node)) {
165
+ throw new Error("There was an error adding document");
166
+ }
167
+ return node;
168
+ }
169
+ export async function addFile(file, driveId, name, parentFolder) {
170
+ logger.verbose(`addFile(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
171
+ const reactor = window.ph?.reactor;
172
+ if (!reactor) {
173
+ return;
174
+ }
175
+ const { isAllowedToCreateDocuments } = getUserPermissions();
176
+ if (!isAllowedToCreateDocuments) {
177
+ throw new Error("User is not allowed to create files");
178
+ }
179
+ const document = await loadFile(file);
180
+ if (!document) {
181
+ throw new Error("No document loaded");
182
+ }
183
+ const documentModule = reactor
184
+ .getDocumentModelModules()
185
+ .find((module) => module.documentModel.global.id === document.header.documentType);
186
+ if (!documentModule) {
187
+ throw new Error(`Document model module for type ${document.header.documentType} not found`);
188
+ }
189
+ let duplicateId = false;
190
+ try {
191
+ await reactor.getDocument(document.header.id);
192
+ duplicateId = true;
193
+ }
194
+ catch {
195
+ // document id not found
196
+ }
197
+ const documentId = duplicateId ? generateId() : document.header.id;
198
+ const header = createPresignedHeader(documentId, document.header.documentType);
199
+ header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
200
+ header.meta = document.header.meta;
201
+ header.name = name || document.header.name;
202
+ // copy the document at it's initial state
203
+ const initialDocument = {
204
+ ...document,
205
+ header,
206
+ state: document.initialState,
207
+ operations: Object.keys(document.operations).reduce((acc, key) => {
208
+ acc[key] = [];
209
+ return acc;
210
+ }, {}),
211
+ };
212
+ const fileNode = await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
213
+ if (!fileNode) {
214
+ throw new Error("There was an error adding file");
215
+ }
216
+ // then add all the operations in chunks
217
+ uploadOperations(documentId, document.operations, queueOperations).catch((error) => {
218
+ throw error;
219
+ });
220
+ }
221
+ export async function addFileWithProgress(file, driveId, name, parentFolder, onProgress, documentTypes, resolveConflict) {
222
+ logger.verbose(`addFileWithProgress(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
223
+ const reactor = window.ph?.reactor;
224
+ if (!reactor) {
225
+ return;
226
+ }
227
+ const { isAllowedToCreateDocuments } = getUserPermissions();
228
+ if (!isAllowedToCreateDocuments) {
229
+ throw new Error("User is not allowed to create files");
230
+ }
231
+ // Loading stage (0-10%)
232
+ try {
233
+ onProgress?.({ stage: "loading", progress: 0 });
234
+ const document = await loadFile(file);
235
+ if (!document) {
236
+ throw new Error("No document loaded");
237
+ }
238
+ // Check for duplicate in same location
239
+ const duplicateCheck = await isDocumentInLocation(document, driveId, parentFolder);
240
+ if (duplicateCheck.isDuplicate && !resolveConflict) {
241
+ // Report conflict and return early
242
+ onProgress?.({
243
+ stage: "conflict",
244
+ progress: 0,
245
+ duplicateType: duplicateCheck.duplicateType,
246
+ });
247
+ return undefined;
248
+ }
249
+ // Handle replace resolution by deleting the existing document
250
+ if (duplicateCheck.isDuplicate &&
251
+ resolveConflict === "replace" &&
252
+ duplicateCheck.nodeId) {
253
+ await deleteNode(driveId, duplicateCheck.nodeId);
254
+ }
255
+ // For "duplicate" resolution, we continue normally which creates a new document
256
+ // with a different ID (the default behavior)
257
+ // Send documentType info immediately after loading
258
+ const documentType = getDocumentTypeIcon(document);
259
+ if (documentType) {
260
+ onProgress?.({ stage: "loading", progress: 10, documentType });
261
+ }
262
+ else {
263
+ onProgress?.({ stage: "loading", progress: 10 });
264
+ }
265
+ if (!isDocumentTypeSupported(document.header.documentType, documentTypes)) {
266
+ onProgress?.({
267
+ stage: "unsupported-document-type",
268
+ progress: 100,
269
+ error: `Document type ${document.header.documentType} is not supported`,
270
+ });
271
+ throw new UnsupportedDocumentTypeError(document.header.documentType);
272
+ }
273
+ const documentModule = reactor
274
+ .getDocumentModelModules()
275
+ .find((module) => module.documentModel.global.id === document.header.documentType);
276
+ if (!documentModule) {
277
+ throw new Error(`Document model module for type ${document.header.documentType} not found`);
278
+ }
279
+ // Initializing stage (10-20%)
280
+ onProgress?.({ stage: "initializing", progress: 10 });
281
+ let duplicateId = false;
282
+ try {
283
+ await reactor.getDocument(document.header.id);
284
+ duplicateId = true;
285
+ }
286
+ catch {
287
+ // document id not found
288
+ }
289
+ const documentId = duplicateId ? generateId() : document.header.id;
290
+ const header = createPresignedHeader(documentId, document.header.documentType);
291
+ header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
292
+ header.meta = document.header.meta;
293
+ header.name = name || document.header.name;
294
+ // copy the document at it's initial state
295
+ const initialDocument = {
296
+ ...document,
297
+ header,
298
+ state: document.initialState,
299
+ operations: Object.keys(document.operations).reduce((acc, key) => {
300
+ acc[key] = [];
301
+ return acc;
302
+ }, {}),
303
+ };
304
+ const fileNode = await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
305
+ if (!fileNode) {
306
+ throw new Error("There was an error adding file");
307
+ }
308
+ onProgress?.({ stage: "initializing", progress: 20 });
309
+ // Uploading stage (20-100%)
310
+ await uploadOperations(documentId, document.operations, queueOperations, {
311
+ onProgress: (uploadProgress) => {
312
+ if (uploadProgress.totalOperations &&
313
+ uploadProgress.uploadedOperations !== undefined) {
314
+ const uploadPercent = uploadProgress.totalOperations > 0
315
+ ? uploadProgress.uploadedOperations /
316
+ uploadProgress.totalOperations
317
+ : 0;
318
+ const overallProgress = 20 + Math.round(uploadPercent * 80);
319
+ onProgress?.({
320
+ stage: "uploading",
321
+ progress: overallProgress,
322
+ totalOperations: uploadProgress.totalOperations,
323
+ uploadedOperations: uploadProgress.uploadedOperations,
324
+ });
325
+ }
326
+ },
327
+ });
328
+ onProgress?.({ stage: "complete", progress: 100 });
329
+ return fileNode;
330
+ }
331
+ catch (error) {
332
+ // Don't override unsupported-document-type status
333
+ if (!(error instanceof UnsupportedDocumentTypeError)) {
334
+ const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
335
+ onProgress?.({
336
+ stage: "failed",
337
+ progress: 100,
338
+ error: errorMessage,
339
+ });
340
+ }
341
+ throw error;
342
+ }
343
+ }
344
+ export async function updateFile(driveId, nodeId, documentType, name, parentFolder) {
345
+ const reactor = window.ph?.reactor;
346
+ if (!reactor) {
347
+ return;
348
+ }
349
+ const { isAllowedToCreateDocuments } = getUserPermissions();
350
+ if (!isAllowedToCreateDocuments) {
351
+ throw new Error("User is not allowed to update files");
352
+ }
353
+ const drive = await reactor.getDrive(driveId);
354
+ const unsafeCastAsDrive = (await queueActions(drive, baseUpdateFile({
355
+ id: nodeId,
356
+ name: name ?? undefined,
357
+ parentFolder,
358
+ documentType,
359
+ })));
360
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
361
+ if (!node || !isFileNode(node)) {
362
+ throw new Error("There was an error updating document");
363
+ }
364
+ return node;
365
+ }
366
+ export async function addFolder(driveId, name, parentFolder) {
367
+ const reactor = window.ph?.reactor;
368
+ if (!reactor) {
369
+ return;
370
+ }
371
+ const { isAllowedToCreateDocuments } = getUserPermissions();
372
+ if (!isAllowedToCreateDocuments) {
373
+ throw new Error("User is not allowed to create folders");
374
+ }
375
+ const folderId = generateId();
376
+ const drive = await reactor.getDrive(driveId);
377
+ const unsafeCastAsDrive = (await queueActions(drive, baseAddFolder({
378
+ id: folderId,
379
+ name,
380
+ parentFolder,
381
+ })));
382
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === folderId);
383
+ if (!node || !isFolderNode(node)) {
384
+ throw new Error("There was an error adding folder");
385
+ }
386
+ return node;
387
+ }
388
+ export async function deleteNode(driveId, nodeId) {
389
+ const reactor = window.ph?.reactor;
390
+ if (!reactor) {
391
+ return;
392
+ }
393
+ const { isAllowedToCreateDocuments } = getUserPermissions();
394
+ if (!isAllowedToCreateDocuments) {
395
+ throw new Error("User is not allowed to delete documents");
396
+ }
397
+ const drive = await reactor.getDrive(driveId);
398
+ await queueActions(drive, baseDeleteNode({ id: nodeId }));
399
+ }
400
+ export async function renameNode(driveId, nodeId, name) {
401
+ const reactor = window.ph?.reactor;
402
+ if (!reactor) {
403
+ return;
404
+ }
405
+ const { isAllowedToCreateDocuments } = getUserPermissions();
406
+ if (!isAllowedToCreateDocuments) {
407
+ throw new Error("User is not allowed to rename documents");
408
+ }
409
+ const drive = await reactor.getDrive(driveId);
410
+ const unsafeCastAsDrive = (await queueActions(drive, updateNode({ id: nodeId, name })));
411
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
412
+ if (!node) {
413
+ throw new Error("There was an error renaming node");
414
+ }
415
+ return node;
416
+ }
417
+ export async function moveNode(driveId, src, target) {
418
+ const reactor = window.ph?.reactor;
419
+ if (!reactor) {
420
+ return;
421
+ }
422
+ const { isAllowedToCreateDocuments } = getUserPermissions();
423
+ if (!isAllowedToCreateDocuments) {
424
+ throw new Error("User is not allowed to move documents");
425
+ }
426
+ const drive = await reactor.getDrive(driveId);
427
+ return await queueActions(drive, baseMoveNode({ srcFolder: src.id, targetParentFolder: target?.id }));
428
+ }
429
+ function _duplicateDocument(reactor, document, newId = generateId()) {
430
+ const documentModule = reactor
431
+ .getDocumentModelModules()
432
+ .find((module) => module.documentModel.global.id === document.header.documentType);
433
+ if (!documentModule) {
434
+ throw new Error(`Document model module for type ${document.header.documentType} not found`);
435
+ }
436
+ return replayDocument(document.initialState, document.operations, documentModule.reducer, undefined, createPresignedHeader(newId, document.header.documentType));
437
+ }
438
+ export async function copyNode(driveId, src, target) {
439
+ const reactor = window.ph?.reactor;
440
+ if (!reactor) {
441
+ return;
442
+ }
443
+ const { isAllowedToCreateDocuments } = getUserPermissions();
444
+ if (!isAllowedToCreateDocuments) {
445
+ throw new Error("User is not allowed to copy documents");
446
+ }
447
+ const drive = await reactor.getDrive(driveId);
448
+ const copyNodesInput = generateNodesCopy({
449
+ srcId: src.id,
450
+ targetParentFolder: target?.id,
451
+ targetName: src.name,
452
+ }, () => generateId(), drive.state.global.nodes);
453
+ const fileNodesToCopy = copyNodesInput.filter((copyNodeInput) => {
454
+ const node = drive.state.global.nodes.find((node) => node.id === copyNodeInput.srcId);
455
+ return node !== undefined && isFileNode(node);
456
+ });
457
+ for (const fileNodeToCopy of fileNodesToCopy) {
458
+ try {
459
+ const document = await reactor.getDocument(fileNodeToCopy.srcId);
460
+ const duplicatedDocument = _duplicateDocument(reactor, document, fileNodeToCopy.targetId);
461
+ await reactor.addDocument(duplicatedDocument);
462
+ }
463
+ catch (e) {
464
+ logger.error(`Error copying document ${fileNodeToCopy.srcId}: ${String(e)}`);
465
+ }
466
+ }
467
+ const copyActions = copyNodesInput.map((copyNodeInput) => baseCopyNode(copyNodeInput));
468
+ return await queueActions(drive, copyActions);
469
+ }
470
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/actions/document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { DocumentDriveDocument, DriveInput, PullResponderTrigger, RemoteDriveOptions, SharingType, Trigger } from "document-drive";
2
+ import type { PHDocument } from "document-model";
3
+ export declare function addDrive(input: DriveInput, preferredEditor?: string): Promise<DocumentDriveDocument | undefined>;
4
+ export declare function addRemoteDrive(url: string, options: RemoteDriveOptions): Promise<DocumentDriveDocument | undefined>;
5
+ export declare function deleteDrive(driveId: string): Promise<void>;
6
+ export declare function renameDrive(driveId: string, name: string): Promise<PHDocument | undefined>;
7
+ export declare function setDriveAvailableOffline(driveId: string, availableOffline: boolean): Promise<PHDocument | undefined>;
8
+ export declare function setDriveSharingType(driveId: string, sharingType: SharingType): Promise<PHDocument | undefined>;
9
+ export declare function removeTrigger(driveId: string, triggerId: string): Promise<void>;
10
+ export declare function registerNewPullResponderTrigger(driveId: string, url: string, options: Pick<RemoteDriveOptions, "pullFilter" | "pullInterval">): Promise<PullResponderTrigger | undefined>;
11
+ export declare function addTrigger(driveId: string, trigger: Trigger): Promise<void>;
12
+ //# sourceMappingURL=drive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../../src/actions/drive.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAElB,WAAW,EACX,OAAO,EACR,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAKjD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,8CAoBzE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,8CAQ5E;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,iBAWhD;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAajC;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAgBjC;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAgBjC;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAkBrE;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,cAAc,CAAC,GAC/D,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAqD3C;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,iBAkBjE"}
@@ -0,0 +1,152 @@
1
+ import { PullResponderTransmitter, addTrigger as baseAddTrigger, removeTrigger as baseRemoveTrigger, setAvailableOffline, setDriveName, setSharingType, } from "document-drive";
2
+ import { generateId } from "document-model/core";
3
+ import { getUserPermissions } from "../utils/user.js";
4
+ import { queueActions } from "./queue.js";
5
+ export async function addDrive(input, preferredEditor) {
6
+ const reactor = window.ph?.reactor;
7
+ if (!reactor) {
8
+ return;
9
+ }
10
+ const { isAllowedToCreateDocuments } = getUserPermissions();
11
+ if (!isAllowedToCreateDocuments) {
12
+ throw new Error("User is not allowed to create drives");
13
+ }
14
+ const id = input.id || generateId();
15
+ const newDrive = await reactor.addDrive({
16
+ global: input.global,
17
+ local: input.local,
18
+ id,
19
+ }, preferredEditor);
20
+ return newDrive;
21
+ }
22
+ export async function addRemoteDrive(url, options) {
23
+ const reactor = window.ph?.reactor;
24
+ if (!reactor) {
25
+ return;
26
+ }
27
+ const newDrive = await reactor.addRemoteDrive(url, options);
28
+ return newDrive;
29
+ }
30
+ export async function deleteDrive(driveId) {
31
+ const reactor = window.ph?.reactor;
32
+ if (!reactor) {
33
+ return;
34
+ }
35
+ const { isAllowedToCreateDocuments } = getUserPermissions();
36
+ if (!isAllowedToCreateDocuments) {
37
+ throw new Error("User is not allowed to delete drives");
38
+ }
39
+ await reactor.deleteDrive(driveId);
40
+ }
41
+ export async function renameDrive(driveId, name) {
42
+ const reactor = window.ph?.reactor;
43
+ if (!reactor) {
44
+ return;
45
+ }
46
+ const { isAllowedToCreateDocuments } = getUserPermissions();
47
+ if (!isAllowedToCreateDocuments) {
48
+ throw new Error("User is not allowed to rename drives");
49
+ }
50
+ const drive = await reactor.getDrive(driveId);
51
+ const renamedDrive = await queueActions(drive, setDriveName({ name }));
52
+ return renamedDrive;
53
+ }
54
+ export async function setDriveAvailableOffline(driveId, availableOffline) {
55
+ const reactor = window.ph?.reactor;
56
+ if (!reactor) {
57
+ return;
58
+ }
59
+ const { isAllowedToCreateDocuments } = getUserPermissions();
60
+ if (!isAllowedToCreateDocuments) {
61
+ throw new Error("User is not allowed to change drive availability");
62
+ }
63
+ const drive = await reactor.getDrive(driveId);
64
+ const updatedDrive = await queueActions(drive, setAvailableOffline({ availableOffline }));
65
+ return updatedDrive;
66
+ }
67
+ export async function setDriveSharingType(driveId, sharingType) {
68
+ const reactor = window.ph?.reactor;
69
+ if (!reactor) {
70
+ return;
71
+ }
72
+ const { isAllowedToCreateDocuments } = getUserPermissions();
73
+ if (!isAllowedToCreateDocuments) {
74
+ throw new Error("User is not allowed to change drive availability");
75
+ }
76
+ const drive = await reactor.getDrive(driveId);
77
+ const updatedDrive = await queueActions(drive, setSharingType({ type: sharingType }));
78
+ return updatedDrive;
79
+ }
80
+ export async function removeTrigger(driveId, triggerId) {
81
+ const reactor = window.ph?.reactor;
82
+ if (!reactor) {
83
+ return;
84
+ }
85
+ const drive = await reactor.getDrive(driveId);
86
+ const unsafeCastAsDrive = (await queueActions(drive, baseRemoveTrigger({ triggerId })));
87
+ const trigger = unsafeCastAsDrive.state.local.triggers.find((trigger) => trigger.id === triggerId);
88
+ if (trigger) {
89
+ throw new Error(`There was an error removing trigger ${triggerId}`);
90
+ }
91
+ }
92
+ export async function registerNewPullResponderTrigger(driveId, url, options) {
93
+ const reactor = window.ph?.reactor;
94
+ if (!reactor) {
95
+ return;
96
+ }
97
+ const uuid = generateId();
98
+ const listener = {
99
+ driveId,
100
+ listenerId: uuid,
101
+ block: false,
102
+ filter: {
103
+ branch: options.pullFilter?.branch ?? [],
104
+ documentId: options.pullFilter?.documentId ?? [],
105
+ documentType: options.pullFilter?.documentType ?? [],
106
+ scope: options.pullFilter?.scope ?? [],
107
+ },
108
+ system: false,
109
+ label: `Pullresponder #${uuid}`,
110
+ callInfo: {
111
+ data: "",
112
+ name: "PullResponder",
113
+ transmitterType: "PullResponder",
114
+ },
115
+ };
116
+ // TODO: circular reference
117
+ // TODO: once we have DI, remove this and pass around
118
+ const listenerManager = reactor.listeners;
119
+ listener.transmitter = new PullResponderTransmitter(listener, listenerManager);
120
+ // set the listener on the manager directly (bypassing operations)
121
+ try {
122
+ await listenerManager.setListener(driveId, listener);
123
+ }
124
+ catch (error) {
125
+ throw new Error(`Listener couldn't be registered: ${error}`);
126
+ }
127
+ // for backwards compatibility: return everything but the transmitter
128
+ return {
129
+ driveId,
130
+ filter: listener.filter,
131
+ data: {
132
+ interval: `${options.pullInterval}` || "1000",
133
+ listenerId: uuid,
134
+ url,
135
+ },
136
+ id: uuid,
137
+ type: "PullResponder",
138
+ };
139
+ }
140
+ export async function addTrigger(driveId, trigger) {
141
+ const reactor = window.ph?.reactor;
142
+ if (!reactor) {
143
+ return;
144
+ }
145
+ const drive = await reactor.getDrive(driveId);
146
+ const unsafeCastAsDrive = (await queueActions(drive, baseAddTrigger({ trigger })));
147
+ const newTrigger = unsafeCastAsDrive.state.local.triggers.find((trigger) => trigger.id === trigger.id);
148
+ if (!newTrigger) {
149
+ throw new Error(`There was an error adding the trigger ${trigger.id}`);
150
+ }
151
+ }
152
+ //# sourceMappingURL=drive.js.map