@powerhousedao/reactor-browser 6.0.0-dev.13 → 6.0.0-dev.131

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 (523) hide show
  1. package/README.md +6 -3
  2. package/dist/index.d.ts +2719 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +5607 -0
  5. package/dist/index.js.map +1 -0
  6. package/package.json +43 -55
  7. package/dist/src/actions/dispatch.d.ts +0 -18
  8. package/dist/src/actions/dispatch.d.ts.map +0 -1
  9. package/dist/src/actions/dispatch.js +0 -47
  10. package/dist/src/actions/dispatch.js.map +0 -1
  11. package/dist/src/actions/document.d.ts +0 -19
  12. package/dist/src/actions/document.d.ts.map +0 -1
  13. package/dist/src/actions/document.js +0 -659
  14. package/dist/src/actions/document.js.map +0 -1
  15. package/dist/src/actions/drive.d.ts +0 -12
  16. package/dist/src/actions/drive.d.ts.map +0 -1
  17. package/dist/src/actions/drive.js +0 -253
  18. package/dist/src/actions/drive.js.map +0 -1
  19. package/dist/src/actions/index.d.ts +0 -4
  20. package/dist/src/actions/index.d.ts.map +0 -1
  21. package/dist/src/actions/index.js +0 -4
  22. package/dist/src/actions/index.js.map +0 -1
  23. package/dist/src/actions/queue.d.ts +0 -10
  24. package/dist/src/actions/queue.d.ts.map +0 -1
  25. package/dist/src/actions/queue.js +0 -160
  26. package/dist/src/actions/queue.js.map +0 -1
  27. package/dist/src/actions/sign.d.ts +0 -5
  28. package/dist/src/actions/sign.d.ts.map +0 -1
  29. package/dist/src/actions/sign.js +0 -71
  30. package/dist/src/actions/sign.js.map +0 -1
  31. package/dist/src/analytics/context.d.ts +0 -33
  32. package/dist/src/analytics/context.d.ts.map +0 -1
  33. package/dist/src/analytics/context.js +0 -148
  34. package/dist/src/analytics/context.js.map +0 -1
  35. package/dist/src/analytics/hooks/analytics-query.d.ts +0 -31
  36. package/dist/src/analytics/hooks/analytics-query.d.ts.map +0 -1
  37. package/dist/src/analytics/hooks/analytics-query.js +0 -157
  38. package/dist/src/analytics/hooks/analytics-query.js.map +0 -1
  39. package/dist/src/analytics/hooks/document-timeline.d.ts +0 -19
  40. package/dist/src/analytics/hooks/document-timeline.d.ts.map +0 -1
  41. package/dist/src/analytics/hooks/document-timeline.js +0 -10
  42. package/dist/src/analytics/hooks/document-timeline.js.map +0 -1
  43. package/dist/src/analytics/hooks/index.d.ts +0 -4
  44. package/dist/src/analytics/hooks/index.d.ts.map +0 -1
  45. package/dist/src/analytics/hooks/index.js +0 -4
  46. package/dist/src/analytics/hooks/index.js.map +0 -1
  47. package/dist/src/analytics/hooks/timeline-items.d.ts +0 -25
  48. package/dist/src/analytics/hooks/timeline-items.d.ts.map +0 -1
  49. package/dist/src/analytics/hooks/timeline-items.js +0 -104
  50. package/dist/src/analytics/hooks/timeline-items.js.map +0 -1
  51. package/dist/src/analytics/index.d.ts +0 -3
  52. package/dist/src/analytics/index.d.ts.map +0 -1
  53. package/dist/src/analytics/index.js +0 -3
  54. package/dist/src/analytics/index.js.map +0 -1
  55. package/dist/src/analytics/store/browser.d.ts +0 -2
  56. package/dist/src/analytics/store/browser.d.ts.map +0 -1
  57. package/dist/src/analytics/store/browser.js +0 -2
  58. package/dist/src/analytics/store/browser.js.map +0 -1
  59. package/dist/src/analytics/store/memory.d.ts +0 -2
  60. package/dist/src/analytics/store/memory.d.ts.map +0 -1
  61. package/dist/src/analytics/store/memory.js +0 -2
  62. package/dist/src/analytics/store/memory.js.map +0 -1
  63. package/dist/src/analytics/types.d.ts +0 -9
  64. package/dist/src/analytics/types.d.ts.map +0 -1
  65. package/dist/src/analytics/types.js +0 -2
  66. package/dist/src/analytics/types.js.map +0 -1
  67. package/dist/src/analytics.d.ts +0 -3
  68. package/dist/src/analytics.d.ts.map +0 -1
  69. package/dist/src/analytics.js +0 -3
  70. package/dist/src/analytics.js.map +0 -1
  71. package/dist/src/connect.d.ts +0 -2
  72. package/dist/src/connect.d.ts.map +0 -1
  73. package/dist/src/connect.js +0 -2
  74. package/dist/src/connect.js.map +0 -1
  75. package/dist/src/constants.d.ts +0 -3
  76. package/dist/src/constants.d.ts.map +0 -1
  77. package/dist/src/constants.js +0 -3
  78. package/dist/src/constants.js.map +0 -1
  79. package/dist/src/context/index.d.ts +0 -2
  80. package/dist/src/context/index.d.ts.map +0 -1
  81. package/dist/src/context/index.js +0 -2
  82. package/dist/src/context/index.js.map +0 -1
  83. package/dist/src/context/read-mode.d.ts +0 -14
  84. package/dist/src/context/read-mode.d.ts.map +0 -1
  85. package/dist/src/context/read-mode.js +0 -177
  86. package/dist/src/context/read-mode.js.map +0 -1
  87. package/dist/src/document-cache.d.ts +0 -17
  88. package/dist/src/document-cache.d.ts.map +0 -1
  89. package/dist/src/document-cache.js +0 -143
  90. package/dist/src/document-cache.js.map +0 -1
  91. package/dist/src/document-model.d.ts +0 -4
  92. package/dist/src/document-model.d.ts.map +0 -1
  93. package/dist/src/document-model.js +0 -6
  94. package/dist/src/document-model.js.map +0 -1
  95. package/dist/src/errors.d.ts +0 -16
  96. package/dist/src/errors.d.ts.map +0 -1
  97. package/dist/src/errors.js +0 -27
  98. package/dist/src/errors.js.map +0 -1
  99. package/dist/src/global/core.d.ts +0 -5
  100. package/dist/src/global/core.d.ts.map +0 -1
  101. package/dist/src/global/core.js +0 -22
  102. package/dist/src/global/core.js.map +0 -1
  103. package/dist/src/global/index.d.ts +0 -2
  104. package/dist/src/global/index.d.ts.map +0 -1
  105. package/dist/src/global/index.js +0 -2
  106. package/dist/src/global/index.js.map +0 -1
  107. package/dist/src/global/types.d.ts +0 -17
  108. package/dist/src/global/types.d.ts.map +0 -1
  109. package/dist/src/global/types.js +0 -2
  110. package/dist/src/global/types.js.map +0 -1
  111. package/dist/src/hooks/add-ph-event-handlers.d.ts +0 -2
  112. package/dist/src/hooks/add-ph-event-handlers.d.ts.map +0 -1
  113. package/dist/src/hooks/add-ph-event-handlers.js +0 -109
  114. package/dist/src/hooks/add-ph-event-handlers.js.map +0 -1
  115. package/dist/src/hooks/allowed-document-model-modules.d.ts +0 -2
  116. package/dist/src/hooks/allowed-document-model-modules.d.ts.map +0 -1
  117. package/dist/src/hooks/allowed-document-model-modules.js +0 -10
  118. package/dist/src/hooks/allowed-document-model-modules.js.map +0 -1
  119. package/dist/src/hooks/child-nodes.d.ts +0 -4
  120. package/dist/src/hooks/child-nodes.d.ts.map +0 -1
  121. package/dist/src/hooks/child-nodes.js +0 -15
  122. package/dist/src/hooks/child-nodes.js.map +0 -1
  123. package/dist/src/hooks/config/connect.d.ts +0 -96
  124. package/dist/src/hooks/config/connect.d.ts.map +0 -1
  125. package/dist/src/hooks/config/connect.js +0 -210
  126. package/dist/src/hooks/config/connect.js.map +0 -1
  127. package/dist/src/hooks/config/editor.d.ts +0 -32
  128. package/dist/src/hooks/config/editor.d.ts.map +0 -1
  129. package/dist/src/hooks/config/editor.js +0 -43
  130. package/dist/src/hooks/config/editor.js.map +0 -1
  131. package/dist/src/hooks/config/set-config-by-key.d.ts +0 -5
  132. package/dist/src/hooks/config/set-config-by-key.d.ts.map +0 -1
  133. package/dist/src/hooks/config/set-config-by-key.js +0 -15
  134. package/dist/src/hooks/config/set-config-by-key.js.map +0 -1
  135. package/dist/src/hooks/config/set-config-by-object.d.ts +0 -31
  136. package/dist/src/hooks/config/set-config-by-object.d.ts.map +0 -1
  137. package/dist/src/hooks/config/set-config-by-object.js +0 -84
  138. package/dist/src/hooks/config/set-config-by-object.js.map +0 -1
  139. package/dist/src/hooks/config/use-value-by-key.d.ts +0 -13
  140. package/dist/src/hooks/config/use-value-by-key.d.ts.map +0 -1
  141. package/dist/src/hooks/config/use-value-by-key.js +0 -23
  142. package/dist/src/hooks/config/use-value-by-key.js.map +0 -1
  143. package/dist/src/hooks/config/utils.d.ts +0 -3
  144. package/dist/src/hooks/config/utils.d.ts.map +0 -1
  145. package/dist/src/hooks/config/utils.js +0 -6
  146. package/dist/src/hooks/config/utils.js.map +0 -1
  147. package/dist/src/hooks/connect.d.ts +0 -16
  148. package/dist/src/hooks/connect.d.ts.map +0 -1
  149. package/dist/src/hooks/connect.js +0 -16
  150. package/dist/src/hooks/connect.js.map +0 -1
  151. package/dist/src/hooks/crypto.d.ts +0 -9
  152. package/dist/src/hooks/crypto.d.ts.map +0 -1
  153. package/dist/src/hooks/crypto.js +0 -13
  154. package/dist/src/hooks/crypto.js.map +0 -1
  155. package/dist/src/hooks/did.d.ts +0 -2
  156. package/dist/src/hooks/did.d.ts.map +0 -1
  157. package/dist/src/hooks/did.js +0 -3
  158. package/dist/src/hooks/did.js.map +0 -1
  159. package/dist/src/hooks/dispatch.d.ts +0 -9
  160. package/dist/src/hooks/dispatch.d.ts.map +0 -1
  161. package/dist/src/hooks/dispatch.js +0 -20
  162. package/dist/src/hooks/dispatch.js.map +0 -1
  163. package/dist/src/hooks/document-by-id.d.ts +0 -6
  164. package/dist/src/hooks/document-by-id.d.ts.map +0 -1
  165. package/dist/src/hooks/document-by-id.js +0 -13
  166. package/dist/src/hooks/document-by-id.js.map +0 -1
  167. package/dist/src/hooks/document-cache.d.ts +0 -76
  168. package/dist/src/hooks/document-cache.d.ts.map +0 -1
  169. package/dist/src/hooks/document-cache.js +0 -124
  170. package/dist/src/hooks/document-cache.js.map +0 -1
  171. package/dist/src/hooks/document-model-modules.d.ts +0 -4
  172. package/dist/src/hooks/document-model-modules.d.ts.map +0 -1
  173. package/dist/src/hooks/document-model-modules.js +0 -10
  174. package/dist/src/hooks/document-model-modules.js.map +0 -1
  175. package/dist/src/hooks/document-of-type.d.ts +0 -5
  176. package/dist/src/hooks/document-of-type.d.ts.map +0 -1
  177. package/dist/src/hooks/document-of-type.js +0 -22
  178. package/dist/src/hooks/document-of-type.js.map +0 -1
  179. package/dist/src/hooks/document-types.d.ts +0 -7
  180. package/dist/src/hooks/document-types.d.ts.map +0 -1
  181. package/dist/src/hooks/document-types.js +0 -13
  182. package/dist/src/hooks/document-types.js.map +0 -1
  183. package/dist/src/hooks/drive-by-id.d.ts +0 -4
  184. package/dist/src/hooks/drive-by-id.d.ts.map +0 -1
  185. package/dist/src/hooks/drive-by-id.js +0 -12
  186. package/dist/src/hooks/drive-by-id.js.map +0 -1
  187. package/dist/src/hooks/drives.d.ts +0 -9
  188. package/dist/src/hooks/drives.d.ts.map +0 -1
  189. package/dist/src/hooks/drives.js +0 -9
  190. package/dist/src/hooks/drives.js.map +0 -1
  191. package/dist/src/hooks/editor-modules.d.ts +0 -9
  192. package/dist/src/hooks/editor-modules.d.ts.map +0 -1
  193. package/dist/src/hooks/editor-modules.js +0 -43
  194. package/dist/src/hooks/editor-modules.js.map +0 -1
  195. package/dist/src/hooks/features.d.ts +0 -5
  196. package/dist/src/hooks/features.d.ts.map +0 -1
  197. package/dist/src/hooks/features.js +0 -6
  198. package/dist/src/hooks/features.js.map +0 -1
  199. package/dist/src/hooks/folder-by-id.d.ts +0 -3
  200. package/dist/src/hooks/folder-by-id.d.ts.map +0 -1
  201. package/dist/src/hooks/folder-by-id.js +0 -6
  202. package/dist/src/hooks/folder-by-id.js.map +0 -1
  203. package/dist/src/hooks/import-script-modules.d.ts +0 -3
  204. package/dist/src/hooks/import-script-modules.d.ts.map +0 -1
  205. package/dist/src/hooks/import-script-modules.js +0 -6
  206. package/dist/src/hooks/import-script-modules.js.map +0 -1
  207. package/dist/src/hooks/index.d.ts +0 -41
  208. package/dist/src/hooks/index.d.ts.map +0 -1
  209. package/dist/src/hooks/index.js +0 -41
  210. package/dist/src/hooks/index.js.map +0 -1
  211. package/dist/src/hooks/items-in-selected-drive.d.ts +0 -13
  212. package/dist/src/hooks/items-in-selected-drive.d.ts.map +0 -1
  213. package/dist/src/hooks/items-in-selected-drive.js +0 -35
  214. package/dist/src/hooks/items-in-selected-drive.js.map +0 -1
  215. package/dist/src/hooks/items-in-selected-folder.d.ts +0 -11
  216. package/dist/src/hooks/items-in-selected-folder.d.ts.map +0 -1
  217. package/dist/src/hooks/items-in-selected-folder.js +0 -33
  218. package/dist/src/hooks/items-in-selected-folder.js.map +0 -1
  219. package/dist/src/hooks/loading.d.ts +0 -2
  220. package/dist/src/hooks/loading.d.ts.map +0 -1
  221. package/dist/src/hooks/loading.js +0 -3
  222. package/dist/src/hooks/loading.js.map +0 -1
  223. package/dist/src/hooks/login-status.d.ts +0 -2
  224. package/dist/src/hooks/login-status.d.ts.map +0 -1
  225. package/dist/src/hooks/login-status.js +0 -3
  226. package/dist/src/hooks/login-status.js.map +0 -1
  227. package/dist/src/hooks/make-ph-event-functions.d.ts +0 -7
  228. package/dist/src/hooks/make-ph-event-functions.d.ts.map +0 -1
  229. package/dist/src/hooks/make-ph-event-functions.js +0 -46
  230. package/dist/src/hooks/make-ph-event-functions.js.map +0 -1
  231. package/dist/src/hooks/modals.d.ts +0 -17
  232. package/dist/src/hooks/modals.d.ts.map +0 -1
  233. package/dist/src/hooks/modals.js +0 -26
  234. package/dist/src/hooks/modals.js.map +0 -1
  235. package/dist/src/hooks/node-actions.d.ts +0 -11
  236. package/dist/src/hooks/node-actions.d.ts.map +0 -1
  237. package/dist/src/hooks/node-actions.js +0 -97
  238. package/dist/src/hooks/node-actions.js.map +0 -1
  239. package/dist/src/hooks/node-by-id.d.ts +0 -4
  240. package/dist/src/hooks/node-by-id.d.ts.map +0 -1
  241. package/dist/src/hooks/node-by-id.js +0 -7
  242. package/dist/src/hooks/node-by-id.js.map +0 -1
  243. package/dist/src/hooks/node-path.d.ts +0 -6
  244. package/dist/src/hooks/node-path.d.ts.map +0 -1
  245. package/dist/src/hooks/node-path.js +0 -23
  246. package/dist/src/hooks/node-path.js.map +0 -1
  247. package/dist/src/hooks/parent-folder.d.ts +0 -4
  248. package/dist/src/hooks/parent-folder.d.ts.map +0 -1
  249. package/dist/src/hooks/parent-folder.js +0 -13
  250. package/dist/src/hooks/parent-folder.js.map +0 -1
  251. package/dist/src/hooks/processor-manager.d.ts +0 -9
  252. package/dist/src/hooks/processor-manager.d.ts.map +0 -1
  253. package/dist/src/hooks/processor-manager.js +0 -9
  254. package/dist/src/hooks/processor-manager.js.map +0 -1
  255. package/dist/src/hooks/processor-modules.d.ts +0 -4
  256. package/dist/src/hooks/processor-modules.d.ts.map +0 -1
  257. package/dist/src/hooks/processor-modules.js +0 -12
  258. package/dist/src/hooks/processor-modules.js.map +0 -1
  259. package/dist/src/hooks/reactor.d.ts +0 -42
  260. package/dist/src/hooks/reactor.d.ts.map +0 -1
  261. package/dist/src/hooks/reactor.js +0 -44
  262. package/dist/src/hooks/reactor.js.map +0 -1
  263. package/dist/src/hooks/renown.d.ts +0 -8
  264. package/dist/src/hooks/renown.d.ts.map +0 -1
  265. package/dist/src/hooks/renown.js +0 -9
  266. package/dist/src/hooks/renown.js.map +0 -1
  267. package/dist/src/hooks/revision-history.d.ts +0 -11
  268. package/dist/src/hooks/revision-history.d.ts.map +0 -1
  269. package/dist/src/hooks/revision-history.js +0 -17
  270. package/dist/src/hooks/revision-history.js.map +0 -1
  271. package/dist/src/hooks/selected-document.d.ts +0 -12
  272. package/dist/src/hooks/selected-document.d.ts.map +0 -1
  273. package/dist/src/hooks/selected-document.js +0 -35
  274. package/dist/src/hooks/selected-document.js.map +0 -1
  275. package/dist/src/hooks/selected-drive.d.ts +0 -13
  276. package/dist/src/hooks/selected-drive.d.ts.map +0 -1
  277. package/dist/src/hooks/selected-drive.js +0 -63
  278. package/dist/src/hooks/selected-drive.js.map +0 -1
  279. package/dist/src/hooks/selected-folder.d.ts +0 -4
  280. package/dist/src/hooks/selected-folder.d.ts.map +0 -1
  281. package/dist/src/hooks/selected-folder.js +0 -10
  282. package/dist/src/hooks/selected-folder.js.map +0 -1
  283. package/dist/src/hooks/selected-node.d.ts +0 -9
  284. package/dist/src/hooks/selected-node.d.ts.map +0 -1
  285. package/dist/src/hooks/selected-node.js +0 -54
  286. package/dist/src/hooks/selected-node.js.map +0 -1
  287. package/dist/src/hooks/selected-timeline-item.d.ts +0 -7
  288. package/dist/src/hooks/selected-timeline-item.d.ts.map +0 -1
  289. package/dist/src/hooks/selected-timeline-item.js +0 -9
  290. package/dist/src/hooks/selected-timeline-item.js.map +0 -1
  291. package/dist/src/hooks/subgraph-modules.d.ts +0 -3
  292. package/dist/src/hooks/subgraph-modules.d.ts.map +0 -1
  293. package/dist/src/hooks/subgraph-modules.js +0 -6
  294. package/dist/src/hooks/subgraph-modules.js.map +0 -1
  295. package/dist/src/hooks/supported-document-types.d.ts +0 -3
  296. package/dist/src/hooks/supported-document-types.d.ts.map +0 -1
  297. package/dist/src/hooks/supported-document-types.js +0 -7
  298. package/dist/src/hooks/supported-document-types.js.map +0 -1
  299. package/dist/src/hooks/timeline-revision.d.ts +0 -7
  300. package/dist/src/hooks/timeline-revision.d.ts.map +0 -1
  301. package/dist/src/hooks/timeline-revision.js +0 -9
  302. package/dist/src/hooks/timeline-revision.js.map +0 -1
  303. package/dist/src/hooks/toast.d.ts +0 -7
  304. package/dist/src/hooks/toast.d.ts.map +0 -1
  305. package/dist/src/hooks/toast.js +0 -9
  306. package/dist/src/hooks/toast.js.map +0 -1
  307. package/dist/src/hooks/use-feature-flags.d.ts +0 -36
  308. package/dist/src/hooks/use-feature-flags.d.ts.map +0 -1
  309. package/dist/src/hooks/use-feature-flags.js +0 -73
  310. package/dist/src/hooks/use-feature-flags.js.map +0 -1
  311. package/dist/src/hooks/use-get-switchboard-link.d.ts +0 -14
  312. package/dist/src/hooks/use-get-switchboard-link.d.ts.map +0 -1
  313. package/dist/src/hooks/use-get-switchboard-link.js +0 -38
  314. package/dist/src/hooks/use-get-switchboard-link.js.map +0 -1
  315. package/dist/src/hooks/use-on-drop-file.d.ts +0 -3
  316. package/dist/src/hooks/use-on-drop-file.d.ts.map +0 -1
  317. package/dist/src/hooks/use-on-drop-file.js +0 -21
  318. package/dist/src/hooks/use-on-drop-file.js.map +0 -1
  319. package/dist/src/hooks/user-permissions.d.ts +0 -5
  320. package/dist/src/hooks/user-permissions.d.ts.map +0 -1
  321. package/dist/src/hooks/user-permissions.js +0 -17
  322. package/dist/src/hooks/user-permissions.js.map +0 -1
  323. package/dist/src/hooks/user.d.ts +0 -8
  324. package/dist/src/hooks/user.d.ts.map +0 -1
  325. package/dist/src/hooks/user.js +0 -9
  326. package/dist/src/hooks/user.js.map +0 -1
  327. package/dist/src/hooks/vetra-packages.d.ts +0 -8
  328. package/dist/src/hooks/vetra-packages.d.ts.map +0 -1
  329. package/dist/src/hooks/vetra-packages.js +0 -17
  330. package/dist/src/hooks/vetra-packages.js.map +0 -1
  331. package/dist/src/index.d.ts +0 -15
  332. package/dist/src/index.d.ts.map +0 -1
  333. package/dist/src/index.js +0 -15
  334. package/dist/src/index.js.map +0 -1
  335. package/dist/src/pglite/drop.d.ts +0 -3
  336. package/dist/src/pglite/drop.d.ts.map +0 -1
  337. package/dist/src/pglite/drop.js +0 -19
  338. package/dist/src/pglite/drop.js.map +0 -1
  339. package/dist/src/pglite/hooks/index.d.ts +0 -2
  340. package/dist/src/pglite/hooks/index.d.ts.map +0 -1
  341. package/dist/src/pglite/hooks/index.js +0 -2
  342. package/dist/src/pglite/hooks/index.js.map +0 -1
  343. package/dist/src/pglite/hooks/usePGlite.d.ts +0 -11
  344. package/dist/src/pglite/hooks/usePGlite.d.ts.map +0 -1
  345. package/dist/src/pglite/hooks/usePGlite.js +0 -37
  346. package/dist/src/pglite/hooks/usePGlite.js.map +0 -1
  347. package/dist/src/pglite/index.d.ts +0 -3
  348. package/dist/src/pglite/index.d.ts.map +0 -1
  349. package/dist/src/pglite/index.js +0 -3
  350. package/dist/src/pglite/index.js.map +0 -1
  351. package/dist/src/reactor-client-document-cache.d.ts +0 -31
  352. package/dist/src/reactor-client-document-cache.d.ts.map +0 -1
  353. package/dist/src/reactor-client-document-cache.js +0 -142
  354. package/dist/src/reactor-client-document-cache.js.map +0 -1
  355. package/dist/src/reactor.d.ts +0 -18
  356. package/dist/src/reactor.d.ts.map +0 -1
  357. package/dist/src/reactor.js +0 -162
  358. package/dist/src/reactor.js.map +0 -1
  359. package/dist/src/relational/hooks/index.d.ts +0 -3
  360. package/dist/src/relational/hooks/index.d.ts.map +0 -1
  361. package/dist/src/relational/hooks/index.js +0 -3
  362. package/dist/src/relational/hooks/index.js.map +0 -1
  363. package/dist/src/relational/hooks/useRelationalDb.d.ts +0 -12
  364. package/dist/src/relational/hooks/useRelationalDb.d.ts.map +0 -1
  365. package/dist/src/relational/hooks/useRelationalDb.js +0 -36
  366. package/dist/src/relational/hooks/useRelationalDb.js.map +0 -1
  367. package/dist/src/relational/hooks/useRelationalQuery.d.ts +0 -15
  368. package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +0 -1
  369. package/dist/src/relational/hooks/useRelationalQuery.js +0 -76
  370. package/dist/src/relational/hooks/useRelationalQuery.js.map +0 -1
  371. package/dist/src/relational/index.d.ts +0 -3
  372. package/dist/src/relational/index.d.ts.map +0 -1
  373. package/dist/src/relational/index.js +0 -3
  374. package/dist/src/relational/index.js.map +0 -1
  375. package/dist/src/relational/utils/createProcessorQuery.d.ts +0 -17
  376. package/dist/src/relational/utils/createProcessorQuery.d.ts.map +0 -1
  377. package/dist/src/relational/utils/createProcessorQuery.js +0 -24
  378. package/dist/src/relational/utils/createProcessorQuery.js.map +0 -1
  379. package/dist/src/relational/utils/index.d.ts +0 -2
  380. package/dist/src/relational/utils/index.d.ts.map +0 -1
  381. package/dist/src/relational/utils/index.js +0 -2
  382. package/dist/src/relational/utils/index.js.map +0 -1
  383. package/dist/src/renown/constants.d.ts +0 -130
  384. package/dist/src/renown/constants.d.ts.map +0 -1
  385. package/dist/src/renown/constants.js +0 -40
  386. package/dist/src/renown/constants.js.map +0 -1
  387. package/dist/src/renown/index.d.ts +0 -3
  388. package/dist/src/renown/index.d.ts.map +0 -1
  389. package/dist/src/renown/index.js +0 -3
  390. package/dist/src/renown/index.js.map +0 -1
  391. package/dist/src/renown/utils.d.ts +0 -6
  392. package/dist/src/renown/utils.d.ts.map +0 -1
  393. package/dist/src/renown/utils.js +0 -56
  394. package/dist/src/renown/utils.js.map +0 -1
  395. package/dist/src/storage/index.d.ts +0 -2
  396. package/dist/src/storage/index.d.ts.map +0 -1
  397. package/dist/src/storage/index.js +0 -2
  398. package/dist/src/storage/index.js.map +0 -1
  399. package/dist/src/storage/types.d.ts +0 -6
  400. package/dist/src/storage/types.d.ts.map +0 -1
  401. package/dist/src/storage/types.js +0 -2
  402. package/dist/src/storage/types.js.map +0 -1
  403. package/dist/src/types/config.d.ts +0 -96
  404. package/dist/src/types/config.d.ts.map +0 -1
  405. package/dist/src/types/config.js +0 -2
  406. package/dist/src/types/config.js.map +0 -1
  407. package/dist/src/types/documents.d.ts +0 -26
  408. package/dist/src/types/documents.d.ts.map +0 -1
  409. package/dist/src/types/documents.js +0 -2
  410. package/dist/src/types/documents.js.map +0 -1
  411. package/dist/src/types/global.d.ts +0 -56
  412. package/dist/src/types/global.d.ts.map +0 -1
  413. package/dist/src/types/global.js +0 -2
  414. package/dist/src/types/global.js.map +0 -1
  415. package/dist/src/types/index.d.ts +0 -10
  416. package/dist/src/types/index.d.ts.map +0 -1
  417. package/dist/src/types/index.js +0 -2
  418. package/dist/src/types/index.js.map +0 -1
  419. package/dist/src/types/modals.d.ts +0 -34
  420. package/dist/src/types/modals.d.ts.map +0 -1
  421. package/dist/src/types/modals.js +0 -2
  422. package/dist/src/types/modals.js.map +0 -1
  423. package/dist/src/types/reactor.d.ts +0 -2
  424. package/dist/src/types/reactor.d.ts.map +0 -1
  425. package/dist/src/types/reactor.js +0 -2
  426. package/dist/src/types/reactor.js.map +0 -1
  427. package/dist/src/types/timeline.d.ts +0 -24
  428. package/dist/src/types/timeline.d.ts.map +0 -1
  429. package/dist/src/types/timeline.js +0 -2
  430. package/dist/src/types/timeline.js.map +0 -1
  431. package/dist/src/types/toast.d.ts +0 -9
  432. package/dist/src/types/toast.d.ts.map +0 -1
  433. package/dist/src/types/toast.js +0 -2
  434. package/dist/src/types/toast.js.map +0 -1
  435. package/dist/src/types/upload.d.ts +0 -16
  436. package/dist/src/types/upload.d.ts.map +0 -1
  437. package/dist/src/types/upload.js +0 -2
  438. package/dist/src/types/upload.js.map +0 -1
  439. package/dist/src/types/vetra.d.ts +0 -60
  440. package/dist/src/types/vetra.d.ts.map +0 -1
  441. package/dist/src/types/vetra.js +0 -2
  442. package/dist/src/types/vetra.js.map +0 -1
  443. package/dist/src/utils/documents.d.ts +0 -2
  444. package/dist/src/utils/documents.d.ts.map +0 -1
  445. package/dist/src/utils/documents.js +0 -20
  446. package/dist/src/utils/documents.js.map +0 -1
  447. package/dist/src/utils/drive-url.d.ts +0 -2
  448. package/dist/src/utils/drive-url.d.ts.map +0 -1
  449. package/dist/src/utils/drive-url.js +0 -3
  450. package/dist/src/utils/drive-url.js.map +0 -1
  451. package/dist/src/utils/drives.d.ts +0 -36
  452. package/dist/src/utils/drives.d.ts.map +0 -1
  453. package/dist/src/utils/drives.js +0 -142
  454. package/dist/src/utils/drives.js.map +0 -1
  455. package/dist/src/utils/export-document.d.ts +0 -3
  456. package/dist/src/utils/export-document.d.ts.map +0 -1
  457. package/dist/src/utils/export-document.js +0 -18
  458. package/dist/src/utils/export-document.js.map +0 -1
  459. package/dist/src/utils/get-revision-from-date.d.ts +0 -3
  460. package/dist/src/utils/get-revision-from-date.d.ts.map +0 -1
  461. package/dist/src/utils/get-revision-from-date.js +0 -10
  462. package/dist/src/utils/get-revision-from-date.js.map +0 -1
  463. package/dist/src/utils/index.d.ts +0 -12
  464. package/dist/src/utils/index.d.ts.map +0 -1
  465. package/dist/src/utils/index.js +0 -12
  466. package/dist/src/utils/index.js.map +0 -1
  467. package/dist/src/utils/nodes.d.ts +0 -8
  468. package/dist/src/utils/nodes.d.ts.map +0 -1
  469. package/dist/src/utils/nodes.js +0 -17
  470. package/dist/src/utils/nodes.js.map +0 -1
  471. package/dist/src/utils/switchboard.d.ts +0 -7
  472. package/dist/src/utils/switchboard.d.ts.map +0 -1
  473. package/dist/src/utils/switchboard.js +0 -76
  474. package/dist/src/utils/switchboard.js.map +0 -1
  475. package/dist/src/utils/url.d.ts +0 -29
  476. package/dist/src/utils/url.d.ts.map +0 -1
  477. package/dist/src/utils/url.js +0 -77
  478. package/dist/src/utils/url.js.map +0 -1
  479. package/dist/src/utils/user.d.ts +0 -5
  480. package/dist/src/utils/user.d.ts.map +0 -1
  481. package/dist/src/utils/user.js +0 -15
  482. package/dist/src/utils/user.js.map +0 -1
  483. package/dist/src/utils/validate-document.d.ts +0 -3
  484. package/dist/src/utils/validate-document.d.ts.map +0 -1
  485. package/dist/src/utils/validate-document.js +0 -38
  486. package/dist/src/utils/validate-document.js.map +0 -1
  487. package/dist/src/utils/vetra.d.ts +0 -7
  488. package/dist/src/utils/vetra.d.ts.map +0 -1
  489. package/dist/src/utils/vetra.js +0 -86
  490. package/dist/src/utils/vetra.js.map +0 -1
  491. package/dist/test/analytics.test.d.ts +0 -2
  492. package/dist/test/analytics.test.d.ts.map +0 -1
  493. package/dist/test/analytics.test.js +0 -263
  494. package/dist/test/analytics.test.js.map +0 -1
  495. package/dist/test/document-cache.test.d.ts +0 -2
  496. package/dist/test/document-cache.test.d.ts.map +0 -1
  497. package/dist/test/document-cache.test.js +0 -457
  498. package/dist/test/document-cache.test.js.map +0 -1
  499. package/dist/test/drop.test.d.ts +0 -2
  500. package/dist/test/drop.test.d.ts.map +0 -1
  501. package/dist/test/drop.test.js +0 -86
  502. package/dist/test/drop.test.js.map +0 -1
  503. package/dist/test/getSwitchboardUrl.test.d.ts +0 -2
  504. package/dist/test/getSwitchboardUrl.test.d.ts.map +0 -1
  505. package/dist/test/getSwitchboardUrl.test.js +0 -107
  506. package/dist/test/getSwitchboardUrl.test.js.map +0 -1
  507. package/dist/test/hooks/document-cache.test.d.ts +0 -2
  508. package/dist/test/hooks/document-cache.test.d.ts.map +0 -1
  509. package/dist/test/hooks/document-cache.test.js +0 -642
  510. package/dist/test/hooks/document-cache.test.js.map +0 -1
  511. package/dist/test/reactor.test.d.ts +0 -2
  512. package/dist/test/reactor.test.d.ts.map +0 -1
  513. package/dist/test/reactor.test.js +0 -26
  514. package/dist/test/reactor.test.js.map +0 -1
  515. package/dist/test/switchboard.test.d.ts +0 -2
  516. package/dist/test/switchboard.test.d.ts.map +0 -1
  517. package/dist/test/switchboard.test.js +0 -27
  518. package/dist/test/switchboard.test.js.map +0 -1
  519. package/dist/tsconfig.tsbuildinfo +0 -1
  520. package/dist/vitest.config.d.ts +0 -3
  521. package/dist/vitest.config.d.ts.map +0 -1
  522. package/dist/vitest.config.js +0 -24
  523. package/dist/vitest.config.js.map +0 -1
