@powerhousedao/reactor-browser 4.1.0-dev.8 → 4.1.0-dev.80

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 (366) hide show
  1. package/README.md +624 -0
  2. package/dist/src/actions/dispatch.d.ts +4 -0
  3. package/dist/src/actions/dispatch.d.ts.map +1 -0
  4. package/dist/src/actions/dispatch.js +29 -0
  5. package/dist/src/actions/dispatch.js.map +1 -0
  6. package/dist/src/actions/document.d.ts +16 -0
  7. package/dist/src/actions/document.d.ts.map +1 -0
  8. package/dist/src/actions/document.js +469 -0
  9. package/dist/src/actions/document.js.map +1 -0
  10. package/dist/src/actions/drive.d.ts +14 -0
  11. package/dist/src/actions/drive.d.ts.map +1 -0
  12. package/dist/src/actions/drive.js +188 -0
  13. package/dist/src/actions/drive.js.map +1 -0
  14. package/dist/src/actions/index.d.ts +6 -0
  15. package/dist/src/actions/index.d.ts.map +1 -0
  16. package/dist/src/actions/index.js +6 -0
  17. package/dist/src/actions/index.js.map +1 -0
  18. package/dist/src/actions/queue.d.ts +10 -0
  19. package/dist/src/actions/queue.d.ts.map +1 -0
  20. package/dist/src/actions/queue.js +136 -0
  21. package/dist/src/actions/queue.js.map +1 -0
  22. package/dist/src/actions/sign.d.ts +5 -0
  23. package/dist/src/actions/sign.d.ts.map +1 -0
  24. package/dist/src/actions/sign.js +71 -0
  25. package/dist/src/actions/sign.js.map +1 -0
  26. package/dist/src/analytics/context.d.ts +3 -3
  27. package/dist/src/analytics/context.d.ts.map +1 -1
  28. package/dist/src/analytics/context.js +2 -2
  29. package/dist/src/analytics/context.js.map +1 -1
  30. package/dist/src/analytics/hooks.d.ts +3 -2
  31. package/dist/src/analytics/hooks.d.ts.map +1 -1
  32. package/dist/src/analytics/hooks.js +3 -3
  33. package/dist/src/analytics/hooks.js.map +1 -1
  34. package/dist/src/analytics/index.d.ts +3 -0
  35. package/dist/src/analytics/index.d.ts.map +1 -0
  36. package/dist/src/analytics/index.js +3 -0
  37. package/dist/src/analytics/index.js.map +1 -0
  38. package/dist/src/analytics/store/browser.d.ts +1 -1
  39. package/dist/src/analytics/store/browser.d.ts.map +1 -1
  40. package/dist/src/analytics/store/browser.js +1 -1
  41. package/dist/src/analytics/store/browser.js.map +1 -1
  42. package/dist/src/analytics/store/memory.d.ts +1 -1
  43. package/dist/src/analytics/store/memory.d.ts.map +1 -1
  44. package/dist/src/analytics/store/memory.js +1 -1
  45. package/dist/src/analytics/store/memory.js.map +1 -1
  46. package/dist/src/analytics/types.d.ts +2 -3
  47. package/dist/src/analytics/types.d.ts.map +1 -1
  48. package/dist/src/constants.d.ts +3 -0
  49. package/dist/src/constants.d.ts.map +1 -0
  50. package/dist/src/constants.js +3 -0
  51. package/dist/src/constants.js.map +1 -0
  52. package/dist/src/context/index.d.ts +1 -1
  53. package/dist/src/context/index.d.ts.map +1 -1
  54. package/dist/src/context/index.js +1 -1
  55. package/dist/src/context/index.js.map +1 -1
  56. package/dist/src/context/read-mode.d.ts +2 -2
  57. package/dist/src/context/read-mode.d.ts.map +1 -1
  58. package/dist/src/context/read-mode.js +25 -47
  59. package/dist/src/context/read-mode.js.map +1 -1
  60. package/dist/src/document-model.d.ts +3 -3
  61. package/dist/src/document-model.d.ts.map +1 -1
  62. package/dist/src/document-model.js +1 -1
  63. package/dist/src/document-model.js.map +1 -1
  64. package/dist/src/events/add-ph-event-handlers.d.ts +2 -0
  65. package/dist/src/events/add-ph-event-handlers.d.ts.map +1 -0
  66. package/dist/src/events/add-ph-event-handlers.js +29 -0
  67. package/dist/src/events/add-ph-event-handlers.js.map +1 -0
  68. package/dist/src/events/config.d.ts +12 -0
  69. package/dist/src/events/config.d.ts.map +1 -0
  70. package/dist/src/events/config.js +44 -0
  71. package/dist/src/events/config.js.map +1 -0
  72. package/dist/src/events/crypto.d.ts +13 -0
  73. package/dist/src/events/crypto.d.ts.map +1 -0
  74. package/dist/src/events/crypto.js +49 -0
  75. package/dist/src/events/crypto.js.map +1 -0
  76. package/dist/src/events/documents.d.ts +7 -0
  77. package/dist/src/events/documents.d.ts.map +1 -0
  78. package/dist/src/events/documents.js +19 -0
  79. package/dist/src/events/documents.js.map +1 -0
  80. package/dist/src/events/drives.d.ts +13 -0
  81. package/dist/src/events/drives.d.ts.map +1 -0
  82. package/dist/src/events/drives.js +58 -0
  83. package/dist/src/events/drives.js.map +1 -0
  84. package/dist/src/events/index.d.ts +13 -0
  85. package/dist/src/events/index.d.ts.map +1 -0
  86. package/dist/src/events/index.js +13 -0
  87. package/dist/src/events/index.js.map +1 -0
  88. package/dist/src/events/modals.d.ts +9 -0
  89. package/dist/src/events/modals.d.ts.map +1 -0
  90. package/dist/src/events/modals.js +28 -0
  91. package/dist/src/events/modals.js.map +1 -0
  92. package/dist/src/events/nodes.d.ts +7 -0
  93. package/dist/src/events/nodes.d.ts.map +1 -0
  94. package/dist/src/events/nodes.js +34 -0
  95. package/dist/src/events/nodes.js.map +1 -0
  96. package/dist/src/events/processors.d.ts +8 -0
  97. package/dist/src/events/processors.d.ts.map +1 -0
  98. package/dist/src/events/processors.js +25 -0
  99. package/dist/src/events/processors.js.map +1 -0
  100. package/dist/src/events/reactor.d.ts +8 -0
  101. package/dist/src/events/reactor.d.ts.map +1 -0
  102. package/dist/src/events/reactor.js +25 -0
  103. package/dist/src/events/reactor.js.map +1 -0
  104. package/dist/src/events/renown.d.ts +8 -0
  105. package/dist/src/events/renown.d.ts.map +1 -0
  106. package/dist/src/events/renown.js +27 -0
  107. package/dist/src/events/renown.js.map +1 -0
  108. package/dist/src/events/types.d.ts +66 -0
  109. package/dist/src/events/types.d.ts.map +1 -0
  110. package/dist/src/{renown → events}/types.js.map +1 -1
  111. package/dist/src/events/user.d.ts +14 -0
  112. package/dist/src/events/user.d.ts.map +1 -0
  113. package/dist/src/events/user.js +49 -0
  114. package/dist/src/events/user.js.map +1 -0
  115. package/dist/src/events/vetra-packages.d.ts +8 -0
  116. package/dist/src/events/vetra-packages.d.ts.map +1 -0
  117. package/dist/src/events/vetra-packages.js +29 -0
  118. package/dist/src/events/vetra-packages.js.map +1 -0
  119. package/dist/src/global/core.d.ts.map +1 -1
  120. package/dist/src/global/core.js +0 -1
  121. package/dist/src/global/core.js.map +1 -1
  122. package/dist/src/global/index.d.ts +0 -1
  123. package/dist/src/global/index.d.ts.map +1 -1
  124. package/dist/src/global/index.js +0 -1
  125. package/dist/src/global/index.js.map +1 -1
  126. package/dist/src/global/types.d.ts +2 -2
  127. package/dist/src/global/types.d.ts.map +1 -1
  128. package/dist/src/hooks/config.d.ts +5 -0
  129. package/dist/src/hooks/config.d.ts.map +1 -0
  130. package/dist/src/hooks/config.js +18 -0
  131. package/dist/src/hooks/config.js.map +1 -0
  132. package/dist/src/hooks/crypto.d.ts +4 -0
  133. package/dist/src/hooks/crypto.d.ts.map +1 -0
  134. package/dist/src/hooks/crypto.js +15 -0
  135. package/dist/src/hooks/crypto.js.map +1 -0
  136. package/dist/src/hooks/dispatch.d.ts +3 -0
  137. package/dist/src/hooks/dispatch.d.ts.map +1 -0
  138. package/dist/src/hooks/dispatch.js +9 -0
  139. package/dist/src/hooks/dispatch.js.map +1 -0
  140. package/dist/src/hooks/documents.d.ts +29 -0
  141. package/dist/src/hooks/documents.d.ts.map +1 -0
  142. package/dist/src/hooks/documents.js +94 -0
  143. package/dist/src/hooks/documents.js.map +1 -0
  144. package/dist/src/hooks/drives.d.ts +26 -0
  145. package/dist/src/hooks/drives.d.ts.map +1 -0
  146. package/dist/src/hooks/drives.js +98 -0
  147. package/dist/src/hooks/drives.js.map +1 -0
  148. package/dist/src/hooks/index.d.ts +13 -7
  149. package/dist/src/hooks/index.d.ts.map +1 -1
  150. package/dist/src/hooks/index.js +13 -7
  151. package/dist/src/hooks/index.js.map +1 -1
  152. package/dist/src/hooks/modals.d.ts +7 -0
  153. package/dist/src/hooks/modals.d.ts.map +1 -0
  154. package/dist/src/hooks/modals.js +18 -0
  155. package/dist/src/hooks/modals.js.map +1 -0
  156. package/dist/src/hooks/nodes.d.ts +50 -0
  157. package/dist/src/hooks/nodes.d.ts.map +1 -0
  158. package/dist/src/hooks/nodes.js +247 -0
  159. package/dist/src/hooks/nodes.js.map +1 -0
  160. package/dist/src/hooks/processor-manager.d.ts +3 -0
  161. package/dist/src/hooks/processor-manager.d.ts.map +1 -0
  162. package/dist/src/hooks/processor-manager.js +7 -0
  163. package/dist/src/hooks/processor-manager.js.map +1 -0
  164. package/dist/src/hooks/reactor.d.ts +3 -0
  165. package/dist/src/hooks/reactor.d.ts.map +1 -0
  166. package/dist/src/hooks/reactor.js +7 -0
  167. package/dist/src/hooks/reactor.js.map +1 -0
  168. package/dist/src/hooks/renown.d.ts +2 -0
  169. package/dist/src/hooks/renown.d.ts.map +1 -0
  170. package/dist/src/hooks/renown.js +7 -0
  171. package/dist/src/hooks/renown.js.map +1 -0
  172. package/dist/src/hooks/use-on-drop-file.d.ts +6 -0
  173. package/dist/src/hooks/use-on-drop-file.d.ts.map +1 -0
  174. package/dist/src/hooks/use-on-drop-file.js +21 -0
  175. package/dist/src/hooks/use-on-drop-file.js.map +1 -0
  176. package/dist/src/hooks/user.d.ts +7 -0
  177. package/dist/src/hooks/user.d.ts.map +1 -0
  178. package/dist/src/hooks/user.js +26 -0
  179. package/dist/src/hooks/user.js.map +1 -0
  180. package/dist/src/hooks/vetra-packages.d.ts +18 -0
  181. package/dist/src/hooks/vetra-packages.d.ts.map +1 -0
  182. package/dist/src/hooks/vetra-packages.js +76 -0
  183. package/dist/src/hooks/vetra-packages.js.map +1 -0
  184. package/dist/src/index.d.ts +8 -4
  185. package/dist/src/index.d.ts.map +1 -1
  186. package/dist/src/index.js +8 -2
  187. package/dist/src/index.js.map +1 -1
  188. package/dist/src/pglite/hooks/usePGlite.d.ts +1 -1
  189. package/dist/src/pglite/hooks/usePGlite.d.ts.map +1 -1
  190. package/dist/src/pglite/index.d.ts +0 -4
  191. package/dist/src/pglite/index.d.ts.map +1 -1
  192. package/dist/src/pglite/index.js +0 -4
  193. package/dist/src/pglite/index.js.map +1 -1
  194. package/dist/src/reactor.d.ts +12 -3
  195. package/dist/src/reactor.d.ts.map +1 -1
  196. package/dist/src/reactor.js +90 -10
  197. package/dist/src/reactor.js.map +1 -1
  198. package/dist/src/relational/hooks/useRelationalDb.d.ts +2 -2
  199. package/dist/src/relational/hooks/useRelationalDb.d.ts.map +1 -1
  200. package/dist/src/relational/hooks/useRelationalDb.js +2 -2
  201. package/dist/src/relational/hooks/useRelationalDb.js.map +1 -1
  202. package/dist/src/relational/hooks/useRelationalQuery.d.ts +2 -3
  203. package/dist/src/relational/hooks/useRelationalQuery.d.ts.map +1 -1
  204. package/dist/src/relational/hooks/useRelationalQuery.js +1 -1
  205. package/dist/src/relational/hooks/useRelationalQuery.js.map +1 -1
  206. package/dist/src/relational/utils/createProcessorQuery.d.ts +4 -4
  207. package/dist/src/relational/utils/createProcessorQuery.d.ts.map +1 -1
  208. package/dist/src/relational/utils/createProcessorQuery.js +2 -2
  209. package/dist/src/relational/utils/createProcessorQuery.js.map +1 -1
  210. package/dist/src/renown/index.d.ts +3 -0
  211. package/dist/src/renown/index.d.ts.map +1 -0
  212. package/dist/src/renown/index.js +3 -0
  213. package/dist/src/renown/index.js.map +1 -0
  214. package/dist/src/renown/utils.d.ts +6 -0
  215. package/dist/src/renown/utils.d.ts.map +1 -0
  216. package/dist/src/renown/utils.js +56 -0
  217. package/dist/src/renown/utils.js.map +1 -0
  218. package/dist/src/types/drive-editor.d.ts +17 -138
  219. package/dist/src/types/drive-editor.d.ts.map +1 -1
  220. package/dist/src/types/global.d.ts +69 -0
  221. package/dist/src/types/global.d.ts.map +1 -0
  222. package/dist/src/types/global.js +2 -0
  223. package/dist/src/types/global.js.map +1 -0
  224. package/dist/src/types/index.d.ts +4 -0
  225. package/dist/src/types/index.d.ts.map +1 -1
  226. package/dist/src/types/index.js +4 -0
  227. package/dist/src/types/index.js.map +1 -1
  228. package/dist/src/types/modals.d.ts +32 -0
  229. package/dist/src/types/modals.d.ts.map +1 -0
  230. package/dist/src/types/modals.js +2 -0
  231. package/dist/src/types/modals.js.map +1 -0
  232. package/dist/src/types/reactor.d.ts +4 -0
  233. package/dist/src/types/reactor.d.ts.map +1 -0
  234. package/dist/src/types/reactor.js +2 -0
  235. package/dist/src/types/reactor.js.map +1 -0
  236. package/dist/src/types/upload.d.ts +14 -0
  237. package/dist/src/types/upload.d.ts.map +1 -0
  238. package/dist/src/types/upload.js +2 -0
  239. package/dist/src/types/upload.js.map +1 -0
  240. package/dist/src/types/vetra.d.ts +68 -0
  241. package/dist/src/types/vetra.d.ts.map +1 -0
  242. package/dist/src/types/vetra.js +2 -0
  243. package/dist/src/types/vetra.js.map +1 -0
  244. package/dist/src/utils/documents.d.ts +2 -0
  245. package/dist/src/utils/documents.d.ts.map +1 -0
  246. package/dist/src/utils/documents.js +24 -0
  247. package/dist/src/utils/documents.js.map +1 -0
  248. package/dist/src/utils/drives.d.ts +32 -0
  249. package/dist/src/utils/drives.d.ts.map +1 -0
  250. package/dist/src/utils/drives.js +70 -0
  251. package/dist/src/utils/drives.js.map +1 -0
  252. package/dist/src/utils/index.d.ts +7 -4
  253. package/dist/src/utils/index.d.ts.map +1 -1
  254. package/dist/src/utils/index.js +7 -8
  255. package/dist/src/utils/index.js.map +1 -1
  256. package/dist/src/utils/nodes.d.ts +8 -0
  257. package/dist/src/utils/nodes.d.ts.map +1 -0
  258. package/dist/src/utils/nodes.js +17 -0
  259. package/dist/src/utils/nodes.js.map +1 -0
  260. package/dist/src/utils/switchboard.d.ts +3 -4
  261. package/dist/src/utils/switchboard.d.ts.map +1 -1
  262. package/dist/src/utils/switchboard.js +25 -24
  263. package/dist/src/utils/switchboard.js.map +1 -1
  264. package/dist/src/utils/unsupported-document-type-error.d.ts +4 -0
  265. package/dist/src/utils/unsupported-document-type-error.d.ts.map +1 -0
  266. package/dist/src/utils/unsupported-document-type-error.js +7 -0
  267. package/dist/src/utils/unsupported-document-type-error.js.map +1 -0
  268. package/dist/src/utils/url.d.ts +25 -0
  269. package/dist/src/utils/url.d.ts.map +1 -0
  270. package/dist/src/utils/url.js +70 -0
  271. package/dist/src/utils/url.js.map +1 -0
  272. package/dist/src/utils/user.d.ts +5 -0
  273. package/dist/src/utils/user.d.ts.map +1 -0
  274. package/dist/src/utils/user.js +15 -0
  275. package/dist/src/utils/user.js.map +1 -0
  276. package/dist/src/utils/vetra.d.ts +7 -0
  277. package/dist/src/utils/vetra.d.ts.map +1 -0
  278. package/dist/src/utils/vetra.js +86 -0
  279. package/dist/src/utils/vetra.js.map +1 -0
  280. package/dist/test/analytics.test.d.ts +2 -0
  281. package/dist/test/analytics.test.d.ts.map +1 -0
  282. package/dist/test/analytics.test.js +262 -0
  283. package/dist/test/analytics.test.js.map +1 -0
  284. package/dist/test/getSwitchboardUrl.test.d.ts +2 -0
  285. package/dist/test/getSwitchboardUrl.test.d.ts.map +1 -0
  286. package/dist/test/getSwitchboardUrl.test.js +105 -0
  287. package/dist/test/getSwitchboardUrl.test.js.map +1 -0
  288. package/dist/test/reactor.test.d.ts +2 -0
  289. package/dist/test/reactor.test.d.ts.map +1 -0
  290. package/dist/test/reactor.test.js +26 -0
  291. package/dist/test/reactor.test.js.map +1 -0
  292. package/dist/test/switchboard.test.d.ts +2 -0
  293. package/dist/test/switchboard.test.d.ts.map +1 -0
  294. package/dist/test/switchboard.test.js +25 -0
  295. package/dist/test/switchboard.test.js.map +1 -0
  296. package/dist/tsconfig.tsbuildinfo +1 -0
  297. package/dist/vitest.config.d.ts +3 -0
  298. package/dist/vitest.config.d.ts.map +1 -0
  299. package/dist/vitest.config.js +24 -0
  300. package/dist/vitest.config.js.map +1 -0
  301. package/package.json +30 -34
  302. package/dist/package.json +0 -75
  303. package/dist/src/analytics/analytics.d.ts +0 -5
  304. package/dist/src/analytics/analytics.d.ts.map +0 -1
  305. package/dist/src/analytics/analytics.js +0 -6
  306. package/dist/src/analytics/analytics.js.map +0 -1
  307. package/dist/src/crypto/browser.d.ts +0 -8
  308. package/dist/src/crypto/browser.d.ts.map +0 -1
  309. package/dist/src/crypto/browser.js +0 -50
  310. package/dist/src/crypto/browser.js.map +0 -1
  311. package/dist/src/crypto/index.d.ts +0 -27
  312. package/dist/src/crypto/index.d.ts.map +0 -1
  313. package/dist/src/crypto/index.js +0 -152
  314. package/dist/src/crypto/index.js.map +0 -1
  315. package/dist/src/hooks/document-state.d.ts +0 -24
  316. package/dist/src/hooks/document-state.d.ts.map +0 -1
  317. package/dist/src/hooks/document-state.js +0 -89
  318. package/dist/src/hooks/document-state.js.map +0 -1
  319. package/dist/src/hooks/useAddDebouncedOperations.d.ts +0 -7
  320. package/dist/src/hooks/useAddDebouncedOperations.d.ts.map +0 -1
  321. package/dist/src/hooks/useAddDebouncedOperations.js +0 -53
  322. package/dist/src/hooks/useAddDebouncedOperations.js.map +0 -1
  323. package/dist/src/hooks/useConnectCrypto.d.ts +0 -4
  324. package/dist/src/hooks/useConnectCrypto.d.ts.map +0 -1
  325. package/dist/src/hooks/useConnectCrypto.js +0 -57
  326. package/dist/src/hooks/useConnectCrypto.js.map +0 -1
  327. package/dist/src/hooks/useDocument.d.ts +0 -8
  328. package/dist/src/hooks/useDocument.d.ts.map +0 -1
  329. package/dist/src/hooks/useDocument.js +0 -32
  330. package/dist/src/hooks/useDocument.js.map +0 -1
  331. package/dist/src/hooks/useDocumentDispatch.d.ts +0 -10
  332. package/dist/src/hooks/useDocumentDispatch.d.ts.map +0 -1
  333. package/dist/src/hooks/useDocumentDispatch.js +0 -42
  334. package/dist/src/hooks/useDocumentDispatch.js.map +0 -1
  335. package/dist/src/hooks/useDocumentDrives.d.ts +0 -12
  336. package/dist/src/hooks/useDocumentDrives.d.ts.map +0 -1
  337. package/dist/src/hooks/useDocumentDrives.js +0 -122
  338. package/dist/src/hooks/useDocumentDrives.js.map +0 -1
  339. package/dist/src/hooks/useDocumentEditor.d.ts +0 -32
  340. package/dist/src/hooks/useDocumentEditor.d.ts.map +0 -1
  341. package/dist/src/hooks/useDocumentEditor.js +0 -41
  342. package/dist/src/hooks/useDocumentEditor.js.map +0 -1
  343. package/dist/src/hooks/useDriveActions.d.ts +0 -79
  344. package/dist/src/hooks/useDriveActions.d.ts.map +0 -1
  345. package/dist/src/hooks/useDriveActions.js +0 -108
  346. package/dist/src/hooks/useDriveActions.js.map +0 -1
  347. package/dist/src/hooks/useDriveContext.d.ts +0 -21
  348. package/dist/src/hooks/useDriveContext.d.ts.map +0 -1
  349. package/dist/src/hooks/useDriveContext.js +0 -26
  350. package/dist/src/hooks/useDriveContext.js.map +0 -1
  351. package/dist/src/hooks/useUserPermissions.d.ts +0 -6
  352. package/dist/src/hooks/useUserPermissions.d.ts.map +0 -1
  353. package/dist/src/hooks/useUserPermissions.js +0 -7
  354. package/dist/src/hooks/useUserPermissions.js.map +0 -1
  355. package/dist/src/renown/types.d.ts +0 -76
  356. package/dist/src/renown/types.d.ts.map +0 -1
  357. package/dist/src/utils/export-document.d.ts +0 -3
  358. package/dist/src/utils/export-document.d.ts.map +0 -1
  359. package/dist/src/utils/export-document.js +0 -19
  360. package/dist/src/utils/export-document.js.map +0 -1
  361. package/dist/src/utils/signature.d.ts +0 -5
  362. package/dist/src/utils/signature.d.ts.map +0 -1
  363. package/dist/src/utils/signature.js +0 -40
  364. package/dist/src/utils/signature.js.map +0 -1
  365. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  366. /package/dist/src/{renown → events}/types.js +0 -0
