@sinoia/hubdoc-tools 1.3.10 → 1.5.1

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 (473) hide show
  1. package/README.md +147 -243
  2. package/cli.js +89268 -0
  3. package/docs/llm-usage.md +314 -0
  4. package/package.json +29 -100
  5. package/LICENSE +0 -21
  6. package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts +0 -15
  7. package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts.map +0 -1
  8. package/dist/__tests__/fixtures/plugins/connection-plugin/index.js +0 -37
  9. package/dist/__tests__/fixtures/plugins/connection-plugin/index.js.map +0 -1
  10. package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts +0 -15
  11. package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts.map +0 -1
  12. package/dist/__tests__/fixtures/plugins/scan-plugin/index.js +0 -54
  13. package/dist/__tests__/fixtures/plugins/scan-plugin/index.js.map +0 -1
  14. package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts +0 -15
  15. package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts.map +0 -1
  16. package/dist/__tests__/fixtures/plugins/test-plugin/index.js +0 -34
  17. package/dist/__tests__/fixtures/plugins/test-plugin/index.js.map +0 -1
  18. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts +0 -16
  19. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts.map +0 -1
  20. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js +0 -145
  21. package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js.map +0 -1
  22. package/dist/api/api/authentication-api.d.ts +0 -208
  23. package/dist/api/api/authentication-api.d.ts.map +0 -1
  24. package/dist/api/api/authentication-api.js +0 -385
  25. package/dist/api/api/authentication-api.js.map +0 -1
  26. package/dist/api/api/bulk-uploads-api.d.ts +0 -101
  27. package/dist/api/api/bulk-uploads-api.d.ts.map +0 -1
  28. package/dist/api/api/bulk-uploads-api.js +0 -195
  29. package/dist/api/api/bulk-uploads-api.js.map +0 -1
  30. package/dist/api/api/chunked-uploads-api.d.ts +0 -214
  31. package/dist/api/api/chunked-uploads-api.d.ts.map +0 -1
  32. package/dist/api/api/chunked-uploads-api.js +0 -420
  33. package/dist/api/api/chunked-uploads-api.js.map +0 -1
  34. package/dist/api/api/contacts-api.d.ts +0 -246
  35. package/dist/api/api/contacts-api.d.ts.map +0 -1
  36. package/dist/api/api/contacts-api.js +0 -465
  37. package/dist/api/api/contacts-api.js.map +0 -1
  38. package/dist/api/api/documents-api.d.ts +0 -267
  39. package/dist/api/api/documents-api.d.ts.map +0 -1
  40. package/dist/api/api/documents-api.js +0 -506
  41. package/dist/api/api/documents-api.js.map +0 -1
  42. package/dist/api/api/folders-api.d.ts +0 -255
  43. package/dist/api/api/folders-api.d.ts.map +0 -1
  44. package/dist/api/api/folders-api.js +0 -479
  45. package/dist/api/api/folders-api.js.map +0 -1
  46. package/dist/api/api/groups-api.d.ts +0 -246
  47. package/dist/api/api/groups-api.d.ts.map +0 -1
  48. package/dist/api/api/groups-api.js +0 -465
  49. package/dist/api/api/groups-api.js.map +0 -1
  50. package/dist/api/api/permissions-api.d.ts +0 -246
  51. package/dist/api/api/permissions-api.d.ts.map +0 -1
  52. package/dist/api/api/permissions-api.js +0 -465
  53. package/dist/api/api/permissions-api.js.map +0 -1
  54. package/dist/api/api/users-api.d.ts +0 -246
  55. package/dist/api/api/users-api.d.ts.map +0 -1
  56. package/dist/api/api/users-api.js +0 -465
  57. package/dist/api/api/users-api.js.map +0 -1
  58. package/dist/api/api/workspaces-api.d.ts +0 -213
  59. package/dist/api/api/workspaces-api.d.ts.map +0 -1
  60. package/dist/api/api/workspaces-api.js +0 -424
  61. package/dist/api/api/workspaces-api.js.map +0 -1
  62. package/dist/api/api.d.ts +0 -22
  63. package/dist/api/api.d.ts.map +0 -1
  64. package/dist/api/api.js +0 -40
  65. package/dist/api/api.js.map +0 -1
  66. package/dist/api/base.d.ts +0 -43
  67. package/dist/api/base.d.ts.map +0 -1
  68. package/dist/api/base.js +0 -49
  69. package/dist/api/base.js.map +0 -1
  70. package/dist/api/common.d.ts +0 -29
  71. package/dist/api/common.d.ts.map +0 -1
  72. package/dist/api/common.js +0 -109
  73. package/dist/api/common.js.map +0 -1
  74. package/dist/api/configuration.d.ts +0 -99
  75. package/dist/api/configuration.d.ts.map +0 -1
  76. package/dist/api/configuration.js +0 -49
  77. package/dist/api/configuration.js.map +0 -1
  78. package/dist/api/index.d.ts +0 -15
  79. package/dist/api/index.d.ts.map +0 -1
  80. package/dist/api/index.js +0 -33
  81. package/dist/api/index.js.map +0 -1
  82. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.d.ts +0 -19
  83. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.d.ts.map +0 -1
  84. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.js +0 -20
  85. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.js.map +0 -1
  86. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.d.ts +0 -17
  87. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.d.ts.map +0 -1
  88. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.js +0 -16
  89. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.js.map +0 -1
  90. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.d.ts +0 -16
  91. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.d.ts.map +0 -1
  92. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.js +0 -16
  93. package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.js.map +0 -1
  94. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.d.ts +0 -17
  95. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.d.ts.map +0 -1
  96. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.js +0 -16
  97. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.js.map +0 -1
  98. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.d.ts +0 -16
  99. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.d.ts.map +0 -1
  100. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.js +0 -16
  101. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.js.map +0 -1
  102. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.d.ts +0 -16
  103. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.d.ts.map +0 -1
  104. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.js +0 -16
  105. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.js.map +0 -1
  106. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.d.ts +0 -16
  107. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.d.ts.map +0 -1
  108. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.js +0 -16
  109. package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.js.map +0 -1
  110. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.d.ts +0 -17
  111. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.d.ts.map +0 -1
  112. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.js +0 -16
  113. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.js.map +0 -1
  114. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.d.ts +0 -16
  115. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.d.ts.map +0 -1
  116. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.js +0 -16
  117. package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.js.map +0 -1
  118. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.d.ts +0 -17
  119. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.d.ts.map +0 -1
  120. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.js +0 -16
  121. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.js.map +0 -1
  122. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.d.ts +0 -16
  123. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.d.ts.map +0 -1
  124. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.js +0 -16
  125. package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.js.map +0 -1
  126. package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.d.ts +0 -17
  127. package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.d.ts.map +0 -1
  128. package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.js +0 -16
  129. package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.js.map +0 -1
  130. package/dist/api/models/api-v1-documents-documents-post-request1.d.ts +0 -34
  131. package/dist/api/models/api-v1-documents-documents-post-request1.d.ts.map +0 -1
  132. package/dist/api/models/api-v1-documents-documents-post-request1.js +0 -16
  133. package/dist/api/models/api-v1-documents-documents-post-request1.js.map +0 -1
  134. package/dist/api/models/api-v1-documents-documents-post201-response.d.ts +0 -17
  135. package/dist/api/models/api-v1-documents-documents-post201-response.d.ts.map +0 -1
  136. package/dist/api/models/api-v1-documents-documents-post201-response.js +0 -16
  137. package/dist/api/models/api-v1-documents-documents-post201-response.js.map +0 -1
  138. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts +0 -17
  139. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts.map +0 -1
  140. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js +0 -16
  141. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js.map +0 -1
  142. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts +0 -17
  143. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts.map +0 -1
  144. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js +0 -16
  145. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js.map +0 -1
  146. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts +0 -18
  147. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts.map +0 -1
  148. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js +0 -16
  149. package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js.map +0 -1
  150. package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts +0 -17
  151. package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts.map +0 -1
  152. package/dist/api/models/api-v1-documents-folders-id-get200-response.js +0 -16
  153. package/dist/api/models/api-v1-documents-folders-id-get200-response.js.map +0 -1
  154. package/dist/api/models/bulk-upload-mutation.d.ts +0 -34
  155. package/dist/api/models/bulk-upload-mutation.d.ts.map +0 -1
  156. package/dist/api/models/bulk-upload-mutation.js +0 -16
  157. package/dist/api/models/bulk-upload-mutation.js.map +0 -1
  158. package/dist/api/models/bulk-upload.d.ts +0 -91
  159. package/dist/api/models/bulk-upload.d.ts.map +0 -1
  160. package/dist/api/models/bulk-upload.js +0 -23
  161. package/dist/api/models/bulk-upload.js.map +0 -1
  162. package/dist/api/models/chunked-upload-chunk-response.d.ts +0 -46
  163. package/dist/api/models/chunked-upload-chunk-response.d.ts.map +0 -1
  164. package/dist/api/models/chunked-upload-chunk-response.js +0 -21
  165. package/dist/api/models/chunked-upload-chunk-response.js.map +0 -1
  166. package/dist/api/models/chunked-upload-complete-request.d.ts +0 -21
  167. package/dist/api/models/chunked-upload-complete-request.d.ts.map +0 -1
  168. package/dist/api/models/chunked-upload-complete-request.js +0 -16
  169. package/dist/api/models/chunked-upload-complete-request.js.map +0 -1
  170. package/dist/api/models/chunked-upload-complete-response.d.ts +0 -37
  171. package/dist/api/models/chunked-upload-complete-response.d.ts.map +0 -1
  172. package/dist/api/models/chunked-upload-complete-response.js +0 -20
  173. package/dist/api/models/chunked-upload-complete-response.js.map +0 -1
  174. package/dist/api/models/chunked-upload-mutation.d.ts +0 -47
  175. package/dist/api/models/chunked-upload-mutation.d.ts.map +0 -1
  176. package/dist/api/models/chunked-upload-mutation.js +0 -16
  177. package/dist/api/models/chunked-upload-mutation.js.map +0 -1
  178. package/dist/api/models/chunked-upload-session-response.d.ts +0 -33
  179. package/dist/api/models/chunked-upload-session-response.d.ts.map +0 -1
  180. package/dist/api/models/chunked-upload-session-response.js +0 -16
  181. package/dist/api/models/chunked-upload-session-response.js.map +0 -1
  182. package/dist/api/models/chunked-upload-status-response.d.ts +0 -54
  183. package/dist/api/models/chunked-upload-status-response.d.ts.map +0 -1
  184. package/dist/api/models/chunked-upload-status-response.js +0 -25
  185. package/dist/api/models/chunked-upload-status-response.js.map +0 -1
  186. package/dist/api/models/chunked-upload.d.ts +0 -98
  187. package/dist/api/models/chunked-upload.d.ts.map +0 -1
  188. package/dist/api/models/chunked-upload.js +0 -25
  189. package/dist/api/models/chunked-upload.js.map +0 -1
  190. package/dist/api/models/contact-mutation.d.ts +0 -30
  191. package/dist/api/models/contact-mutation.d.ts.map +0 -1
  192. package/dist/api/models/contact-mutation.js +0 -16
  193. package/dist/api/models/contact-mutation.js.map +0 -1
  194. package/dist/api/models/contact.d.ts +0 -54
  195. package/dist/api/models/contact.d.ts.map +0 -1
  196. package/dist/api/models/contact.js +0 -16
  197. package/dist/api/models/contact.js.map +0 -1
  198. package/dist/api/models/document-document-type.d.ts +0 -19
  199. package/dist/api/models/document-document-type.d.ts.map +0 -1
  200. package/dist/api/models/document-document-type.js +0 -16
  201. package/dist/api/models/document-document-type.js.map +0 -1
  202. package/dist/api/models/document-domain.d.ts +0 -19
  203. package/dist/api/models/document-domain.d.ts.map +0 -1
  204. package/dist/api/models/document-domain.js +0 -16
  205. package/dist/api/models/document-domain.js.map +0 -1
  206. package/dist/api/models/document-folder.d.ts +0 -19
  207. package/dist/api/models/document-folder.d.ts.map +0 -1
  208. package/dist/api/models/document-folder.js +0 -16
  209. package/dist/api/models/document-folder.js.map +0 -1
  210. package/dist/api/models/document-mutation.d.ts +0 -50
  211. package/dist/api/models/document-mutation.d.ts.map +0 -1
  212. package/dist/api/models/document-mutation.js +0 -16
  213. package/dist/api/models/document-mutation.js.map +0 -1
  214. package/dist/api/models/document.d.ts +0 -73
  215. package/dist/api/models/document.d.ts.map +0 -1
  216. package/dist/api/models/document.js +0 -16
  217. package/dist/api/models/document.js.map +0 -1
  218. package/dist/api/models/folder-mutation.d.ts +0 -38
  219. package/dist/api/models/folder-mutation.d.ts.map +0 -1
  220. package/dist/api/models/folder-mutation.js +0 -16
  221. package/dist/api/models/folder-mutation.js.map +0 -1
  222. package/dist/api/models/folder-parent.d.ts +0 -19
  223. package/dist/api/models/folder-parent.d.ts.map +0 -1
  224. package/dist/api/models/folder-parent.js +0 -16
  225. package/dist/api/models/folder-parent.js.map +0 -1
  226. package/dist/api/models/folder.d.ts +0 -65
  227. package/dist/api/models/folder.d.ts.map +0 -1
  228. package/dist/api/models/folder.js +0 -16
  229. package/dist/api/models/folder.js.map +0 -1
  230. package/dist/api/models/group-mutation.d.ts +0 -26
  231. package/dist/api/models/group-mutation.d.ts.map +0 -1
  232. package/dist/api/models/group-mutation.js +0 -16
  233. package/dist/api/models/group-mutation.js.map +0 -1
  234. package/dist/api/models/group.d.ts +0 -38
  235. package/dist/api/models/group.d.ts.map +0 -1
  236. package/dist/api/models/group.js +0 -16
  237. package/dist/api/models/group.js.map +0 -1
  238. package/dist/api/models/index.d.ts +0 -55
  239. package/dist/api/models/index.d.ts.map +0 -1
  240. package/dist/api/models/index.js +0 -71
  241. package/dist/api/models/index.js.map +0 -1
  242. package/dist/api/models/model-error.d.ts +0 -26
  243. package/dist/api/models/model-error.d.ts.map +0 -1
  244. package/dist/api/models/model-error.js +0 -16
  245. package/dist/api/models/model-error.js.map +0 -1
  246. package/dist/api/models/oauth-revoke-post200-response.d.ts +0 -15
  247. package/dist/api/models/oauth-revoke-post200-response.d.ts.map +0 -1
  248. package/dist/api/models/oauth-revoke-post200-response.js +0 -16
  249. package/dist/api/models/oauth-revoke-post200-response.js.map +0 -1
  250. package/dist/api/models/permission-actor.d.ts +0 -20
  251. package/dist/api/models/permission-actor.d.ts.map +0 -1
  252. package/dist/api/models/permission-actor.js +0 -16
  253. package/dist/api/models/permission-actor.js.map +0 -1
  254. package/dist/api/models/permission-mutation.d.ts +0 -44
  255. package/dist/api/models/permission-mutation.d.ts.map +0 -1
  256. package/dist/api/models/permission-mutation.js +0 -22
  257. package/dist/api/models/permission-mutation.js.map +0 -1
  258. package/dist/api/models/permission-permissible.d.ts +0 -20
  259. package/dist/api/models/permission-permissible.d.ts.map +0 -1
  260. package/dist/api/models/permission-permissible.js +0 -16
  261. package/dist/api/models/permission-permissible.js.map +0 -1
  262. package/dist/api/models/permission.d.ts +0 -60
  263. package/dist/api/models/permission.d.ts.map +0 -1
  264. package/dist/api/models/permission.js +0 -22
  265. package/dist/api/models/permission.js.map +0 -1
  266. package/dist/api/models/token-response.d.ts +0 -41
  267. package/dist/api/models/token-response.d.ts.map +0 -1
  268. package/dist/api/models/token-response.js +0 -16
  269. package/dist/api/models/token-response.js.map +0 -1
  270. package/dist/api/models/user-mutation.d.ts +0 -45
  271. package/dist/api/models/user-mutation.d.ts.map +0 -1
  272. package/dist/api/models/user-mutation.js +0 -23
  273. package/dist/api/models/user-mutation.js.map +0 -1
  274. package/dist/api/models/user.d.ts +0 -61
  275. package/dist/api/models/user.d.ts.map +0 -1
  276. package/dist/api/models/user.js +0 -23
  277. package/dist/api/models/user.js.map +0 -1
  278. package/dist/api/models/workspace-mutation-settings-validation.d.ts +0 -26
  279. package/dist/api/models/workspace-mutation-settings-validation.d.ts.map +0 -1
  280. package/dist/api/models/workspace-mutation-settings-validation.js +0 -16
  281. package/dist/api/models/workspace-mutation-settings-validation.js.map +0 -1
  282. package/dist/api/models/workspace-mutation-settings.d.ts +0 -60
  283. package/dist/api/models/workspace-mutation-settings.d.ts.map +0 -1
  284. package/dist/api/models/workspace-mutation-settings.js +0 -16
  285. package/dist/api/models/workspace-mutation-settings.js.map +0 -1
  286. package/dist/api/models/workspace-mutation.d.ts +0 -44
  287. package/dist/api/models/workspace-mutation.d.ts.map +0 -1
  288. package/dist/api/models/workspace-mutation.js +0 -16
  289. package/dist/api/models/workspace-mutation.js.map +0 -1
  290. package/dist/api/models/workspace-settings-validation.d.ts +0 -26
  291. package/dist/api/models/workspace-settings-validation.d.ts.map +0 -1
  292. package/dist/api/models/workspace-settings-validation.js +0 -16
  293. package/dist/api/models/workspace-settings-validation.js.map +0 -1
  294. package/dist/api/models/workspace-settings.d.ts +0 -60
  295. package/dist/api/models/workspace-settings.d.ts.map +0 -1
  296. package/dist/api/models/workspace-settings.js +0 -16
  297. package/dist/api/models/workspace-settings.js.map +0 -1
  298. package/dist/api/models/workspace.d.ts +0 -62
  299. package/dist/api/models/workspace.d.ts.map +0 -1
  300. package/dist/api/models/workspace.js +0 -16
  301. package/dist/api/models/workspace.js.map +0 -1
  302. package/dist/api-client.d.ts +0 -19
  303. package/dist/api-client.d.ts.map +0 -1
  304. package/dist/api-client.js +0 -43
  305. package/dist/api-client.js.map +0 -1
  306. package/dist/cli/handlers/command-handlers.d.ts +0 -29
  307. package/dist/cli/handlers/command-handlers.d.ts.map +0 -1
  308. package/dist/cli/handlers/command-handlers.js +0 -261
  309. package/dist/cli/handlers/command-handlers.js.map +0 -1
  310. package/dist/cli/handlers/engine-handlers.d.ts +0 -15
  311. package/dist/cli/handlers/engine-handlers.d.ts.map +0 -1
  312. package/dist/cli/handlers/engine-handlers.js +0 -174
  313. package/dist/cli/handlers/engine-handlers.js.map +0 -1
  314. package/dist/cli/interactive.d.ts +0 -15
  315. package/dist/cli/interactive.d.ts.map +0 -1
  316. package/dist/cli/interactive.js +0 -234
  317. package/dist/cli/interactive.js.map +0 -1
  318. package/dist/cli.d.ts +0 -3
  319. package/dist/cli.d.ts.map +0 -1
  320. package/dist/cli.js +0 -203
  321. package/dist/cli.js.map +0 -1
  322. package/dist/commands/export.d.ts +0 -15
  323. package/dist/commands/export.d.ts.map +0 -1
  324. package/dist/commands/export.js +0 -188
  325. package/dist/commands/export.js.map +0 -1
  326. package/dist/commands/import.d.ts +0 -32
  327. package/dist/commands/import.d.ts.map +0 -1
  328. package/dist/commands/import.js +0 -315
  329. package/dist/commands/import.js.map +0 -1
  330. package/dist/index.d.ts +0 -31
  331. package/dist/index.d.ts.map +0 -1
  332. package/dist/index.js +0 -72
  333. package/dist/index.js.map +0 -1
  334. package/dist/plugins/alfresco/index.d.ts +0 -26
  335. package/dist/plugins/alfresco/index.d.ts.map +0 -1
  336. package/dist/plugins/alfresco/index.js +0 -405
  337. package/dist/plugins/alfresco/index.js.map +0 -1
  338. package/dist/plugins/alfresco/plugin.json +0 -12
  339. package/dist/plugins/aws-s3/index.d.ts +0 -23
  340. package/dist/plugins/aws-s3/index.d.ts.map +0 -1
  341. package/dist/plugins/aws-s3/index.js +0 -383
  342. package/dist/plugins/aws-s3/index.js.map +0 -1
  343. package/dist/plugins/aws-s3/plugin.json +0 -12
  344. package/dist/plugins/azure-blob/index.d.ts +0 -23
  345. package/dist/plugins/azure-blob/index.d.ts.map +0 -1
  346. package/dist/plugins/azure-blob/index.js +0 -340
  347. package/dist/plugins/azure-blob/index.js.map +0 -1
  348. package/dist/plugins/azure-blob/plugin.json +0 -12
  349. package/dist/plugins/box/index.d.ts +0 -26
  350. package/dist/plugins/box/index.d.ts.map +0 -1
  351. package/dist/plugins/box/index.js +0 -387
  352. package/dist/plugins/box/index.js.map +0 -1
  353. package/dist/plugins/box/plugin.json +0 -12
  354. package/dist/plugins/core/index.d.ts +0 -25
  355. package/dist/plugins/core/index.d.ts.map +0 -1
  356. package/dist/plugins/core/index.js +0 -400
  357. package/dist/plugins/core/index.js.map +0 -1
  358. package/dist/plugins/core/plugin.json +0 -26
  359. package/dist/plugins/dropbox/index.d.ts +0 -27
  360. package/dist/plugins/dropbox/index.d.ts.map +0 -1
  361. package/dist/plugins/dropbox/index.js +0 -375
  362. package/dist/plugins/dropbox/index.js.map +0 -1
  363. package/dist/plugins/dropbox/plugin.json +0 -12
  364. package/dist/plugins/filesystem/index.d.ts +0 -22
  365. package/dist/plugins/filesystem/index.d.ts.map +0 -1
  366. package/dist/plugins/filesystem/index.js +0 -306
  367. package/dist/plugins/filesystem/index.js.map +0 -1
  368. package/dist/plugins/filesystem/plugin.json +0 -12
  369. package/dist/plugins/googledrive/index.d.ts +0 -27
  370. package/dist/plugins/googledrive/index.d.ts.map +0 -1
  371. package/dist/plugins/googledrive/index.js +0 -383
  372. package/dist/plugins/googledrive/index.js.map +0 -1
  373. package/dist/plugins/googledrive/plugin.json +0 -12
  374. package/dist/plugins/nuxeo/index.d.ts +0 -24
  375. package/dist/plugins/nuxeo/index.d.ts.map +0 -1
  376. package/dist/plugins/nuxeo/index.js +0 -405
  377. package/dist/plugins/nuxeo/index.js.map +0 -1
  378. package/dist/plugins/nuxeo/plugin.json +0 -12
  379. package/dist/plugins/onedrive/index.d.ts +0 -25
  380. package/dist/plugins/onedrive/index.d.ts.map +0 -1
  381. package/dist/plugins/onedrive/index.js +0 -362
  382. package/dist/plugins/onedrive/index.js.map +0 -1
  383. package/dist/plugins/onedrive/plugin.json +0 -12
  384. package/dist/plugins/opentext/index.d.ts +0 -26
  385. package/dist/plugins/opentext/index.d.ts.map +0 -1
  386. package/dist/plugins/opentext/index.js +0 -440
  387. package/dist/plugins/opentext/index.js.map +0 -1
  388. package/dist/plugins/opentext/plugin.json +0 -12
  389. package/dist/plugins/sharepoint/index.d.ts +0 -27
  390. package/dist/plugins/sharepoint/index.d.ts.map +0 -1
  391. package/dist/plugins/sharepoint/index.js +0 -397
  392. package/dist/plugins/sharepoint/index.js.map +0 -1
  393. package/dist/plugins/sharepoint/plugin.json +0 -12
  394. package/dist/services/chunked-uploader.d.ts +0 -83
  395. package/dist/services/chunked-uploader.d.ts.map +0 -1
  396. package/dist/services/chunked-uploader.js +0 -321
  397. package/dist/services/chunked-uploader.js.map +0 -1
  398. package/dist/services/hubdoc-api.d.ts +0 -43
  399. package/dist/services/hubdoc-api.d.ts.map +0 -1
  400. package/dist/services/hubdoc-api.js +0 -382
  401. package/dist/services/hubdoc-api.js.map +0 -1
  402. package/dist/services/hubdoc-export.d.ts +0 -17
  403. package/dist/services/hubdoc-export.d.ts.map +0 -1
  404. package/dist/services/hubdoc-export.js +0 -196
  405. package/dist/services/hubdoc-export.js.map +0 -1
  406. package/dist/services/oauth-token-service.d.ts +0 -74
  407. package/dist/services/oauth-token-service.d.ts.map +0 -1
  408. package/dist/services/oauth-token-service.js +0 -344
  409. package/dist/services/oauth-token-service.js.map +0 -1
  410. package/dist/services/permission-manager.d.ts +0 -42
  411. package/dist/services/permission-manager.d.ts.map +0 -1
  412. package/dist/services/permission-manager.js +0 -187
  413. package/dist/services/permission-manager.js.map +0 -1
  414. package/dist/services/plugin-import.d.ts +0 -64
  415. package/dist/services/plugin-import.d.ts.map +0 -1
  416. package/dist/services/plugin-import.js +0 -284
  417. package/dist/services/plugin-import.js.map +0 -1
  418. package/dist/services/plugin-manager.d.ts +0 -73
  419. package/dist/services/plugin-manager.d.ts.map +0 -1
  420. package/dist/services/plugin-manager.js +0 -306
  421. package/dist/services/plugin-manager.js.map +0 -1
  422. package/dist/src/types/plugins.d.ts +0 -111
  423. package/dist/src/types/plugins.d.ts.map +0 -1
  424. package/dist/src/types/plugins.js +0 -3
  425. package/dist/src/types/plugins.js.map +0 -1
  426. package/dist/src/utils/concurrent-processor.d.ts +0 -63
  427. package/dist/src/utils/concurrent-processor.d.ts.map +0 -1
  428. package/dist/src/utils/concurrent-processor.js +0 -240
  429. package/dist/src/utils/concurrent-processor.js.map +0 -1
  430. package/dist/src/utils/xml-metadata.d.ts +0 -47
  431. package/dist/src/utils/xml-metadata.d.ts.map +0 -1
  432. package/dist/src/utils/xml-metadata.js +0 -200
  433. package/dist/src/utils/xml-metadata.js.map +0 -1
  434. package/dist/types/export.d.ts +0 -44
  435. package/dist/types/export.d.ts.map +0 -1
  436. package/dist/types/export.js +0 -3
  437. package/dist/types/export.js.map +0 -1
  438. package/dist/types/index.d.ts +0 -77
  439. package/dist/types/index.d.ts.map +0 -1
  440. package/dist/types/index.js +0 -3
  441. package/dist/types/index.js.map +0 -1
  442. package/dist/types/plugins.d.ts +0 -111
  443. package/dist/types/plugins.d.ts.map +0 -1
  444. package/dist/types/plugins.js +0 -3
  445. package/dist/types/plugins.js.map +0 -1
  446. package/dist/utils/concurrent-processor.d.ts +0 -63
  447. package/dist/utils/concurrent-processor.d.ts.map +0 -1
  448. package/dist/utils/concurrent-processor.js +0 -240
  449. package/dist/utils/concurrent-processor.js.map +0 -1
  450. package/dist/utils/config.d.ts +0 -40
  451. package/dist/utils/config.d.ts.map +0 -1
  452. package/dist/utils/config.js +0 -249
  453. package/dist/utils/config.js.map +0 -1
  454. package/dist/utils/csv.d.ts +0 -90
  455. package/dist/utils/csv.d.ts.map +0 -1
  456. package/dist/utils/csv.js +0 -564
  457. package/dist/utils/csv.js.map +0 -1
  458. package/dist/utils/export-csv.d.ts +0 -14
  459. package/dist/utils/export-csv.d.ts.map +0 -1
  460. package/dist/utils/export-csv.js +0 -129
  461. package/dist/utils/export-csv.js.map +0 -1
  462. package/dist/utils/operation-logger.d.ts +0 -110
  463. package/dist/utils/operation-logger.d.ts.map +0 -1
  464. package/dist/utils/operation-logger.js +0 -226
  465. package/dist/utils/operation-logger.js.map +0 -1
  466. package/dist/utils/xml-metadata-generator.d.ts +0 -50
  467. package/dist/utils/xml-metadata-generator.d.ts.map +0 -1
  468. package/dist/utils/xml-metadata-generator.js +0 -162
  469. package/dist/utils/xml-metadata-generator.js.map +0 -1
  470. package/dist/utils/xml-metadata.d.ts +0 -47
  471. package/dist/utils/xml-metadata.d.ts.map +0 -1
  472. package/dist/utils/xml-metadata.js +0 -200
  473. package/dist/utils/xml-metadata.js.map +0 -1
