@powerhousedao/reactor-browser 6.0.0-dev.17 → 6.0.0-dev.170

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 +2704 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +5615 -0
  5. package/dist/index.js.map +1 -0
  6. package/package.json +43 -51
  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 -20
  12. package/dist/src/actions/document.d.ts.map +0 -1
  13. package/dist/src/actions/document.js +0 -709
  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 -256
  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 -12
  236. package/dist/src/hooks/node-actions.d.ts.map +0 -1
  237. package/dist/src/hooks/node-actions.js +0 -108
  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,709 +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
- async function getDocumentExtension(document) {
124
- const documentType = document.header.documentType;
125
- // DocumentModel definitions always use "phdm"
126
- if (documentType === documentModelDocumentType) {
127
- return "phdm";
128
- }
129
- // For document instances, look up the module's extension
130
- const useLegacy = isLegacyReadEnabledSync();
131
- let rawExtension;
132
- if (useLegacy) {
133
- const reactor = window.ph?.legacyReactor;
134
- if (reactor) {
135
- const documentModelModules = reactor.getDocumentModelModules();
136
- const module = documentModelModules.find((m) => m.documentModel.global.id === documentType);
137
- rawExtension = module?.utils.fileExtension;
138
- }
139
- }
140
- else {
141
- const reactorClient = window.ph?.reactorClient;
142
- if (reactorClient) {
143
- const { results: documentModelModules } = await reactorClient.getDocumentModelModules();
144
- const module = documentModelModules.find((m) => m.documentModel.global.id === documentType);
145
- rawExtension = module?.utils.fileExtension;
146
- }
147
- }
148
- // Clean the extension (remove leading/trailing dots) and fallback to "phdm"
149
- const cleanExtension = (rawExtension ?? "phdm").replace(/^\.+|\.+$/g, "");
150
- return cleanExtension || "phdm";
151
- }
152
- export async function exportFile(document, suggestedName) {
153
- // Ensure we have either reactor available for consistency
154
- const useLegacy = isLegacyReadEnabledSync();
155
- if (useLegacy) {
156
- if (!window.ph?.legacyReactor) {
157
- throw new Error("Legacy reactor not initialized");
158
- }
159
- }
160
- else {
161
- if (!window.ph?.reactorClient) {
162
- throw new Error("ReactorClient not initialized");
163
- }
164
- }
165
- // Get the extension from the document model module
166
- const extension = await getDocumentExtension(document);
167
- const name = `${suggestedName || document.header.name || "Untitled"}.${extension}.phd`;
168
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
169
- if (!window.showSaveFilePicker) {
170
- return downloadFile(document, name);
171
- }
172
- try {
173
- const fileHandle = await window.showSaveFilePicker({
174
- suggestedName: name,
175
- });
176
- await baseSaveToFileHandle(document, fileHandle);
177
- return fileHandle;
178
- }
179
- catch (e) {
180
- // ignores error if user cancelled the file picker
181
- if (!(e instanceof DOMException && e.name === "AbortError")) {
182
- throw e;
183
- }
184
- }
185
- }
186
- export async function loadFile(path) {
187
- const useLegacy = isLegacyReadEnabledSync();
188
- const baseDocument = await baseLoadFromInput(path, (state) => state, { checkHashes: true });
189
- if (useLegacy) {
190
- const reactor = window.ph?.legacyReactor;
191
- if (!reactor) {
192
- throw new Error("Legacy reactor not initialized");
193
- }
194
- const documentModelModules = reactor.getDocumentModelModules();
195
- const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === baseDocument.header.documentType);
196
- if (!documentModelModule) {
197
- throw new Error(`Document "${baseDocument.header.documentType}" is not supported`);
198
- }
199
- return documentModelModule.utils.loadFromInput(path);
200
- }
201
- else {
202
- const reactorClient = window.ph?.reactorClient;
203
- if (!reactorClient) {
204
- throw new Error("ReactorClient not initialized");
205
- }
206
- const { results: documentModelModules } = await reactorClient.getDocumentModelModules();
207
- const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === baseDocument.header.documentType);
208
- if (!documentModelModule) {
209
- throw new Error(`Document "${baseDocument.header.documentType}" is not supported`);
210
- }
211
- return documentModelModule.utils.loadFromInput(path);
212
- }
213
- }
214
- export async function addDocument(driveId, name, documentType, parentFolder, document, id, preferredEditor) {
215
- const { isAllowedToCreateDocuments } = getUserPermissions();
216
- if (!isAllowedToCreateDocuments) {
217
- throw new Error("User is not allowed to create documents");
218
- }
219
- const useLegacy = isLegacyWriteEnabledSync();
220
- if (useLegacy) {
221
- const reactor = window.ph?.legacyReactor;
222
- if (!reactor) {
223
- throw new Error("Legacy reactor not initialized");
224
- }
225
- const drive = await reactor.getDrive(driveId);
226
- const documentId = id ?? generateId();
227
- const reactorDocumentModelModules = reactor.getDocumentModelModules();
228
- const documentModelModuleFromReactor = reactorDocumentModelModules.find((module) => module.documentModel.global.id === documentType);
229
- if (!documentModelModuleFromReactor) {
230
- throw new Error(`Document model module for type ${documentType} not found`);
231
- }
232
- const newDocument = documentModelModuleFromReactor.utils.createDocument({
233
- ...document?.state,
234
- });
235
- newDocument.header = createPresignedHeader(documentId, documentType);
236
- newDocument.header.name = name;
237
- const documentMeta = preferredEditor ? { preferredEditor } : undefined;
238
- await reactor.addDocument(newDocument, documentMeta);
239
- const action = baseAddFile({
240
- id: documentId,
241
- name,
242
- documentType,
243
- parentFolder: parentFolder ?? null,
244
- });
245
- const unsafeCastAsDrive = (await queueActions(drive, action));
246
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === documentId);
247
- if (!node || !isFileNode(node)) {
248
- throw new Error("There was an error adding document");
249
- }
250
- return node;
251
- }
252
- else {
253
- const reactorClient = window.ph?.reactorClient;
254
- if (!reactorClient) {
255
- throw new Error("ReactorClient not initialized");
256
- }
257
- // get the module
258
- const documentModelModule = await reactorClient.getDocumentModelModule(documentType);
259
- // create
260
- const document = documentModelModule.utils.createDocument();
261
- document.header.name = name;
262
- // Create document using ReactorClient
263
- let newDoc;
264
- try {
265
- newDoc = await reactorClient.createDocumentInDrive(driveId, document, parentFolder);
266
- }
267
- catch (e) {
268
- logger.error("Error adding document", e);
269
- throw new Error("There was an error adding document");
270
- }
271
- // Return a file node structure for compatibility
272
- return {
273
- id: newDoc.header.id,
274
- name: newDoc.header.name,
275
- documentType,
276
- parentFolder: parentFolder ?? null,
277
- kind: "file",
278
- };
279
- }
280
- }
281
- export async function addFile(file, driveId, name, parentFolder) {
282
- logger.verbose(`addFile(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
283
- const { isAllowedToCreateDocuments } = getUserPermissions();
284
- if (!isAllowedToCreateDocuments) {
285
- throw new Error("User is not allowed to create files");
286
- }
287
- const useLegacy = isLegacyWriteEnabledSync();
288
- const document = await loadFile(file);
289
- let duplicateId = false;
290
- if (useLegacy) {
291
- const reactor = window.ph?.legacyReactor;
292
- if (!reactor) {
293
- throw new Error("Legacy reactor not initialized");
294
- }
295
- const documentModule = reactor
296
- .getDocumentModelModules()
297
- .find((module) => module.documentModel.global.id === document.header.documentType);
298
- if (!documentModule) {
299
- throw new Error(`Document model module for type ${document.header.documentType} not found`);
300
- }
301
- try {
302
- await reactor.getDocument(document.header.id);
303
- duplicateId = true;
304
- }
305
- catch {
306
- // document id not found
307
- }
308
- }
309
- else {
310
- const reactorClient = window.ph?.reactorClient;
311
- if (!reactorClient) {
312
- throw new Error("ReactorClient not initialized");
313
- }
314
- try {
315
- await reactorClient.get(document.header.id);
316
- duplicateId = true;
317
- }
318
- catch {
319
- // document id not found
320
- }
321
- }
322
- const documentId = duplicateId ? generateId() : document.header.id;
323
- const header = createPresignedHeader(documentId, document.header.documentType);
324
- header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
325
- header.meta = document.header.meta;
326
- header.name = name || document.header.name;
327
- // copy the document at it's initial state
328
- const initialDocument = {
329
- ...document,
330
- header,
331
- state: document.initialState,
332
- operations: Object.keys(document.operations).reduce((acc, key) => {
333
- acc[key] = [];
334
- return acc;
335
- }, {}),
336
- };
337
- await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
338
- // then add all the operations in chunks
339
- uploadOperations(documentId, document.operations, queueOperations).catch((error) => {
340
- throw error;
341
- });
342
- }
343
- export async function addFileWithProgress(file, driveId, name, parentFolder, onProgress, documentTypes, resolveConflict) {
344
- logger.verbose(`addFileWithProgress(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
345
- const reactor = window.ph?.legacyReactor;
346
- if (!reactor) {
347
- return;
348
- }
349
- const { isAllowedToCreateDocuments } = getUserPermissions();
350
- if (!isAllowedToCreateDocuments) {
351
- throw new Error("User is not allowed to create files");
352
- }
353
- // Loading stage (0-10%)
354
- try {
355
- onProgress?.({ stage: "loading", progress: 0 });
356
- const document = await loadFile(file);
357
- if (!document) {
358
- throw new Error("No document loaded");
359
- }
360
- // Check for duplicate in same location
361
- const duplicateCheck = await isDocumentInLocation(document, driveId, parentFolder);
362
- if (duplicateCheck.isDuplicate && !resolveConflict) {
363
- // Report conflict and return early
364
- onProgress?.({
365
- stage: "conflict",
366
- progress: 0,
367
- duplicateType: duplicateCheck.duplicateType,
368
- });
369
- return undefined;
370
- }
371
- // Handle replace resolution by deleting the existing document
372
- if (duplicateCheck.isDuplicate &&
373
- resolveConflict === "replace" &&
374
- duplicateCheck.nodeId) {
375
- await deleteNode(driveId, duplicateCheck.nodeId);
376
- }
377
- // For "duplicate" resolution, we continue normally which creates a new document
378
- // with a different ID (the default behavior)
379
- // Send documentType info immediately after loading
380
- const documentType = getDocumentTypeIcon(document);
381
- if (documentType) {
382
- onProgress?.({ stage: "loading", progress: 10, documentType });
383
- }
384
- else {
385
- onProgress?.({ stage: "loading", progress: 10 });
386
- }
387
- if (!isDocumentTypeSupported(document.header.documentType, documentTypes)) {
388
- onProgress?.({
389
- stage: "unsupported-document-type",
390
- progress: 100,
391
- error: `Document type ${document.header.documentType} is not supported`,
392
- });
393
- throw new UnsupportedDocumentTypeError(document.header.documentType);
394
- }
395
- const documentModule = reactor
396
- .getDocumentModelModules()
397
- .find((module) => module.documentModel.global.id === document.header.documentType);
398
- if (!documentModule) {
399
- throw new Error(`Document model module for type ${document.header.documentType} not found`);
400
- }
401
- // Initializing stage (10-20%)
402
- onProgress?.({ stage: "initializing", progress: 10 });
403
- let duplicateId = false;
404
- try {
405
- await reactor.getDocument(document.header.id);
406
- duplicateId = true;
407
- }
408
- catch {
409
- // document id not found
410
- }
411
- const documentId = duplicateId ? generateId() : document.header.id;
412
- const header = createPresignedHeader(documentId, document.header.documentType);
413
- header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
414
- header.meta = document.header.meta;
415
- header.name = name || document.header.name;
416
- // copy the document at it's initial state
417
- const initialDocument = {
418
- ...document,
419
- header,
420
- state: document.initialState,
421
- operations: Object.keys(document.operations).reduce((acc, key) => {
422
- acc[key] = [];
423
- return acc;
424
- }, {}),
425
- };
426
- const fileNode = await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
427
- if (!fileNode) {
428
- throw new Error("There was an error adding file");
429
- }
430
- onProgress?.({ stage: "initializing", progress: 20 });
431
- // Uploading stage (20-100%)
432
- await uploadOperations(documentId, document.operations, queueOperations, {
433
- onProgress: (uploadProgress) => {
434
- if (uploadProgress.totalOperations &&
435
- uploadProgress.uploadedOperations !== undefined) {
436
- const uploadPercent = uploadProgress.totalOperations > 0
437
- ? uploadProgress.uploadedOperations /
438
- uploadProgress.totalOperations
439
- : 0;
440
- const overallProgress = 20 + Math.round(uploadPercent * 80);
441
- onProgress?.({
442
- stage: "uploading",
443
- progress: overallProgress,
444
- totalOperations: uploadProgress.totalOperations,
445
- uploadedOperations: uploadProgress.uploadedOperations,
446
- });
447
- }
448
- },
449
- });
450
- onProgress?.({ stage: "complete", progress: 100 });
451
- return fileNode;
452
- }
453
- catch (error) {
454
- // Don't override unsupported-document-type status
455
- if (!(error instanceof UnsupportedDocumentTypeError)) {
456
- const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
457
- onProgress?.({
458
- stage: "failed",
459
- progress: 100,
460
- error: errorMessage,
461
- });
462
- }
463
- throw error;
464
- }
465
- }
466
- export async function updateFile(driveId, nodeId, documentType, name, parentFolder) {
467
- const reactor = window.ph?.legacyReactor;
468
- if (!reactor) {
469
- return;
470
- }
471
- const { isAllowedToCreateDocuments } = getUserPermissions();
472
- if (!isAllowedToCreateDocuments) {
473
- throw new Error("User is not allowed to update files");
474
- }
475
- const drive = await reactor.getDrive(driveId);
476
- const unsafeCastAsDrive = (await queueActions(drive, baseUpdateFile({
477
- id: nodeId,
478
- name: name ?? undefined,
479
- parentFolder,
480
- documentType,
481
- })));
482
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
483
- if (!node || !isFileNode(node)) {
484
- throw new Error("There was an error updating document");
485
- }
486
- return node;
487
- }
488
- export async function addFolder(driveId, name, parentFolder) {
489
- const { isAllowedToCreateDocuments } = getUserPermissions();
490
- if (!isAllowedToCreateDocuments) {
491
- throw new Error("User is not allowed to create folders");
492
- }
493
- const useLegacy = isLegacyWriteEnabledSync();
494
- if (useLegacy) {
495
- const reactor = window.ph?.legacyReactor;
496
- if (!reactor) {
497
- throw new Error("Legacy reactor not initialized");
498
- }
499
- const folderId = generateId();
500
- const drive = await reactor.getDrive(driveId);
501
- const unsafeCastAsDrive = (await queueActions(drive, baseAddFolder({
502
- id: folderId,
503
- name,
504
- parentFolder,
505
- })));
506
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === folderId);
507
- if (!node || !isFolderNode(node)) {
508
- throw new Error("There was an error adding folder");
509
- }
510
- return node;
511
- }
512
- else {
513
- const reactorClient = window.ph?.reactorClient;
514
- if (!reactorClient) {
515
- throw new Error("ReactorClient not initialized");
516
- }
517
- // Get the drive document and add folder action
518
- const { document: drive } = await reactorClient.get(driveId);
519
- const folderId = generateId();
520
- const updatedDrive = await reactorClient.execute(driveId, "main", [
521
- baseAddFolder({
522
- id: folderId,
523
- name,
524
- parentFolder,
525
- }),
526
- ]);
527
- const node = updatedDrive.state.global.nodes.find((node) => node.id === folderId);
528
- if (!node || !isFolderNode(node)) {
529
- throw new Error("There was an error adding folder");
530
- }
531
- return node;
532
- }
533
- }
534
- export async function deleteNode(driveId, nodeId) {
535
- const { isAllowedToCreateDocuments } = getUserPermissions();
536
- if (!isAllowedToCreateDocuments) {
537
- throw new Error("User is not allowed to delete documents");
538
- }
539
- const useLegacy = isLegacyWriteEnabledSync();
540
- if (useLegacy) {
541
- const reactor = window.ph?.legacyReactor;
542
- if (!reactor) {
543
- throw new Error("Legacy reactor not initialized");
544
- }
545
- const drive = await reactor.getDrive(driveId);
546
- await queueActions(drive, baseDeleteNode({ id: nodeId }));
547
- // now delete the document
548
- await reactor.deleteDocument(nodeId);
549
- }
550
- else {
551
- const reactorClient = window.ph?.reactorClient;
552
- if (!reactorClient) {
553
- throw new Error("ReactorClient not initialized");
554
- }
555
- // delete the node in the drive document
556
- await reactorClient.execute(driveId, "main", [
557
- baseDeleteNode({ id: nodeId }),
558
- ]);
559
- // now delete the document
560
- await reactorClient.deleteDocument(nodeId);
561
- }
562
- }
563
- export async function renameNode(driveId, nodeId, name) {
564
- const { isAllowedToCreateDocuments } = getUserPermissions();
565
- if (!isAllowedToCreateDocuments) {
566
- throw new Error("User is not allowed to rename documents");
567
- }
568
- const useLegacy = isLegacyWriteEnabledSync();
569
- if (useLegacy) {
570
- const reactor = window.ph?.legacyReactor;
571
- if (!reactor) {
572
- throw new Error("Legacy reactor not initialized");
573
- }
574
- const drive = await reactor.getDrive(driveId);
575
- const unsafeCastAsDrive = (await queueActions(drive, updateNode({ id: nodeId, name })));
576
- const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
577
- if (!node) {
578
- throw new Error("There was an error renaming node");
579
- }
580
- return node;
581
- }
582
- else {
583
- const reactorClient = window.ph?.reactorClient;
584
- if (!reactorClient) {
585
- throw new Error("ReactorClient not initialized");
586
- }
587
- // Rename the node in the drive document using updateNode action
588
- const drive = await reactorClient.execute(driveId, "main", [updateNode({ id: nodeId, name })]);
589
- const node = drive.state.global.nodes.find((n) => n.id === nodeId);
590
- if (!node) {
591
- throw new Error("There was an error renaming node");
592
- }
593
- return node;
594
- }
595
- }
596
- export async function renameDriveNode(driveId, nodeId, name) {
597
- const { isAllowedToCreateDocuments } = getUserPermissions();
598
- if (!isAllowedToCreateDocuments) {
599
- throw new Error("User is not allowed to rename documents");
600
- }
601
- const useLegacy = isLegacyWriteEnabledSync();
602
- if (useLegacy) {
603
- const reactor = window.ph?.legacyReactor;
604
- if (!reactor) {
605
- throw new Error("Legacy reactor not initialized");
606
- }
607
- const drive = await reactor.getDrive(driveId);
608
- const updatedDrive = (await queueActions(drive, updateNode({ id: nodeId, name })));
609
- return updatedDrive.state.global.nodes.find((n) => n.id === nodeId);
610
- }
611
- else {
612
- const reactorClient = window.ph?.reactorClient;
613
- if (!reactorClient) {
614
- throw new Error("ReactorClient not initialized");
615
- }
616
- await reactorClient.execute(driveId, "main", [
617
- updateNode({ id: nodeId, name }),
618
- ]);
619
- const { document: drive } = await reactorClient.get(driveId);
620
- return drive.state.global.nodes.find((n) => n.id === nodeId);
621
- }
622
- }
623
- export async function moveNode(driveId, src, target) {
624
- const { isAllowedToCreateDocuments } = getUserPermissions();
625
- if (!isAllowedToCreateDocuments) {
626
- throw new Error("User is not allowed to move documents");
627
- }
628
- const useLegacy = isLegacyWriteEnabledSync();
629
- if (useLegacy) {
630
- const reactor = window.ph?.legacyReactor;
631
- if (!reactor) {
632
- throw new Error("Legacy reactor not initialized");
633
- }
634
- const drive = await reactor.getDrive(driveId);
635
- return await queueActions(drive, baseMoveNode({ srcFolder: src.id, targetParentFolder: target?.id }));
636
- }
637
- else {
638
- const reactorClient = window.ph?.reactorClient;
639
- if (!reactorClient) {
640
- throw new Error("ReactorClient not initialized");
641
- }
642
- // Get current parent folder from source node
643
- const sourceParent = src.parentFolder ?? driveId;
644
- const targetParent = target?.id ?? driveId;
645
- return await reactorClient.moveChildren(sourceParent, targetParent, [
646
- src.id,
647
- ]);
648
- }
649
- }
650
- function _duplicateDocument(reactor, document, newId = generateId()) {
651
- const documentModule = reactor
652
- .getDocumentModelModules()
653
- .find((module) => module.documentModel.global.id === document.header.documentType);
654
- if (!documentModule) {
655
- throw new Error(`Document model module for type ${document.header.documentType} not found`);
656
- }
657
- return replayDocument(document.initialState, document.operations, documentModule.reducer, createPresignedHeader(newId, document.header.documentType));
658
- }
659
- export async function copyNode(driveId, src, target) {
660
- const reactor = window.ph?.legacyReactor;
661
- if (!reactor) {
662
- return;
663
- }
664
- const { isAllowedToCreateDocuments } = getUserPermissions();
665
- if (!isAllowedToCreateDocuments) {
666
- throw new Error("User is not allowed to copy documents");
667
- }
668
- const drive = await reactor.getDrive(driveId);
669
- const copyNodesInput = generateNodesCopy({
670
- srcId: src.id,
671
- targetParentFolder: target?.id,
672
- targetName: src.name,
673
- }, () => generateId(), drive.state.global.nodes);
674
- // Pre-calculate collision-resolved names for all nodes to be copied
675
- const resolvedNamesMap = new Map();
676
- for (const copyNodeInput of copyNodesInput) {
677
- const node = drive.state.global.nodes.find((n) => n.id === copyNodeInput.srcId);
678
- if (node) {
679
- const resolvedName = handleTargetNameCollisions({
680
- nodes: drive.state.global.nodes,
681
- srcName: copyNodeInput.targetName || node.name,
682
- targetParentFolder: copyNodeInput.targetParentFolder || null,
683
- });
684
- resolvedNamesMap.set(copyNodeInput.targetId, resolvedName);
685
- }
686
- }
687
- const fileNodesToCopy = copyNodesInput.filter((copyNodeInput) => {
688
- const node = drive.state.global.nodes.find((node) => node.id === copyNodeInput.srcId);
689
- return node !== undefined && isFileNode(node);
690
- });
691
- for (const fileNodeToCopy of fileNodesToCopy) {
692
- try {
693
- const document = await reactor.getDocument(fileNodeToCopy.srcId);
694
- const duplicatedDocument = _duplicateDocument(reactor, document, fileNodeToCopy.targetId);
695
- // Set the header name to match the collision-resolved node name
696
- const resolvedName = resolvedNamesMap.get(fileNodeToCopy.targetId);
697
- if (resolvedName) {
698
- duplicatedDocument.header.name = resolvedName;
699
- }
700
- await reactor.addDocument(duplicatedDocument);
701
- }
702
- catch (e) {
703
- logger.error(`Error copying document ${fileNodeToCopy.srcId}: ${String(e)}`);
704
- }
705
- }
706
- const copyActions = copyNodesInput.map((copyNodeInput) => baseCopyNode(copyNodeInput));
707
- return await queueActions(drive, copyActions);
708
- }
709
- //# sourceMappingURL=document.js.map