@@ -0,0 +1,469 @@
1
+ import { getUserPermissions, queueActions, queueOperations, uploadOperations, } from "@powerhousedao/reactor-browser";
2
+ import { addFile as baseAddFile, addFolder as baseAddFolder, copyNode as baseCopyNode, deleteNode as baseDeleteNode, moveNode as baseMoveNode, updateFile as baseUpdateFile, generateNodesCopy, isFileNode, isFolderNode, logger, updateNode, } from "document-drive";
3
+ import { baseLoadFromInput, baseSaveToFileHandle, createPresignedHeader, createZip, generateId, replayDocument, } from "document-model/core";
4
+ import { isDocumentTypeSupported } from "../utils/documents.js";
5
+ import { UnsupportedDocumentTypeError } from "../utils/unsupported-document-type-error.js";
6
+ async function isDocumentInLocation(document, driveId, parentFolder) {
7
+ const reactor = window.reactor;
8
+ if (!reactor) {
9
+ return { isDuplicate: false };
10
+ }
11
+ try {
12
+ // Get the drive and check its nodes
13
+ const drive = await reactor.getDrive(driveId);
14
+ // Case 1: Check for duplicate by ID
15
+ const nodeById = drive.state.global.nodes.find((node) => node.id === document.header.id);
16
+ if (nodeById && nodeById.parentFolder === (parentFolder ?? null)) {
17
+ return {
18
+ isDuplicate: true,
19
+ duplicateType: "id",
20
+ nodeId: nodeById.id,
21
+ };
22
+ }
23
+ // Case 2: Check for duplicate by name + type in same parent folder
24
+ const nodeByNameAndType = drive.state.global.nodes.find((node) => isFileNode(node) &&
25
+ node.name === document.header.name &&
26
+ node.documentType === document.header.documentType &&
27
+ node.parentFolder === (parentFolder ?? null));
28
+ if (nodeByNameAndType) {
29
+ return {
30
+ isDuplicate: true,
31
+ duplicateType: "name",
32
+ nodeId: nodeByNameAndType.id,
33
+ };
34
+ }
35
+ return { isDuplicate: false };
36
+ }
37
+ catch {
38
+ // Drive doesn't exist or other error
39
+ return { isDuplicate: false };
40
+ }
41
+ }
42
+ function getDocumentTypeIcon(document) {
43
+ const documentType = document.header.documentType;
44
+ switch (documentType) {
45
+ case "powerhouse/document-model":
46
+ return "document-model";
47
+ case "powerhouse/app":
48
+ return "app";
49
+ case "powerhouse/document-editor":
50
+ return "editor";
51
+ case "powerhouse/subgraph":
52
+ return "subgraph";
53
+ case "powerhouse/package":
54
+ return "package";
55
+ case "powerhouse/processor": {
56
+ // Check the processor type from global state (safely)
57
+ const globalState = document.state
58
+ .global;
59
+ const processorType = globalState?.type;
60
+ if (processorType === "analytics")
61
+ return "analytics-processor";
62
+ if (processorType === "relational")
63
+ return "relational-processor";
64
+ if (processorType === "codegen")
65
+ return "codegen-processor";
66
+ return undefined;
67
+ }
68
+ default:
69
+ return undefined;
70
+ }
71
+ }
72
+ export function downloadFile(document, fileName) {
73
+ const zip = createZip(document);
74
+ zip
75
+ .generateAsync({ type: "blob" })
76
+ .then((blob) => {
77
+ const link = window.document.createElement("a");
78
+ link.style.display = "none";
79
+ link.href = URL.createObjectURL(blob);
80
+ link.download = fileName;
81
+ window.document.body.appendChild(link);
82
+ link.click();
83
+ window.document.body.removeChild(link);
84
+ })
85
+ .catch(logger.error);
86
+ }
87
+ export async function exportFile(document, suggestedName) {
88
+ const reactor = window.reactor;
89
+ if (!reactor) {
90
+ return;
91
+ }
92
+ const documentModelModules = reactor.getDocumentModelModules();
93
+ const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === document.header.documentType);
94
+ let extension = "";
95
+ const documentExtension = documentModelModule?.documentModel.global.extension;
96
+ if (documentExtension) {
97
+ const cleanExtension = documentExtension.replace(/^\.+|\.+$/g, "") || "";
98
+ extension = `.${cleanExtension}`;
99
+ }
100
+ const name = `${suggestedName || document.header.name || "Untitled"}${extension}.phd`;
101
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
102
+ if (!window.showSaveFilePicker) {
103
+ return downloadFile(document, name);
104
+ }
105
+ try {
106
+ const fileHandle = await window.showSaveFilePicker({
107
+ suggestedName: name,
108
+ });
109
+ await baseSaveToFileHandle(document, fileHandle);
110
+ return fileHandle;
111
+ }
112
+ catch (e) {
113
+ // ignores error if user cancelled the file picker
114
+ if (!(e instanceof DOMException && e.name === "AbortError")) {
115
+ throw e;
116
+ }
117
+ }
118
+ }
119
+ export async function loadFile(path) {
120
+ const reactor = window.reactor;
121
+ if (!reactor) {
122
+ return;
123
+ }
124
+ const documentModelModules = reactor.getDocumentModelModules();
125
+ const baseDocument = await baseLoadFromInput(path, (state) => state, { checkHashes: true });
126
+ const documentModelModule = documentModelModules.find((module) => module.documentModel.global.id === baseDocument.header.documentType);
127
+ if (!documentModelModule) {
128
+ throw new Error(`Document "${baseDocument.header.documentType}" is not supported`);
129
+ }
130
+ return documentModelModule.utils.loadFromInput(path);
131
+ }
132
+ export async function addDocument(driveId, name, documentType, parentFolder, document, id, preferredEditor) {
133
+ const reactor = window.reactor;
134
+ if (!reactor) {
135
+ return;
136
+ }
137
+ const { isAllowedToCreateDocuments } = getUserPermissions();
138
+ if (!isAllowedToCreateDocuments) {
139
+ throw new Error("User is not allowed to create documents");
140
+ }
141
+ const drive = await reactor.getDrive(driveId);
142
+ const documentId = id ?? generateId();
143
+ const reactorDocumentModelModules = reactor.getDocumentModelModules();
144
+ const documentModelModuleFromReactor = reactorDocumentModelModules.find((module) => module.documentModel.global.id === documentType);
145
+ if (!documentModelModuleFromReactor) {
146
+ throw new Error(`Document model module for type ${documentType} not found`);
147
+ }
148
+ const newDocument = documentModelModuleFromReactor.utils.createDocument({
149
+ ...document?.state,
150
+ });
151
+ newDocument.header = createPresignedHeader(documentId, documentType);
152
+ newDocument.header.name = name;
153
+ const documentMeta = preferredEditor ? { preferredEditor } : undefined;
154
+ await reactor.addDocument(newDocument, documentMeta);
155
+ const action = baseAddFile({
156
+ id: documentId,
157
+ name,
158
+ documentType,
159
+ parentFolder: parentFolder ?? null,
160
+ });
161
+ const unsafeCastAsDrive = (await queueActions(drive, action));
162
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === documentId);
163
+ if (!node || !isFileNode(node)) {
164
+ throw new Error("There was an error adding document");
165
+ }
166
+ return node;
167
+ }
168
+ export async function addFile(file, driveId, name, parentFolder) {
169
+ logger.verbose(`addFile(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
170
+ const reactor = window.reactor;
171
+ if (!reactor) {
172
+ return;
173
+ }
174
+ const { isAllowedToCreateDocuments } = getUserPermissions();
175
+ if (!isAllowedToCreateDocuments) {
176
+ throw new Error("User is not allowed to create files");
177
+ }
178
+ const document = await loadFile(file);
179
+ if (!document) {
180
+ throw new Error("No document loaded");
181
+ }
182
+ const documentModule = reactor
183
+ .getDocumentModelModules()
184
+ .find((module) => module.documentModel.global.id === document.header.documentType);
185
+ if (!documentModule) {
186
+ throw new Error(`Document model module for type ${document.header.documentType} not found`);
187
+ }
188
+ let duplicateId = false;
189
+ try {
190
+ await reactor.getDocument(document.header.id);
191
+ duplicateId = true;
192
+ }
193
+ catch {
194
+ // document id not found
195
+ }
196
+ const documentId = duplicateId ? generateId() : document.header.id;
197
+ const header = createPresignedHeader(documentId, document.header.documentType);
198
+ header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
199
+ header.meta = document.header.meta;
200
+ header.name = name || document.header.name;
201
+ // copy the document at it's initial state
202
+ const initialDocument = {
203
+ ...document,
204
+ header,
205
+ state: document.initialState,
206
+ operations: Object.keys(document.operations).reduce((acc, key) => {
207
+ acc[key] = [];
208
+ return acc;
209
+ }, {}),
210
+ };
211
+ const fileNode = await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
212
+ if (!fileNode) {
213
+ throw new Error("There was an error adding file");
214
+ }
215
+ // then add all the operations in chunks
216
+ uploadOperations(documentId, document.operations, queueOperations).catch((error) => {
217
+ throw error;
218
+ });
219
+ }
220
+ export async function addFileWithProgress(file, driveId, name, parentFolder, onProgress, documentTypes = [], resolveConflict) {
221
+ logger.verbose(`addFileWithProgress(drive: ${driveId}, name: ${name}, folder: ${parentFolder})`);
222
+ const reactor = window.reactor;
223
+ if (!reactor) {
224
+ return;
225
+ }
226
+ const { isAllowedToCreateDocuments } = getUserPermissions();
227
+ if (!isAllowedToCreateDocuments) {
228
+ throw new Error("User is not allowed to create files");
229
+ }
230
+ // Loading stage (0-10%)
231
+ try {
232
+ onProgress?.({ stage: "loading", progress: 0 });
233
+ const document = await loadFile(file);
234
+ if (!document) {
235
+ throw new Error("No document loaded");
236
+ }
237
+ // Check for duplicate in same location
238
+ const duplicateCheck = await isDocumentInLocation(document, driveId, parentFolder);
239
+ if (duplicateCheck.isDuplicate && !resolveConflict) {
240
+ // Report conflict and return early
241
+ onProgress?.({
242
+ stage: "conflict",
243
+ progress: 0,
244
+ duplicateType: duplicateCheck.duplicateType,
245
+ });
246
+ return undefined;
247
+ }
248
+ // Handle replace resolution by deleting the existing document
249
+ if (duplicateCheck.isDuplicate &&
250
+ resolveConflict === "replace" &&
251
+ duplicateCheck.nodeId) {
252
+ await deleteNode(driveId, duplicateCheck.nodeId);
253
+ }
254
+ // For "duplicate" resolution, we continue normally which creates a new document
255
+ // with a different ID (the default behavior)
256
+ // Send documentType info immediately after loading
257
+ const documentType = getDocumentTypeIcon(document);
258
+ if (documentType) {
259
+ onProgress?.({ stage: "loading", progress: 10, documentType });
260
+ }
261
+ else {
262
+ onProgress?.({ stage: "loading", progress: 10 });
263
+ }
264
+ if (!isDocumentTypeSupported(document.header.documentType, documentTypes)) {
265
+ onProgress?.({
266
+ stage: "unsupported-document-type",
267
+ progress: 100,
268
+ error: `Document type ${document.header.documentType} is not supported`,
269
+ });
270
+ throw new UnsupportedDocumentTypeError(document.header.documentType);
271
+ }
272
+ const documentModule = reactor
273
+ .getDocumentModelModules()
274
+ .find((module) => module.documentModel.global.id === document.header.documentType);
275
+ if (!documentModule) {
276
+ throw new Error(`Document model module for type ${document.header.documentType} not found`);
277
+ }
278
+ // Initializing stage (10-20%)
279
+ onProgress?.({ stage: "initializing", progress: 10 });
280
+ let duplicateId = false;
281
+ try {
282
+ await reactor.getDocument(document.header.id);
283
+ duplicateId = true;
284
+ }
285
+ catch {
286
+ // document id not found
287
+ }
288
+ const documentId = duplicateId ? generateId() : document.header.id;
289
+ const header = createPresignedHeader(documentId, document.header.documentType);
290
+ header.lastModifiedAtUtcIso = document.header.createdAtUtcIso;
291
+ header.meta = document.header.meta;
292
+ header.name = name || document.header.name;
293
+ // copy the document at it's initial state
294
+ const initialDocument = {
295
+ ...document,
296
+ header,
297
+ state: document.initialState,
298
+ operations: Object.keys(document.operations).reduce((acc, key) => {
299
+ acc[key] = [];
300
+ return acc;
301
+ }, {}),
302
+ };
303
+ const fileNode = await addDocument(driveId, name || document.header.name, document.header.documentType, parentFolder, initialDocument, documentId, document.header.meta?.preferredEditor);
304
+ if (!fileNode) {
305
+ throw new Error("There was an error adding file");
306
+ }
307
+ onProgress?.({ stage: "initializing", progress: 20 });
308
+ // Uploading stage (20-100%)
309
+ await uploadOperations(documentId, document.operations, queueOperations, {
310
+ onProgress: (uploadProgress) => {
311
+ if (uploadProgress.totalOperations &&
312
+ uploadProgress.uploadedOperations !== undefined) {
313
+ const uploadPercent = uploadProgress.totalOperations > 0
314
+ ? uploadProgress.uploadedOperations /
315
+ uploadProgress.totalOperations
316
+ : 0;
317
+ const overallProgress = 20 + Math.round(uploadPercent * 80);
318
+ onProgress?.({
319
+ stage: "uploading",
320
+ progress: overallProgress,
321
+ totalOperations: uploadProgress.totalOperations,
322
+ uploadedOperations: uploadProgress.uploadedOperations,
323
+ });
324
+ }
325
+ },
326
+ });
327
+ onProgress?.({ stage: "complete", progress: 100 });
328
+ return fileNode;
329
+ }
330
+ catch (error) {
331
+ // Don't override unsupported-document-type status
332
+ if (!(error instanceof UnsupportedDocumentTypeError)) {
333
+ const errorMessage = error instanceof Error ? error.message : "Unknown error occurred";
334
+ onProgress?.({
335
+ stage: "failed",
336
+ progress: 100,
337
+ error: errorMessage,
338
+ });
339
+ }
340
+ throw error;
341
+ }
342
+ }
343
+ export async function updateFile(driveId, nodeId, documentType, name, parentFolder) {
344
+ const reactor = window.reactor;
345
+ if (!reactor) {
346
+ return;
347
+ }
348
+ const { isAllowedToCreateDocuments } = getUserPermissions();
349
+ if (!isAllowedToCreateDocuments) {
350
+ throw new Error("User is not allowed to update files");
351
+ }
352
+ const drive = await reactor.getDrive(driveId);
353
+ const unsafeCastAsDrive = (await queueActions(drive, baseUpdateFile({
354
+ id: nodeId,
355
+ name: name ?? undefined,
356
+ parentFolder,
357
+ documentType,
358
+ })));
359
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
360
+ if (!node || !isFileNode(node)) {
361
+ throw new Error("There was an error updating document");
362
+ }
363
+ return node;
364
+ }
365
+ export async function addFolder(driveId, name, parentFolder) {
366
+ const reactor = window.reactor;
367
+ if (!reactor) {
368
+ return;
369
+ }
370
+ const { isAllowedToCreateDocuments } = getUserPermissions();
371
+ if (!isAllowedToCreateDocuments) {
372
+ throw new Error("User is not allowed to create folders");
373
+ }
374
+ const folderId = generateId();
375
+ const drive = await reactor.getDrive(driveId);
376
+ const unsafeCastAsDrive = (await queueActions(drive, baseAddFolder({
377
+ id: folderId,
378
+ name,
379
+ parentFolder,
380
+ })));
381
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === folderId);
382
+ if (!node || !isFolderNode(node)) {
383
+ throw new Error("There was an error adding folder");
384
+ }
385
+ return node;
386
+ }
387
+ export async function deleteNode(driveId, nodeId) {
388
+ const reactor = window.reactor;
389
+ if (!reactor) {
390
+ return;
391
+ }
392
+ const { isAllowedToCreateDocuments } = getUserPermissions();
393
+ if (!isAllowedToCreateDocuments) {
394
+ throw new Error("User is not allowed to delete documents");
395
+ }
396
+ const drive = await reactor.getDrive(driveId);
397
+ await queueActions(drive, baseDeleteNode({ id: nodeId }));
398
+ }
399
+ export async function renameNode(driveId, nodeId, name) {
400
+ const reactor = window.reactor;
401
+ if (!reactor) {
402
+ return;
403
+ }
404
+ const { isAllowedToCreateDocuments } = getUserPermissions();
405
+ if (!isAllowedToCreateDocuments) {
406
+ throw new Error("User is not allowed to rename documents");
407
+ }
408
+ const drive = await reactor.getDrive(driveId);
409
+ const unsafeCastAsDrive = (await queueActions(drive, updateNode({ id: nodeId, name })));
410
+ const node = unsafeCastAsDrive.state.global.nodes.find((node) => node.id === nodeId);
411
+ if (!node) {
412
+ throw new Error("There was an error renaming node");
413
+ }
414
+ return node;
415
+ }
416
+ export async function moveNode(driveId, src, target) {
417
+ const reactor = window.reactor;
418
+ if (!reactor) {
419
+ return;
420
+ }
421
+ const { isAllowedToCreateDocuments } = getUserPermissions();
422
+ if (!isAllowedToCreateDocuments) {
423
+ throw new Error("User is not allowed to move documents");
424
+ }
425
+ const drive = await reactor.getDrive(driveId);
426
+ return await queueActions(drive, baseMoveNode({ srcFolder: src.id, targetParentFolder: target?.id }));
427
+ }
428
+ function _duplicateDocument(reactor, document, newId = generateId()) {
429
+ const documentModule = reactor
430
+ .getDocumentModelModules()
431
+ .find((module) => module.documentModel.global.id === document.header.documentType);
432
+ if (!documentModule) {
433
+ throw new Error(`Document model module for type ${document.header.documentType} not found`);
434
+ }
435
+ return replayDocument(document.initialState, document.operations, documentModule.reducer, undefined, createPresignedHeader(newId, document.header.documentType));
436
+ }
437
+ export async function copyNode(driveId, src, target) {
438
+ const reactor = window.reactor;
439
+ if (!reactor) {
440
+ return;
441
+ }
442
+ const { isAllowedToCreateDocuments } = getUserPermissions();
443
+ if (!isAllowedToCreateDocuments) {
444
+ throw new Error("User is not allowed to copy documents");
445
+ }
446
+ const drive = await reactor.getDrive(driveId);
447
+ const copyNodesInput = generateNodesCopy({
448
+ srcId: src.id,
449
+ targetParentFolder: target?.id,
450
+ targetName: src.name,
451
+ }, () => generateId(), drive.state.global.nodes);
452
+ const fileNodesToCopy = copyNodesInput.filter((copyNodeInput) => {
453
+ const node = drive.state.global.nodes.find((node) => node.id === copyNodeInput.srcId);
454
+ return node !== undefined && isFileNode(node);
455
+ });
456
+ for (const fileNodeToCopy of fileNodesToCopy) {
457
+ try {
458
+ const document = await reactor.getDocument(fileNodeToCopy.srcId);
459
+ const duplicatedDocument = _duplicateDocument(reactor, document, fileNodeToCopy.targetId);
460
+ await reactor.addDocument(duplicatedDocument);
461
+ }
462
+ catch (e) {
463
+ logger.error(`Error copying document ${fileNodeToCopy.srcId}: ${String(e)}`);
464
+ }
465
+ }
466
+ const copyActions = copyNodesInput.map((copyNodeInput) => baseCopyNode(copyNodeInput));
467
+ return await queueActions(drive, copyActions);
468
+ }
469
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sourceRoot":"","sources":["../../../src/actions/document.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,SAAS,IAAI,aAAa,EAC1B,QAAQ,IAAI,YAAY,EACxB,UAAU,IAAI,cAAc,EAC5B,QAAQ,IAAI,YAAY,EACxB,UAAU,IAAI,cAAc,EAC5B,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,MAAM,EACN,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,EACrB,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAE3F,KAAK,UAAU,oBAAoB,CACjC,QAAoB,EACpB,OAAe,EACf,YAAqB;IAMrB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,oCAAoC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC5C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,EAAE,CACzC,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,YAAY,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC;YACjE,OAAO;gBACL,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,IAAI;gBACnB,MAAM,EAAE,QAAQ,CAAC,EAAE;aACpB,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,MAAM,iBAAiB,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACrD,CAAC,IAAI,EAAE,EAAE,CACP,UAAU,CAAC,IAAI,CAAC;YAChB,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,MAAM,CAAC,IAAI;YAClC,IAAI,CAAC,YAAY,KAAK,QAAQ,CAAC,MAAM,CAAC,YAAY;YAClD,IAAI,CAAC,YAAY,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,CAC/C,CAAC;QAEF,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO;gBACL,WAAW,EAAE,IAAI;gBACjB,aAAa,EAAE,MAAM;gBACrB,MAAM,EAAE,iBAAiB,CAAC,EAAE;aAC7B,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,qCAAqC;QACrC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAC1B,QAAoB;IAEpB,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC;IAElD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,2BAA2B;YAC9B,OAAO,gBAAgB,CAAC;QAC1B,KAAK,gBAAgB;YACnB,OAAO,KAAK,CAAC;QACf,KAAK,4BAA4B;YAC/B,OAAO,QAAQ,CAAC;QAClB,KAAK,qBAAqB;YACxB,OAAO,UAAU,CAAC;QACpB,KAAK,oBAAoB;YACvB,OAAO,SAAS,CAAC;QACnB,KAAK,sBAAsB,CAAC,CAAC,CAAC;YAC5B,sDAAsD;YACtD,MAAM,WAAW,GAAI,QAAQ,CAAC,KAAwC;iBACnE,MAAM,CAAC;YACV,MAAM,aAAa,GAAG,WAAW,EAAE,IAAI,CAAC;YAExC,IAAI,aAAa,KAAK,WAAW;gBAAE,OAAO,qBAAqB,CAAC;YAChE,IAAI,aAAa,KAAK,YAAY;gBAAE,OAAO,sBAAsB,CAAC;YAClE,IAAI,aAAa,KAAK,SAAS;gBAAE,OAAO,mBAAmB,CAAC;YAC5D,OAAO,SAAS,CAAC;QACnB,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAoB,EAAE,QAAgB;IACjE,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,GAAG;SACA,aAAa,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;SAC/B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;QAEb,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC;SACD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAoB,EAAE,aAAsB;IAC3E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAC/D,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC5E,CAAC;IAEF,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,MAAM,iBAAiB,GAAG,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;IAE9E,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,cAAc,GAAG,iBAAiB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACzE,SAAS,GAAG,IAAI,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,UAAU,GAAG,SAAS,MAAM,CAAC;IAEtF,uEAAuE;IACvE,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC;YACjD,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,MAAM,oBAAoB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,kDAAkD;QAClD,IAAI,CAAC,CAAC,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YAC5D,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAmB;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAC1C,IAAI,EACJ,CAAC,KAAiB,EAAE,EAAE,CAAC,KAAK,EAC5B,EAAE,WAAW,EAAE,IAAI,EAAE,CACtB,CAAC;IACF,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CACnD,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,CAAC,MAAM,CAAC,YAAY,CACtE,CAAC;IACF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACb,aAAa,YAAY,CAAC,MAAM,CAAC,YAAY,oBAAoB,CAClE,CAAC;IACJ,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,IAAY,EACZ,YAAoB,EACpB,YAAqB,EACrB,QAAqB,EACrB,EAAW,EACX,eAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,EAAE,IAAI,UAAU,EAAE,CAAC;IACtC,MAAM,2BAA2B,GAAG,OAAO,CAAC,uBAAuB,EAAE,CAAC;IACtE,MAAM,8BAA8B,GAAG,2BAA2B,CAAC,IAAI,CACrE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,YAAY,CAC5D,CAAC;IACF,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kCAAkC,YAAY,YAAY,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,WAAW,GAAG,8BAA8B,CAAC,KAAK,CAAC,cAAc,CAAC;QACtE,GAAG,QAAQ,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,WAAW,CAAC,MAAM,GAAG,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACrE,WAAW,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IAC/B,MAAM,YAAY,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,MAAM,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAErD,MAAM,MAAM,GAAG,WAAW,CAAC;QACzB,EAAE,EAAE,UAAU;QACd,IAAI;QACJ,YAAY;QACZ,YAAY,EAAE,YAAY,IAAI,IAAI;KACnC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,CAAC,MAAM,YAAY,CAC3C,KAAK,EACL,MAAM,CACP,CAA0B,CAAC;IAE5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,UAAU,CACjC,CAAC;IACF,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,IAAmB,EACnB,OAAe,EACf,IAAa,EACb,YAAqB;IAErB,MAAM,CAAC,OAAO,CACZ,kBAAkB,OAAO,WAAW,IAAI,aAAa,YAAY,GAAG,CACrE,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,cAAc,GAAG,OAAO;SAC3B,uBAAuB,EAAE;SACzB,IAAI,CACH,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,YAAY,CAClE,CAAC;IACJ,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,CAAC,MAAM,CAAC,YAAY,YAAY,CAC3E,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9C,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IACnE,MAAM,MAAM,GAAG,qBAAqB,CAClC,UAAU,EACV,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC7B,CAAC;IACF,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;IAC9D,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;IACnC,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;IAE3C,0CAA0C;IAC1C,MAAM,eAAe,GAAG;QACtB,GAAG,QAAQ;QACX,MAAM;QACN,KAAK,EAAE,QAAQ,CAAC,YAAY;QAC5B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAwB,CAAC;KAC7B,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,OAAO,EACP,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAC5B,QAAQ,CAAC,MAAM,CAAC,YAAY,EAC5B,YAAY,EACZ,eAAe,EACf,UAAU,EACV,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CACtC,CAAC;IAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,wCAAwC;IACxC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC,KAAK,CACtE,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,KAAK,CAAC;IACd,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAmB,EACnB,OAAe,EACf,IAAa,EACb,YAAqB,EACrB,UAAuC,EACvC,gBAA0B,EAAE,EAC5B,eAAoC;IAEpC,MAAM,CAAC,OAAO,CACZ,8BAA8B,OAAO,WAAW,IAAI,aAAa,YAAY,GAAG,CACjF,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,wBAAwB;IACxB,IAAI,CAAC;QACH,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,CAAC;QAED,uCAAuC;QACvC,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAC/C,QAAQ,EACR,OAAO,EACP,YAAY,CACb,CAAC;QAEF,IAAI,cAAc,CAAC,WAAW,IAAI,CAAC,eAAe,EAAE,CAAC;YACnD,mCAAmC;YACnC,UAAU,EAAE,CAAC;gBACX,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,cAAc,CAAC,aAAa;aAC5C,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,8DAA8D;QAC9D,IACE,cAAc,CAAC,WAAW;YAC1B,eAAe,KAAK,SAAS;YAC7B,cAAc,CAAC,MAAM,EACrB,CAAC;YACD,MAAM,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QACD,gFAAgF;QAChF,6CAA6C;QAE7C,mDAAmD;QACnD,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,YAAY,EAAE,CAAC;YACjB,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,EAAE,CAAC;YAC1E,UAAU,EAAE,CAAC;gBACX,KAAK,EAAE,2BAA2B;gBAClC,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,iBAAiB,QAAQ,CAAC,MAAM,CAAC,YAAY,mBAAmB;aACxE,CAAC,CAAC;YACH,MAAM,IAAI,4BAA4B,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,cAAc,GAAG,OAAO;aAC3B,uBAAuB,EAAE;aACzB,IAAI,CACH,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,YAAY,CAClE,CAAC;QACJ,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,CAAC,MAAM,CAAC,YAAY,YAAY,CAC3E,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAEtD,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9C,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;QAED,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,MAAM,GAAG,qBAAqB,CAClC,UAAU,EACV,QAAQ,CAAC,MAAM,CAAC,YAAY,CAC7B,CAAC;QACF,MAAM,CAAC,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC;QAC9D,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAE3C,0CAA0C;QAC1C,MAAM,eAAe,GAAG;YACtB,GAAG,QAAQ;YACX,MAAM;YACN,KAAK,EAAE,QAAQ,CAAC,YAAY;YAC5B,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;gBAC/D,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,GAAG,CAAC;YACb,CAAC,EAAE,EAAwB,CAAC;SAC7B,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,OAAO,EACP,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAC5B,QAAQ,CAAC,MAAM,CAAC,YAAY,EAC5B,YAAY,EACZ,eAAe,EACf,UAAU,EACV,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,CACtC,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;QAEtD,4BAA4B;QAC5B,MAAM,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,eAAe,EAAE;YACvE,UAAU,EAAE,CAAC,cAAc,EAAE,EAAE;gBAC7B,IACE,cAAc,CAAC,eAAe;oBAC9B,cAAc,CAAC,kBAAkB,KAAK,SAAS,EAC/C,CAAC;oBACD,MAAM,aAAa,GACjB,cAAc,CAAC,eAAe,GAAG,CAAC;wBAChC,CAAC,CAAC,cAAc,CAAC,kBAAkB;4BACjC,cAAc,CAAC,eAAe;wBAChC,CAAC,CAAC,CAAC,CAAC;oBACR,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC;oBAC5D,UAAU,EAAE,CAAC;wBACX,KAAK,EAAE,WAAW;wBAClB,QAAQ,EAAE,eAAe;wBACzB,eAAe,EAAE,cAAc,CAAC,eAAe;wBAC/C,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;qBACtD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC;QAEnD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kDAAkD;QAClD,IAAI,CAAC,CAAC,KAAK,YAAY,4BAA4B,CAAC,EAAE,CAAC;YACrD,MAAM,YAAY,GAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YACpE,UAAU,EAAE,CAAC;gBACX,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,YAAY;aACpB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,MAAc,EACd,YAAqB,EACrB,IAAa,EACb,YAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,CAAC,MAAM,YAAY,CAC3C,KAAK,EACL,cAAc,CAAC;QACb,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,IAAI,IAAI,SAAS;QACvB,YAAY;QACZ,YAAY;KACb,CAAC,CACH,CAA0B,CAAC;IAE5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAC7B,CAAC;IACF,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,OAAe,EACf,IAAY,EACZ,YAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,CAAC,MAAM,YAAY,CAC3C,KAAK,EACL,aAAa,CAAC;QACZ,EAAE,EAAE,QAAQ;QACZ,IAAI;QACJ,YAAY;KACb,CAAC,CACH,CAA0B,CAAC;IAE5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,QAAQ,CAC/B,CAAC;IACF,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,MAAc;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAAe,EACf,MAAc,EACd,IAAY;IAEZ,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,CAAC,MAAM,YAAY,CAC3C,KAAK,EACL,UAAU,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CACjC,CAA0B,CAAC;IAE5B,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACpD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,MAAM,CAC7B,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAe,EACf,GAAS,EACT,MAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9C,OAAO,MAAM,YAAY,CACvB,KAAK,EACL,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,kBAAkB,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,OAA6B,EAC7B,QAAoB,EACpB,KAAK,GAAG,UAAU,EAAE;IAEpB,MAAM,cAAc,GAAG,OAAO;SAC3B,uBAAuB,EAAE;SACzB,IAAI,CACH,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,YAAY,CAClE,CAAC;IACJ,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,kCAAkC,QAAQ,CAAC,MAAM,CAAC,YAAY,YAAY,CAC3E,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CACnB,QAAQ,CAAC,YAAY,EACrB,QAAQ,CAAC,UAAU,EACnB,cAAc,CAAC,OAAO,EACtB,SAAS,EACT,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAe,EACf,GAAS,EACT,MAAwB;IAExB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IACD,MAAM,EAAE,0BAA0B,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE5D,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9C,MAAM,cAAc,GAAG,iBAAiB,CACtC;QACE,KAAK,EAAE,GAAG,CAAC,EAAE;QACb,kBAAkB,EAAE,MAAM,EAAE,EAAE;QAC9B,UAAU,EAAE,GAAG,CAAC,IAAI;KACrB,EACD,GAAG,EAAE,CAAC,UAAU,EAAE,EAClB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CACzB,CAAC;IAEF,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;QAC9D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CACxC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,aAAa,CAAC,KAAK,CAC1C,CAAC;QACF,OAAO,IAAI,KAAK,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAEjE,MAAM,kBAAkB,GAAG,kBAAkB,CAC3C,OAAO,EACP,QAAQ,EACR,cAAc,CAAC,QAAQ,CACxB,CAAC;YAEF,MAAM,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CACV,0BAA0B,cAAc,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACvD,YAAY,CAAC,aAAa,CAAC,CAC5B,CAAC;IACF,OAAO,MAAM,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAChD,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { DocumentDriveDocument, DriveInput, PullResponderTrigger, RemoteDriveOptions, SharingType, SyncStatus, Trigger } from "document-drive";
2
+ import type { PHDocument } from "document-model";
3
+ export declare function addDrive(input: DriveInput, preferredEditor?: string): Promise<DocumentDriveDocument | undefined>;
4
+ export declare function addRemoteDrive(url: string, options: RemoteDriveOptions): Promise<DocumentDriveDocument | undefined>;
5
+ export declare function deleteDrive(driveId: string): Promise<void>;
6
+ export declare function renameDrive(driveId: string, name: string): Promise<PHDocument | undefined>;
7
+ export declare function setDriveAvailableOffline(driveId: string, availableOffline: boolean): Promise<PHDocument | undefined>;
8
+ export declare function setDriveSharingType(driveId: string, sharingType: SharingType): Promise<PHDocument | undefined>;
9
+ export declare function getSyncStatus(documentId: string, sharingType: SharingType): Promise<SyncStatus | undefined>;
10
+ export declare function getSyncStatusSync(documentId: string, sharingType: SharingType): SyncStatus | undefined;
11
+ export declare function removeTrigger(driveId: string, triggerId: string): Promise<void>;
12
+ export declare function registerNewPullResponderTrigger(driveId: string, url: string, options: Pick<RemoteDriveOptions, "pullFilter" | "pullInterval">): Promise<PullResponderTrigger | undefined>;
13
+ export declare function addTrigger(driveId: string, trigger: Trigger): Promise<void>;
14
+ //# sourceMappingURL=drive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drive.d.ts","sourceRoot":"","sources":["../../../src/actions/drive.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,qBAAqB,EACrB,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAElB,WAAW,EACX,UAAU,EACV,OAAO,EACR,MAAM,gBAAgB,CAAC;AAUxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,wBAAsB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,MAAM,8CAoBzE;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,8CAQ5E;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,iBAWhD;AAED,wBAAsB,WAAW,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAajC;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,OAAO,GACxB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAgBjC;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAgBjC;AAED,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,GACvB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAejC;AAED,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,WAAW,GACvB,UAAU,GAAG,SAAS,CAexB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,iBAkBrE;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,YAAY,GAAG,cAAc,CAAC,GAC/D,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAqD3C;AAED,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,iBAkBjE"}