@@ -1,382 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HubDocApiService = void 0;
7
- const api_1 = require("../api/api");
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const form_data_1 = __importDefault(require("form-data"));
10
- const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const path_1 = __importDefault(require("path"));
12
- const permission_manager_1 = require("./permission-manager");
13
- const api_client_1 = require("../api-client");
14
- const chunked_uploader_1 = require("./chunked-uploader");
15
- class HubDocApiService {
16
- constructor(config) {
17
- // Cache for folders to avoid duplicates during batch imports
18
- // Key format: "workspace_id:parent_id:folder_name" or "global:parent_id:folder_name"
19
- this.folderCache = new Map();
20
- this.config = config;
21
- // Create API configuration
22
- const { configuration: apiConfig, axiosInstance } = (0, api_client_1.createApiConfiguration)(config.token, config.apiUrl);
23
- this.client = axiosInstance;
24
- this.workspacesApi = new api_1.WorkspacesApi(apiConfig, config.apiUrl, this.client);
25
- this.foldersApi = new api_1.FoldersApi(apiConfig, config.apiUrl, this.client);
26
- this.documentsApi = new api_1.DocumentsApi(apiConfig, config.apiUrl, this.client);
27
- this.bulkUploadsApi = new api_1.BulkUploadsApi(apiConfig, config.apiUrl, this.client);
28
- this.permissionsApi = new api_1.PermissionsApi(apiConfig, config.apiUrl, this.client);
29
- this.groupsApi = new api_1.GroupsApi(apiConfig, config.apiUrl, this.client);
30
- this.usersApi = new api_1.UsersApi(apiConfig, config.apiUrl, this.client);
31
- this.permissionManager = new permission_manager_1.PermissionManager(apiConfig, this.client);
32
- this.chunkedUploader = new chunked_uploader_1.ChunkedUploader(config.apiUrl, config.token || '');
33
- }
34
- async testConnection() {
35
- try {
36
- await this.workspacesApi.apiV1DocumentsWorkspacesGet();
37
- return true;
38
- }
39
- catch (error) {
40
- console.error(chalk_1.default.red('❌ API connection failed:', JSON.stringify(this.config)), error.message);
41
- return false;
42
- }
43
- }
44
- async getFolders(workspaceId, documentsFolderId) {
45
- try {
46
- // Fetch all folders with high per_page to avoid pagination issues
47
- // This ensures we find existing folders instead of creating duplicates
48
- const response = await this.foldersApi.apiV1DocumentsFoldersGet(workspaceId, documentsFolderId, undefined, // sort
49
- undefined, // direction
50
- 1000 // perPage - high limit to get all folders
51
- );
52
- return response.data;
53
- }
54
- catch (error) {
55
- throw new Error(`Failed to fetch folders: ${error.message}`);
56
- }
57
- }
58
- async getDocuments(workspaceId, documentsFolderId) {
59
- try {
60
- const response = await this.documentsApi.apiV1DocumentsDocumentsGet(workspaceId, documentsFolderId);
61
- return response.data;
62
- }
63
- catch (error) {
64
- throw new Error(`Failed to fetch documents: ${error.message}`);
65
- }
66
- }
67
- async createFolder(name, workspaceId, parentFolderId) {
68
- try {
69
- const folderData = { name };
70
- if (workspaceId) {
71
- folderData.workspace_id = workspaceId;
72
- }
73
- if (parentFolderId) {
74
- folderData.documents_folder_id = parentFolderId;
75
- }
76
- const response = await this.foldersApi.apiV1DocumentsFoldersPost(api_1.ApiV1DocumentsFoldersPostContentTypeEnum.ApplicationJson, folderData);
77
- return response.data;
78
- }
79
- catch (error) {
80
- throw new Error(`Failed to create folder "${name}": ${error.message}`);
81
- }
82
- }
83
- async findOrCreateFolder(name, workspaceId, parentFolderId) {
84
- // Check if path contains subfolders (e.g., "DCE/FACTURES")
85
- const pathParts = name.split('/').map(part => part.trim()).filter(part => part !== '');
86
- if (pathParts.length > 1) {
87
- // Handle nested folder structure recursively
88
- console.log(chalk_1.default.gray(`📂 Processing nested path: ${name}`));
89
- let currentParentId = parentFolderId;
90
- let lastFolder;
91
- for (let i = 0; i < pathParts.length; i++) {
92
- const folderName = pathParts[i];
93
- const folder = await this.findOrCreateSingleFolder(folderName, workspaceId, currentParentId);
94
- lastFolder = folder;
95
- currentParentId = folder.id;
96
- }
97
- if (!lastFolder) {
98
- throw new Error(`Failed to create folder hierarchy: ${name}`);
99
- }
100
- return lastFolder;
101
- }
102
- // Single folder (no nesting)
103
- return this.findOrCreateSingleFolder(name.trim(), workspaceId, parentFolderId);
104
- }
105
- async findOrCreateSingleFolder(name, workspaceId, parentFolderId) {
106
- // Normalize name for comparison (trim and handle case-insensitivity)
107
- const normalizedName = name.trim();
108
- // Create cache key: workspace:parent:name
109
- const cacheKey = `${workspaceId || 'global'}:${parentFolderId || 'root'}:${normalizedName.toLowerCase()}`;
110
- // Check cache first
111
- const cachedFolder = this.folderCache.get(cacheKey);
112
- if (cachedFolder) {
113
- console.log(chalk_1.default.gray(`📦 Using cached folder: ${cachedFolder.name} (ID: ${cachedFolder.id})`));
114
- return cachedFolder;
115
- }
116
- // Fetch folders filtered by workspace to avoid duplicates
117
- const folders = await this.getFolders(workspaceId);
118
- // Try to find existing folder by exact name match and parent
119
- let folder = folders.find((f) => f.name === normalizedName &&
120
- (!workspaceId || f.workspace_id === workspaceId) &&
121
- (parentFolderId ? f.documents_folder_id === parentFolderId : !f.documents_folder_id));
122
- // If not found, try case-insensitive match
123
- if (!folder) {
124
- folder = folders.find((f) => f.name?.trim().toLowerCase() === normalizedName.toLowerCase() &&
125
- (!workspaceId || f.workspace_id === workspaceId) &&
126
- (parentFolderId ? f.documents_folder_id === parentFolderId : !f.documents_folder_id));
127
- }
128
- if (!folder) {
129
- const parentInfo = parentFolderId ? ` (parent: ${parentFolderId})` : '';
130
- console.log(chalk_1.default.blue(`📁 Creating folder: ${normalizedName}${workspaceId ? ` (workspace: ${workspaceId})` : ''}${parentInfo}`));
131
- folder = await this.createFolder(normalizedName, workspaceId, parentFolderId);
132
- }
133
- else {
134
- console.log(chalk_1.default.gray(`📁 Using existing folder: ${folder.name} (ID: ${folder.id})`));
135
- }
136
- // Store in cache
137
- this.folderCache.set(cacheKey, folder);
138
- return folder;
139
- }
140
- /**
141
- * Clear the folder cache
142
- */
143
- clearFolderCache() {
144
- this.folderCache.clear();
145
- console.log(chalk_1.default.gray('🗑️ Folder cache cleared'));
146
- }
147
- /**
148
- * Pre-populate folder cache from existing folders
149
- * This improves performance for large imports by avoiding repeated API calls
150
- */
151
- async populateFolderCache(workspaceId) {
152
- console.log(chalk_1.default.gray('📥 Pre-loading folder cache...'));
153
- const folders = await this.getFolders(workspaceId);
154
- folders.forEach((folder) => {
155
- const cacheKey = `${folder.workspace_id || 'global'}:${folder.documents_folder_id || 'root'}:${folder.name.toLowerCase()}`;
156
- this.folderCache.set(cacheKey, folder);
157
- });
158
- console.log(chalk_1.default.gray(`📦 Cached ${folders.length} existing folders`));
159
- // Pré-charger aussi le cache des permissions
160
- await this.permissionManager.preloadCache();
161
- }
162
- async getWorkspaces() {
163
- try {
164
- const response = await this.workspacesApi.apiV1DocumentsWorkspacesGet();
165
- return response.data;
166
- }
167
- catch (error) {
168
- throw new Error(`Failed to fetch workspaces: ${error.message}`);
169
- }
170
- }
171
- async findWorkspace(labelToFind) {
172
- const workspaces = await this.getWorkspaces();
173
- // First try exact match on label
174
- let workspace = workspaces.find(w => w.label === labelToFind);
175
- // If not found, try case-insensitive match with trimmed whitespace
176
- if (!workspace) {
177
- const normalizedLabel = labelToFind.trim().toLowerCase();
178
- workspace = workspaces.find(w => w.label?.trim().toLowerCase() === normalizedLabel);
179
- }
180
- // If still not found, log available workspaces for debugging
181
- if (!workspace) {
182
- console.log(chalk_1.default.yellow(`\n⚠️ Workspace "${labelToFind}" not found.`));
183
- console.log(chalk_1.default.blue('Available workspaces:'));
184
- workspaces.forEach((w, index) => {
185
- console.log(chalk_1.default.gray(` ${index + 1}. "${w.label}" (ID: ${w.id})`));
186
- });
187
- }
188
- return workspace || null;
189
- }
190
- async createBulkUpload(totalFiles, folderId, workspaceId, autoClassify = false, source = 'hubdoc-tools') {
191
- try {
192
- const bulkUploadData = {
193
- total_files: totalFiles,
194
- source,
195
- auto_classify: autoClassify
196
- };
197
- if (folderId) {
198
- bulkUploadData.documents_folder_id = folderId;
199
- }
200
- if (workspaceId) {
201
- bulkUploadData.workspace_id = workspaceId;
202
- }
203
- const response = await this.bulkUploadsApi.apiV1DocumentsBulkUploadsPost(bulkUploadData);
204
- return response.data;
205
- }
206
- catch (error) {
207
- throw new Error(`Failed to create bulk upload: ${error.message}`);
208
- }
209
- }
210
- async getBulkUploadStatus(bulkUploadId) {
211
- try {
212
- const response = await this.bulkUploadsApi.apiV1DocumentsBulkUploadsIdGet(bulkUploadId);
213
- return response.data;
214
- }
215
- catch (error) {
216
- throw new Error(`Failed to get bulk upload status: ${error.message}`);
217
- }
218
- }
219
- async uploadDocument(filePath, folderId, mapping, bulkUploadId, workspaceId, onProgress) {
220
- if (!await fs_extra_1.default.pathExists(filePath)) {
221
- throw new Error(`File not found: ${filePath}`);
222
- }
223
- // Normalize filename to NFC to handle accented characters consistently across platforms
224
- const fileName = path_1.default.basename(filePath).normalize('NFC');
225
- // Check file size to determine upload method
226
- const stats = await fs_extra_1.default.stat(filePath);
227
- const fileSize = stats.size;
228
- const useChunkedUpload = chunked_uploader_1.ChunkedUploader.shouldUseChunkedUpload(fileSize);
229
- let chunkedUploadId;
230
- if (useChunkedUpload) {
231
- // Use chunked upload for large files
232
- console.log(chalk_1.default.blue(` 📦 Using chunked upload for large file (${this.formatBytes(fileSize)})`));
233
- const uploadResult = await this.chunkedUploader.uploadFile({
234
- filePath,
235
- workspaceId,
236
- folderId,
237
- metadata: mapping.metadata,
238
- onProgress
239
- });
240
- if (!uploadResult.success) {
241
- throw new Error(`Chunked upload failed: ${uploadResult.error}`);
242
- }
243
- chunkedUploadId = uploadResult.uploadId;
244
- console.log(chalk_1.default.green(` ✅ Chunked upload completed: ${uploadResult.uploadId}`));
245
- }
246
- // Create document using direct upload or chunked_upload_id
247
- const formData = new form_data_1.default();
248
- if (chunkedUploadId) {
249
- // Reference the chunked upload
250
- formData.append('chunked_upload_id', chunkedUploadId);
251
- }
252
- else {
253
- // Direct upload for small files
254
- const fileStream = fs_extra_1.default.createReadStream(filePath);
255
- formData.append('uploaded_file', fileStream, {
256
- filename: fileName,
257
- contentType: 'application/octet-stream'
258
- });
259
- }
260
- // Only add folder_id if provided
261
- if (folderId) {
262
- formData.append('documents_folder_id', folderId);
263
- }
264
- // Add workspace_id if provided and no folder specified
265
- if (workspaceId && !folderId) {
266
- formData.append('workspace_id', workspaceId);
267
- }
268
- // Add bulk_upload_id if provided
269
- if (bulkUploadId) {
270
- formData.append('bulk_upload_id', bulkUploadId);
271
- }
272
- // Add auto_classify if provided
273
- if (mapping.autoClassify !== undefined) {
274
- formData.append('auto_classify', String(mapping.autoClassify));
275
- }
276
- // Add metadata if provided (stringify entire object, backend will parse)
277
- if (mapping.metadata) {
278
- formData.append('metadata_user', JSON.stringify(mapping.metadata));
279
- }
280
- try {
281
- // Use direct axios client for multipart/form-data uploads
282
- // Generated client doesn't handle Node.js file streams correctly (uses browser Blob API)
283
- const response = await this.client.post('/api/v1/documents/documents', formData, {
284
- headers: {
285
- ...formData.getHeaders()
286
- }
287
- });
288
- const document = response.data;
289
- // Apply permissions if provided
290
- if (mapping.permissions) {
291
- if (mapping.permissions.read) {
292
- await this.permissionManager.assignDocumentPermissions(document.id, mapping.permissions.read, 'read');
293
- }
294
- if (mapping.permissions.write) {
295
- await this.permissionManager.assignDocumentPermissions(document.id, mapping.permissions.write, 'write');
296
- }
297
- }
298
- return document;
299
- }
300
- catch (error) {
301
- throw new Error(`Failed to upload document "${fileName}": ${error.message}`);
302
- }
303
- }
304
- formatBytes(bytes) {
305
- if (bytes === 0)
306
- return '0 Bytes';
307
- const k = 1024;
308
- const sizes = ['Bytes', 'KB', 'MB', 'GB'];
309
- const i = Math.floor(Math.log(bytes) / Math.log(k));
310
- return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
311
- }
312
- async importDocument(mapping, bulkUploadId, onProgress) {
313
- const result = {
314
- success: false,
315
- filePath: mapping.filePath
316
- };
317
- try {
318
- // Resolve workspace if specified
319
- let workspaceId;
320
- if (mapping.workspace) {
321
- const workspace = await this.findWorkspace(mapping.workspace);
322
- if (!workspace) {
323
- throw new Error(`Workspace not found: ${mapping.workspace}`);
324
- }
325
- workspaceId = workspace.id;
326
- }
327
- // Find or create target folder
328
- // Only use default folder name if targetFolder is explicitly undefined or null
329
- // Empty string means user wants to use workspace root (no specific folder)
330
- let folder;
331
- // Debug logging
332
- console.log(chalk_1.default.gray(` 📋 Mapping - File: ${path_1.default.basename(mapping.filePath)}, TargetFolder: "${mapping.targetFolder}", Workspace: "${mapping.workspace}"`));
333
- if (mapping.targetFolder !== undefined && mapping.targetFolder !== null && mapping.targetFolder.trim() !== '') {
334
- // User specified a target folder
335
- console.log(chalk_1.default.gray(` → Using specified folder: "${mapping.targetFolder}"`));
336
- folder = await this.findOrCreateFolder(mapping.targetFolder, workspaceId);
337
- }
338
- else if (workspaceId) {
339
- console.log(chalk_1.default.gray(` → No target folder specified, uploading to workspace root`));
340
- // User specified workspace but no folder - upload directly to workspace without folder
341
- folder = undefined;
342
- }
343
- else {
344
- // No workspace and no folder specified - use global default
345
- console.log(chalk_1.default.gray(` → No workspace or folder specified, using default folder`));
346
- folder = await this.findOrCreateFolder('Imported Documents', workspaceId);
347
- }
348
- // Upload document with bulk_upload_id and progress callback
349
- const document = await this.uploadDocument(mapping.filePath, folder?.id, mapping, bulkUploadId, workspaceId, onProgress);
350
- result.success = true;
351
- result.document = document;
352
- const folderDisplay = folder?.name || 'Workspace Root';
353
- const workspaceDisplay = workspaceId ? ` (workspace: ${mapping.workspace})` : '';
354
- console.log(chalk_1.default.green(`✅ Uploaded: ${path_1.default.basename(mapping.filePath)} → ${folderDisplay}${workspaceDisplay}`));
355
- }
356
- catch (error) {
357
- result.error = error.message;
358
- console.error(chalk_1.default.red(`❌ Failed to import ${mapping.filePath}: ${error.message}`));
359
- }
360
- return result;
361
- }
362
- async getGroups() {
363
- try {
364
- const response = await this.groupsApi.apiV1GroupsGet();
365
- return response.data;
366
- }
367
- catch (error) {
368
- throw new Error(`Failed to fetch groups: ${error.message}`);
369
- }
370
- }
371
- async getUsers() {
372
- try {
373
- const response = await this.usersApi.apiV1UsersGet();
374
- return response.data;
375
- }
376
- catch (error) {
377
- throw new Error(`Failed to fetch users: ${error.message}`);
378
- }
379
- }
380
- }
381
- exports.HubDocApiService = HubDocApiService;
382
- //# sourceMappingURL=hubdoc-api.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubdoc-api.js","sourceRoot":"","sources":["../../src/services/hubdoc-api.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import { HubDocConfig } from '../types';
2
- import { ExportMapping, ExportResult, HubDocDocument } from '../types/export';
3
- export declare class HubDocExportService {
4
- private client;
5
- private config;
6
- constructor(config: HubDocConfig);
7
- testConnection(): Promise<boolean>;
8
- getAllDocuments(projectFilter?: string, domainFilter?: string): Promise<HubDocDocument[]>;
9
- getDocumentDetails(documentId: string): Promise<HubDocDocument>;
10
- generateExportMapping(projectFilter?: string, domainFilter?: string): Promise<ExportMapping[]>;
11
- downloadDocument(documentId: string, downloadUrl: string, targetPath: string): Promise<void>;
12
- exportDocument(mapping: ExportMapping, baseDir: string): Promise<ExportResult>;
13
- exportDocuments(mappings: ExportMapping[], baseDir?: string): Promise<ExportResult[]>;
14
- exportDocumentsConcurrent(mappings: ExportMapping[], baseDir?: string, concurrency?: number): Promise<ExportResult[]>;
15
- private printExportSummary;
16
- }
17
- //# sourceMappingURL=hubdoc-export.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubdoc-export.d.ts","sourceRoot":"","sources":["../../src/services/hubdoc-export.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAmB,MAAM,iBAAiB,CAAC;AAG/F,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;IAW1B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAUlC,eAAe,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAwBzF,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAS/D,qBAAqB,CACzB,aAAa,CAAC,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,aAAa,EAAE,CAAC;IAwCrB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB5F,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA4B9E,eAAe,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,GAAE,MAAmB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAuBjG,yBAAyB,CAC7B,QAAQ,EAAE,aAAa,EAAE,EACzB,OAAO,GAAE,MAAmB,EAC5B,WAAW,GAAE,MAAU,GACtB,OAAO,CAAC,YAAY,EAAE,CAAC;IAsC1B,OAAO,CAAC,kBAAkB;CAkB3B"}
@@ -1,196 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.HubDocExportService = void 0;
7
- const axios_1 = __importDefault(require("axios"));
8
- const chalk_1 = __importDefault(require("chalk"));
9
- const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const path_1 = __importDefault(require("path"));
11
- const concurrent_processor_1 = require("../utils/concurrent-processor");
12
- class HubDocExportService {
13
- constructor(config) {
14
- this.config = config;
15
- this.client = axios_1.default.create({
16
- baseURL: config.apiUrl,
17
- headers: {
18
- 'Authorization': `Bearer ${config.token}`,
19
- 'Accept': 'application/json'
20
- }
21
- });
22
- }
23
- async testConnection() {
24
- try {
25
- await this.client.get('/ping');
26
- return true;
27
- }
28
- catch (error) {
29
- console.error(chalk_1.default.red('❌ API connection failed:'), error.message);
30
- return false;
31
- }
32
- }
33
- async getAllDocuments(projectFilter, domainFilter) {
34
- try {
35
- let url = '/documents';
36
- const params = [];
37
- if (projectFilter) {
38
- params.push(`project=${encodeURIComponent(projectFilter)}`);
39
- }
40
- if (domainFilter) {
41
- params.push(`domain=${encodeURIComponent(domainFilter)}`);
42
- }
43
- if (params.length > 0) {
44
- url += `?${params.join('&')}`;
45
- }
46
- const response = await this.client.get(url);
47
- return response.data;
48
- }
49
- catch (error) {
50
- throw new Error(`Failed to fetch documents: ${error.message}`);
51
- }
52
- }
53
- async getDocumentDetails(documentId) {
54
- try {
55
- const response = await this.client.get(`/documents/${documentId}`);
56
- return response.data;
57
- }
58
- catch (error) {
59
- throw new Error(`Failed to fetch document ${documentId}: ${error.message}`);
60
- }
61
- }
62
- async generateExportMapping(projectFilter, domainFilter) {
63
- const documents = await this.getAllDocuments(projectFilter, domainFilter);
64
- const mappings = [];
65
- for (const doc of documents) {
66
- // Get detailed information for each document
67
- const detailedDoc = await this.getDocumentDetails(doc.id);
68
- // Extract project locations
69
- const projects = [];
70
- if (detailedDoc.project && detailedDoc.folder_path) {
71
- projects.push({
72
- projectName: detailedDoc.project.name,
73
- folderPath: detailedDoc.folder_path,
74
- fullPath: `${detailedDoc.project.name}/${detailedDoc.folder_path}`
75
- });
76
- }
77
- // Default target path is the first (and often only) project location
78
- const defaultTargetPath = projects.length > 0
79
- ? projects[0].fullPath.replace(/[/\\]/g, path_1.default.sep)
80
- : 'Exported Documents';
81
- const mapping = {
82
- documentId: doc.id,
83
- documentName: doc.name,
84
- projects,
85
- downloadUrl: doc.download_url,
86
- metadata: doc.metadata,
87
- targetPath: defaultTargetPath
88
- };
89
- mappings.push(mapping);
90
- }
91
- console.log(chalk_1.default.green(`✅ Generated export mapping for ${mappings.length} documents`));
92
- return mappings;
93
- }
94
- async downloadDocument(documentId, downloadUrl, targetPath) {
95
- try {
96
- // Create directory if it doesn't exist
97
- await fs_extra_1.default.ensureDir(path_1.default.dirname(targetPath));
98
- // Download the document
99
- const response = await this.client.get(downloadUrl, {
100
- responseType: 'stream'
101
- });
102
- // Save to file
103
- const writer = fs_extra_1.default.createWriteStream(targetPath);
104
- response.data.pipe(writer);
105
- return new Promise((resolve, reject) => {
106
- writer.on('finish', resolve);
107
- writer.on('error', reject);
108
- });
109
- }
110
- catch (error) {
111
- throw new Error(`Failed to download document ${documentId}: ${error.message}`);
112
- }
113
- }
114
- async exportDocument(mapping, baseDir) {
115
- const result = {
116
- success: false,
117
- documentName: mapping.documentName,
118
- exportedPath: ''
119
- };
120
- try {
121
- // Build the full export path
122
- const targetPath = mapping.targetPath || 'Exported Documents';
123
- const fullExportPath = path_1.default.join(baseDir, targetPath, mapping.documentName);
124
- // Download the document
125
- await this.downloadDocument(mapping.documentId, mapping.downloadUrl, fullExportPath);
126
- result.success = true;
127
- result.exportedPath = fullExportPath;
128
- console.log(chalk_1.default.green(`✅ Exported: ${mapping.documentName} → ${targetPath}`));
129
- }
130
- catch (error) {
131
- result.error = error.message;
132
- console.error(chalk_1.default.red(`❌ Failed to export ${mapping.documentName}: ${error.message}`));
133
- }
134
- return result;
135
- }
136
- async exportDocuments(mappings, baseDir = './export') {
137
- const results = [];
138
- const totalDocs = mappings.length;
139
- let currentDoc = 0;
140
- console.log(chalk_1.default.blue(`📦 Starting export of ${totalDocs} documents to ${baseDir}`));
141
- for (const mapping of mappings) {
142
- currentDoc++;
143
- const progress = `(${currentDoc}/${totalDocs})`;
144
- console.log(chalk_1.default.cyan(`${progress} Exporting: ${mapping.documentName}`));
145
- const result = await this.exportDocument(mapping, baseDir);
146
- results.push(result);
147
- }
148
- // Print summary
149
- this.printExportSummary(results);
150
- return results;
151
- }
152
- async exportDocumentsConcurrent(mappings, baseDir = './export', concurrency = 1) {
153
- console.log(chalk_1.default.blue(`📦 Starting concurrent export of ${mappings.length} documents to ${baseDir}`));
154
- const processingResult = await concurrent_processor_1.ConcurrentProcessor.processWithProgress(mappings, async (mapping, index) => {
155
- // Update documentId in result for proper identification
156
- const result = await this.exportDocument(mapping, baseDir);
157
- return {
158
- ...result,
159
- documentId: mapping.documentId
160
- };
161
- }, {
162
- concurrency,
163
- operation: 'Export',
164
- itemName: 'documents'
165
- });
166
- // Filter out undefined results and handle errors
167
- const validResults = processingResult.results.filter(r => r !== undefined);
168
- // Add error results
169
- const errorResults = processingResult.errors.map(({ item, error }) => ({
170
- success: false,
171
- documentId: item.documentId,
172
- documentName: item.documentName,
173
- exportedPath: '',
174
- error: error.message
175
- }));
176
- const allResults = [...validResults, ...errorResults];
177
- // Don't print summary here - let the command handle it
178
- return allResults;
179
- }
180
- printExportSummary(results) {
181
- const successful = results.filter(r => r.success);
182
- const failed = results.filter(r => !r.success);
183
- console.log('\n' + chalk_1.default.bold('📊 Export Summary'));
184
- console.log(chalk_1.default.green(`✅ Successful: ${successful.length}`));
185
- if (failed.length > 0) {
186
- console.log(chalk_1.default.red(`❌ Failed: ${failed.length}`));
187
- console.log('\n' + chalk_1.default.red('Failed exports:'));
188
- failed.forEach(result => {
189
- console.log(chalk_1.default.red(` • ${result.documentName}: ${result.error}`));
190
- });
191
- }
192
- console.log(chalk_1.default.blue(`\n📈 Total processed: ${results.length} documents`));
193
- }
194
- }
195
- exports.HubDocExportService = HubDocExportService;
196
- //# sourceMappingURL=hubdoc-export.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hubdoc-export.js","sourceRoot":"","sources":["../../src/services/hubdoc-export.ts"],"names":[],"mappings":"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"}