@protontech/drive-sdk 0.0.10

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 (594) hide show
  1. package/README.md +17 -0
  2. package/dist/cache/index.d.ts +2 -0
  3. package/dist/cache/index.js +6 -0
  4. package/dist/cache/index.js.map +1 -0
  5. package/dist/cache/interface.d.ts +105 -0
  6. package/dist/cache/interface.js +3 -0
  7. package/dist/cache/interface.js.map +1 -0
  8. package/dist/cache/memoryCache.d.ts +18 -0
  9. package/dist/cache/memoryCache.js +78 -0
  10. package/dist/cache/memoryCache.js.map +1 -0
  11. package/dist/cache/memoryCache.test.d.ts +1 -0
  12. package/dist/cache/memoryCache.test.js +121 -0
  13. package/dist/cache/memoryCache.test.js.map +1 -0
  14. package/dist/config.d.ts +2 -0
  15. package/dist/config.js +11 -0
  16. package/dist/config.js.map +1 -0
  17. package/dist/crypto/driveCrypto.d.ts +209 -0
  18. package/dist/crypto/driveCrypto.js +364 -0
  19. package/dist/crypto/driveCrypto.js.map +1 -0
  20. package/dist/crypto/driveCrypto.test.d.ts +1 -0
  21. package/dist/crypto/driveCrypto.test.js +42 -0
  22. package/dist/crypto/driveCrypto.test.js.map +1 -0
  23. package/dist/crypto/hmac.d.ts +22 -0
  24. package/dist/crypto/hmac.js +44 -0
  25. package/dist/crypto/hmac.js.map +1 -0
  26. package/dist/crypto/index.d.ts +6 -0
  27. package/dist/crypto/index.js +13 -0
  28. package/dist/crypto/index.js.map +1 -0
  29. package/dist/crypto/interface.d.ts +125 -0
  30. package/dist/crypto/interface.js +10 -0
  31. package/dist/crypto/interface.js.map +1 -0
  32. package/dist/crypto/openPGPCrypto.d.ts +145 -0
  33. package/dist/crypto/openPGPCrypto.js +250 -0
  34. package/dist/crypto/openPGPCrypto.js.map +1 -0
  35. package/dist/crypto/utils.d.ts +2 -0
  36. package/dist/crypto/utils.js +35 -0
  37. package/dist/crypto/utils.js.map +1 -0
  38. package/dist/errors.d.ts +138 -0
  39. package/dist/errors.js +163 -0
  40. package/dist/errors.js.map +1 -0
  41. package/dist/index.d.ts +24 -0
  42. package/dist/index.js +48 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/interface/account.d.ts +36 -0
  45. package/dist/interface/account.js +3 -0
  46. package/dist/interface/account.js.map +1 -0
  47. package/dist/interface/author.d.ts +26 -0
  48. package/dist/interface/author.js +3 -0
  49. package/dist/interface/author.js.map +1 -0
  50. package/dist/interface/devices.d.ts +18 -0
  51. package/dist/interface/devices.js +10 -0
  52. package/dist/interface/devices.js.map +1 -0
  53. package/dist/interface/download.d.ts +29 -0
  54. package/dist/interface/download.js +3 -0
  55. package/dist/interface/download.js.map +1 -0
  56. package/dist/interface/events.d.ts +26 -0
  57. package/dist/interface/events.js +11 -0
  58. package/dist/interface/events.js.map +1 -0
  59. package/dist/interface/httpClient.d.ts +38 -0
  60. package/dist/interface/httpClient.js +3 -0
  61. package/dist/interface/httpClient.js.map +1 -0
  62. package/dist/interface/index.d.ts +43 -0
  63. package/dist/interface/index.js +22 -0
  64. package/dist/interface/index.js.map +1 -0
  65. package/dist/interface/nodes.d.ts +161 -0
  66. package/dist/interface/nodes.js +21 -0
  67. package/dist/interface/nodes.js.map +1 -0
  68. package/dist/interface/result.d.ts +9 -0
  69. package/dist/interface/result.js +11 -0
  70. package/dist/interface/result.js.map +1 -0
  71. package/dist/interface/sharing.d.ts +73 -0
  72. package/dist/interface/sharing.js +9 -0
  73. package/dist/interface/sharing.js.map +1 -0
  74. package/dist/interface/telemetry.d.ts +61 -0
  75. package/dist/interface/telemetry.js +18 -0
  76. package/dist/interface/telemetry.js.map +1 -0
  77. package/dist/interface/thumbnail.d.ts +17 -0
  78. package/dist/interface/thumbnail.js +9 -0
  79. package/dist/interface/thumbnail.js.map +1 -0
  80. package/dist/interface/upload.d.ts +16 -0
  81. package/dist/interface/upload.js +3 -0
  82. package/dist/interface/upload.js.map +1 -0
  83. package/dist/internal/apiService/apiService.d.ts +51 -0
  84. package/dist/internal/apiService/apiService.js +305 -0
  85. package/dist/internal/apiService/apiService.js.map +1 -0
  86. package/dist/internal/apiService/apiService.test.d.ts +1 -0
  87. package/dist/internal/apiService/apiService.test.js +237 -0
  88. package/dist/internal/apiService/apiService.test.js.map +1 -0
  89. package/dist/internal/apiService/coreTypes.d.ts +24438 -0
  90. package/dist/internal/apiService/coreTypes.js +7 -0
  91. package/dist/internal/apiService/coreTypes.js.map +1 -0
  92. package/dist/internal/apiService/driveTypes.d.ts +11840 -0
  93. package/dist/internal/apiService/driveTypes.js +7 -0
  94. package/dist/internal/apiService/driveTypes.js.map +1 -0
  95. package/dist/internal/apiService/errorCodes.d.ts +30 -0
  96. package/dist/internal/apiService/errorCodes.js +11 -0
  97. package/dist/internal/apiService/errorCodes.js.map +1 -0
  98. package/dist/internal/apiService/errors.d.ts +19 -0
  99. package/dist/internal/apiService/errors.js +76 -0
  100. package/dist/internal/apiService/errors.js.map +1 -0
  101. package/dist/internal/apiService/errors.test.d.ts +1 -0
  102. package/dist/internal/apiService/errors.test.js +69 -0
  103. package/dist/internal/apiService/errors.test.js.map +1 -0
  104. package/dist/internal/apiService/index.d.ts +7 -0
  105. package/dist/internal/apiService/index.js +30 -0
  106. package/dist/internal/apiService/index.js.map +1 -0
  107. package/dist/internal/apiService/observerStream.d.ts +3 -0
  108. package/dist/internal/apiService/observerStream.js +15 -0
  109. package/dist/internal/apiService/observerStream.js.map +1 -0
  110. package/dist/internal/apiService/transformers.d.ts +4 -0
  111. package/dist/internal/apiService/transformers.js +48 -0
  112. package/dist/internal/apiService/transformers.js.map +1 -0
  113. package/dist/internal/batchLoading.d.ts +34 -0
  114. package/dist/internal/batchLoading.js +68 -0
  115. package/dist/internal/batchLoading.js.map +1 -0
  116. package/dist/internal/batchLoading.test.d.ts +1 -0
  117. package/dist/internal/batchLoading.test.js +50 -0
  118. package/dist/internal/batchLoading.test.js.map +1 -0
  119. package/dist/internal/devices/apiService.d.ts +38 -0
  120. package/dist/internal/devices/apiService.js +105 -0
  121. package/dist/internal/devices/apiService.js.map +1 -0
  122. package/dist/internal/devices/cryptoService.d.ts +30 -0
  123. package/dist/internal/devices/cryptoService.js +47 -0
  124. package/dist/internal/devices/cryptoService.js.map +1 -0
  125. package/dist/internal/devices/index.d.ts +15 -0
  126. package/dist/internal/devices/index.js +22 -0
  127. package/dist/internal/devices/index.js.map +1 -0
  128. package/dist/internal/devices/interface.d.ts +31 -0
  129. package/dist/internal/devices/interface.js +3 -0
  130. package/dist/internal/devices/interface.js.map +1 -0
  131. package/dist/internal/devices/manager.d.ts +18 -0
  132. package/dist/internal/devices/manager.js +103 -0
  133. package/dist/internal/devices/manager.js.map +1 -0
  134. package/dist/internal/devices/manager.test.d.ts +1 -0
  135. package/dist/internal/devices/manager.test.js +100 -0
  136. package/dist/internal/devices/manager.test.js.map +1 -0
  137. package/dist/internal/download/apiService.d.ts +27 -0
  138. package/dist/internal/download/apiService.js +110 -0
  139. package/dist/internal/download/apiService.js.map +1 -0
  140. package/dist/internal/download/controller.d.ts +8 -0
  141. package/dist/internal/download/controller.js +22 -0
  142. package/dist/internal/download/controller.js.map +1 -0
  143. package/dist/internal/download/cryptoService.d.ts +17 -0
  144. package/dist/internal/download/cryptoService.js +82 -0
  145. package/dist/internal/download/cryptoService.js.map +1 -0
  146. package/dist/internal/download/fileDownloader.d.ts +33 -0
  147. package/dist/internal/download/fileDownloader.js +226 -0
  148. package/dist/internal/download/fileDownloader.js.map +1 -0
  149. package/dist/internal/download/fileDownloader.test.d.ts +1 -0
  150. package/dist/internal/download/fileDownloader.test.js +324 -0
  151. package/dist/internal/download/fileDownloader.test.js.map +1 -0
  152. package/dist/internal/download/index.d.ts +10 -0
  153. package/dist/internal/download/index.js +82 -0
  154. package/dist/internal/download/index.js.map +1 -0
  155. package/dist/internal/download/interface.d.ts +35 -0
  156. package/dist/internal/download/interface.js +3 -0
  157. package/dist/internal/download/interface.js.map +1 -0
  158. package/dist/internal/download/queue.d.ts +5 -0
  159. package/dist/internal/download/queue.js +31 -0
  160. package/dist/internal/download/queue.js.map +1 -0
  161. package/dist/internal/download/telemetry.d.ts +14 -0
  162. package/dist/internal/download/telemetry.js +106 -0
  163. package/dist/internal/download/telemetry.js.map +1 -0
  164. package/dist/internal/download/telemetry.test.d.ts +1 -0
  165. package/dist/internal/download/telemetry.test.js +111 -0
  166. package/dist/internal/download/telemetry.test.js.map +1 -0
  167. package/dist/internal/download/thumbnailDownloader.d.ts +19 -0
  168. package/dist/internal/download/thumbnailDownloader.js +198 -0
  169. package/dist/internal/download/thumbnailDownloader.js.map +1 -0
  170. package/dist/internal/download/thumbnailDownloader.test.d.ts +1 -0
  171. package/dist/internal/download/thumbnailDownloader.test.js +179 -0
  172. package/dist/internal/download/thumbnailDownloader.test.js.map +1 -0
  173. package/dist/internal/errors.d.ts +6 -0
  174. package/dist/internal/errors.js +28 -0
  175. package/dist/internal/errors.js.map +1 -0
  176. package/dist/internal/errors.test.d.ts +1 -0
  177. package/dist/internal/errors.test.js +22 -0
  178. package/dist/internal/errors.test.js.map +1 -0
  179. package/dist/internal/events/apiService.d.ts +18 -0
  180. package/dist/internal/events/apiService.js +81 -0
  181. package/dist/internal/events/apiService.js.map +1 -0
  182. package/dist/internal/events/cache.d.ts +28 -0
  183. package/dist/internal/events/cache.js +67 -0
  184. package/dist/internal/events/cache.js.map +1 -0
  185. package/dist/internal/events/cache.test.d.ts +1 -0
  186. package/dist/internal/events/cache.test.js +43 -0
  187. package/dist/internal/events/cache.test.js.map +1 -0
  188. package/dist/internal/events/coreEventManager.d.ts +25 -0
  189. package/dist/internal/events/coreEventManager.js +63 -0
  190. package/dist/internal/events/coreEventManager.js.map +1 -0
  191. package/dist/internal/events/eventManager.d.ts +62 -0
  192. package/dist/internal/events/eventManager.js +159 -0
  193. package/dist/internal/events/eventManager.js.map +1 -0
  194. package/dist/internal/events/eventManager.test.d.ts +1 -0
  195. package/dist/internal/events/eventManager.test.js +120 -0
  196. package/dist/internal/events/eventManager.test.js.map +1 -0
  197. package/dist/internal/events/index.d.ts +50 -0
  198. package/dist/internal/events/index.js +117 -0
  199. package/dist/internal/events/index.js.map +1 -0
  200. package/dist/internal/events/interface.d.ts +47 -0
  201. package/dist/internal/events/interface.js +12 -0
  202. package/dist/internal/events/interface.js.map +1 -0
  203. package/dist/internal/events/volumeEventManager.d.ts +27 -0
  204. package/dist/internal/events/volumeEventManager.js +69 -0
  205. package/dist/internal/events/volumeEventManager.js.map +1 -0
  206. package/dist/internal/nodes/apiService.d.ts +54 -0
  207. package/dist/internal/nodes/apiService.js +308 -0
  208. package/dist/internal/nodes/apiService.js.map +1 -0
  209. package/dist/internal/nodes/apiService.test.d.ts +1 -0
  210. package/dist/internal/nodes/apiService.test.js +344 -0
  211. package/dist/internal/nodes/apiService.test.js.map +1 -0
  212. package/dist/internal/nodes/cache.d.ts +57 -0
  213. package/dist/internal/nodes/cache.js +226 -0
  214. package/dist/internal/nodes/cache.js.map +1 -0
  215. package/dist/internal/nodes/cache.test.d.ts +1 -0
  216. package/dist/internal/nodes/cache.test.js +160 -0
  217. package/dist/internal/nodes/cache.test.js.map +1 -0
  218. package/dist/internal/nodes/cryptoCache.d.ts +16 -0
  219. package/dist/internal/nodes/cryptoCache.js +50 -0
  220. package/dist/internal/nodes/cryptoCache.js.map +1 -0
  221. package/dist/internal/nodes/cryptoCache.test.d.ts +1 -0
  222. package/dist/internal/nodes/cryptoCache.test.js +79 -0
  223. package/dist/internal/nodes/cryptoCache.test.js.map +1 -0
  224. package/dist/internal/nodes/cryptoService.d.ts +75 -0
  225. package/dist/internal/nodes/cryptoService.js +409 -0
  226. package/dist/internal/nodes/cryptoService.js.map +1 -0
  227. package/dist/internal/nodes/cryptoService.test.d.ts +1 -0
  228. package/dist/internal/nodes/cryptoService.test.js +698 -0
  229. package/dist/internal/nodes/cryptoService.test.js.map +1 -0
  230. package/dist/internal/nodes/events.d.ts +91 -0
  231. package/dist/internal/nodes/events.js +243 -0
  232. package/dist/internal/nodes/events.js.map +1 -0
  233. package/dist/internal/nodes/events.test.d.ts +1 -0
  234. package/dist/internal/nodes/events.test.js +318 -0
  235. package/dist/internal/nodes/events.test.js.map +1 -0
  236. package/dist/internal/nodes/extendedAttributes.d.ts +23 -0
  237. package/dist/internal/nodes/extendedAttributes.js +117 -0
  238. package/dist/internal/nodes/extendedAttributes.js.map +1 -0
  239. package/dist/internal/nodes/extendedAttributes.test.d.ts +1 -0
  240. package/dist/internal/nodes/extendedAttributes.test.js +176 -0
  241. package/dist/internal/nodes/extendedAttributes.test.js.map +1 -0
  242. package/dist/internal/nodes/index.d.ts +26 -0
  243. package/dist/internal/nodes/index.js +40 -0
  244. package/dist/internal/nodes/index.js.map +1 -0
  245. package/dist/internal/nodes/index.test.d.ts +1 -0
  246. package/dist/internal/nodes/index.test.js +112 -0
  247. package/dist/internal/nodes/index.test.js.map +1 -0
  248. package/dist/internal/nodes/interface.d.ts +135 -0
  249. package/dist/internal/nodes/interface.js +3 -0
  250. package/dist/internal/nodes/interface.js.map +1 -0
  251. package/dist/internal/nodes/mediaTypes.d.ts +2 -0
  252. package/dist/internal/nodes/mediaTypes.js +13 -0
  253. package/dist/internal/nodes/mediaTypes.js.map +1 -0
  254. package/dist/internal/nodes/nodesAccess.d.ts +49 -0
  255. package/dist/internal/nodes/nodesAccess.js +332 -0
  256. package/dist/internal/nodes/nodesAccess.js.map +1 -0
  257. package/dist/internal/nodes/nodesAccess.test.d.ts +1 -0
  258. package/dist/internal/nodes/nodesAccess.test.js +487 -0
  259. package/dist/internal/nodes/nodesAccess.test.js.map +1 -0
  260. package/dist/internal/nodes/nodesManagement.d.ts +33 -0
  261. package/dist/internal/nodes/nodesManagement.js +222 -0
  262. package/dist/internal/nodes/nodesManagement.js.map +1 -0
  263. package/dist/internal/nodes/nodesManagement.test.d.ts +1 -0
  264. package/dist/internal/nodes/nodesManagement.test.js +178 -0
  265. package/dist/internal/nodes/nodesManagement.test.js.map +1 -0
  266. package/dist/internal/nodes/nodesRevisions.d.ts +18 -0
  267. package/dist/internal/nodes/nodesRevisions.js +55 -0
  268. package/dist/internal/nodes/nodesRevisions.js.map +1 -0
  269. package/dist/internal/nodes/validations.d.ts +4 -0
  270. package/dist/internal/nodes/validations.js +21 -0
  271. package/dist/internal/nodes/validations.js.map +1 -0
  272. package/dist/internal/photos/albums.d.ts +13 -0
  273. package/dist/internal/photos/albums.js +30 -0
  274. package/dist/internal/photos/albums.js.map +1 -0
  275. package/dist/internal/photos/apiService.d.ts +8 -0
  276. package/dist/internal/photos/apiService.js +18 -0
  277. package/dist/internal/photos/apiService.js.map +1 -0
  278. package/dist/internal/photos/cache.d.ts +6 -0
  279. package/dist/internal/photos/cache.js +15 -0
  280. package/dist/internal/photos/cache.js.map +1 -0
  281. package/dist/internal/photos/index.d.ts +9 -0
  282. package/dist/internal/photos/index.js +18 -0
  283. package/dist/internal/photos/index.js.map +1 -0
  284. package/dist/internal/photos/interface.d.ts +6 -0
  285. package/dist/internal/photos/interface.js +3 -0
  286. package/dist/internal/photos/interface.js.map +1 -0
  287. package/dist/internal/photos/photosTimeline.d.ts +10 -0
  288. package/dist/internal/photos/photosTimeline.js +20 -0
  289. package/dist/internal/photos/photosTimeline.js.map +1 -0
  290. package/dist/internal/sdkEvents.d.ts +12 -0
  291. package/dist/internal/sdkEvents.js +44 -0
  292. package/dist/internal/sdkEvents.js.map +1 -0
  293. package/dist/internal/sdkEvents.test.d.ts +1 -0
  294. package/dist/internal/sdkEvents.test.js +45 -0
  295. package/dist/internal/sdkEvents.test.js.map +1 -0
  296. package/dist/internal/shares/apiService.d.ts +51 -0
  297. package/dist/internal/shares/apiService.js +128 -0
  298. package/dist/internal/shares/apiService.js.map +1 -0
  299. package/dist/internal/shares/cache.d.ts +15 -0
  300. package/dist/internal/shares/cache.js +63 -0
  301. package/dist/internal/shares/cache.js.map +1 -0
  302. package/dist/internal/shares/cache.test.d.ts +1 -0
  303. package/dist/internal/shares/cache.test.js +54 -0
  304. package/dist/internal/shares/cache.test.js.map +1 -0
  305. package/dist/internal/shares/cryptoCache.d.ts +20 -0
  306. package/dist/internal/shares/cryptoCache.js +35 -0
  307. package/dist/internal/shares/cryptoCache.js.map +1 -0
  308. package/dist/internal/shares/cryptoCache.test.d.ts +1 -0
  309. package/dist/internal/shares/cryptoCache.test.js +58 -0
  310. package/dist/internal/shares/cryptoCache.test.js.map +1 -0
  311. package/dist/internal/shares/cryptoService.d.ts +42 -0
  312. package/dist/internal/shares/cryptoService.js +126 -0
  313. package/dist/internal/shares/cryptoService.js.map +1 -0
  314. package/dist/internal/shares/cryptoService.test.d.ts +1 -0
  315. package/dist/internal/shares/cryptoService.test.js +120 -0
  316. package/dist/internal/shares/cryptoService.test.js.map +1 -0
  317. package/dist/internal/shares/index.d.ts +15 -0
  318. package/dist/internal/shares/index.js +26 -0
  319. package/dist/internal/shares/index.js.map +1 -0
  320. package/dist/internal/shares/interface.d.ts +94 -0
  321. package/dist/internal/shares/interface.js +11 -0
  322. package/dist/internal/shares/interface.js.map +1 -0
  323. package/dist/internal/shares/manager.d.ts +68 -0
  324. package/dist/internal/shares/manager.js +186 -0
  325. package/dist/internal/shares/manager.js.map +1 -0
  326. package/dist/internal/shares/manager.test.d.ts +1 -0
  327. package/dist/internal/shares/manager.test.js +176 -0
  328. package/dist/internal/shares/manager.test.js.map +1 -0
  329. package/dist/internal/sharing/apiService.d.ts +80 -0
  330. package/dist/internal/sharing/apiService.js +325 -0
  331. package/dist/internal/sharing/apiService.js.map +1 -0
  332. package/dist/internal/sharing/cache.d.ts +37 -0
  333. package/dist/internal/sharing/cache.js +105 -0
  334. package/dist/internal/sharing/cache.js.map +1 -0
  335. package/dist/internal/sharing/cache.test.d.ts +1 -0
  336. package/dist/internal/sharing/cache.test.js +82 -0
  337. package/dist/internal/sharing/cache.test.js.map +1 -0
  338. package/dist/internal/sharing/cryptoService.d.ts +112 -0
  339. package/dist/internal/sharing/cryptoService.js +269 -0
  340. package/dist/internal/sharing/cryptoService.js.map +1 -0
  341. package/dist/internal/sharing/events.d.ts +57 -0
  342. package/dist/internal/sharing/events.js +153 -0
  343. package/dist/internal/sharing/events.js.map +1 -0
  344. package/dist/internal/sharing/events.test.d.ts +1 -0
  345. package/dist/internal/sharing/events.test.js +246 -0
  346. package/dist/internal/sharing/events.test.js.map +1 -0
  347. package/dist/internal/sharing/index.d.ts +20 -0
  348. package/dist/internal/sharing/index.js +30 -0
  349. package/dist/internal/sharing/index.js.map +1 -0
  350. package/dist/internal/sharing/interface.d.ts +169 -0
  351. package/dist/internal/sharing/interface.js +9 -0
  352. package/dist/internal/sharing/interface.js.map +1 -0
  353. package/dist/internal/sharing/sharingAccess.d.ts +32 -0
  354. package/dist/internal/sharing/sharingAccess.js +119 -0
  355. package/dist/internal/sharing/sharingAccess.js.map +1 -0
  356. package/dist/internal/sharing/sharingAccess.test.d.ts +1 -0
  357. package/dist/internal/sharing/sharingAccess.test.js +84 -0
  358. package/dist/internal/sharing/sharingAccess.test.js.map +1 -0
  359. package/dist/internal/sharing/sharingManagement.d.ts +43 -0
  360. package/dist/internal/sharing/sharingManagement.js +439 -0
  361. package/dist/internal/sharing/sharingManagement.js.map +1 -0
  362. package/dist/internal/sharing/sharingManagement.test.d.ts +1 -0
  363. package/dist/internal/sharing/sharingManagement.test.js +788 -0
  364. package/dist/internal/sharing/sharingManagement.test.js.map +1 -0
  365. package/dist/internal/uids.d.ts +38 -0
  366. package/dist/internal/uids.js +85 -0
  367. package/dist/internal/uids.js.map +1 -0
  368. package/dist/internal/upload/apiService.d.ts +65 -0
  369. package/dist/internal/upload/apiService.js +137 -0
  370. package/dist/internal/upload/apiService.js.map +1 -0
  371. package/dist/internal/upload/blockVerifier.d.ts +16 -0
  372. package/dist/internal/upload/blockVerifier.js +33 -0
  373. package/dist/internal/upload/blockVerifier.js.map +1 -0
  374. package/dist/internal/upload/chunkStreamReader.d.ts +13 -0
  375. package/dist/internal/upload/chunkStreamReader.js +46 -0
  376. package/dist/internal/upload/chunkStreamReader.js.map +1 -0
  377. package/dist/internal/upload/chunkStreamReader.test.d.ts +1 -0
  378. package/dist/internal/upload/chunkStreamReader.test.js +75 -0
  379. package/dist/internal/upload/chunkStreamReader.test.js.map +1 -0
  380. package/dist/internal/upload/controller.d.ts +8 -0
  381. package/dist/internal/upload/controller.js +25 -0
  382. package/dist/internal/upload/controller.js.map +1 -0
  383. package/dist/internal/upload/cryptoService.d.ts +29 -0
  384. package/dist/internal/upload/cryptoService.js +104 -0
  385. package/dist/internal/upload/cryptoService.js.map +1 -0
  386. package/dist/internal/upload/digests.d.ts +8 -0
  387. package/dist/internal/upload/digests.js +22 -0
  388. package/dist/internal/upload/digests.js.map +1 -0
  389. package/dist/internal/upload/fileUploader.d.ts +65 -0
  390. package/dist/internal/upload/fileUploader.js +463 -0
  391. package/dist/internal/upload/fileUploader.js.map +1 -0
  392. package/dist/internal/upload/fileUploader.test.d.ts +1 -0
  393. package/dist/internal/upload/fileUploader.test.js +393 -0
  394. package/dist/internal/upload/fileUploader.test.js.map +1 -0
  395. package/dist/internal/upload/index.d.ts +16 -0
  396. package/dist/internal/upload/index.js +77 -0
  397. package/dist/internal/upload/index.js.map +1 -0
  398. package/dist/internal/upload/interface.d.ts +117 -0
  399. package/dist/internal/upload/interface.js +3 -0
  400. package/dist/internal/upload/interface.js.map +1 -0
  401. package/dist/internal/upload/manager.d.ts +31 -0
  402. package/dist/internal/upload/manager.js +250 -0
  403. package/dist/internal/upload/manager.js.map +1 -0
  404. package/dist/internal/upload/manager.test.d.ts +1 -0
  405. package/dist/internal/upload/manager.test.js +349 -0
  406. package/dist/internal/upload/manager.test.js.map +1 -0
  407. package/dist/internal/upload/queue.d.ts +5 -0
  408. package/dist/internal/upload/queue.js +32 -0
  409. package/dist/internal/upload/queue.js.map +1 -0
  410. package/dist/internal/upload/telemetry.d.ts +15 -0
  411. package/dist/internal/upload/telemetry.js +111 -0
  412. package/dist/internal/upload/telemetry.js.map +1 -0
  413. package/dist/internal/upload/telemetry.test.d.ts +1 -0
  414. package/dist/internal/upload/telemetry.test.js +107 -0
  415. package/dist/internal/upload/telemetry.test.js.map +1 -0
  416. package/dist/internal/utils.d.ts +1 -0
  417. package/dist/internal/utils.js +13 -0
  418. package/dist/internal/utils.js.map +1 -0
  419. package/dist/internal/wait.d.ts +3 -0
  420. package/dist/internal/wait.js +28 -0
  421. package/dist/internal/wait.js.map +1 -0
  422. package/dist/internal/wait.test.d.ts +1 -0
  423. package/dist/internal/wait.test.js +21 -0
  424. package/dist/internal/wait.test.js.map +1 -0
  425. package/dist/protonDriveClient.d.ts +593 -0
  426. package/dist/protonDriveClient.js +768 -0
  427. package/dist/protonDriveClient.js.map +1 -0
  428. package/dist/protonDrivePhotosClient.d.ts +16 -0
  429. package/dist/protonDrivePhotosClient.js +46 -0
  430. package/dist/protonDrivePhotosClient.js.map +1 -0
  431. package/dist/telemetry.d.ts +187 -0
  432. package/dist/telemetry.js +297 -0
  433. package/dist/telemetry.js.map +1 -0
  434. package/dist/tests/logger.d.ts +2 -0
  435. package/dist/tests/logger.js +12 -0
  436. package/dist/tests/logger.js.map +1 -0
  437. package/dist/tests/telemetry.d.ts +2 -0
  438. package/dist/tests/telemetry.js +11 -0
  439. package/dist/tests/telemetry.js.map +1 -0
  440. package/dist/transformers.d.ts +17 -0
  441. package/dist/transformers.js +77 -0
  442. package/dist/transformers.js.map +1 -0
  443. package/dist/version.d.ts +1 -0
  444. package/dist/version.js +6 -0
  445. package/dist/version.js.map +1 -0
  446. package/package.json +49 -0
  447. package/src/cache/index.ts +2 -0
  448. package/src/cache/interface.ts +104 -0
  449. package/src/cache/memoryCache.test.ts +150 -0
  450. package/src/cache/memoryCache.ts +85 -0
  451. package/src/config.ts +9 -0
  452. package/src/crypto/driveCrypto.test.ts +45 -0
  453. package/src/crypto/driveCrypto.ts +696 -0
  454. package/src/crypto/hmac.ts +46 -0
  455. package/src/crypto/index.ts +6 -0
  456. package/src/crypto/interface.ts +230 -0
  457. package/src/crypto/openPGPCrypto.ts +398 -0
  458. package/src/crypto/utils.ts +40 -0
  459. package/src/errors.ts +168 -0
  460. package/src/index.ts +30 -0
  461. package/src/interface/account.ts +38 -0
  462. package/src/interface/author.ts +29 -0
  463. package/src/interface/devices.ts +21 -0
  464. package/src/interface/download.ts +32 -0
  465. package/src/interface/events.ts +30 -0
  466. package/src/interface/httpClient.ts +42 -0
  467. package/src/interface/index.ts +46 -0
  468. package/src/interface/nodes.ts +168 -0
  469. package/src/interface/result.ts +11 -0
  470. package/src/interface/sharing.ts +87 -0
  471. package/src/interface/telemetry.ts +107 -0
  472. package/src/interface/thumbnail.ts +14 -0
  473. package/src/interface/upload.ts +19 -0
  474. package/src/internal/apiService/apiService.test.ts +285 -0
  475. package/src/internal/apiService/apiService.ts +353 -0
  476. package/src/internal/apiService/coreTypes.ts +24439 -0
  477. package/src/internal/apiService/driveTypes.ts +11841 -0
  478. package/src/internal/apiService/errorCodes.ts +38 -0
  479. package/src/internal/apiService/errors.test.ts +63 -0
  480. package/src/internal/apiService/errors.ts +91 -0
  481. package/src/internal/apiService/index.ts +7 -0
  482. package/src/internal/apiService/observerStream.ts +10 -0
  483. package/src/internal/apiService/transformers.ts +45 -0
  484. package/src/internal/batchLoading.test.ts +58 -0
  485. package/src/internal/batchLoading.ts +74 -0
  486. package/src/internal/devices/apiService.ts +142 -0
  487. package/src/internal/devices/cryptoService.ts +65 -0
  488. package/src/internal/devices/index.ts +31 -0
  489. package/src/internal/devices/interface.ts +28 -0
  490. package/src/internal/devices/manager.test.ts +129 -0
  491. package/src/internal/devices/manager.ts +113 -0
  492. package/src/internal/download/apiService.ts +145 -0
  493. package/src/internal/download/controller.ts +22 -0
  494. package/src/internal/download/cryptoService.ts +96 -0
  495. package/src/internal/download/fileDownloader.test.ts +381 -0
  496. package/src/internal/download/fileDownloader.ts +266 -0
  497. package/src/internal/download/index.ts +122 -0
  498. package/src/internal/download/interface.ts +38 -0
  499. package/src/internal/download/queue.ts +30 -0
  500. package/src/internal/download/telemetry.test.ts +134 -0
  501. package/src/internal/download/telemetry.ts +115 -0
  502. package/src/internal/download/thumbnailDownloader.test.ts +226 -0
  503. package/src/internal/download/thumbnailDownloader.ts +250 -0
  504. package/src/internal/errors.test.ts +21 -0
  505. package/src/internal/errors.ts +28 -0
  506. package/src/internal/events/apiService.ts +87 -0
  507. package/src/internal/events/cache.test.ts +47 -0
  508. package/src/internal/events/cache.ts +80 -0
  509. package/src/internal/events/coreEventManager.ts +69 -0
  510. package/src/internal/events/eventManager.test.ts +139 -0
  511. package/src/internal/events/eventManager.ts +168 -0
  512. package/src/internal/events/index.ts +131 -0
  513. package/src/internal/events/interface.ts +51 -0
  514. package/src/internal/events/volumeEventManager.ts +74 -0
  515. package/src/internal/nodes/apiService.test.ts +394 -0
  516. package/src/internal/nodes/apiService.ts +455 -0
  517. package/src/internal/nodes/cache.test.ts +197 -0
  518. package/src/internal/nodes/cache.ts +240 -0
  519. package/src/internal/nodes/cryptoCache.test.ts +92 -0
  520. package/src/internal/nodes/cryptoCache.ts +47 -0
  521. package/src/internal/nodes/cryptoService.test.ts +814 -0
  522. package/src/internal/nodes/cryptoService.ts +550 -0
  523. package/src/internal/nodes/events.test.ts +383 -0
  524. package/src/internal/nodes/events.ts +271 -0
  525. package/src/internal/nodes/extendedAttributes.test.ts +177 -0
  526. package/src/internal/nodes/extendedAttributes.ts +180 -0
  527. package/src/internal/nodes/index.test.ts +135 -0
  528. package/src/internal/nodes/index.ts +52 -0
  529. package/src/internal/nodes/interface.ts +152 -0
  530. package/src/internal/nodes/mediaTypes.ts +10 -0
  531. package/src/internal/nodes/nodesAccess.test.ts +555 -0
  532. package/src/internal/nodes/nodesAccess.ts +360 -0
  533. package/src/internal/nodes/nodesManagement.test.ts +221 -0
  534. package/src/internal/nodes/nodesManagement.ts +272 -0
  535. package/src/internal/nodes/nodesRevisions.ts +58 -0
  536. package/src/internal/nodes/validations.ts +26 -0
  537. package/src/internal/photos/albums.ts +29 -0
  538. package/src/internal/photos/apiService.ts +16 -0
  539. package/src/internal/photos/cache.ts +11 -0
  540. package/src/internal/photos/index.ts +23 -0
  541. package/src/internal/photos/interface.ts +7 -0
  542. package/src/internal/photos/photosTimeline.ts +18 -0
  543. package/src/internal/sdkEvents.test.ts +55 -0
  544. package/src/internal/sdkEvents.ts +52 -0
  545. package/src/internal/shares/apiService.ts +176 -0
  546. package/src/internal/shares/cache.test.ts +58 -0
  547. package/src/internal/shares/cache.ts +64 -0
  548. package/src/internal/shares/cryptoCache.test.ts +70 -0
  549. package/src/internal/shares/cryptoCache.ts +35 -0
  550. package/src/internal/shares/cryptoService.test.ts +137 -0
  551. package/src/internal/shares/cryptoService.ts +143 -0
  552. package/src/internal/shares/index.ts +35 -0
  553. package/src/internal/shares/interface.ts +104 -0
  554. package/src/internal/shares/manager.test.ts +210 -0
  555. package/src/internal/shares/manager.ts +213 -0
  556. package/src/internal/sharing/apiService.ts +483 -0
  557. package/src/internal/sharing/cache.test.ts +99 -0
  558. package/src/internal/sharing/cache.ts +109 -0
  559. package/src/internal/sharing/cryptoService.ts +378 -0
  560. package/src/internal/sharing/events.test.ts +268 -0
  561. package/src/internal/sharing/events.ts +166 -0
  562. package/src/internal/sharing/index.ts +43 -0
  563. package/src/internal/sharing/interface.ts +177 -0
  564. package/src/internal/sharing/sharingAccess.test.ts +102 -0
  565. package/src/internal/sharing/sharingAccess.ts +133 -0
  566. package/src/internal/sharing/sharingManagement.test.ts +895 -0
  567. package/src/internal/sharing/sharingManagement.ts +521 -0
  568. package/src/internal/uids.ts +83 -0
  569. package/src/internal/upload/apiService.ts +243 -0
  570. package/src/internal/upload/blockVerifier.ts +40 -0
  571. package/src/internal/upload/chunkStreamReader.test.ts +89 -0
  572. package/src/internal/upload/chunkStreamReader.ts +49 -0
  573. package/src/internal/upload/controller.ts +25 -0
  574. package/src/internal/upload/cryptoService.ts +162 -0
  575. package/src/internal/upload/digests.ts +18 -0
  576. package/src/internal/upload/fileUploader.test.ts +513 -0
  577. package/src/internal/upload/fileUploader.ts +576 -0
  578. package/src/internal/upload/index.ts +126 -0
  579. package/src/internal/upload/interface.ts +128 -0
  580. package/src/internal/upload/manager.test.ts +390 -0
  581. package/src/internal/upload/manager.ts +320 -0
  582. package/src/internal/upload/queue.ts +31 -0
  583. package/src/internal/upload/telemetry.test.ts +129 -0
  584. package/src/internal/upload/telemetry.ts +121 -0
  585. package/src/internal/utils.ts +9 -0
  586. package/src/internal/wait.test.ts +21 -0
  587. package/src/internal/wait.ts +26 -0
  588. package/src/protonDriveClient.ts +861 -0
  589. package/src/protonDrivePhotosClient.ts +56 -0
  590. package/src/telemetry.ts +346 -0
  591. package/src/tests/logger.ts +10 -0
  592. package/src/tests/telemetry.ts +9 -0
  593. package/src/transformers.ts +98 -0
  594. package/src/version.ts +4 -0
