@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.
- package/README.md +147 -243
- package/cli.js +89268 -0
- package/docs/llm-usage.md +314 -0
- package/package.json +29 -100
- package/LICENSE +0 -21
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts +0 -15
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.d.ts.map +0 -1
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.js +0 -37
- package/dist/__tests__/fixtures/plugins/connection-plugin/index.js.map +0 -1
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts +0 -15
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.d.ts.map +0 -1
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.js +0 -54
- package/dist/__tests__/fixtures/plugins/scan-plugin/index.js.map +0 -1
- package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts +0 -15
- package/dist/__tests__/fixtures/plugins/test-plugin/index.d.ts.map +0 -1
- package/dist/__tests__/fixtures/plugins/test-plugin/index.js +0 -34
- package/dist/__tests__/fixtures/plugins/test-plugin/index.js.map +0 -1
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts +0 -16
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.d.ts.map +0 -1
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js +0 -145
- package/dist/__tests__/fixtures/plugins/workflow-plugin/index.js.map +0 -1
- package/dist/api/api/authentication-api.d.ts +0 -208
- package/dist/api/api/authentication-api.d.ts.map +0 -1
- package/dist/api/api/authentication-api.js +0 -385
- package/dist/api/api/authentication-api.js.map +0 -1
- package/dist/api/api/bulk-uploads-api.d.ts +0 -101
- package/dist/api/api/bulk-uploads-api.d.ts.map +0 -1
- package/dist/api/api/bulk-uploads-api.js +0 -195
- package/dist/api/api/bulk-uploads-api.js.map +0 -1
- package/dist/api/api/chunked-uploads-api.d.ts +0 -214
- package/dist/api/api/chunked-uploads-api.d.ts.map +0 -1
- package/dist/api/api/chunked-uploads-api.js +0 -420
- package/dist/api/api/chunked-uploads-api.js.map +0 -1
- package/dist/api/api/contacts-api.d.ts +0 -246
- package/dist/api/api/contacts-api.d.ts.map +0 -1
- package/dist/api/api/contacts-api.js +0 -465
- package/dist/api/api/contacts-api.js.map +0 -1
- package/dist/api/api/documents-api.d.ts +0 -267
- package/dist/api/api/documents-api.d.ts.map +0 -1
- package/dist/api/api/documents-api.js +0 -506
- package/dist/api/api/documents-api.js.map +0 -1
- package/dist/api/api/folders-api.d.ts +0 -255
- package/dist/api/api/folders-api.d.ts.map +0 -1
- package/dist/api/api/folders-api.js +0 -479
- package/dist/api/api/folders-api.js.map +0 -1
- package/dist/api/api/groups-api.d.ts +0 -246
- package/dist/api/api/groups-api.d.ts.map +0 -1
- package/dist/api/api/groups-api.js +0 -465
- package/dist/api/api/groups-api.js.map +0 -1
- package/dist/api/api/permissions-api.d.ts +0 -246
- package/dist/api/api/permissions-api.d.ts.map +0 -1
- package/dist/api/api/permissions-api.js +0 -465
- package/dist/api/api/permissions-api.js.map +0 -1
- package/dist/api/api/users-api.d.ts +0 -246
- package/dist/api/api/users-api.d.ts.map +0 -1
- package/dist/api/api/users-api.js +0 -465
- package/dist/api/api/users-api.js.map +0 -1
- package/dist/api/api/workspaces-api.d.ts +0 -213
- package/dist/api/api/workspaces-api.d.ts.map +0 -1
- package/dist/api/api/workspaces-api.js +0 -424
- package/dist/api/api/workspaces-api.js.map +0 -1
- package/dist/api/api.d.ts +0 -22
- package/dist/api/api.d.ts.map +0 -1
- package/dist/api/api.js +0 -40
- package/dist/api/api.js.map +0 -1
- package/dist/api/base.d.ts +0 -43
- package/dist/api/base.d.ts.map +0 -1
- package/dist/api/base.js +0 -49
- package/dist/api/base.js.map +0 -1
- package/dist/api/common.d.ts +0 -29
- package/dist/api/common.d.ts.map +0 -1
- package/dist/api/common.js +0 -109
- package/dist/api/common.js.map +0 -1
- package/dist/api/configuration.d.ts +0 -99
- package/dist/api/configuration.d.ts.map +0 -1
- package/dist/api/configuration.js +0 -49
- package/dist/api/configuration.js.map +0 -1
- package/dist/api/index.d.ts +0 -15
- package/dist/api/index.d.ts.map +0 -1
- package/dist/api/index.js +0 -33
- package/dist/api/index.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.d.ts +0 -19
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.js +0 -20
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response-data.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.d.ts +0 -17
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete200-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.d.ts +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-cancel-delete422-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.d.ts +0 -17
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch200-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.d.ts +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch400-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.d.ts +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch410-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.d.ts +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-chunks-chunk-number-patch422-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.d.ts +0 -17
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post200-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.d.ts +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-complete-post422-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.d.ts +0 -17
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get200-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.d.ts +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-id-status-get404-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.d.ts +0 -17
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.js +0 -16
- package/dist/api/models/api-v1-documents-chunked-uploads-post201-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-documents-post-request1.d.ts +0 -34
- package/dist/api/models/api-v1-documents-documents-post-request1.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-documents-post-request1.js +0 -16
- package/dist/api/models/api-v1-documents-documents-post-request1.js.map +0 -1
- package/dist/api/models/api-v1-documents-documents-post201-response.d.ts +0 -17
- package/dist/api/models/api-v1-documents-documents-post201-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-documents-post201-response.js +0 -16
- package/dist/api/models/api-v1-documents-documents-post201-response.js.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts +0 -17
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js +0 -16
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of.js.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts +0 -17
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js +0 -16
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner-one-of1.js.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts +0 -18
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js +0 -16
- package/dist/api/models/api-v1-documents-folders-id-get200-response-all-of-items-inner.js.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts +0 -17
- package/dist/api/models/api-v1-documents-folders-id-get200-response.d.ts.map +0 -1
- package/dist/api/models/api-v1-documents-folders-id-get200-response.js +0 -16
- package/dist/api/models/api-v1-documents-folders-id-get200-response.js.map +0 -1
- package/dist/api/models/bulk-upload-mutation.d.ts +0 -34
- package/dist/api/models/bulk-upload-mutation.d.ts.map +0 -1
- package/dist/api/models/bulk-upload-mutation.js +0 -16
- package/dist/api/models/bulk-upload-mutation.js.map +0 -1
- package/dist/api/models/bulk-upload.d.ts +0 -91
- package/dist/api/models/bulk-upload.d.ts.map +0 -1
- package/dist/api/models/bulk-upload.js +0 -23
- package/dist/api/models/bulk-upload.js.map +0 -1
- package/dist/api/models/chunked-upload-chunk-response.d.ts +0 -46
- package/dist/api/models/chunked-upload-chunk-response.d.ts.map +0 -1
- package/dist/api/models/chunked-upload-chunk-response.js +0 -21
- package/dist/api/models/chunked-upload-chunk-response.js.map +0 -1
- package/dist/api/models/chunked-upload-complete-request.d.ts +0 -21
- package/dist/api/models/chunked-upload-complete-request.d.ts.map +0 -1
- package/dist/api/models/chunked-upload-complete-request.js +0 -16
- package/dist/api/models/chunked-upload-complete-request.js.map +0 -1
- package/dist/api/models/chunked-upload-complete-response.d.ts +0 -37
- package/dist/api/models/chunked-upload-complete-response.d.ts.map +0 -1
- package/dist/api/models/chunked-upload-complete-response.js +0 -20
- package/dist/api/models/chunked-upload-complete-response.js.map +0 -1
- package/dist/api/models/chunked-upload-mutation.d.ts +0 -47
- package/dist/api/models/chunked-upload-mutation.d.ts.map +0 -1
- package/dist/api/models/chunked-upload-mutation.js +0 -16
- package/dist/api/models/chunked-upload-mutation.js.map +0 -1
- package/dist/api/models/chunked-upload-session-response.d.ts +0 -33
- package/dist/api/models/chunked-upload-session-response.d.ts.map +0 -1
- package/dist/api/models/chunked-upload-session-response.js +0 -16
- package/dist/api/models/chunked-upload-session-response.js.map +0 -1
- package/dist/api/models/chunked-upload-status-response.d.ts +0 -54
- package/dist/api/models/chunked-upload-status-response.d.ts.map +0 -1
- package/dist/api/models/chunked-upload-status-response.js +0 -25
- package/dist/api/models/chunked-upload-status-response.js.map +0 -1
- package/dist/api/models/chunked-upload.d.ts +0 -98
- package/dist/api/models/chunked-upload.d.ts.map +0 -1
- package/dist/api/models/chunked-upload.js +0 -25
- package/dist/api/models/chunked-upload.js.map +0 -1
- package/dist/api/models/contact-mutation.d.ts +0 -30
- package/dist/api/models/contact-mutation.d.ts.map +0 -1
- package/dist/api/models/contact-mutation.js +0 -16
- package/dist/api/models/contact-mutation.js.map +0 -1
- package/dist/api/models/contact.d.ts +0 -54
- package/dist/api/models/contact.d.ts.map +0 -1
- package/dist/api/models/contact.js +0 -16
- package/dist/api/models/contact.js.map +0 -1
- package/dist/api/models/document-document-type.d.ts +0 -19
- package/dist/api/models/document-document-type.d.ts.map +0 -1
- package/dist/api/models/document-document-type.js +0 -16
- package/dist/api/models/document-document-type.js.map +0 -1
- package/dist/api/models/document-domain.d.ts +0 -19
- package/dist/api/models/document-domain.d.ts.map +0 -1
- package/dist/api/models/document-domain.js +0 -16
- package/dist/api/models/document-domain.js.map +0 -1
- package/dist/api/models/document-folder.d.ts +0 -19
- package/dist/api/models/document-folder.d.ts.map +0 -1
- package/dist/api/models/document-folder.js +0 -16
- package/dist/api/models/document-folder.js.map +0 -1
- package/dist/api/models/document-mutation.d.ts +0 -50
- package/dist/api/models/document-mutation.d.ts.map +0 -1
- package/dist/api/models/document-mutation.js +0 -16
- package/dist/api/models/document-mutation.js.map +0 -1
- package/dist/api/models/document.d.ts +0 -73
- package/dist/api/models/document.d.ts.map +0 -1
- package/dist/api/models/document.js +0 -16
- package/dist/api/models/document.js.map +0 -1
- package/dist/api/models/folder-mutation.d.ts +0 -38
- package/dist/api/models/folder-mutation.d.ts.map +0 -1
- package/dist/api/models/folder-mutation.js +0 -16
- package/dist/api/models/folder-mutation.js.map +0 -1
- package/dist/api/models/folder-parent.d.ts +0 -19
- package/dist/api/models/folder-parent.d.ts.map +0 -1
- package/dist/api/models/folder-parent.js +0 -16
- package/dist/api/models/folder-parent.js.map +0 -1
- package/dist/api/models/folder.d.ts +0 -65
- package/dist/api/models/folder.d.ts.map +0 -1
- package/dist/api/models/folder.js +0 -16
- package/dist/api/models/folder.js.map +0 -1
- package/dist/api/models/group-mutation.d.ts +0 -26
- package/dist/api/models/group-mutation.d.ts.map +0 -1
- package/dist/api/models/group-mutation.js +0 -16
- package/dist/api/models/group-mutation.js.map +0 -1
- package/dist/api/models/group.d.ts +0 -38
- package/dist/api/models/group.d.ts.map +0 -1
- package/dist/api/models/group.js +0 -16
- package/dist/api/models/group.js.map +0 -1
- package/dist/api/models/index.d.ts +0 -55
- package/dist/api/models/index.d.ts.map +0 -1
- package/dist/api/models/index.js +0 -71
- package/dist/api/models/index.js.map +0 -1
- package/dist/api/models/model-error.d.ts +0 -26
- package/dist/api/models/model-error.d.ts.map +0 -1
- package/dist/api/models/model-error.js +0 -16
- package/dist/api/models/model-error.js.map +0 -1
- package/dist/api/models/oauth-revoke-post200-response.d.ts +0 -15
- package/dist/api/models/oauth-revoke-post200-response.d.ts.map +0 -1
- package/dist/api/models/oauth-revoke-post200-response.js +0 -16
- package/dist/api/models/oauth-revoke-post200-response.js.map +0 -1
- package/dist/api/models/permission-actor.d.ts +0 -20
- package/dist/api/models/permission-actor.d.ts.map +0 -1
- package/dist/api/models/permission-actor.js +0 -16
- package/dist/api/models/permission-actor.js.map +0 -1
- package/dist/api/models/permission-mutation.d.ts +0 -44
- package/dist/api/models/permission-mutation.d.ts.map +0 -1
- package/dist/api/models/permission-mutation.js +0 -22
- package/dist/api/models/permission-mutation.js.map +0 -1
- package/dist/api/models/permission-permissible.d.ts +0 -20
- package/dist/api/models/permission-permissible.d.ts.map +0 -1
- package/dist/api/models/permission-permissible.js +0 -16
- package/dist/api/models/permission-permissible.js.map +0 -1
- package/dist/api/models/permission.d.ts +0 -60
- package/dist/api/models/permission.d.ts.map +0 -1
- package/dist/api/models/permission.js +0 -22
- package/dist/api/models/permission.js.map +0 -1
- package/dist/api/models/token-response.d.ts +0 -41
- package/dist/api/models/token-response.d.ts.map +0 -1
- package/dist/api/models/token-response.js +0 -16
- package/dist/api/models/token-response.js.map +0 -1
- package/dist/api/models/user-mutation.d.ts +0 -45
- package/dist/api/models/user-mutation.d.ts.map +0 -1
- package/dist/api/models/user-mutation.js +0 -23
- package/dist/api/models/user-mutation.js.map +0 -1
- package/dist/api/models/user.d.ts +0 -61
- package/dist/api/models/user.d.ts.map +0 -1
- package/dist/api/models/user.js +0 -23
- package/dist/api/models/user.js.map +0 -1
- package/dist/api/models/workspace-mutation-settings-validation.d.ts +0 -26
- package/dist/api/models/workspace-mutation-settings-validation.d.ts.map +0 -1
- package/dist/api/models/workspace-mutation-settings-validation.js +0 -16
- package/dist/api/models/workspace-mutation-settings-validation.js.map +0 -1
- package/dist/api/models/workspace-mutation-settings.d.ts +0 -60
- package/dist/api/models/workspace-mutation-settings.d.ts.map +0 -1
- package/dist/api/models/workspace-mutation-settings.js +0 -16
- package/dist/api/models/workspace-mutation-settings.js.map +0 -1
- package/dist/api/models/workspace-mutation.d.ts +0 -44
- package/dist/api/models/workspace-mutation.d.ts.map +0 -1
- package/dist/api/models/workspace-mutation.js +0 -16
- package/dist/api/models/workspace-mutation.js.map +0 -1
- package/dist/api/models/workspace-settings-validation.d.ts +0 -26
- package/dist/api/models/workspace-settings-validation.d.ts.map +0 -1
- package/dist/api/models/workspace-settings-validation.js +0 -16
- package/dist/api/models/workspace-settings-validation.js.map +0 -1
- package/dist/api/models/workspace-settings.d.ts +0 -60
- package/dist/api/models/workspace-settings.d.ts.map +0 -1
- package/dist/api/models/workspace-settings.js +0 -16
- package/dist/api/models/workspace-settings.js.map +0 -1
- package/dist/api/models/workspace.d.ts +0 -62
- package/dist/api/models/workspace.d.ts.map +0 -1
- package/dist/api/models/workspace.js +0 -16
- package/dist/api/models/workspace.js.map +0 -1
- package/dist/api-client.d.ts +0 -19
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js +0 -43
- package/dist/api-client.js.map +0 -1
- package/dist/cli/handlers/command-handlers.d.ts +0 -29
- package/dist/cli/handlers/command-handlers.d.ts.map +0 -1
- package/dist/cli/handlers/command-handlers.js +0 -261
- package/dist/cli/handlers/command-handlers.js.map +0 -1
- package/dist/cli/handlers/engine-handlers.d.ts +0 -15
- package/dist/cli/handlers/engine-handlers.d.ts.map +0 -1
- package/dist/cli/handlers/engine-handlers.js +0 -174
- package/dist/cli/handlers/engine-handlers.js.map +0 -1
- package/dist/cli/interactive.d.ts +0 -15
- package/dist/cli/interactive.d.ts.map +0 -1
- package/dist/cli/interactive.js +0 -234
- package/dist/cli/interactive.js.map +0 -1
- package/dist/cli.d.ts +0 -3
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js +0 -203
- package/dist/cli.js.map +0 -1
- package/dist/commands/export.d.ts +0 -15
- package/dist/commands/export.d.ts.map +0 -1
- package/dist/commands/export.js +0 -188
- package/dist/commands/export.js.map +0 -1
- package/dist/commands/import.d.ts +0 -32
- package/dist/commands/import.d.ts.map +0 -1
- package/dist/commands/import.js +0 -315
- package/dist/commands/import.js.map +0 -1
- package/dist/index.d.ts +0 -31
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -72
- package/dist/index.js.map +0 -1
- package/dist/plugins/alfresco/index.d.ts +0 -26
- package/dist/plugins/alfresco/index.d.ts.map +0 -1
- package/dist/plugins/alfresco/index.js +0 -405
- package/dist/plugins/alfresco/index.js.map +0 -1
- package/dist/plugins/alfresco/plugin.json +0 -12
- package/dist/plugins/aws-s3/index.d.ts +0 -23
- package/dist/plugins/aws-s3/index.d.ts.map +0 -1
- package/dist/plugins/aws-s3/index.js +0 -383
- package/dist/plugins/aws-s3/index.js.map +0 -1
- package/dist/plugins/aws-s3/plugin.json +0 -12
- package/dist/plugins/azure-blob/index.d.ts +0 -23
- package/dist/plugins/azure-blob/index.d.ts.map +0 -1
- package/dist/plugins/azure-blob/index.js +0 -340
- package/dist/plugins/azure-blob/index.js.map +0 -1
- package/dist/plugins/azure-blob/plugin.json +0 -12
- package/dist/plugins/box/index.d.ts +0 -26
- package/dist/plugins/box/index.d.ts.map +0 -1
- package/dist/plugins/box/index.js +0 -387
- package/dist/plugins/box/index.js.map +0 -1
- package/dist/plugins/box/plugin.json +0 -12
- package/dist/plugins/core/index.d.ts +0 -25
- package/dist/plugins/core/index.d.ts.map +0 -1
- package/dist/plugins/core/index.js +0 -400
- package/dist/plugins/core/index.js.map +0 -1
- package/dist/plugins/core/plugin.json +0 -26
- package/dist/plugins/dropbox/index.d.ts +0 -27
- package/dist/plugins/dropbox/index.d.ts.map +0 -1
- package/dist/plugins/dropbox/index.js +0 -375
- package/dist/plugins/dropbox/index.js.map +0 -1
- package/dist/plugins/dropbox/plugin.json +0 -12
- package/dist/plugins/filesystem/index.d.ts +0 -22
- package/dist/plugins/filesystem/index.d.ts.map +0 -1
- package/dist/plugins/filesystem/index.js +0 -306
- package/dist/plugins/filesystem/index.js.map +0 -1
- package/dist/plugins/filesystem/plugin.json +0 -12
- package/dist/plugins/googledrive/index.d.ts +0 -27
- package/dist/plugins/googledrive/index.d.ts.map +0 -1
- package/dist/plugins/googledrive/index.js +0 -383
- package/dist/plugins/googledrive/index.js.map +0 -1
- package/dist/plugins/googledrive/plugin.json +0 -12
- package/dist/plugins/nuxeo/index.d.ts +0 -24
- package/dist/plugins/nuxeo/index.d.ts.map +0 -1
- package/dist/plugins/nuxeo/index.js +0 -405
- package/dist/plugins/nuxeo/index.js.map +0 -1
- package/dist/plugins/nuxeo/plugin.json +0 -12
- package/dist/plugins/onedrive/index.d.ts +0 -25
- package/dist/plugins/onedrive/index.d.ts.map +0 -1
- package/dist/plugins/onedrive/index.js +0 -362
- package/dist/plugins/onedrive/index.js.map +0 -1
- package/dist/plugins/onedrive/plugin.json +0 -12
- package/dist/plugins/opentext/index.d.ts +0 -26
- package/dist/plugins/opentext/index.d.ts.map +0 -1
- package/dist/plugins/opentext/index.js +0 -440
- package/dist/plugins/opentext/index.js.map +0 -1
- package/dist/plugins/opentext/plugin.json +0 -12
- package/dist/plugins/sharepoint/index.d.ts +0 -27
- package/dist/plugins/sharepoint/index.d.ts.map +0 -1
- package/dist/plugins/sharepoint/index.js +0 -397
- package/dist/plugins/sharepoint/index.js.map +0 -1
- package/dist/plugins/sharepoint/plugin.json +0 -12
- package/dist/services/chunked-uploader.d.ts +0 -83
- package/dist/services/chunked-uploader.d.ts.map +0 -1
- package/dist/services/chunked-uploader.js +0 -321
- package/dist/services/chunked-uploader.js.map +0 -1
- package/dist/services/hubdoc-api.d.ts +0 -43
- package/dist/services/hubdoc-api.d.ts.map +0 -1
- package/dist/services/hubdoc-api.js +0 -382
- package/dist/services/hubdoc-api.js.map +0 -1
- package/dist/services/hubdoc-export.d.ts +0 -17
- package/dist/services/hubdoc-export.d.ts.map +0 -1
- package/dist/services/hubdoc-export.js +0 -196
- package/dist/services/hubdoc-export.js.map +0 -1
- package/dist/services/oauth-token-service.d.ts +0 -74
- package/dist/services/oauth-token-service.d.ts.map +0 -1
- package/dist/services/oauth-token-service.js +0 -344
- package/dist/services/oauth-token-service.js.map +0 -1
- package/dist/services/permission-manager.d.ts +0 -42
- package/dist/services/permission-manager.d.ts.map +0 -1
- package/dist/services/permission-manager.js +0 -187
- package/dist/services/permission-manager.js.map +0 -1
- package/dist/services/plugin-import.d.ts +0 -64
- package/dist/services/plugin-import.d.ts.map +0 -1
- package/dist/services/plugin-import.js +0 -284
- package/dist/services/plugin-import.js.map +0 -1
- package/dist/services/plugin-manager.d.ts +0 -73
- package/dist/services/plugin-manager.d.ts.map +0 -1
- package/dist/services/plugin-manager.js +0 -306
- package/dist/services/plugin-manager.js.map +0 -1
- package/dist/src/types/plugins.d.ts +0 -111
- package/dist/src/types/plugins.d.ts.map +0 -1
- package/dist/src/types/plugins.js +0 -3
- package/dist/src/types/plugins.js.map +0 -1
- package/dist/src/utils/concurrent-processor.d.ts +0 -63
- package/dist/src/utils/concurrent-processor.d.ts.map +0 -1
- package/dist/src/utils/concurrent-processor.js +0 -240
- package/dist/src/utils/concurrent-processor.js.map +0 -1
- package/dist/src/utils/xml-metadata.d.ts +0 -47
- package/dist/src/utils/xml-metadata.d.ts.map +0 -1
- package/dist/src/utils/xml-metadata.js +0 -200
- package/dist/src/utils/xml-metadata.js.map +0 -1
- package/dist/types/export.d.ts +0 -44
- package/dist/types/export.d.ts.map +0 -1
- package/dist/types/export.js +0 -3
- package/dist/types/export.js.map +0 -1
- package/dist/types/index.d.ts +0 -77
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -3
- package/dist/types/index.js.map +0 -1
- package/dist/types/plugins.d.ts +0 -111
- package/dist/types/plugins.d.ts.map +0 -1
- package/dist/types/plugins.js +0 -3
- package/dist/types/plugins.js.map +0 -1
- package/dist/utils/concurrent-processor.d.ts +0 -63
- package/dist/utils/concurrent-processor.d.ts.map +0 -1
- package/dist/utils/concurrent-processor.js +0 -240
- package/dist/utils/concurrent-processor.js.map +0 -1
- package/dist/utils/config.d.ts +0 -40
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/config.js +0 -249
- package/dist/utils/config.js.map +0 -1
- package/dist/utils/csv.d.ts +0 -90
- package/dist/utils/csv.d.ts.map +0 -1
- package/dist/utils/csv.js +0 -564
- package/dist/utils/csv.js.map +0 -1
- package/dist/utils/export-csv.d.ts +0 -14
- package/dist/utils/export-csv.d.ts.map +0 -1
- package/dist/utils/export-csv.js +0 -129
- package/dist/utils/export-csv.js.map +0 -1
- package/dist/utils/operation-logger.d.ts +0 -110
- package/dist/utils/operation-logger.d.ts.map +0 -1
- package/dist/utils/operation-logger.js +0 -226
- package/dist/utils/operation-logger.js.map +0 -1
- package/dist/utils/xml-metadata-generator.d.ts +0 -50
- package/dist/utils/xml-metadata-generator.d.ts.map +0 -1
- package/dist/utils/xml-metadata-generator.js +0 -162
- package/dist/utils/xml-metadata-generator.js.map +0 -1
- package/dist/utils/xml-metadata.d.ts +0 -47
- package/dist/utils/xml-metadata.d.ts.map +0 -1
- package/dist/utils/xml-metadata.js +0 -200
- package/dist/utils/xml-metadata.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,289 +1,245 @@
|
|
|
1
|
-
#
|
|
1
|
+
# HubDoc Tools CLI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Command-line tool for HubDoc document import/export with multi-source support and OAuth2 authentication.
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
Two binaries are installed: `hubdoc-tool` (full name) and `hubdoc` (short
|
|
6
|
+
alias). Use `hubdoc` for one-shot CRUD operations and headless / agent
|
|
7
|
+
usage; `hubdoc-tool` keeps the legacy bulk import/export workflows.
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
## LLM / Headless usage
|
|
9
10
|
|
|
10
|
-
|
|
11
|
+
Single-operation CRUD commands (`hubdoc workspaces|folders|files ...`) are
|
|
12
|
+
designed to be driven by LLMs and CI scripts: every subcommand accepts
|
|
13
|
+
`--json` (structured stdout, structured stderr errors, non-zero exit on
|
|
14
|
+
failure) and refuses to prompt when `--yes` is omitted in `--json` mode.
|
|
11
15
|
|
|
12
|
-
|
|
16
|
+
See [`docs/llm-usage.md`](./docs/llm-usage.md) for the contract, a full
|
|
17
|
+
command reference, and a worked agent session example.
|
|
13
18
|
|
|
14
19
|
```bash
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
# Vérifier l'installation
|
|
19
|
-
hubdoc-tool --version
|
|
20
|
+
hubdoc whoami --json
|
|
21
|
+
hubdoc workspaces ls --json | jq '.[].label'
|
|
22
|
+
hubdoc files upload ./report.pdf --folder=$FOLDER_ID --json
|
|
20
23
|
```
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
## ⚡ Quick Start
|
|
25
|
+
## Installation
|
|
25
26
|
|
|
26
|
-
###
|
|
27
|
+
### Global (NPM)
|
|
27
28
|
|
|
28
29
|
```bash
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export HUBDOC_OAUTH_CLIENT_ID=your-client-id
|
|
32
|
-
export HUBDOC_OAUTH_CLIENT_SECRET=your-client-secret
|
|
33
|
-
export HUBDOC_OAUTH_SCOPES="read write"
|
|
30
|
+
npm install -g @sinoia/hubdoc-tools
|
|
31
|
+
hubdoc --version
|
|
34
32
|
```
|
|
35
33
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
### 2. Import Basique
|
|
34
|
+
### Development
|
|
39
35
|
|
|
40
36
|
```bash
|
|
41
|
-
#
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
hubdoc-tool generate-mapping ./documents
|
|
46
|
-
hubdoc-tool import --mapping mapping.csv
|
|
37
|
+
# From monorepo root
|
|
38
|
+
npm install
|
|
39
|
+
npm run build:cli
|
|
40
|
+
npm run dev:cli -- --help
|
|
47
41
|
```
|
|
48
42
|
|
|
49
|
-
|
|
43
|
+
## Configuration
|
|
50
44
|
|
|
51
|
-
|
|
52
|
-
# Générer mapping depuis HubDoc
|
|
53
|
-
hubdoc-tool export --scan
|
|
45
|
+
### OAuth2 (Automatic)
|
|
54
46
|
|
|
55
|
-
|
|
56
|
-
|
|
47
|
+
```bash
|
|
48
|
+
export HUBDOC_API_URL=https://your-instance.hubdoc.sinoia.cloud
|
|
49
|
+
export HUBDOC_OAUTH_CLIENT_ID=your-client-id
|
|
50
|
+
export HUBDOC_OAUTH_CLIENT_SECRET=your-client-secret
|
|
51
|
+
export HUBDOC_OAUTH_SCOPES="read write"
|
|
57
52
|
```
|
|
58
53
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
## 🎯 Fonctionnalités Clés
|
|
62
|
-
|
|
63
|
-
### Import
|
|
64
|
-
- ✅ **Import direct** : Structure de dossiers préservée automatiquement
|
|
65
|
-
- ✅ **Import avec mapping** : Contrôle précis via CSV
|
|
66
|
-
- ✅ **Permissions** : Gestion read/write par utilisateur/groupe
|
|
67
|
-
- ✅ **Metadata** : Format simplifié `key: value, parent.child: value`
|
|
68
|
-
- ✅ **Sources multiples** : Local, OneDrive, Google Drive, AWS S3
|
|
69
|
-
|
|
70
|
-
### Export
|
|
71
|
-
- ✅ **Scan automatique** : Génération du mapping depuis HubDoc
|
|
72
|
-
- ✅ **Structure personnalisée** : Recréation de l'arborescence
|
|
73
|
-
- ✅ **Metadata XML** : Fichiers `*_metadata.xml` générés automatiquement
|
|
74
|
-
- ✅ **Filtrage** : Par projet, domaine, workspace
|
|
75
|
-
|
|
76
|
-
### Général
|
|
77
|
-
- ✅ **OAuth2 automatique** : Zéro config manuelle, refresh automatique
|
|
78
|
-
- ✅ **Mode interactif** : Assistant guidé étape par étape
|
|
79
|
-
- ✅ **Validation** : Pré-validation des fichiers avant import
|
|
80
|
-
- ✅ **Concurrent** : Import/export parallèle configurable
|
|
81
|
-
- ✅ **Plugins** : Architecture extensible pour sources externes
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## 📚 Documentation
|
|
54
|
+
Or create `.env` file with the same variables.
|
|
86
55
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
| **[Exemples](./docs/examples.md)** | Cas d'usage, scripts, automatisation |
|
|
56
|
+
Authentication is automatic:
|
|
57
|
+
- First run opens browser for authorization
|
|
58
|
+
- Token saved to `.hubdoc-config.json`
|
|
59
|
+
- Auto-refresh before expiration
|
|
60
|
+
- No manual token management required
|
|
93
61
|
|
|
94
|
-
|
|
62
|
+
See [OAUTH_SETUP.md](./OAUTH_SETUP.md) for details.
|
|
95
63
|
|
|
96
|
-
##
|
|
64
|
+
## Commands
|
|
97
65
|
|
|
98
66
|
### Import
|
|
99
67
|
|
|
68
|
+
#### Direct Import
|
|
100
69
|
```bash
|
|
101
|
-
#
|
|
70
|
+
# Preserves folder structure
|
|
102
71
|
hubdoc-tool import --direct ./documents
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
#### CSV Mapping Import
|
|
75
|
+
```bash
|
|
76
|
+
# Generate mapping
|
|
77
|
+
hubdoc-tool generate-mapping ./documents
|
|
103
78
|
|
|
104
|
-
#
|
|
79
|
+
# Edit mapping.csv, then import
|
|
105
80
|
hubdoc-tool import --mapping mapping.csv
|
|
81
|
+
```
|
|
106
82
|
|
|
107
|
-
|
|
83
|
+
#### Plugin Import
|
|
84
|
+
```bash
|
|
85
|
+
# From external source (OneDrive, S3, etc.)
|
|
108
86
|
hubdoc-tool --engine onedrive import --source "/Shared Documents"
|
|
109
|
-
hubdoc-tool --engine googledrive import --source "My Drive/
|
|
110
|
-
hubdoc-tool --engine s3 import --source "s3://bucket/
|
|
111
|
-
|
|
112
|
-
# Options
|
|
113
|
-
--concurrent 5 # 5 jobs parallèles
|
|
114
|
-
--skip-existing # Skip documents déjà importés
|
|
115
|
-
--dry-run # Test sans importer
|
|
116
|
-
--validate-all # Validation stricte avant import
|
|
87
|
+
hubdoc-tool --engine googledrive import --source "My Drive/Docs"
|
|
88
|
+
hubdoc-tool --engine s3 import --source "s3://bucket/path"
|
|
117
89
|
```
|
|
118
90
|
|
|
91
|
+
Options:
|
|
92
|
+
- `--concurrent N` - Parallel jobs (default: 3)
|
|
93
|
+
- `--skip-existing` - Skip already imported documents
|
|
94
|
+
- `--dry-run` - Validate without importing
|
|
95
|
+
- `--validate-all` - Strict validation
|
|
96
|
+
|
|
119
97
|
### Export
|
|
120
98
|
|
|
121
99
|
```bash
|
|
122
|
-
#
|
|
100
|
+
# Scan HubDoc and generate mapping
|
|
123
101
|
hubdoc-tool export --scan
|
|
124
102
|
|
|
125
|
-
#
|
|
103
|
+
# Export using mapping
|
|
126
104
|
hubdoc-tool export --mapping export-mapping.csv
|
|
127
105
|
|
|
128
|
-
# Export
|
|
106
|
+
# Export with XML metadata
|
|
129
107
|
hubdoc-tool export --generate-xml-metadata
|
|
130
108
|
|
|
131
|
-
#
|
|
132
|
-
--
|
|
133
|
-
--
|
|
109
|
+
# Filters
|
|
110
|
+
hubdoc-tool export --scan --project "Project Name"
|
|
111
|
+
hubdoc-tool export --scan --domain "Domain Name"
|
|
134
112
|
```
|
|
135
113
|
|
|
136
|
-
|
|
114
|
+
See [EXPORT-DOCUMENTATION.md](./EXPORT-DOCUMENTATION.md) for details.
|
|
137
115
|
|
|
138
|
-
|
|
139
|
-
# Générer mapping depuis dossier local
|
|
140
|
-
hubdoc-tool generate-mapping ./documents
|
|
141
|
-
|
|
142
|
-
# Générer avec sortie spécifique
|
|
143
|
-
hubdoc-tool generate-mapping ./docs --output custom-mapping.csv
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Mode Interactif
|
|
116
|
+
### Interactive Mode
|
|
147
117
|
|
|
148
118
|
```bash
|
|
149
|
-
# Lancer l'assistant guidé
|
|
150
119
|
hubdoc-tool --interactive
|
|
151
120
|
hubdoc-tool -i
|
|
152
121
|
```
|
|
153
122
|
|
|
154
|
-
|
|
123
|
+
## CSV Mapping Format
|
|
155
124
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
### Structure Basique
|
|
125
|
+
### Import Mapping
|
|
159
126
|
|
|
160
127
|
```csv
|
|
161
128
|
File Path;Target Folder;Workspace;Metadata (key: value, parent.child: value);Permissions (users:r:email users:w:email | groups:Name);Auto Classify;Status;Error;Document ID;Bulk Upload ID
|
|
162
129
|
```
|
|
163
130
|
|
|
164
|
-
|
|
165
|
-
|
|
131
|
+
Example:
|
|
166
132
|
```csv
|
|
167
|
-
|
|
168
|
-
/invoices/inv-001.pdf;Factures/2024;Comptabilité;invoice_number: INV-001, amount: 1500;;true;pending;;;
|
|
169
|
-
/contracts/c-a.pdf;Contrats;Juridique;type: service, duration: 24;users:r:legal@ex.com users:w:ceo@ex.com;false;pending;;;
|
|
133
|
+
/docs/invoice.pdf;Finance/Invoices;Accounting;invoice_number: INV-001, amount: 1500;users:john@ex.com | groups:Finance;true;pending;;;
|
|
170
134
|
```
|
|
171
135
|
|
|
172
|
-
|
|
136
|
+
### Export Mapping
|
|
173
137
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
138
|
+
```csv
|
|
139
|
+
Document ID,Document Name,Projects (project:folder|project:folder),Download URL,Target Path (editable),Metadata (JSON)
|
|
140
|
+
```
|
|
177
141
|
|
|
178
|
-
|
|
142
|
+
## Metadata Format
|
|
179
143
|
|
|
144
|
+
Simplified key-value format:
|
|
180
145
|
```
|
|
181
|
-
|
|
146
|
+
key: value, parent.child: value
|
|
182
147
|
```
|
|
183
148
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
-
|
|
187
|
-
|
|
188
|
-
- **:w** = WRITE : `users:w:editor@ex.com | groups:w:Admins`
|
|
189
|
-
- **Espaces supportés** dans les noms de groupes : `groups:Senior Management`
|
|
190
|
-
|
|
191
|
-
### Exemples
|
|
192
|
-
|
|
193
|
-
```csv
|
|
194
|
-
# Lecture seule
|
|
195
|
-
users:john@ex.com,jane@ex.com | groups:All Staff
|
|
196
|
-
|
|
197
|
-
# Mixte READ + WRITE
|
|
198
|
-
users:viewer@ex.com | users:w:admin@ex.com | groups:Finance | groups:w:Direction
|
|
199
|
-
|
|
200
|
-
# Groupes avec espaces et accents
|
|
201
|
-
groups:Comptabilité France | groups:w:Présidence Direction
|
|
149
|
+
Examples:
|
|
150
|
+
```
|
|
151
|
+
invoice_number: INV-001, amount: 1500
|
|
152
|
+
supplier.name: Acme, supplier.vat: FR123, amount: 2500
|
|
202
153
|
```
|
|
203
154
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## 📝 Metadata (Format Simplifié)
|
|
155
|
+
Types auto-detected: numbers, booleans, null.
|
|
209
156
|
|
|
210
|
-
|
|
157
|
+
## Permissions Format
|
|
211
158
|
|
|
159
|
+
Natural format:
|
|
212
160
|
```
|
|
213
|
-
|
|
161
|
+
users:email1,email2 | users:w:admin@ex.com | groups:Group Name | groups:w:Admins
|
|
214
162
|
```
|
|
215
163
|
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
invoice_number: INV-001, amount: 1500, paid: true
|
|
221
|
-
|
|
222
|
-
# Objets imbriqués (notation point)
|
|
223
|
-
supplier.name: Acme Corp, supplier.vat: FR123, amount: 2500
|
|
164
|
+
- No suffix = READ
|
|
165
|
+
- `:r` = READ explicit
|
|
166
|
+
- `:w` = WRITE
|
|
167
|
+
- Supports spaces in group names
|
|
224
168
|
|
|
225
|
-
|
|
226
|
-
|
|
169
|
+
Examples:
|
|
170
|
+
```
|
|
171
|
+
users:viewer@ex.com | users:w:editor@ex.com | groups:Finance
|
|
172
|
+
groups:All Staff | groups:w:Management
|
|
227
173
|
```
|
|
228
174
|
|
|
229
|
-
|
|
175
|
+
## Plugins
|
|
230
176
|
|
|
231
|
-
|
|
177
|
+
Available plugins:
|
|
178
|
+
- **core** - Core DMS integration
|
|
179
|
+
- **o365-mail** - Office 365 Mail via Graph API
|
|
180
|
+
- **filesystem** - Local filesystem
|
|
181
|
+
- **onedrive** - Microsoft OneDrive
|
|
182
|
+
- **googledrive** - Google Drive
|
|
183
|
+
- **dropbox** - Dropbox
|
|
184
|
+
- **aws-s3** - Amazon S3
|
|
185
|
+
- **azure-blob** - Azure Blob Storage
|
|
186
|
+
- **sharepoint** - SharePoint
|
|
187
|
+
- **alfresco** - Alfresco ECM
|
|
188
|
+
- **nuxeo** - Nuxeo DMS
|
|
189
|
+
- **opentext** - OpenText
|
|
190
|
+
- **box** - Box.com
|
|
232
191
|
|
|
233
|
-
|
|
192
|
+
See [PLUGINS.md](./PLUGINS.md) for plugin development.
|
|
234
193
|
|
|
235
|
-
|
|
194
|
+
## Features
|
|
236
195
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
196
|
+
### Import
|
|
197
|
+
- Direct import with folder structure preservation
|
|
198
|
+
- CSV mapping for precise control
|
|
199
|
+
- Multi-source support via plugins
|
|
200
|
+
- Permissions (read/write by user/group)
|
|
201
|
+
- Simplified metadata format
|
|
202
|
+
- Concurrent processing
|
|
203
|
+
- Dry-run validation
|
|
204
|
+
- Skip existing documents
|
|
205
|
+
- OAuth2 automatic authentication
|
|
241
206
|
|
|
242
|
-
|
|
243
|
-
|
|
207
|
+
### Export
|
|
208
|
+
- Scan HubDoc to generate mapping
|
|
209
|
+
- Custom folder structure
|
|
210
|
+
- XML metadata generation
|
|
211
|
+
- Filters by project/domain
|
|
212
|
+
- Concurrent downloads
|
|
244
213
|
|
|
245
|
-
|
|
214
|
+
## Examples
|
|
246
215
|
|
|
216
|
+
### Import from Local Filesystem
|
|
247
217
|
```bash
|
|
248
|
-
|
|
249
|
-
export GOOGLE_DRIVE_CLIENT_SECRET=your-client-secret
|
|
250
|
-
export GOOGLE_DRIVE_CREDENTIALS_PATH=./credentials.json
|
|
251
|
-
|
|
252
|
-
hubdoc-tool --engine googledrive import --source "My Drive/Documents"
|
|
218
|
+
hubdoc-tool import --direct ./invoices --concurrent 5
|
|
253
219
|
```
|
|
254
220
|
|
|
255
|
-
###
|
|
256
|
-
|
|
221
|
+
### Import from OneDrive
|
|
257
222
|
```bash
|
|
258
|
-
export
|
|
259
|
-
export
|
|
260
|
-
export
|
|
223
|
+
export ONEDRIVE_CLIENT_ID=your-id
|
|
224
|
+
export ONEDRIVE_CLIENT_SECRET=your-secret
|
|
225
|
+
export ONEDRIVE_TENANT_ID=your-tenant
|
|
261
226
|
|
|
262
|
-
hubdoc-tool --engine
|
|
227
|
+
hubdoc-tool --engine onedrive import --source "/Shared Documents"
|
|
263
228
|
```
|
|
264
229
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
---
|
|
268
|
-
|
|
269
|
-
## 🛠️ Développement
|
|
270
|
-
|
|
271
|
-
### Installation pour Développement
|
|
272
|
-
|
|
230
|
+
### Export with Filters
|
|
273
231
|
```bash
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
npm install
|
|
277
|
-
npm run build
|
|
232
|
+
hubdoc-tool export --scan --project "My Project" --domain "Finance"
|
|
233
|
+
hubdoc-tool export --mapping export.csv --output ./exports
|
|
278
234
|
```
|
|
279
235
|
|
|
280
|
-
|
|
236
|
+
## Testing
|
|
281
237
|
|
|
282
238
|
```bash
|
|
283
|
-
#
|
|
284
|
-
npm test
|
|
239
|
+
# From monorepo root
|
|
240
|
+
npm run test:cli
|
|
285
241
|
|
|
286
|
-
#
|
|
242
|
+
# Specific tests
|
|
287
243
|
npm test -- permissions
|
|
288
244
|
npm test -- metadata
|
|
289
245
|
|
|
@@ -291,62 +247,10 @@ npm test -- metadata
|
|
|
291
247
|
npm run test:coverage
|
|
292
248
|
```
|
|
293
249
|
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
```bash
|
|
297
|
-
# Build TypeScript
|
|
298
|
-
npm run build
|
|
299
|
-
|
|
300
|
-
# Watch mode
|
|
301
|
-
npm run dev
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
## 📖 Documentation Complète
|
|
307
|
-
|
|
308
|
-
- **[Configuration Détaillée](./docs/configuration.md)** : OAuth2, env vars, troubleshooting
|
|
309
|
-
- **[Système de Permissions](./docs/permissions.md)** : Format, exemples, cas d'usage
|
|
310
|
-
- **[Gestion des Metadata](./docs/metadata.md)** : Format simplifié, objets imbriqués
|
|
311
|
-
- **[Exemples Pratiques](./docs/examples.md)** : Scripts, automatisation, cron jobs
|
|
312
|
-
|
|
313
|
-
---
|
|
314
|
-
|
|
315
|
-
## 🤝 Support & Contributions
|
|
316
|
-
|
|
317
|
-
### Signaler un Bug
|
|
318
|
-
|
|
319
|
-
[Ouvrir une issue](https://github.com/your-org/hubdoc-tools/issues)
|
|
320
|
-
|
|
321
|
-
### Proposer une Fonctionnalité
|
|
322
|
-
|
|
323
|
-
[Créer une Feature Request](https://github.com/your-org/hubdoc-tools/issues/new?template=feature_request.md)
|
|
324
|
-
|
|
325
|
-
### Contribuer
|
|
326
|
-
|
|
327
|
-
1. Fork le repo
|
|
328
|
-
2. Créer une branche : `git checkout -b feature/amazing-feature`
|
|
329
|
-
3. Commit : `git commit -m 'Add amazing feature'`
|
|
330
|
-
4. Push : `git push origin feature/amazing-feature`
|
|
331
|
-
5. Ouvrir une Pull Request
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
## 📄 Licence
|
|
336
|
-
|
|
337
|
-
MIT © [Sinoia]
|
|
338
|
-
|
|
339
|
-
---
|
|
340
|
-
|
|
341
|
-
## 🎯 Roadmap
|
|
250
|
+
## Version
|
|
342
251
|
|
|
343
|
-
|
|
344
|
-
- [ ] Support Dropbox
|
|
345
|
-
- [ ] Interface Web (dashboard)
|
|
346
|
-
- [ ] Webhooks pour import temps-réel
|
|
347
|
-
- [ ] API REST pour intégrations
|
|
348
|
-
- [ ] Support multi-tenant
|
|
252
|
+
1.4.0
|
|
349
253
|
|
|
350
|
-
|
|
254
|
+
## License
|
|
351
255
|
|
|
352
|
-
|
|
256
|
+
MIT
|