@@ -1,659 +0,0 @@
1
- import { addFile as baseAddFile, addFolder as baseAddFolder, copyNode as baseCopyNode, deleteNode as baseDeleteNode, moveNode as baseMoveNode, updateFile as baseUpdateFile, generateNodesCopy, handleTargetNameCollisions, isFileNode, isFolderNode, logger, updateNode, } from "document-drive";
2
- import { documentModelDocumentType } from "document-model";
3
- import { baseLoadFromInput, baseSaveToFileHandle, createPresignedHeader, createZip, generateId, replayDocument, } from "document-model/core";
4
- import { UnsupportedDocumentTypeError } from "../errors.js";
5
- import { isLegacyReadEnabledSync, isLegacyWriteEnabledSync, } from "../hooks/use-feature-flags.js";
6
- import { isDocumentTypeSupported } from "../utils/documents.js";
7
- import { getUserPermissions } from "../utils/user.js";
8
- import { queueActions, queueOperations, uploadOperations } from "./queue.js";
9
- async function isDocumentInLocation(document, driveId, parentFolder) {
10
- const useLegacy = isLegacyReadEnabledSync();
11
- try {
12
- if (useLegacy) {
13
- const reactor = window.ph?.legacyReactor;
14
- if (!reactor) {
15
- throw new Error("Legacy reactor not initialized");
16
- }
17
- // Get the drive and check its nodes
18
- const drive = await reactor.getDrive(driveId);
19
- // Case 1: Check for duplicate by ID
20
- const nodeById = drive.state.global.nodes.find((node) => node.id === document.header.id);
21
- if (nodeById && nodeById.parentFolder === (parentFolder ?? null)) {
22
- return {
23
- isDuplicate: true,
24
- duplicateType: "id",
25
- nodeId: nodeById.id,
26
- };
27
- }
28
- // Case 2: Check for duplicate by name + type in same parent folder
29
- const nodeByNameAndType = drive.state.global.nodes.find((node) => isFileNode(node) &&
30
- node.name === document.header.name &&
31
- node.documentType === document.header.documentType &&
32
- node.parentFolder === (parentFolder ?? null));
33
- if (nodeByNameAndType) {
34
- return {
35
- isDuplicate: true,
36
- duplicateType: "name",
37
- nodeId: nodeByNameAndType.id,
38
- };
39
- }
40
- return { isDuplicate: false };
41
- }
42
- else {
43
- const reactorClient = window.ph?.reactorClient;
44
- if (!reactorClient) {
45
- throw new Error("ReactorClient not initialized");
46
- }
47
- // Get the drive and check its nodes
48
- const { document: drive } = await reactorClient.get(driveId);
49
- // Case 1: Check for duplicate by ID
50
- const nodeById = drive.state.global.nodes.find((node) => node.id === document.header.id);
51
- if (nodeById && nodeById.parentFolder === (parentFolder ?? null)) {
52
- return {
53
- isDuplicate: true,
54
- duplicateType: "id",
55
- nodeId: nodeById.id,
56
- };
57
- }
58
- // Case 2: Check for duplicate by name + type in same parent folder
59
- const nodeByNameAndType = drive.state.global.nodes.find((node) => isFileNode(node) &&
60
- node.name === document.header.name &&
61
- node.documentType === document.header.documentType &&
62
- node.parentFolder === (parentFolder ?? null));
63
- if (nodeByNameAndType) {
64
- return {
65
- isDuplicate: true,
66
- duplicateType: "name",
67
- nodeId: nodeByNameAndType.id,
68
- };
69
- }
70
- return { isDuplicate: false };
71
- }
72
- }
73
- catch {
74
- // Drive doesn't exist or other error
75
- return { isDuplicate: false };
76
- }
77
- }
78
- function getDocumentTypeIcon(document) {
79
- const documentType = document.header.documentType;
80
- switch (documentType) {
81
- case "powerhouse/document-model":
82
- return "document-model";
83
- case "powerhouse/app":
84
- return "app";
85
- case "powerhouse/document-editor":
86
- return "editor";
87
- case "powerhouse/subgraph":
88
- return "subgraph";
89
- case "powerhouse/package":
90
- return "package";
91
- case "powerhouse/processor": {
92
- // Check the processor type from global state (safely)
93
- const globalState = document.state
94
- .global;
95
- const processorType = globalState?.type;
96
- if (processorType === "analytics")
97
- return "analytics-processor";
98
- if (processorType === "relational")
99
- return "relational-processor";
100
- if (processorType === "codegen")
101
- return "codegen-processor";
102
- return undefined;
103
- }
104
- default:
105
- return undefined;
106
- }
107
- }
108
- export function downloadFile(document, fileName) {
109
- const zip = createZip(document);
110
- zip
111
- .generateAsync({ type: "blob" })
112
- .then((blob) => {
113
- const link = window.document.createElement("a");
114
- link.style.display = "none";
115
- link.href = URL.createObjectURL(blob);
116
- link.download = fileName;
117
- window.document.body.appendChild(link);
118
- link.click();
119
- window.document.body.removeChild(link);
120
- })
121
- .catch(logger.error);
122
- }
123
- export async function exportFile(document, suggestedName) {
124
- // Ensure we have either reactor available for consistency
125
- const useLegacy = isLegacyReadEnabledSync();
126
- if (useLegacy) {
127
- if (!window.ph?.legacyReactor) {
128
- throw new Error("Legacy reactor not initialized");
129
- }
130
- }
131
- else {
132
- if (!window.ph?.reactorClient) {
133
- throw new Error("ReactorClient not initialized");
134
- }
135
- }
136
- let extension = "";
137
- if (document.header.documentType === documentModelDocumentType) {
138
- const documentExtension = document.state.global
139
- .extension;
140
- const cleanExtension = documentExtension.replace(/^\.+|\.+$/g, "");
141
- extension = cleanExtension !== "" ? `.${cleanExtension}` : "";
142
- }
143
- const name = `${suggestedName || document.header.name || "Untitled"}${extension}.phd`;
144
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
145
- if (!window.showSaveFilePicker) {
146
- return downloadFile(document, name);
147
- }
148
- try {
149
- const fileHandle = await window.showSaveFilePicker({
150
- suggestedName: name,
151
- });
152
- await baseSaveToFileHandle(document, fileHandle);
153
- return fileHandle;
154
- }
155
- catch (e) {
156
- // ignores error if user cancelled the file picker
157
- if (!(e instanceof DOMException && e.name === "AbortError")) {
158
- throw e;
159
- }
160
- }
161
- }
162
- export async function loadFile(path) {
163
- const useLegacy = isLegacyReadEnabledSync();
164
- const baseDocument = await baseLoadFromInput(path, (state) => state, { checkHashes: true });
165
- if (useLegacy) {
166
- const reactor = window.ph?.legacyReactor;
167
- if (!reactor) {
168
- throw new Error("Legacy reactor not initialized");
169
- }
170
- const documentModelModules = reactor.getDocumentModelModules();
171
- const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === baseDocument.header.documentType);
172
- if (!documentModelModule) {
173
- throw new Error(`Document "${baseDocument.header.documentType}" is not supported`);
174
- }
175
- return documentModelModule.utils.loadFromInput(path);
176
- }
177
- else {
178
- const reactorClient = window.ph?.reactorClient;
179
- if (!reactorClient) {
180
- throw new Error("ReactorClient not initialized");
181
- }
182
- const { results: documentModelModules } = await reactorClient.getDocumentModelModules();
183
- const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === baseDocument.header.documentType);
184
- if (!documentModelModule) {
185
- throw new Error(`Document "${baseDocument.header.documentType}" is not supported`);
186
- }
187
- return documentModelModule.utils.loadFromInput(path);
188
- }
189
- }
190
- export async function addDocument(driveId, name, documentType, parentFolder, document, id, preferredEditor) {
191
- const { isAllowedToCreateDocuments } = getUserPermissions();
192
- if (!isAllowedToCreateDocuments) {
193
- throw new Error("User is not allowed to create documents");
194
- }
195
- const useLegacy = isLegacyWriteEnabledSync();
196
- if (useLegacy) {
197
- const reactor = window.ph?.legacyReactor;
198
- if (!reactor) {
199
- throw new Error("Legacy reactor not initialized");
200
- }
201
- const drive = await reactor.getDrive(driveId);
202
- const documentId = id ?? generateId();
203
- const reactorDocumentModelModules = reactor.getDocumentModelModules();
204
- const documentModelModuleFromReactor = reactorDocumentModelModules.find((module) => module.documentModel.global.id === documentType);
205
- if (!documentModelModuleFromReactor) {
206
- throw new Error(`Document model module for type ${documentType} not found`);
207
- }
208
- const newDocument = documentModelModuleFromReactor.utils.createDocument({
209
- ...document?.state,
210
- });
211
- newDocument.header = createPresignedHeader(documentId, documentType);
212
- newDocument.header.name = name;
213
- const documentMeta = preferredEditor ? { preferredEditor } : undefined;
214
- await reactor.addDocument(newDocument, documentMeta);
215
- const action = baseAddFile({
216
- id: documentId,
217
- name,
218
- documentType,
219
- parentFolder: parentFolder ?? null,
220
- });
221
- const unsafeCastAsDrive = (await queueActions(drive, action));
222
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === documentId);
223
- if (!node || !isFileNode(node)) {
224
- throw new Error("There was an error adding document");
225
- }
226
- return node;
227
- }
228
- else {
229
- const reactorClient = window.ph?.reactorClient;
230
- if (!reactorClient) {
231
- throw new Error("ReactorClient not initialized");
232
- }
233
- // get the module
234
- const documentModelModule = await reactorClient.getDocumentModelModule(documentType);
235
- // create
236
- const document = documentModelModule.utils.createDocument();
237
- document.header.name = name;
238
- // Create document using ReactorClient
239
- let newDoc;
240
- try {
241
- newDoc = await reactorClient.createDocumentInDrive(driveId, document, parentFolder);
242
- }
243
- catch (e) {
244
- logger.error("Error adding document", e);
245
- throw new Error("There was an error adding document");
246
- }
247
- // Return a file node structure for compatibility
248
- return {
249
- id: newDoc.header.id,
250
- name: newDoc.header.name,
251
- documentType,
252
- parentFolder: parentFolder ?? null,
253
- kind: "file",
254
- };
255
- }
256
- }
257
- export async function addFile(file, driveId, name, parentFolder) {
258
- logger.verbose(`addFile(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
259
- const { isAllowedToCreateDocuments } = getUserPermissions();
260
- if (!isAllowedToCreateDocuments) {
261
- throw new Error("User is not allowed to create files");
262
- }
263
- const useLegacy = isLegacyWriteEnabledSync();
264
- const document = await loadFile(file);
265
- let duplicateId = false;
266
- if (useLegacy) {
267
- const reactor = window.ph?.legacyReactor;
268
- if (!reactor) {
269
- throw new Error("Legacy reactor not initialized");
270
- }
271
- const documentModule = reactor
272
- .getDocumentModelModules()
273
- .find((module) => module.documentModel.global.id === document.header.documentType);
274
- if (!documentModule) {
275
- throw new Error(`Document model module for type ${document.header.documentType} not found`);
276
- }
277
- try {
278
- await reactor.getDocument(document.header.id);
279
- duplicateId = true;
280
- }
281
- catch {
282
- // document id not found
283
- }
284
- }
285
- else {
286
- const reactorClient = window.ph?.reactorClient;
287
- if (!reactorClient) {
288
- throw new Error("ReactorClient not initialized");
289
- }
290
- try {
291
- await reactorClient.get(document.header.id);
292
- duplicateId = true;
293
- }
294
- catch {
295
- // document id not found
296
- }
297
- }
298
- const documentId = duplicateId ? generateId() : document.header.id;
299
- const header = createPresignedHeader(documentId, document.header.documentType);
300
- header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
301
- header.meta = document.header.meta;
302
- header.name = name || document.header.name;
303
- // copy the document at it's initial state
304
- const initialDocument = {
305
- ...document,
306
- header,
307
- state: document.initialState,
308
- operations: Object.keys(document.operations).reduce((acc, key) => {
309
- acc[key] = [];
310
- return acc;
311
- }, {}),
312
- };
313
- await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
314
- // then add all the operations in chunks
315
- uploadOperations(documentId, document.operations, queueOperations).catch((error) => {
316
- throw error;
317
- });
318
- }
319
- export async function addFileWithProgress(file, driveId, name, parentFolder, onProgress, documentTypes, resolveConflict) {
320
- logger.verbose(`addFileWithProgress(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
321
- const reactor = window.ph?.legacyReactor;
322
- if (!reactor) {
323
- return;
324
- }
325
- const { isAllowedToCreateDocuments } = getUserPermissions();
326
- if (!isAllowedToCreateDocuments) {
327
- throw new Error("User is not allowed to create files");
328
- }
329
- // Loading stage (0-10%)
330
- try {
331
- onProgress?.({ stage: "loading", progress: 0 });
332
- const document = await loadFile(file);
333
- if (!document) {
334
- throw new Error("No document loaded");
335
- }
336
- // Check for duplicate in same location
337
- const duplicateCheck = await isDocumentInLocation(document, driveId, parentFolder);
338
- if (duplicateCheck.isDuplicate && !resolveConflict) {
339
- // Report conflict and return early
340
- onProgress?.({
341
- stage: "conflict",
342
- progress: 0,
343
- duplicateType: duplicateCheck.duplicateType,
344
- });
345
- return undefined;
346
- }
347
- // Handle replace resolution by deleting the existing document
348
- if (duplicateCheck.isDuplicate &&
349
- resolveConflict === "replace" &&
350
- duplicateCheck.nodeId) {
351
- await deleteNode(driveId, duplicateCheck.nodeId);
352
- }
353
- // For "duplicate" resolution, we continue normally which creates a new document
354
- // with a different ID (the default behavior)
355
- // Send documentType info immediately after loading
356
- const documentType = getDocumentTypeIcon(document);
357
- if (documentType) {
358
- onProgress?.({ stage: "loading", progress: 10, documentType });
359
- }
360
- else {
361
- onProgress?.({ stage: "loading", progress: 10 });
362
- }
363
- if (!isDocumentTypeSupported(document.header.documentType, documentTypes)) {
364
- onProgress?.({
365
- stage: "unsupported-document-type",
366
- progress: 100,
367
- error: `Document type ${document.header.documentType} is not supported`,
368
- });
369
- throw new UnsupportedDocumentTypeError(document.header.documentType);
370
- }
371
- const documentModule = reactor
372
- .getDocumentModelModules()
373
- .find((module) => module.documentModel.global.id === document.header.documentType);
374
- if (!documentModule) {
375
- throw new Error(`Document model module for type ${document.header.documentType} not found`);
376
- }
377
- // Initializing stage (10-20%)
378
- onProgress?.({ stage: "initializing", progress: 10 });
379
- let duplicateId = false;
380
- try {
381
- await reactor.getDocument(document.header.id);
382
- duplicateId = true;
383
- }
384
- catch {
385
- // document id not found
386
- }
387
- const documentId = duplicateId ? generateId() : document.header.id;
388
- const header = createPresignedHeader(documentId, document.header.documentType);
389
- header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
390
- header.meta = document.header.meta;
391
- header.name = name || document.header.name;
392
- // copy the document at it's initial state
393
- const initialDocument = {
394
- ...document,
395
- header,
396
- state: document.initialState,
397
- operations: Object.keys(document.operations).reduce((acc, key) => {
398
- acc[key] = [];
399
- return acc;
400
- }, {}),
401
- };
402
- const fileNode = await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
403
- if (!fileNode) {
404
- throw new Error("There was an error adding file");
405
- }
406
- onProgress?.({ stage: "initializing", progress: 20 });
407
- // Uploading stage (20-100%)
408
- await uploadOperations(documentId, document.operations, queueOperations, {
409
- onProgress: (uploadProgress) => {
410
- if (uploadProgress.totalOperations &&
411
- uploadProgress.uploadedOperations !== undefined) {
412
- const uploadPercent = uploadProgress.totalOperations > 0
413
- ? uploadProgress.uploadedOperations /
414
- uploadProgress.totalOperations
415
- : 0;
416
- const overallProgress = 20 + Math.round(uploadPercent * 80);
417
- onProgress?.({
418
- stage: "uploading",
419
- progress: overallProgress,
420
- totalOperations: uploadProgress.totalOperations,
421
- uploadedOperations: uploadProgress.uploadedOperations,
422
- });
423
- }
424
- },
425
- });
426
- onProgress?.({ stage: "complete", progress: 100 });
427
- return fileNode;
428
- }
429
- catch (error) {
430
- // Don't override unsupported-document-type status
431
- if (!(error instanceof UnsupportedDocumentTypeError)) {
432
- const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
433
- onProgress?.({
434
- stage: "failed",
435
- progress: 100,
436
- error: errorMessage,
437
- });
438
- }
439
- throw error;
440
- }
441
- }
442
- export async function updateFile(driveId, nodeId, documentType, name, parentFolder) {
443
- const reactor = window.ph?.legacyReactor;
444
- if (!reactor) {
445
- return;
446
- }
447
- const { isAllowedToCreateDocuments } = getUserPermissions();
448
- if (!isAllowedToCreateDocuments) {
449
- throw new Error("User is not allowed to update files");
450
- }
451
- const drive = await reactor.getDrive(driveId);
452
- const unsafeCastAsDrive = (await queueActions(drive, baseUpdateFile({
453
- id: nodeId,
454
- name: name ?? undefined,
455
- parentFolder,
456
- documentType,
457
- })));
458
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
459
- if (!node || !isFileNode(node)) {
460
- throw new Error("There was an error updating document");
461
- }
462
- return node;
463
- }
464
- export async function addFolder(driveId, name, parentFolder) {
465
- const { isAllowedToCreateDocuments } = getUserPermissions();
466
- if (!isAllowedToCreateDocuments) {
467
- throw new Error("User is not allowed to create folders");
468
- }
469
- const useLegacy = isLegacyWriteEnabledSync();
470
- if (useLegacy) {
471
- const reactor = window.ph?.legacyReactor;
472
- if (!reactor) {
473
- throw new Error("Legacy reactor not initialized");
474
- }
475
- const folderId = generateId();
476
- const drive = await reactor.getDrive(driveId);
477
- const unsafeCastAsDrive = (await queueActions(drive, baseAddFolder({
478
- id: folderId,
479
- name,
480
- parentFolder,
481
- })));
482
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === folderId);
483
- if (!node || !isFolderNode(node)) {
484
- throw new Error("There was an error adding folder");
485
- }
486
- return node;
487
- }
488
- else {
489
- const reactorClient = window.ph?.reactorClient;
490
- if (!reactorClient) {
491
- throw new Error("ReactorClient not initialized");
492
- }
493
- // Get the drive document and add folder action
494
- const { document: drive } = await reactorClient.get(driveId);
495
- const folderId = generateId();
496
- const updatedDrive = await reactorClient.execute(driveId, "main", [
497
- baseAddFolder({
498
- id: folderId,
499
- name,
500
- parentFolder,
501
- }),
502
- ]);
503
- const node = updatedDrive.state.global.nodes.find((node) => node.id === folderId);
504
- if (!node || !isFolderNode(node)) {
505
- throw new Error("There was an error adding folder");
506
- }
507
- return node;
508
- }
509
- }
510
- export async function deleteNode(driveId, nodeId) {
511
- const { isAllowedToCreateDocuments } = getUserPermissions();
512
- if (!isAllowedToCreateDocuments) {
513
- throw new Error("User is not allowed to delete documents");
514
- }
515
- const useLegacy = isLegacyWriteEnabledSync();
516
- if (useLegacy) {
517
- const reactor = window.ph?.legacyReactor;
518
- if (!reactor) {
519
- throw new Error("Legacy reactor not initialized");
520
- }
521
- const drive = await reactor.getDrive(driveId);
522
- await queueActions(drive, baseDeleteNode({ id: nodeId }));
523
- // now delete the document
524
- await reactor.deleteDocument(nodeId);
525
- }
526
- else {
527
- const reactorClient = window.ph?.reactorClient;
528
- if (!reactorClient) {
529
- throw new Error("ReactorClient not initialized");
530
- }
531
- // delete the node in the drive document
532
- await reactorClient.execute(driveId, "main", [
533
- baseDeleteNode({ id: nodeId }),
534
- ]);
535
- // now delete the document
536
- await reactorClient.deleteDocument(nodeId);
537
- }
538
- }
539
- export async function renameNode(driveId, nodeId, name) {
540
- const { isAllowedToCreateDocuments } = getUserPermissions();
541
- if (!isAllowedToCreateDocuments) {
542
- throw new Error("User is not allowed to rename documents");
543
- }
544
- const useLegacy = isLegacyWriteEnabledSync();
545
- if (useLegacy) {
546
- const reactor = window.ph?.legacyReactor;
547
- if (!reactor) {
548
- throw new Error("Legacy reactor not initialized");
549
- }
550
- const drive = await reactor.getDrive(driveId);
551
- const unsafeCastAsDrive = (await queueActions(drive, updateNode({ id: nodeId, name })));
552
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
553
- if (!node) {
554
- throw new Error("There was an error renaming node");
555
- }
556
- return node;
557
- }
558
- else {
559
- const reactorClient = window.ph?.reactorClient;
560
- if (!reactorClient) {
561
- throw new Error("ReactorClient not initialized");
562
- }
563
- await reactorClient.rename(nodeId, name);
564
- // Fetch the updated drive to return the node
565
- const { document: drive } = await reactorClient.get(driveId);
566
- const node = drive.state.global.nodes.find((n) => n.id === nodeId);
567
- if (!node) {
568
- throw new Error("There was an error renaming node");
569
- }
570
- return node;
571
- }
572
- }
573
- export async function moveNode(driveId, src, target) {
574
- const { isAllowedToCreateDocuments } = getUserPermissions();
575
- if (!isAllowedToCreateDocuments) {
576
- throw new Error("User is not allowed to move documents");
577
- }
578
- const useLegacy = isLegacyWriteEnabledSync();
579
- if (useLegacy) {
580
- const reactor = window.ph?.legacyReactor;
581
- if (!reactor) {
582
- throw new Error("Legacy reactor not initialized");
583
- }
584
- const drive = await reactor.getDrive(driveId);
585
- return await queueActions(drive, baseMoveNode({ srcFolder: src.id, targetParentFolder: target?.id }));
586
- }
587
- else {
588
- const reactorClient = window.ph?.reactorClient;
589
- if (!reactorClient) {
590
- throw new Error("ReactorClient not initialized");
591
- }
592
- // Get current parent folder from source node
593
- const sourceParent = src.parentFolder ?? driveId;
594
- const targetParent = target?.id ?? driveId;
595
- return await reactorClient.moveChildren(sourceParent, targetParent, [
596
- src.id,
597
- ]);
598
- }
599
- }
600
- function _duplicateDocument(reactor, document, newId = generateId()) {
601
- const documentModule = reactor
602
- .getDocumentModelModules()
603
- .find((module) => module.documentModel.global.id === document.header.documentType);
604
- if (!documentModule) {
605
- throw new Error(`Document model module for type ${document.header.documentType} not found`);
606
- }
607
- return replayDocument(document.initialState, document.operations, documentModule.reducer, createPresignedHeader(newId, document.header.documentType));
608
- }
609
- export async function copyNode(driveId, src, target) {
610
- const reactor = window.ph?.legacyReactor;
611
- if (!reactor) {
612
- return;
613
- }
614
- const { isAllowedToCreateDocuments } = getUserPermissions();
615
- if (!isAllowedToCreateDocuments) {
616
- throw new Error("User is not allowed to copy documents");
617
- }
618
- const drive = await reactor.getDrive(driveId);
619
- const copyNodesInput = generateNodesCopy({
620
- srcId: src.id,
621
- targetParentFolder: target?.id,
622
- targetName: src.name,
623
- }, () => generateId(), drive.state.global.nodes);
624
- // Pre-calculate collision-resolved names for all nodes to be copied
625
- const resolvedNamesMap = new Map();
626
- for (const copyNodeInput of copyNodesInput) {
627
- const node = drive.state.global.nodes.find((n) => n.id === copyNodeInput.srcId);
628
- if (node) {
629
- const resolvedName = handleTargetNameCollisions({
630
- nodes: drive.state.global.nodes,
631
- srcName: copyNodeInput.targetName || node.name,
632
- targetParentFolder: copyNodeInput.targetParentFolder || null,
633
- });
634
- resolvedNamesMap.set(copyNodeInput.targetId, resolvedName);
635
- }
636
- }
637
- const fileNodesToCopy = copyNodesInput.filter((copyNodeInput) => {
638
- const node = drive.state.global.nodes.find((node) => node.id === copyNodeInput.srcId);
639
- return node !== undefined && isFileNode(node);
640
- });
641
- for (const fileNodeToCopy of fileNodesToCopy) {
642
- try {
643
- const document = await reactor.getDocument(fileNodeToCopy.srcId);
644
- const duplicatedDocument = _duplicateDocument(reactor, document, fileNodeToCopy.targetId);
645
- // Set the header name to match the collision-resolved node name
646
- const resolvedName = resolvedNamesMap.get(fileNodeToCopy.targetId);
647
- if (resolvedName) {
648
- duplicatedDocument.header.name = resolvedName;
649
- }
650
- await reactor.addDocument(duplicatedDocument);
651
- }
652
- catch (e) {
653
- logger.error(`Error copying document ${fileNodeToCopy.srcId}: ${String(e)}`);
654
- }
655
- }
656
- const copyActions = copyNodesInput.map((copyNodeInput) => baseCopyNode(copyNodeInput));
657
- return await queueActions(drive, copyActions);
658
- }
659
- //# sourceMappingURL=document.js.map