package/dist/errors.js ADDED
@@ -0,0 +1,163 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IntegrityError = exports.DecryptionError = exports.ConnectionError = exports.RateLimitedError = exports.ServerError = exports.NodeAlreadyExistsValidationError = exports.ValidationError = exports.AbortError = exports.ProtonDriveError = void 0;
4
+ const ttag_1 = require("ttag");
5
+ /**
6
+ * Base class for all SDK errors.
7
+ *
8
+ * This class can be used for catching all SDK errors. The error should have
9
+ * translated message in the `message` property that should be shown to the
10
+ * user without any modification.
11
+ *
12
+ * No retries should be done as that is already handled by the SDK.
13
+ *
14
+ * When SDK throws an error and it is not `ProtonDriveError`, it is unhandled error
15
+ * by the SDK and usually indicates bug in the SDK. Please, report it.
16
+ */
17
+ class ProtonDriveError extends Error {
18
+ name = 'ProtonDriveError';
19
+ }
20
+ exports.ProtonDriveError = ProtonDriveError;
21
+ /**
22
+ * Error thrown when the operation is aborted.
23
+ *
24
+ * This error is thrown when the operation is aborted by the user.
25
+ * For example, by calling `abort()` on the `AbortSignal`.
26
+ */
27
+ class AbortError extends ProtonDriveError {
28
+ name = 'AbortError';
29
+ constructor(message) {
30
+ super(message || (0, ttag_1.c)('Error').t `Operation aborted`);
31
+ }
32
+ }
33
+ exports.AbortError = AbortError;
34
+ /**
35
+ * Error thrown when the validation fails.
36
+ *
37
+ * This error is thrown when the validation of the input fails.
38
+ * Validation can be done on the client side or on the server side.
39
+ *
40
+ * For example, on the client, it can be thrown when the node name doesn't
41
+ * follow the required format, etc., while on the server side, it can be thrown
42
+ * when there is not enough permissions, etc.
43
+ */
44
+ class ValidationError extends ProtonDriveError {
45
+ name = 'ValidationError';
46
+ /**
47
+ * Internal API code.
48
+ *
49
+ * Use only for debugging purposes.
50
+ */
51
+ code;
52
+ constructor(message, code) {
53
+ super(message);
54
+ this.code = code;
55
+ }
56
+ }
57
+ exports.ValidationError = ValidationError;
58
+ /**
59
+ * Error thrown when the node already exists.
60
+ *
61
+ * This error is thrown when the node with the same name already exists in the
62
+ * parent folder. The client should ask the user to replace the existing node
63
+ * or choose another name. The available name is provided in the `availableName`
64
+ * property (that will contain original name with the index that can be used).
65
+ */
66
+ class NodeAlreadyExistsValidationError extends ValidationError {
67
+ name = 'NodeAlreadyExistsValidationError';
68
+ availableName;
69
+ constructor(message, code, availableName) {
70
+ super(message, code);
71
+ this.availableName = availableName;
72
+ }
73
+ }
74
+ exports.NodeAlreadyExistsValidationError = NodeAlreadyExistsValidationError;
75
+ /**
76
+ * Error thrown when the API call fails.
77
+ *
78
+ * This error covers both HTTP errors and API errors. SDK automatically
79
+ * retries the request before the error is thrown. The sepcific algorithm
80
+ * used for retries depends on the type of the error.
81
+ *
82
+ * Client should not retry the request when this error is thrown.
83
+ */
84
+ class ServerError extends ProtonDriveError {
85
+ name = 'ServerError';
86
+ /**
87
+ * HTTP status code of the response.
88
+ *
89
+ * Use only for debugging purposes.
90
+ */
91
+ statusCode;
92
+ /**
93
+ * Internal API code.
94
+ *
95
+ * Use only for debugging purposes.
96
+ */
97
+ code;
98
+ }
99
+ exports.ServerError = ServerError;
100
+ /**
101
+ * Error thrown when the client makes too many requests to the API.
102
+ *
103
+ * SDK is configured to stay below the rate limits, but it can still happen if
104
+ * client is running multiple SDKs in parallel, or if the rate limits are
105
+ * changed on the server side.
106
+ *
107
+ * SDK automatically retries the request before the error is thrown after
108
+ * waiting for the required time specified by the server.
109
+ *
110
+ * Client should slow down calling SDK when this error is thrown.
111
+ *
112
+ * You can be also notified about the rate limits by the `requestsThrottled`
113
+ * event. See `onMessage` method on the SDK class for more details.
114
+ */
115
+ class RateLimitedError extends ServerError {
116
+ name = 'RateLimitedError';
117
+ code = 429;
118
+ }
119
+ exports.RateLimitedError = RateLimitedError;
120
+ /**
121
+ * Error thrown when the client is not connected to the internet.
122
+ *
123
+ * Client should check the internet connection when this error is thrown.
124
+ *
125
+ * You can also be notified about the connection status by the `offline` event
126
+ * See `onMessage` method on the SDK class for more details.
127
+ */
128
+ class ConnectionError extends ProtonDriveError {
129
+ name = 'ConnectionError';
130
+ }
131
+ exports.ConnectionError = ConnectionError;
132
+ /**
133
+ * Error thrown when the decryption fails.
134
+ *
135
+ * Client should report this error to the user and report bug report.
136
+ *
137
+ * In most cases, there is no decryption error. Every decryption error should
138
+ * be not exposed but set as empty value on the node, for example. But in the
139
+ * case of the file content, if block cannot be decrypted, decryption error
140
+ * is thrown.
141
+ */
142
+ class DecryptionError extends ProtonDriveError {
143
+ name = 'DecryptionError';
144
+ }
145
+ exports.DecryptionError = DecryptionError;
146
+ /**
147
+ * Error thrown when the data integrity check fails.
148
+ *
149
+ * Client should report this error to the user and report bug report.
150
+ *
151
+ * For example, it can happen when hashes don't match, etc. In some cases,
152
+ * SDK allows to run command without verification checks for debug purposes.
153
+ */
154
+ class IntegrityError extends ProtonDriveError {
155
+ name = 'IntegrityError';
156
+ debug;
157
+ constructor(message, debug) {
158
+ super(message);
159
+ this.debug = debug;
160
+ }
161
+ }
162
+ exports.IntegrityError = IntegrityError;
163
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,+BAAyB;AAEzB;;;;;;;;;;;GAWG;AACH,MAAa,gBAAiB,SAAQ,KAAK;IACvC,IAAI,GAAG,kBAAkB,CAAC;CAC7B;AAFD,4CAEC;AAED;;;;;GAKG;AACH,MAAa,UAAW,SAAQ,gBAAgB;IAC5C,IAAI,GAAG,YAAY,CAAC;IAEpB,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,IAAI,IAAA,QAAC,EAAC,OAAO,CAAC,CAAC,CAAC,CAAA,mBAAmB,CAAC,CAAC;IACtD,CAAC;CACJ;AAND,gCAMC;AAED;;;;;;;;;GASG;AACH,MAAa,eAAgB,SAAQ,gBAAgB;IACjD,IAAI,GAAG,iBAAiB,CAAC;IAEzB;;;;OAIG;IACa,IAAI,CAAU;IAE9B,YAAY,OAAe,EAAE,IAAa;QACtC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAdD,0CAcC;AAED;;;;;;;GAOG;AACH,MAAa,gCAAiC,SAAQ,eAAe;IACjE,IAAI,GAAG,kCAAkC,CAAC;IAE1B,aAAa,CAAS;IAEtC,YAAY,OAAe,EAAE,IAAY,EAAE,aAAqB;QAC5D,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;CACJ;AATD,4EASC;AAED;;;;;;;;GAQG;AACH,MAAa,WAAY,SAAQ,gBAAgB;IAC7C,IAAI,GAAG,aAAa,CAAC;IAErB;;;;OAIG;IACa,UAAU,CAAU;IACpC;;;;OAIG;IACa,IAAI,CAAU;CACjC;AAfD,kCAeC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAa,gBAAiB,SAAQ,WAAW;IAC7C,IAAI,GAAG,kBAAkB,CAAC;IAE1B,IAAI,GAAG,GAAG,CAAC;CACd;AAJD,4CAIC;AAED;;;;;;;GAOG;AACH,MAAa,eAAgB,SAAQ,gBAAgB;IACjD,IAAI,GAAG,iBAAiB,CAAC;CAC5B;AAFD,0CAEC;AAED;;;;;;;;;GASG;AACH,MAAa,eAAgB,SAAQ,gBAAgB;IACjD,IAAI,GAAG,iBAAiB,CAAC;CAC5B;AAFD,0CAEC;AAED;;;;;;;GAOG;AACH,MAAa,cAAe,SAAQ,gBAAgB;IAChD,IAAI,GAAG,gBAAgB,CAAC;IAER,KAAK,CAAU;IAE/B,YAAY,OAAe,EAAE,KAAc;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AATD,wCASC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Use only what is exported here. This is the public supported API of the SDK.
3
+ */
4
+ export * from './interface';
5
+ export * from './cache';
6
+ export * from './errors';
7
+ export type { OpenPGPCrypto, OpenPGPCryptoProxy } from './crypto';
8
+ export { OpenPGPCryptoWithCryptoProxy } from './crypto';
9
+ export { ProtonDriveClient } from './protonDriveClient';
10
+ export { VERSION } from './version';
11
+ /**
12
+ * Provides the node UID for the given raw volume and node IDs.
13
+ *
14
+ * This is required only for the internal implementation to provide
15
+ * backward compatibility with the old Drive web setup.
16
+ *
17
+ * If you are having share ID, use `ProtonDriveClient::getNodeUid` instead.
18
+ *
19
+ * @deprecated This method is not part of the public API.
20
+ * @param volumeId - Volume of the node.
21
+ * @param nodeId - Node/link ID (not UID).
22
+ * @returns The node UID.
23
+ */
24
+ export declare function generateNodeUid(volumeId: string, nodeId: string): string;
package/dist/index.js ADDED
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /**
3
+ * Use only what is exported here. This is the public supported API of the SDK.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.VERSION = exports.ProtonDriveClient = exports.OpenPGPCryptoWithCryptoProxy = void 0;
21
+ exports.generateNodeUid = generateNodeUid;
22
+ const uids_1 = require("./internal/uids");
23
+ __exportStar(require("./interface"), exports);
24
+ __exportStar(require("./cache"), exports);
25
+ __exportStar(require("./errors"), exports);
26
+ var crypto_1 = require("./crypto");
27
+ Object.defineProperty(exports, "OpenPGPCryptoWithCryptoProxy", { enumerable: true, get: function () { return crypto_1.OpenPGPCryptoWithCryptoProxy; } });
28
+ var protonDriveClient_1 = require("./protonDriveClient");
29
+ Object.defineProperty(exports, "ProtonDriveClient", { enumerable: true, get: function () { return protonDriveClient_1.ProtonDriveClient; } });
30
+ var version_1 = require("./version");
31
+ Object.defineProperty(exports, "VERSION", { enumerable: true, get: function () { return version_1.VERSION; } });
32
+ /**
33
+ * Provides the node UID for the given raw volume and node IDs.
34
+ *
35
+ * This is required only for the internal implementation to provide
36
+ * backward compatibility with the old Drive web setup.
37
+ *
38
+ * If you are having share ID, use `ProtonDriveClient::getNodeUid` instead.
39
+ *
40
+ * @deprecated This method is not part of the public API.
41
+ * @param volumeId - Volume of the node.
42
+ * @param nodeId - Node/link ID (not UID).
43
+ * @returns The node UID.
44
+ */
45
+ function generateNodeUid(volumeId, nodeId) {
46
+ return (0, uids_1.makeNodeUid)(volumeId, nodeId);
47
+ }
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;AAyBH,0CAEC;AAzBD,0CAA8C;AAE9C,8CAA4B;AAC5B,0CAAwB;AACxB,2CAAyB;AAEzB,mCAAwD;AAA/C,sHAAA,4BAA4B,OAAA;AACrC,yDAAwD;AAA/C,sHAAA,iBAAiB,OAAA;AAC1B,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAEhB;;;;;;;;;;;;GAYG;AACH,SAAgB,eAAe,CAAC,QAAgB,EAAE,MAAc;IAC5D,OAAO,IAAA,kBAAW,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { PrivateKey, PublicKey } from '../crypto';
2
+ export interface ProtonDriveAccount {
3
+ /**
4
+ * Get own primary address.
5
+ *
6
+ * @throws Error If there is no primary address.
7
+ */
8
+ getOwnPrimaryAddress(): Promise<ProtonDriveAccountAddress>;
9
+ /**
10
+ * Get own address by email or addressId.
11
+ *
12
+ * @throws Error If there is no address with given email or addressId.
13
+ */
14
+ getOwnAddress(emailOrAddressId: string): Promise<ProtonDriveAccountAddress>;
15
+ /**
16
+ * Returns whether given email can be used to share files with Proton Drive.
17
+ */
18
+ hasProtonAccount(email: string): Promise<boolean>;
19
+ /**
20
+ * Get public keys for given email.
21
+ *
22
+ * Does not throw if there is no public key for given email, but returns empty array.
23
+ *
24
+ * @throws Error Only if there is an error while fetching keys.
25
+ */
26
+ getPublicKeys(email: string): Promise<PublicKey[]>;
27
+ }
28
+ export interface ProtonDriveAccountAddress {
29
+ email: string;
30
+ addressId: string;
31
+ primaryKeyIndex: number;
32
+ keys: {
33
+ id: string;
34
+ key: PrivateKey;
35
+ }[];
36
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/interface/account.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { Result } from './result';
2
+ /**
3
+ * Author with verification status.
4
+ *
5
+ * It can be either a string (email) or an anonymous user.
6
+ *
7
+ * If author cannot be verified, the result is failure with an error.
8
+ * The client can still get claimed author from the error object, but
9
+ * it must be used with caution.
10
+ */
11
+ export type Author = Result<string | AnonymousUser, UnverifiedAuthorError>;
12
+ /**
13
+ * Anonymous user. Used when user shares folder publicly and anonymous
14
+ * users can access the folder and upload new files without being logged in.
15
+ */
16
+ export type AnonymousUser = null;
17
+ /**
18
+ * Unverified author.
19
+ *
20
+ * If author cannot be verified, the result is this object containing
21
+ * the claimed author and the verification error.
22
+ */
23
+ export type UnverifiedAuthorError = {
24
+ claimedAuthor?: string;
25
+ error: string;
26
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=author.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"author.js","sourceRoot":"","sources":["../../src/interface/author.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { Result } from './result';
2
+ import { InvalidNameError } from './nodes';
3
+ export type Device = {
4
+ uid: string;
5
+ type: DeviceType;
6
+ name: Result<string, Error | InvalidNameError>;
7
+ rootFolderUid: string;
8
+ creationTime: Date;
9
+ lastSyncDate?: Date;
10
+ /** @deprecated to be removed once Volume-based navigation is implemented in web */
11
+ shareId: string;
12
+ };
13
+ export declare enum DeviceType {
14
+ Windows = "Windows",
15
+ MacOS = "MacOS",
16
+ Linux = "Linux"
17
+ }
18
+ export type DeviceOrUid = Device | string;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceType = void 0;
4
+ var DeviceType;
5
+ (function (DeviceType) {
6
+ DeviceType["Windows"] = "Windows";
7
+ DeviceType["MacOS"] = "MacOS";
8
+ DeviceType["Linux"] = "Linux";
9
+ })(DeviceType || (exports.DeviceType = DeviceType = {}));
10
+ //# sourceMappingURL=devices.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/interface/devices.ts"],"names":[],"mappings":";;;AAcA,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,6BAAe,CAAA;AACnB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB"}
@@ -0,0 +1,29 @@
1
+ export interface FileDownloader {
2
+ /**
3
+ * Get the claimed size of the file in bytes.
4
+ *
5
+ * This provides total clear-text size of the file. This is encrypted
6
+ * information that is not known to the Proton Drive and thus it is
7
+ * explicitely stated as claimed only and must be treated that way.
8
+ * It can be wrong or missing completely.
9
+ */
10
+ getClaimedSizeInBytes(): number | undefined;
11
+ /**
12
+ * Download, decrypt and verify the content from the server and write
13
+ * to the provided stream.
14
+ *
15
+ * @param onProgress - Callback that is called with the number of downloaded bytes
16
+ */
17
+ writeToStream(streamFactory: WritableStream, onProgress: (downloadedBytes: number) => void): DownloadController;
18
+ /**
19
+ * Same as `writeToStream` but without verification checks.
20
+ *
21
+ * Use this only for debugging purposes.
22
+ */
23
+ unsafeWriteToStream(streamFactory: WritableStream, onProgress: (downloadedBytes: number) => void): DownloadController;
24
+ }
25
+ export interface DownloadController {
26
+ pause(): void;
27
+ resume(): void;
28
+ completion(): Promise<void>;
29
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../src/interface/download.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { Device } from './devices';
2
+ import { MaybeNode } from './nodes';
3
+ export type DeviceEventCallback = (deviceEvent: DeviceEvent) => void;
4
+ export type NodeEventCallback = (nodeEvent: NodeEvent) => void;
5
+ export type NodeEvent = {
6
+ type: 'update';
7
+ uid: string;
8
+ node: MaybeNode;
9
+ } | {
10
+ type: 'remove';
11
+ uid: string;
12
+ };
13
+ export type DeviceEvent = {
14
+ type: 'update';
15
+ uid: string;
16
+ device: Device;
17
+ } | {
18
+ type: 'remove';
19
+ uid: string;
20
+ };
21
+ export declare enum SDKEvent {
22
+ TransfersPaused = "transfersPaused",
23
+ TransfersResumed = "transfersResumed",
24
+ RequestsThrottled = "requestsThrottled",
25
+ RequestsUnthrottled = "requestsUnthrottled"
26
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SDKEvent = void 0;
4
+ var SDKEvent;
5
+ (function (SDKEvent) {
6
+ SDKEvent["TransfersPaused"] = "transfersPaused";
7
+ SDKEvent["TransfersResumed"] = "transfersResumed";
8
+ SDKEvent["RequestsThrottled"] = "requestsThrottled";
9
+ SDKEvent["RequestsUnthrottled"] = "requestsUnthrottled";
10
+ })(SDKEvent || (exports.SDKEvent = SDKEvent = {}));
11
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/interface/events.ts"],"names":[],"mappings":";;;AAwBA,IAAY,QAKX;AALD,WAAY,QAAQ;IAChB,+CAAmC,CAAA;IACnC,iDAAqC,CAAA;IACrC,mDAAuC,CAAA;IACvC,uDAA2C,CAAA;AAC/C,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
@@ -0,0 +1,38 @@
1
+ export interface ProtonDriveHTTPClient {
2
+ fetchJson(options: ProtonDriveHTTPClientJsonOptions): Promise<Response>;
3
+ fetchBlob(options: ProtonDriveHTTPClientBlobOptions): Promise<Response>;
4
+ }
5
+ export type ProtonDriveHTTPClientJsonOptions = ProtonDriveHTTPClientBaseOptions & {
6
+ json?: object;
7
+ };
8
+ export type ProtonDriveHTTPClientBlobOptions = ProtonDriveHTTPClientBaseOptions & {
9
+ body?: XMLHttpRequestBodyInit;
10
+ onProgress?: (progress: number) => void;
11
+ };
12
+ type ProtonDriveHTTPClientBaseOptions = {
13
+ url: string;
14
+ method: string;
15
+ headers: Headers;
16
+ /**
17
+ * The timeout in milliseconds.
18
+ *
19
+ * When timeout is reached, the request will be aborted with TimeoutError.
20
+ */
21
+ timeoutMs: number;
22
+ signal?: AbortSignal;
23
+ };
24
+ export type ProtonDriveConfig = {
25
+ /**
26
+ * The base URL for the Proton Drive (without schema).
27
+ *
28
+ * If not provided, defaults to 'drive-api.proton.me'.
29
+ */
30
+ baseUrl?: string;
31
+ /**
32
+ * The language to use for error messages.
33
+ *
34
+ * If not provided, defaults to 'en'.
35
+ */
36
+ language?: string;
37
+ };
38
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=httpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../src/interface/httpClient.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { ProtonDriveCache } from '../cache';
2
+ import { OpenPGPCrypto, PrivateKey, SessionKey, SRPModule } from '../crypto';
3
+ import { ProtonDriveAccount } from './account';
4
+ import { ProtonDriveHTTPClient, ProtonDriveConfig } from './httpClient';
5
+ import { Telemetry, MetricEvent } from './telemetry';
6
+ export type { Result } from './result';
7
+ export { resultOk, resultError } from './result';
8
+ export type { ProtonDriveAccount, ProtonDriveAccountAddress } from './account';
9
+ export type { Author, UnverifiedAuthorError, AnonymousUser } from './author';
10
+ export type { Device, DeviceOrUid } from './devices';
11
+ export { DeviceType } from './devices';
12
+ export type { FileDownloader, DownloadController } from './download';
13
+ export type { NodeEvent, DeviceEvent, DeviceEventCallback, NodeEventCallback } from './events';
14
+ export { SDKEvent } from './events';
15
+ export type { ProtonDriveHTTPClient, ProtonDriveHTTPClientJsonOptions, ProtonDriveHTTPClientBlobOptions, ProtonDriveConfig } from './httpClient';
16
+ export type { MaybeNode, NodeEntity, DegradedNode, MaybeMissingNode, MissingNode, InvalidNameError, Revision, NodeOrUid, RevisionOrUid, NodeResult } from './nodes';
17
+ export { NodeType, MemberRole, RevisionState } from './nodes';
18
+ export type { ProtonInvitation, ProtonInvitationWithNode, NonProtonInvitation, Member, PublicLink, Bookmark, ProtonInvitationOrUid, NonProtonInvitationOrUid, BookmarkOrUid, ShareNodeSettings, UnshareNodeSettings, ShareMembersSettings, SharePublicLinkSettings, SharePublicLinkSettingsObject, ShareResult } from './sharing';
19
+ export { NonProtonInvitationState } from './sharing';
20
+ export type { Telemetry, Logger, MetricAPIRetrySucceededEvent, MetricUploadEvent, MetricsUploadErrorType, MetricDownloadEvent, MetricsDownloadErrorType, MetricDecryptionErrorEvent, MetricsDecryptionErrorField, MetricVerificationErrorEvent, MetricVerificationErrorField, MetricVolumeEventsSubscriptionsChangedEvent, MetricEvent } from './telemetry';
21
+ export { MetricContext } from './telemetry';
22
+ export type { Fileuploader, UploadController, UploadMetadata } from './upload';
23
+ export type { Thumbnail, ThumbnailResult } from './thumbnail';
24
+ export { ThumbnailType } from './thumbnail';
25
+ export type ProtonDriveTelemetry = Telemetry<MetricEvent>;
26
+ export type ProtonDriveEntitiesCache = ProtonDriveCache<string>;
27
+ export type ProtonDriveCryptoCache = ProtonDriveCache<CachedCryptoMaterial>;
28
+ export type CachedCryptoMaterial = {
29
+ passphrase?: string;
30
+ key: PrivateKey;
31
+ passphraseSessionKey: SessionKey;
32
+ hashKey?: Uint8Array;
33
+ };
34
+ export interface ProtonDriveClientContructorParameters {
35
+ httpClient: ProtonDriveHTTPClient;
36
+ entitiesCache: ProtonDriveEntitiesCache;
37
+ cryptoCache: ProtonDriveCryptoCache;
38
+ account: ProtonDriveAccount;
39
+ openPGPCryptoModule: OpenPGPCrypto;
40
+ srpModule: SRPModule;
41
+ config?: ProtonDriveConfig;
42
+ telemetry?: ProtonDriveTelemetry;
43
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ThumbnailType = exports.MetricContext = exports.NonProtonInvitationState = exports.RevisionState = exports.MemberRole = exports.NodeType = exports.SDKEvent = exports.DeviceType = exports.resultError = exports.resultOk = void 0;
4
+ var result_1 = require("./result");
5
+ Object.defineProperty(exports, "resultOk", { enumerable: true, get: function () { return result_1.resultOk; } });
6
+ Object.defineProperty(exports, "resultError", { enumerable: true, get: function () { return result_1.resultError; } });
7
+ var devices_1 = require("./devices");
8
+ Object.defineProperty(exports, "DeviceType", { enumerable: true, get: function () { return devices_1.DeviceType; } });
9
+ var events_1 = require("./events");
10
+ Object.defineProperty(exports, "SDKEvent", { enumerable: true, get: function () { return events_1.SDKEvent; } });
11
+ var nodes_1 = require("./nodes");
12
+ Object.defineProperty(exports, "NodeType", { enumerable: true, get: function () { return nodes_1.NodeType; } });
13
+ Object.defineProperty(exports, "MemberRole", { enumerable: true, get: function () { return nodes_1.MemberRole; } });
14
+ Object.defineProperty(exports, "RevisionState", { enumerable: true, get: function () { return nodes_1.RevisionState; } });
15
+ var sharing_1 = require("./sharing");
16
+ Object.defineProperty(exports, "NonProtonInvitationState", { enumerable: true, get: function () { return sharing_1.NonProtonInvitationState; } });
17
+ var telemetry_1 = require("./telemetry");
18
+ Object.defineProperty(exports, "MetricContext", { enumerable: true, get: function () { return telemetry_1.MetricContext; } });
19
+ var thumbnail_1 = require("./thumbnail");
20
+ Object.defineProperty(exports, "ThumbnailType", { enumerable: true, get: function () { return thumbnail_1.ThumbnailType; } });
21
+ ;
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interface/index.ts"],"names":[],"mappings":";;;AAOA,mCAAiD;AAAxC,kGAAA,QAAQ,OAAA;AAAE,qGAAA,WAAW,OAAA;AAI9B,qCAAuC;AAA9B,qGAAA,UAAU,OAAA;AAGnB,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AAGjB,iCAA8D;AAArD,iGAAA,QAAQ,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,sGAAA,aAAa,OAAA;AAE5C,qCAAqD;AAA5C,mHAAA,wBAAwB,OAAA;AAEjC,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAGtB,yCAA4C;AAAnC,0GAAA,aAAa,OAAA;AAqBrB,CAAC"}