@unofficialbox/box-open-sdk 0.1.0
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 +13 -0
- package/dist/cjs/auth.js +112 -0
- package/dist/cjs/buildinfo.js +10 -0
- package/dist/cjs/client.js +268 -0
- package/dist/cjs/errors.js +20 -0
- package/dist/cjs/index.js +43 -0
- package/dist/cjs/internal.js +37 -0
- package/dist/cjs/jwt.js +122 -0
- package/dist/cjs/managers/ai.js +106 -0
- package/dist/cjs/managers/ai_studio.js +131 -0
- package/dist/cjs/managers/app_item_associations.js +119 -0
- package/dist/cjs/managers/archives.js +110 -0
- package/dist/cjs/managers/authorization.js +149 -0
- package/dist/cjs/managers/automate_workflows.js +91 -0
- package/dist/cjs/managers/avatars.js +76 -0
- package/dist/cjs/managers/chunked_uploads.js +156 -0
- package/dist/cjs/managers/classifications.js +94 -0
- package/dist/cjs/managers/collaboration_allowlist_entries.js +104 -0
- package/dist/cjs/managers/collaboration_allowlist_exempt_targets.js +104 -0
- package/dist/cjs/managers/collections.js +124 -0
- package/dist/cjs/managers/comments.js +131 -0
- package/dist/cjs/managers/device_pinners.js +99 -0
- package/dist/cjs/managers/docgen.js +133 -0
- package/dist/cjs/managers/docgen_template.js +178 -0
- package/dist/cjs/managers/downloads.js +69 -0
- package/dist/cjs/managers/email_aliases.js +78 -0
- package/dist/cjs/managers/enterprise_configurations.js +58 -0
- package/dist/cjs/managers/events.js +82 -0
- package/dist/cjs/managers/external_users.js +58 -0
- package/dist/cjs/managers/file_classifications.js +97 -0
- package/dist/cjs/managers/file_metadata.js +115 -0
- package/dist/cjs/managers/file_requests.js +90 -0
- package/dist/cjs/managers/file_version_legal_holds.js +88 -0
- package/dist/cjs/managers/file_version_retentions.js +105 -0
- package/dist/cjs/managers/file_versions.js +140 -0
- package/dist/cjs/managers/file_watermarks.js +77 -0
- package/dist/cjs/managers/files.js +138 -0
- package/dist/cjs/managers/folder_classifications.js +97 -0
- package/dist/cjs/managers/folder_locks.js +73 -0
- package/dist/cjs/managers/folder_metadata.js +111 -0
- package/dist/cjs/managers/folder_watermarks.js +77 -0
- package/dist/cjs/managers/folders.js +191 -0
- package/dist/cjs/managers/groups.js +132 -0
- package/dist/cjs/managers/hub_collaborations.js +121 -0
- package/dist/cjs/managers/hub_document.js +113 -0
- package/dist/cjs/managers/hub_items.js +96 -0
- package/dist/cjs/managers/hubs.js +186 -0
- package/dist/cjs/managers/index.js +102 -0
- package/dist/cjs/managers/integration_mappings.js +178 -0
- package/dist/cjs/managers/invites.js +74 -0
- package/dist/cjs/managers/legal_hold_policies.js +121 -0
- package/dist/cjs/managers/legal_hold_policy_assignments.js +186 -0
- package/dist/cjs/managers/list_collaborations.js +185 -0
- package/dist/cjs/managers/memberships.js +160 -0
- package/dist/cjs/managers/metadata_cascade_policies.js +118 -0
- package/dist/cjs/managers/metadata_taxonomies.js +322 -0
- package/dist/cjs/managers/metadata_templates.js +196 -0
- package/dist/cjs/managers/notes.js +58 -0
- package/dist/cjs/managers/recent_items.js +80 -0
- package/dist/cjs/managers/retention_policies.js +131 -0
- package/dist/cjs/managers/retention_policy_assignments.js +182 -0
- package/dist/cjs/managers/search.js +130 -0
- package/dist/cjs/managers/session_termination.js +68 -0
- package/dist/cjs/managers/shared_links_app_items.js +55 -0
- package/dist/cjs/managers/shared_links_files.js +109 -0
- package/dist/cjs/managers/shared_links_folders.js +109 -0
- package/dist/cjs/managers/shared_links_web_links.js +109 -0
- package/dist/cjs/managers/shield_information_barrier_reports.js +98 -0
- package/dist/cjs/managers/shield_information_barrier_segment_members.js +105 -0
- package/dist/cjs/managers/shield_information_barrier_segment_restrictions.js +105 -0
- package/dist/cjs/managers/shield_information_barrier_segments.js +116 -0
- package/dist/cjs/managers/shield_information_barriers.js +108 -0
- package/dist/cjs/managers/shield_lists.js +97 -0
- package/dist/cjs/managers/sign_requests.js +123 -0
- package/dist/cjs/managers/sign_templates.js +87 -0
- package/dist/cjs/managers/skills.js +106 -0
- package/dist/cjs/managers/storage_policies.js +90 -0
- package/dist/cjs/managers/storage_policy_assignments.js +114 -0
- package/dist/cjs/managers/task_assignments.js +94 -0
- package/dist/cjs/managers/tasks.js +94 -0
- package/dist/cjs/managers/terms_of_service_user_statuses.js +81 -0
- package/dist/cjs/managers/terms_of_services.js +89 -0
- package/dist/cjs/managers/transfer.js +67 -0
- package/dist/cjs/managers/trashed_files.js +84 -0
- package/dist/cjs/managers/trashed_folders.js +84 -0
- package/dist/cjs/managers/trashed_items.js +94 -0
- package/dist/cjs/managers/trashed_web_links.js +84 -0
- package/dist/cjs/managers/uploads.js +98 -0
- package/dist/cjs/managers/user_collaborations.js +95 -0
- package/dist/cjs/managers/users.js +165 -0
- package/dist/cjs/managers/web_links.js +88 -0
- package/dist/cjs/managers/webhooks.js +115 -0
- package/dist/cjs/managers/workflows.js +92 -0
- package/dist/cjs/managers/zip_downloads.js +76 -0
- package/dist/cjs/models/index.js +38 -0
- package/dist/cjs/models/schemas.js +3 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/runtime.js +304 -0
- package/dist/cjs/tokens.js +121 -0
- package/dist/esm/auth.js +105 -0
- package/dist/esm/buildinfo.js +7 -0
- package/dist/esm/client.js +264 -0
- package/dist/esm/errors.js +16 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/internal.js +32 -0
- package/dist/esm/jwt.js +86 -0
- package/dist/esm/managers/ai.js +69 -0
- package/dist/esm/managers/ai_studio.js +94 -0
- package/dist/esm/managers/app_item_associations.js +82 -0
- package/dist/esm/managers/archives.js +73 -0
- package/dist/esm/managers/authorization.js +112 -0
- package/dist/esm/managers/automate_workflows.js +54 -0
- package/dist/esm/managers/avatars.js +39 -0
- package/dist/esm/managers/chunked_uploads.js +119 -0
- package/dist/esm/managers/classifications.js +57 -0
- package/dist/esm/managers/collaboration_allowlist_entries.js +67 -0
- package/dist/esm/managers/collaboration_allowlist_exempt_targets.js +67 -0
- package/dist/esm/managers/collections.js +87 -0
- package/dist/esm/managers/comments.js +94 -0
- package/dist/esm/managers/device_pinners.js +62 -0
- package/dist/esm/managers/docgen.js +96 -0
- package/dist/esm/managers/docgen_template.js +141 -0
- package/dist/esm/managers/downloads.js +32 -0
- package/dist/esm/managers/email_aliases.js +41 -0
- package/dist/esm/managers/enterprise_configurations.js +21 -0
- package/dist/esm/managers/events.js +45 -0
- package/dist/esm/managers/external_users.js +21 -0
- package/dist/esm/managers/file_classifications.js +60 -0
- package/dist/esm/managers/file_metadata.js +78 -0
- package/dist/esm/managers/file_requests.js +53 -0
- package/dist/esm/managers/file_version_legal_holds.js +51 -0
- package/dist/esm/managers/file_version_retentions.js +68 -0
- package/dist/esm/managers/file_versions.js +103 -0
- package/dist/esm/managers/file_watermarks.js +40 -0
- package/dist/esm/managers/files.js +101 -0
- package/dist/esm/managers/folder_classifications.js +60 -0
- package/dist/esm/managers/folder_locks.js +36 -0
- package/dist/esm/managers/folder_metadata.js +74 -0
- package/dist/esm/managers/folder_watermarks.js +40 -0
- package/dist/esm/managers/folders.js +154 -0
- package/dist/esm/managers/groups.js +95 -0
- package/dist/esm/managers/hub_collaborations.js +84 -0
- package/dist/esm/managers/hub_document.js +76 -0
- package/dist/esm/managers/hub_items.js +59 -0
- package/dist/esm/managers/hubs.js +149 -0
- package/dist/esm/managers/index.js +86 -0
- package/dist/esm/managers/integration_mappings.js +141 -0
- package/dist/esm/managers/invites.js +37 -0
- package/dist/esm/managers/legal_hold_policies.js +84 -0
- package/dist/esm/managers/legal_hold_policy_assignments.js +149 -0
- package/dist/esm/managers/list_collaborations.js +148 -0
- package/dist/esm/managers/memberships.js +123 -0
- package/dist/esm/managers/metadata_cascade_policies.js +81 -0
- package/dist/esm/managers/metadata_taxonomies.js +285 -0
- package/dist/esm/managers/metadata_templates.js +159 -0
- package/dist/esm/managers/notes.js +21 -0
- package/dist/esm/managers/recent_items.js +43 -0
- package/dist/esm/managers/retention_policies.js +94 -0
- package/dist/esm/managers/retention_policy_assignments.js +145 -0
- package/dist/esm/managers/search.js +93 -0
- package/dist/esm/managers/session_termination.js +31 -0
- package/dist/esm/managers/shared_links_app_items.js +18 -0
- package/dist/esm/managers/shared_links_files.js +72 -0
- package/dist/esm/managers/shared_links_folders.js +72 -0
- package/dist/esm/managers/shared_links_web_links.js +72 -0
- package/dist/esm/managers/shield_information_barrier_reports.js +61 -0
- package/dist/esm/managers/shield_information_barrier_segment_members.js +68 -0
- package/dist/esm/managers/shield_information_barrier_segment_restrictions.js +68 -0
- package/dist/esm/managers/shield_information_barrier_segments.js +79 -0
- package/dist/esm/managers/shield_information_barriers.js +71 -0
- package/dist/esm/managers/shield_lists.js +60 -0
- package/dist/esm/managers/sign_requests.js +86 -0
- package/dist/esm/managers/sign_templates.js +50 -0
- package/dist/esm/managers/skills.js +69 -0
- package/dist/esm/managers/storage_policies.js +53 -0
- package/dist/esm/managers/storage_policy_assignments.js +77 -0
- package/dist/esm/managers/task_assignments.js +57 -0
- package/dist/esm/managers/tasks.js +57 -0
- package/dist/esm/managers/terms_of_service_user_statuses.js +44 -0
- package/dist/esm/managers/terms_of_services.js +52 -0
- package/dist/esm/managers/transfer.js +30 -0
- package/dist/esm/managers/trashed_files.js +47 -0
- package/dist/esm/managers/trashed_folders.js +47 -0
- package/dist/esm/managers/trashed_items.js +57 -0
- package/dist/esm/managers/trashed_web_links.js +47 -0
- package/dist/esm/managers/uploads.js +61 -0
- package/dist/esm/managers/user_collaborations.js +58 -0
- package/dist/esm/managers/users.js +128 -0
- package/dist/esm/managers/web_links.js +51 -0
- package/dist/esm/managers/webhooks.js +78 -0
- package/dist/esm/managers/workflows.js +55 -0
- package/dist/esm/managers/zip_downloads.js +39 -0
- package/dist/esm/models/index.js +2 -0
- package/dist/esm/models/schemas.js +2 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/runtime.js +272 -0
- package/dist/esm/tokens.js +116 -0
- package/dist/types/auth.d.ts +56 -0
- package/dist/types/buildinfo.d.ts +6 -0
- package/dist/types/client.d.ts +176 -0
- package/dist/types/errors.d.ts +19 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/internal.d.ts +9 -0
- package/dist/types/jwt.d.ts +23 -0
- package/dist/types/managers/ai.d.ts +17 -0
- package/dist/types/managers/ai_studio.d.ts +27 -0
- package/dist/types/managers/app_item_associations.d.ts +25 -0
- package/dist/types/managers/archives.d.ts +18 -0
- package/dist/types/managers/authorization.d.ts +17 -0
- package/dist/types/managers/automate_workflows.d.ts +16 -0
- package/dist/types/managers/avatars.d.ts +10 -0
- package/dist/types/managers/chunked_uploads.d.ts +26 -0
- package/dist/types/managers/classifications.d.ts +11 -0
- package/dist/types/managers/collaboration_allowlist_entries.d.ts +18 -0
- package/dist/types/managers/collaboration_allowlist_exempt_targets.d.ts +18 -0
- package/dist/types/managers/collections.d.ts +26 -0
- package/dist/types/managers/comments.d.ts +32 -0
- package/dist/types/managers/device_pinners.d.ts +18 -0
- package/dist/types/managers/docgen.d.ts +25 -0
- package/dist/types/managers/docgen_template.d.ts +35 -0
- package/dist/types/managers/downloads.d.ts +14 -0
- package/dist/types/managers/email_aliases.d.ts +10 -0
- package/dist/types/managers/enterprise_configurations.d.ts +8 -0
- package/dist/types/managers/events.d.ts +18 -0
- package/dist/types/managers/external_users.d.ts +8 -0
- package/dist/types/managers/file_classifications.d.ts +11 -0
- package/dist/types/managers/file_metadata.d.ts +20 -0
- package/dist/types/managers/file_requests.d.ts +15 -0
- package/dist/types/managers/file_version_legal_holds.d.ts +16 -0
- package/dist/types/managers/file_version_retentions.d.ts +22 -0
- package/dist/types/managers/file_versions.d.ts +32 -0
- package/dist/types/managers/file_watermarks.d.ts +10 -0
- package/dist/types/managers/files.d.ts +39 -0
- package/dist/types/managers/folder_classifications.d.ts +11 -0
- package/dist/types/managers/folder_locks.d.ts +10 -0
- package/dist/types/managers/folder_metadata.d.ts +16 -0
- package/dist/types/managers/folder_watermarks.d.ts +10 -0
- package/dist/types/managers/folders.d.ts +54 -0
- package/dist/types/managers/groups.d.ts +33 -0
- package/dist/types/managers/hub_collaborations.d.ts +19 -0
- package/dist/types/managers/hub_document.d.ts +23 -0
- package/dist/types/managers/hub_items.d.ts +17 -0
- package/dist/types/managers/hubs.d.ts +35 -0
- package/dist/types/managers/index.d.ts +85 -0
- package/dist/types/managers/integration_mappings.d.ts +34 -0
- package/dist/types/managers/invites.d.ts +17 -0
- package/dist/types/managers/legal_hold_policies.d.ts +21 -0
- package/dist/types/managers/legal_hold_policy_assignments.d.ts +39 -0
- package/dist/types/managers/list_collaborations.d.ts +42 -0
- package/dist/types/managers/memberships.d.ts +39 -0
- package/dist/types/managers/metadata_cascade_policies.d.ts +20 -0
- package/dist/types/managers/metadata_taxonomies.d.ts +54 -0
- package/dist/types/managers/metadata_templates.d.ts +36 -0
- package/dist/types/managers/notes.d.ts +8 -0
- package/dist/types/managers/recent_items.d.ts +16 -0
- package/dist/types/managers/retention_policies.d.ts +27 -0
- package/dist/types/managers/retention_policy_assignments.d.ts +40 -0
- package/dist/types/managers/search.d.ts +33 -0
- package/dist/types/managers/session_termination.d.ts +9 -0
- package/dist/types/managers/shared_links_app_items.d.ts +8 -0
- package/dist/types/managers/shared_links_files.d.ts +17 -0
- package/dist/types/managers/shared_links_folders.d.ts +17 -0
- package/dist/types/managers/shared_links_web_links.d.ts +17 -0
- package/dist/types/managers/shield_information_barrier_reports.d.ts +17 -0
- package/dist/types/managers/shield_information_barrier_segment_members.d.ts +18 -0
- package/dist/types/managers/shield_information_barrier_segment_restrictions.d.ts +18 -0
- package/dist/types/managers/shield_information_barrier_segments.d.ts +19 -0
- package/dist/types/managers/shield_information_barriers.d.ts +18 -0
- package/dist/types/managers/shield_lists.d.ts +12 -0
- package/dist/types/managers/sign_requests.d.ts +21 -0
- package/dist/types/managers/sign_templates.d.ts +16 -0
- package/dist/types/managers/skills.d.ts +12 -0
- package/dist/types/managers/storage_policies.d.ts +17 -0
- package/dist/types/managers/storage_policy_assignments.d.ts +18 -0
- package/dist/types/managers/task_assignments.d.ts +12 -0
- package/dist/types/managers/tasks.d.ts +12 -0
- package/dist/types/managers/terms_of_service_user_statuses.d.ts +14 -0
- package/dist/types/managers/terms_of_services.d.ts +15 -0
- package/dist/types/managers/transfer.d.ts +13 -0
- package/dist/types/managers/trashed_files.d.ts +18 -0
- package/dist/types/managers/trashed_folders.d.ts +18 -0
- package/dist/types/managers/trashed_items.d.ts +20 -0
- package/dist/types/managers/trashed_web_links.d.ts +18 -0
- package/dist/types/managers/uploads.d.ts +21 -0
- package/dist/types/managers/user_collaborations.d.ts +20 -0
- package/dist/types/managers/users.d.ts +47 -0
- package/dist/types/managers/web_links.d.ts +15 -0
- package/dist/types/managers/webhooks.d.ts +19 -0
- package/dist/types/managers/workflows.d.ts +17 -0
- package/dist/types/managers/zip_downloads.d.ts +10 -0
- package/dist/types/models/index.d.ts +1 -0
- package/dist/types/models/schemas.d.ts +4424 -0
- package/dist/types/runtime.d.ts +85 -0
- package/dist/types/tokens.d.ts +50 -0
- package/docs/README.md +101 -0
- package/docs/auth.md +60 -0
- package/docs/errors.md +20 -0
- package/docs/managers/ai.md +49 -0
- package/docs/managers/ai_studio.md +63 -0
- package/docs/managers/app_item_associations.md +35 -0
- package/docs/managers/archives.md +48 -0
- package/docs/managers/authorization.md +43 -0
- package/docs/managers/automate_workflows.md +31 -0
- package/docs/managers/avatars.md +37 -0
- package/docs/managers/chunked_uploads.md +88 -0
- package/docs/managers/classifications.md +35 -0
- package/docs/managers/collaboration_allowlist_entries.md +46 -0
- package/docs/managers/collaboration_allowlist_exempt_targets.md +46 -0
- package/docs/managers/collections.md +44 -0
- package/docs/managers/comments.md +66 -0
- package/docs/managers/device_pinners.md +40 -0
- package/docs/managers/docgen.md +50 -0
- package/docs/managers/docgen_template.md +75 -0
- package/docs/managers/downloads.md +19 -0
- package/docs/managers/email_aliases.md +38 -0
- package/docs/managers/enterprise_configurations.md +16 -0
- package/docs/managers/events.md +26 -0
- package/docs/managers/external_users.md +13 -0
- package/docs/managers/file_classifications.md +49 -0
- package/docs/managers/file_metadata.md +69 -0
- package/docs/managers/file_requests.md +50 -0
- package/docs/managers/file_version_legal_holds.md +29 -0
- package/docs/managers/file_version_retentions.md +34 -0
- package/docs/managers/file_versions.md +70 -0
- package/docs/managers/file_watermarks.md +37 -0
- package/docs/managers/files.md +72 -0
- package/docs/managers/folder_classifications.md +49 -0
- package/docs/managers/folder_locks.md +33 -0
- package/docs/managers/folder_metadata.md +68 -0
- package/docs/managers/folder_watermarks.md +37 -0
- package/docs/managers/folders.md +93 -0
- package/docs/managers/groups.md +66 -0
- package/docs/managers/hub_collaborations.md +59 -0
- package/docs/managers/hub_document.md +34 -0
- package/docs/managers/hub_items.md +32 -0
- package/docs/managers/hubs.md +90 -0
- package/docs/managers/integration_mappings.md +96 -0
- package/docs/managers/invites.md +28 -0
- package/docs/managers/legal_hold_policies.md +60 -0
- package/docs/managers/legal_hold_policy_assignments.md +80 -0
- package/docs/managers/list_collaborations.md +64 -0
- package/docs/managers/memberships.md +79 -0
- package/docs/managers/metadata_cascade_policies.md +60 -0
- package/docs/managers/metadata_taxonomies.md +206 -0
- package/docs/managers/metadata_templates.md +98 -0
- package/docs/managers/notes.md +13 -0
- package/docs/managers/recent_items.md +19 -0
- package/docs/managers/retention_policies.md +63 -0
- package/docs/managers/retention_policy_assignments.md +78 -0
- package/docs/managers/search.md +43 -0
- package/docs/managers/session_termination.md +21 -0
- package/docs/managers/shared_links_app_items.md +15 -0
- package/docs/managers/shared_links_files.md +67 -0
- package/docs/managers/shared_links_folders.md +67 -0
- package/docs/managers/shared_links_web_links.md +67 -0
- package/docs/managers/shield_information_barrier_reports.md +37 -0
- package/docs/managers/shield_information_barrier_segment_members.md +47 -0
- package/docs/managers/shield_information_barrier_segment_restrictions.md +47 -0
- package/docs/managers/shield_information_barrier_segments.md +59 -0
- package/docs/managers/shield_information_barriers.md +44 -0
- package/docs/managers/shield_lists.md +51 -0
- package/docs/managers/sign_requests.md +60 -0
- package/docs/managers/sign_templates.md +28 -0
- package/docs/managers/skills.md +61 -0
- package/docs/managers/storage_policies.md +29 -0
- package/docs/managers/storage_policy_assignments.md +59 -0
- package/docs/managers/task_assignments.md +55 -0
- package/docs/managers/tasks.md +55 -0
- package/docs/managers/terms_of_service_user_statuses.md +36 -0
- package/docs/managers/terms_of_services.md +45 -0
- package/docs/managers/transfer.md +19 -0
- package/docs/managers/trashed_files.md +39 -0
- package/docs/managers/trashed_folders.md +39 -0
- package/docs/managers/trashed_items.md +23 -0
- package/docs/managers/trashed_web_links.md +39 -0
- package/docs/managers/uploads.md +41 -0
- package/docs/managers/user_collaborations.md +51 -0
- package/docs/managers/users.md +82 -0
- package/docs/managers/web_links.md +46 -0
- package/docs/managers/webhooks.md +58 -0
- package/docs/managers/workflows.md +32 -0
- package/docs/managers/zip_downloads.md +33 -0
- package/docs/pagination.md +17 -0
- package/package.json +32 -0
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
2
|
+
import { Client as Session } from './runtime.js';
|
|
3
|
+
import { AiManager } from './managers/ai.js';
|
|
4
|
+
import { AiStudioManager } from './managers/ai_studio.js';
|
|
5
|
+
import { AppItemAssociationsManager } from './managers/app_item_associations.js';
|
|
6
|
+
import { ArchivesManager } from './managers/archives.js';
|
|
7
|
+
import { AuthorizationManager } from './managers/authorization.js';
|
|
8
|
+
import { AutomateWorkflowsManager } from './managers/automate_workflows.js';
|
|
9
|
+
import { AvatarsManager } from './managers/avatars.js';
|
|
10
|
+
import { ChunkedUploadsManager } from './managers/chunked_uploads.js';
|
|
11
|
+
import { ClassificationsManager } from './managers/classifications.js';
|
|
12
|
+
import { CollaborationAllowlistEntriesManager } from './managers/collaboration_allowlist_entries.js';
|
|
13
|
+
import { CollaborationAllowlistExemptTargetsManager } from './managers/collaboration_allowlist_exempt_targets.js';
|
|
14
|
+
import { CollectionsManager } from './managers/collections.js';
|
|
15
|
+
import { CommentsManager } from './managers/comments.js';
|
|
16
|
+
import { DevicePinnersManager } from './managers/device_pinners.js';
|
|
17
|
+
import { DocgenManager } from './managers/docgen.js';
|
|
18
|
+
import { DocgenTemplateManager } from './managers/docgen_template.js';
|
|
19
|
+
import { DownloadsManager } from './managers/downloads.js';
|
|
20
|
+
import { EmailAliasesManager } from './managers/email_aliases.js';
|
|
21
|
+
import { EnterpriseConfigurationsManager } from './managers/enterprise_configurations.js';
|
|
22
|
+
import { EventsManager } from './managers/events.js';
|
|
23
|
+
import { ExternalUsersManager } from './managers/external_users.js';
|
|
24
|
+
import { FileClassificationsManager } from './managers/file_classifications.js';
|
|
25
|
+
import { FileMetadataManager } from './managers/file_metadata.js';
|
|
26
|
+
import { FileRequestsManager } from './managers/file_requests.js';
|
|
27
|
+
import { FileVersionLegalHoldsManager } from './managers/file_version_legal_holds.js';
|
|
28
|
+
import { FileVersionRetentionsManager } from './managers/file_version_retentions.js';
|
|
29
|
+
import { FileVersionsManager } from './managers/file_versions.js';
|
|
30
|
+
import { FileWatermarksManager } from './managers/file_watermarks.js';
|
|
31
|
+
import { FilesManager } from './managers/files.js';
|
|
32
|
+
import { FolderClassificationsManager } from './managers/folder_classifications.js';
|
|
33
|
+
import { FolderLocksManager } from './managers/folder_locks.js';
|
|
34
|
+
import { FolderMetadataManager } from './managers/folder_metadata.js';
|
|
35
|
+
import { FolderWatermarksManager } from './managers/folder_watermarks.js';
|
|
36
|
+
import { FoldersManager } from './managers/folders.js';
|
|
37
|
+
import { GroupsManager } from './managers/groups.js';
|
|
38
|
+
import { HubCollaborationsManager } from './managers/hub_collaborations.js';
|
|
39
|
+
import { HubDocumentManager } from './managers/hub_document.js';
|
|
40
|
+
import { HubItemsManager } from './managers/hub_items.js';
|
|
41
|
+
import { HubsManager } from './managers/hubs.js';
|
|
42
|
+
import { IntegrationMappingsManager } from './managers/integration_mappings.js';
|
|
43
|
+
import { InvitesManager } from './managers/invites.js';
|
|
44
|
+
import { LegalHoldPoliciesManager } from './managers/legal_hold_policies.js';
|
|
45
|
+
import { LegalHoldPolicyAssignmentsManager } from './managers/legal_hold_policy_assignments.js';
|
|
46
|
+
import { ListCollaborationsManager } from './managers/list_collaborations.js';
|
|
47
|
+
import { MembershipsManager } from './managers/memberships.js';
|
|
48
|
+
import { MetadataCascadePoliciesManager } from './managers/metadata_cascade_policies.js';
|
|
49
|
+
import { MetadataTaxonomiesManager } from './managers/metadata_taxonomies.js';
|
|
50
|
+
import { MetadataTemplatesManager } from './managers/metadata_templates.js';
|
|
51
|
+
import { NotesManager } from './managers/notes.js';
|
|
52
|
+
import { RecentItemsManager } from './managers/recent_items.js';
|
|
53
|
+
import { RetentionPoliciesManager } from './managers/retention_policies.js';
|
|
54
|
+
import { RetentionPolicyAssignmentsManager } from './managers/retention_policy_assignments.js';
|
|
55
|
+
import { SearchManager } from './managers/search.js';
|
|
56
|
+
import { SessionTerminationManager } from './managers/session_termination.js';
|
|
57
|
+
import { SharedLinksAppItemsManager } from './managers/shared_links_app_items.js';
|
|
58
|
+
import { SharedLinksFilesManager } from './managers/shared_links_files.js';
|
|
59
|
+
import { SharedLinksFoldersManager } from './managers/shared_links_folders.js';
|
|
60
|
+
import { SharedLinksWebLinksManager } from './managers/shared_links_web_links.js';
|
|
61
|
+
import { ShieldInformationBarrierReportsManager } from './managers/shield_information_barrier_reports.js';
|
|
62
|
+
import { ShieldInformationBarrierSegmentMembersManager } from './managers/shield_information_barrier_segment_members.js';
|
|
63
|
+
import { ShieldInformationBarrierSegmentRestrictionsManager } from './managers/shield_information_barrier_segment_restrictions.js';
|
|
64
|
+
import { ShieldInformationBarrierSegmentsManager } from './managers/shield_information_barrier_segments.js';
|
|
65
|
+
import { ShieldInformationBarriersManager } from './managers/shield_information_barriers.js';
|
|
66
|
+
import { ShieldListsManager } from './managers/shield_lists.js';
|
|
67
|
+
import { SignRequestsManager } from './managers/sign_requests.js';
|
|
68
|
+
import { SignTemplatesManager } from './managers/sign_templates.js';
|
|
69
|
+
import { SkillsManager } from './managers/skills.js';
|
|
70
|
+
import { StoragePoliciesManager } from './managers/storage_policies.js';
|
|
71
|
+
import { StoragePolicyAssignmentsManager } from './managers/storage_policy_assignments.js';
|
|
72
|
+
import { TaskAssignmentsManager } from './managers/task_assignments.js';
|
|
73
|
+
import { TasksManager } from './managers/tasks.js';
|
|
74
|
+
import { TermsOfServiceUserStatusesManager } from './managers/terms_of_service_user_statuses.js';
|
|
75
|
+
import { TermsOfServicesManager } from './managers/terms_of_services.js';
|
|
76
|
+
import { TransferManager } from './managers/transfer.js';
|
|
77
|
+
import { TrashedFilesManager } from './managers/trashed_files.js';
|
|
78
|
+
import { TrashedFoldersManager } from './managers/trashed_folders.js';
|
|
79
|
+
import { TrashedItemsManager } from './managers/trashed_items.js';
|
|
80
|
+
import { TrashedWebLinksManager } from './managers/trashed_web_links.js';
|
|
81
|
+
import { UploadsManager } from './managers/uploads.js';
|
|
82
|
+
import { UserCollaborationsManager } from './managers/user_collaborations.js';
|
|
83
|
+
import { UsersManager } from './managers/users.js';
|
|
84
|
+
import { WebLinksManager } from './managers/web_links.js';
|
|
85
|
+
import { WebhooksManager } from './managers/webhooks.js';
|
|
86
|
+
import { WorkflowsManager } from './managers/workflows.js';
|
|
87
|
+
import { ZipDownloadsManager } from './managers/zip_downloads.js';
|
|
88
|
+
/** The Box SDK client: one manager per API area over a shared session. */
|
|
89
|
+
export class Client {
|
|
90
|
+
ai;
|
|
91
|
+
aiStudio;
|
|
92
|
+
appItemAssociations;
|
|
93
|
+
archives;
|
|
94
|
+
authorization;
|
|
95
|
+
automateWorkflows;
|
|
96
|
+
avatars;
|
|
97
|
+
chunkedUploads;
|
|
98
|
+
classifications;
|
|
99
|
+
collaborationAllowlistEntries;
|
|
100
|
+
collaborationAllowlistExemptTargets;
|
|
101
|
+
collections;
|
|
102
|
+
comments;
|
|
103
|
+
devicePinners;
|
|
104
|
+
docgen;
|
|
105
|
+
docgenTemplate;
|
|
106
|
+
downloads;
|
|
107
|
+
emailAliases;
|
|
108
|
+
enterpriseConfigurations;
|
|
109
|
+
events;
|
|
110
|
+
externalUsers;
|
|
111
|
+
fileClassifications;
|
|
112
|
+
fileMetadata;
|
|
113
|
+
fileRequests;
|
|
114
|
+
fileVersionLegalHolds;
|
|
115
|
+
fileVersionRetentions;
|
|
116
|
+
fileVersions;
|
|
117
|
+
fileWatermarks;
|
|
118
|
+
files;
|
|
119
|
+
folderClassifications;
|
|
120
|
+
folderLocks;
|
|
121
|
+
folderMetadata;
|
|
122
|
+
folderWatermarks;
|
|
123
|
+
folders;
|
|
124
|
+
groups;
|
|
125
|
+
hubCollaborations;
|
|
126
|
+
hubDocument;
|
|
127
|
+
hubItems;
|
|
128
|
+
hubs;
|
|
129
|
+
integrationMappings;
|
|
130
|
+
invites;
|
|
131
|
+
legalHoldPolicies;
|
|
132
|
+
legalHoldPolicyAssignments;
|
|
133
|
+
listCollaborations;
|
|
134
|
+
memberships;
|
|
135
|
+
metadataCascadePolicies;
|
|
136
|
+
metadataTaxonomies;
|
|
137
|
+
metadataTemplates;
|
|
138
|
+
notes;
|
|
139
|
+
recentItems;
|
|
140
|
+
retentionPolicies;
|
|
141
|
+
retentionPolicyAssignments;
|
|
142
|
+
search;
|
|
143
|
+
sessionTermination;
|
|
144
|
+
sharedLinksAppItems;
|
|
145
|
+
sharedLinksFiles;
|
|
146
|
+
sharedLinksFolders;
|
|
147
|
+
sharedLinksWebLinks;
|
|
148
|
+
shieldInformationBarrierReports;
|
|
149
|
+
shieldInformationBarrierSegmentMembers;
|
|
150
|
+
shieldInformationBarrierSegmentRestrictions;
|
|
151
|
+
shieldInformationBarrierSegments;
|
|
152
|
+
shieldInformationBarriers;
|
|
153
|
+
shieldLists;
|
|
154
|
+
signRequests;
|
|
155
|
+
signTemplates;
|
|
156
|
+
skills;
|
|
157
|
+
storagePolicies;
|
|
158
|
+
storagePolicyAssignments;
|
|
159
|
+
taskAssignments;
|
|
160
|
+
tasks;
|
|
161
|
+
termsOfServiceUserStatuses;
|
|
162
|
+
termsOfServices;
|
|
163
|
+
transfer;
|
|
164
|
+
trashedFiles;
|
|
165
|
+
trashedFolders;
|
|
166
|
+
trashedItems;
|
|
167
|
+
trashedWebLinks;
|
|
168
|
+
uploads;
|
|
169
|
+
userCollaborations;
|
|
170
|
+
users;
|
|
171
|
+
webLinks;
|
|
172
|
+
webhooks;
|
|
173
|
+
workflows;
|
|
174
|
+
zipDownloads;
|
|
175
|
+
/** Build a client for an authentication flow. */
|
|
176
|
+
constructor(auth) {
|
|
177
|
+
const session = new Session(auth);
|
|
178
|
+
this.ai = new AiManager(session);
|
|
179
|
+
this.aiStudio = new AiStudioManager(session);
|
|
180
|
+
this.appItemAssociations = new AppItemAssociationsManager(session);
|
|
181
|
+
this.archives = new ArchivesManager(session);
|
|
182
|
+
this.authorization = new AuthorizationManager(session);
|
|
183
|
+
this.automateWorkflows = new AutomateWorkflowsManager(session);
|
|
184
|
+
this.avatars = new AvatarsManager(session);
|
|
185
|
+
this.chunkedUploads = new ChunkedUploadsManager(session);
|
|
186
|
+
this.classifications = new ClassificationsManager(session);
|
|
187
|
+
this.collaborationAllowlistEntries = new CollaborationAllowlistEntriesManager(session);
|
|
188
|
+
this.collaborationAllowlistExemptTargets = new CollaborationAllowlistExemptTargetsManager(session);
|
|
189
|
+
this.collections = new CollectionsManager(session);
|
|
190
|
+
this.comments = new CommentsManager(session);
|
|
191
|
+
this.devicePinners = new DevicePinnersManager(session);
|
|
192
|
+
this.docgen = new DocgenManager(session);
|
|
193
|
+
this.docgenTemplate = new DocgenTemplateManager(session);
|
|
194
|
+
this.downloads = new DownloadsManager(session);
|
|
195
|
+
this.emailAliases = new EmailAliasesManager(session);
|
|
196
|
+
this.enterpriseConfigurations = new EnterpriseConfigurationsManager(session);
|
|
197
|
+
this.events = new EventsManager(session);
|
|
198
|
+
this.externalUsers = new ExternalUsersManager(session);
|
|
199
|
+
this.fileClassifications = new FileClassificationsManager(session);
|
|
200
|
+
this.fileMetadata = new FileMetadataManager(session);
|
|
201
|
+
this.fileRequests = new FileRequestsManager(session);
|
|
202
|
+
this.fileVersionLegalHolds = new FileVersionLegalHoldsManager(session);
|
|
203
|
+
this.fileVersionRetentions = new FileVersionRetentionsManager(session);
|
|
204
|
+
this.fileVersions = new FileVersionsManager(session);
|
|
205
|
+
this.fileWatermarks = new FileWatermarksManager(session);
|
|
206
|
+
this.files = new FilesManager(session);
|
|
207
|
+
this.folderClassifications = new FolderClassificationsManager(session);
|
|
208
|
+
this.folderLocks = new FolderLocksManager(session);
|
|
209
|
+
this.folderMetadata = new FolderMetadataManager(session);
|
|
210
|
+
this.folderWatermarks = new FolderWatermarksManager(session);
|
|
211
|
+
this.folders = new FoldersManager(session);
|
|
212
|
+
this.groups = new GroupsManager(session);
|
|
213
|
+
this.hubCollaborations = new HubCollaborationsManager(session);
|
|
214
|
+
this.hubDocument = new HubDocumentManager(session);
|
|
215
|
+
this.hubItems = new HubItemsManager(session);
|
|
216
|
+
this.hubs = new HubsManager(session);
|
|
217
|
+
this.integrationMappings = new IntegrationMappingsManager(session);
|
|
218
|
+
this.invites = new InvitesManager(session);
|
|
219
|
+
this.legalHoldPolicies = new LegalHoldPoliciesManager(session);
|
|
220
|
+
this.legalHoldPolicyAssignments = new LegalHoldPolicyAssignmentsManager(session);
|
|
221
|
+
this.listCollaborations = new ListCollaborationsManager(session);
|
|
222
|
+
this.memberships = new MembershipsManager(session);
|
|
223
|
+
this.metadataCascadePolicies = new MetadataCascadePoliciesManager(session);
|
|
224
|
+
this.metadataTaxonomies = new MetadataTaxonomiesManager(session);
|
|
225
|
+
this.metadataTemplates = new MetadataTemplatesManager(session);
|
|
226
|
+
this.notes = new NotesManager(session);
|
|
227
|
+
this.recentItems = new RecentItemsManager(session);
|
|
228
|
+
this.retentionPolicies = new RetentionPoliciesManager(session);
|
|
229
|
+
this.retentionPolicyAssignments = new RetentionPolicyAssignmentsManager(session);
|
|
230
|
+
this.search = new SearchManager(session);
|
|
231
|
+
this.sessionTermination = new SessionTerminationManager(session);
|
|
232
|
+
this.sharedLinksAppItems = new SharedLinksAppItemsManager(session);
|
|
233
|
+
this.sharedLinksFiles = new SharedLinksFilesManager(session);
|
|
234
|
+
this.sharedLinksFolders = new SharedLinksFoldersManager(session);
|
|
235
|
+
this.sharedLinksWebLinks = new SharedLinksWebLinksManager(session);
|
|
236
|
+
this.shieldInformationBarrierReports = new ShieldInformationBarrierReportsManager(session);
|
|
237
|
+
this.shieldInformationBarrierSegmentMembers = new ShieldInformationBarrierSegmentMembersManager(session);
|
|
238
|
+
this.shieldInformationBarrierSegmentRestrictions = new ShieldInformationBarrierSegmentRestrictionsManager(session);
|
|
239
|
+
this.shieldInformationBarrierSegments = new ShieldInformationBarrierSegmentsManager(session);
|
|
240
|
+
this.shieldInformationBarriers = new ShieldInformationBarriersManager(session);
|
|
241
|
+
this.shieldLists = new ShieldListsManager(session);
|
|
242
|
+
this.signRequests = new SignRequestsManager(session);
|
|
243
|
+
this.signTemplates = new SignTemplatesManager(session);
|
|
244
|
+
this.skills = new SkillsManager(session);
|
|
245
|
+
this.storagePolicies = new StoragePoliciesManager(session);
|
|
246
|
+
this.storagePolicyAssignments = new StoragePolicyAssignmentsManager(session);
|
|
247
|
+
this.taskAssignments = new TaskAssignmentsManager(session);
|
|
248
|
+
this.tasks = new TasksManager(session);
|
|
249
|
+
this.termsOfServiceUserStatuses = new TermsOfServiceUserStatusesManager(session);
|
|
250
|
+
this.termsOfServices = new TermsOfServicesManager(session);
|
|
251
|
+
this.transfer = new TransferManager(session);
|
|
252
|
+
this.trashedFiles = new TrashedFilesManager(session);
|
|
253
|
+
this.trashedFolders = new TrashedFoldersManager(session);
|
|
254
|
+
this.trashedItems = new TrashedItemsManager(session);
|
|
255
|
+
this.trashedWebLinks = new TrashedWebLinksManager(session);
|
|
256
|
+
this.uploads = new UploadsManager(session);
|
|
257
|
+
this.userCollaborations = new UserCollaborationsManager(session);
|
|
258
|
+
this.users = new UsersManager(session);
|
|
259
|
+
this.webLinks = new WebLinksManager(session);
|
|
260
|
+
this.webhooks = new WebhooksManager(session);
|
|
261
|
+
this.workflows = new WorkflowsManager(session);
|
|
262
|
+
this.zipDownloads = new ZipDownloadsManager(session);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// Code generated by box-gantry (vendored from runtimes/typescript/gantryruntime/src/errors.ts). DO NOT EDIT.
|
|
2
|
+
/**
|
|
3
|
+
* A runtime error: a failed request, auth acquisition, or body decode. The
|
|
4
|
+
* generated SDK's exceptions model (TR-TS.3) surfaces every failure as a thrown
|
|
5
|
+
* `BoxApiError` — the TypeScript analogue of Go's `error` return and Rust's
|
|
6
|
+
* `Result::Err`.
|
|
7
|
+
*/
|
|
8
|
+
export class BoxApiError extends Error {
|
|
9
|
+
/** The HTTP status, when the error carries a response. */
|
|
10
|
+
status;
|
|
11
|
+
constructor(message, options = {}) {
|
|
12
|
+
super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
|
|
13
|
+
this.name = 'BoxApiError';
|
|
14
|
+
this.status = options.status;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
2
|
+
export { Client } from './client.js';
|
|
3
|
+
export * as models from './models/index.js';
|
|
4
|
+
export * as managers from './managers/index.js';
|
|
5
|
+
export * as runtime from './runtime.js';
|
|
6
|
+
export * as buildinfo from './buildinfo.js';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
2
|
+
/** Comma-join a list into a query value, converting each element with `f`. */
|
|
3
|
+
export function join(items, f) {
|
|
4
|
+
return items.map(f).join(',');
|
|
5
|
+
}
|
|
6
|
+
/** Percent-encode a value, leaving RFC 3986 unreserved characters as-is. */
|
|
7
|
+
export function pathEscape(value) {
|
|
8
|
+
let out = '';
|
|
9
|
+
for (const byte of new TextEncoder().encode(value)) {
|
|
10
|
+
const unreserved = (byte >= 0x41 && byte <= 0x5a) || // A-Z
|
|
11
|
+
(byte >= 0x61 && byte <= 0x7a) || // a-z
|
|
12
|
+
(byte >= 0x30 && byte <= 0x39) || // 0-9
|
|
13
|
+
byte === 0x2d || // -
|
|
14
|
+
byte === 0x2e || // .
|
|
15
|
+
byte === 0x5f || // _
|
|
16
|
+
byte === 0x7e; // ~
|
|
17
|
+
if (unreserved) {
|
|
18
|
+
out += String.fromCharCode(byte);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
out += '%' + byte.toString(16).toUpperCase().padStart(2, '0');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* An application/x-www-form-urlencoded body from key/value pairs (the OAuth2
|
|
28
|
+
* token endpoints): each key and value percent-encoded, joined by `&`.
|
|
29
|
+
*/
|
|
30
|
+
export function formEncode(pairs) {
|
|
31
|
+
return pairs.map(([key, value]) => `${pathEscape(key)}=${pathEscape(value)}`).join('&');
|
|
32
|
+
}
|
package/dist/esm/jwt.js
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
// Code generated by box-gantry (vendored from runtimes/typescript/gantryruntime/src/jwt.ts). DO NOT EDIT.
|
|
2
|
+
// JWT server auth — the fourth Box auth flow (TR-TS.5 parity with Go/Rust).
|
|
3
|
+
//
|
|
4
|
+
// Unlike the other three flows, this one needs an RSA signing key, so it uses
|
|
5
|
+
// `node:crypto` and runs only on Node-like runtimes. It is a leaf module — not
|
|
6
|
+
// re-exported by `runtime.ts` — and imports `node:crypto` lazily, so importing
|
|
7
|
+
// the core runtime or the `fetch`-only flows never pulls in a Node dependency.
|
|
8
|
+
// Reach it via the package's `./jwt` export.
|
|
9
|
+
import { BoxApiError } from './errors.js';
|
|
10
|
+
import { CachedToken, DEFAULT_TOKEN_URL, postTokenForm } from './tokens.js';
|
|
11
|
+
/**
|
|
12
|
+
* Build a JWT-assertion `Auth`, parsing (and if needed decrypting) the RSA
|
|
13
|
+
* private key up front so a bad key fails loudly here rather than on the first
|
|
14
|
+
* request. Returns a promise because it imports `node:crypto` on demand.
|
|
15
|
+
*/
|
|
16
|
+
export async function jwtAuth(config) {
|
|
17
|
+
if (!config.userId && !config.enterpriseId) {
|
|
18
|
+
throw new BoxApiError('jwtAuth requires a subject: enterpriseId or userId');
|
|
19
|
+
}
|
|
20
|
+
const crypto = await import('node:crypto');
|
|
21
|
+
let privateKey;
|
|
22
|
+
try {
|
|
23
|
+
privateKey = crypto.createPrivateKey(config.passphrase !== undefined
|
|
24
|
+
? { key: config.privateKeyPem, passphrase: config.passphrase }
|
|
25
|
+
: { key: config.privateKeyPem });
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
throw new BoxApiError('failed to parse the JWT private key', { cause: err });
|
|
29
|
+
}
|
|
30
|
+
// The assertion is RS256-signed, so a non-RSA key would fail confusingly at
|
|
31
|
+
// sign time — reject it up front (parity with the Go/Rust runtimes).
|
|
32
|
+
if (privateKey.asymmetricKeyType !== 'rsa') {
|
|
33
|
+
throw new BoxApiError(`JWT auth requires an RSA private key, got ${privateKey.asymmetricKeyType ?? 'an unrecognized key type'}`);
|
|
34
|
+
}
|
|
35
|
+
const tokenUrl = config.tokenUrl ?? DEFAULT_TOKEN_URL;
|
|
36
|
+
const subject = config.userId
|
|
37
|
+
? { type: 'user', id: config.userId }
|
|
38
|
+
: { type: 'enterprise', id: config.enterpriseId ?? '' };
|
|
39
|
+
return new CachedToken(async () => {
|
|
40
|
+
const assertion = signAssertion(crypto, config, privateKey, subject, tokenUrl);
|
|
41
|
+
return postTokenForm(tokenUrl, {
|
|
42
|
+
grant_type: 'urn:ietf:params:oauth:grant-type:jwt-bearer',
|
|
43
|
+
assertion,
|
|
44
|
+
client_id: config.clientId,
|
|
45
|
+
client_secret: config.clientSecret,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Build and RS256-sign the JWT bearer assertion Box's jwt-bearer grant expects.
|
|
51
|
+
* The claim set is single-use: a random `jti` and a short (45s) expiry.
|
|
52
|
+
*/
|
|
53
|
+
function signAssertion(crypto, config, privateKey, subject, audience) {
|
|
54
|
+
const header = { alg: 'RS256', typ: 'JWT', kid: config.publicKeyId };
|
|
55
|
+
const claims = {
|
|
56
|
+
iss: config.clientId,
|
|
57
|
+
sub: subject.id,
|
|
58
|
+
box_sub_type: subject.type,
|
|
59
|
+
aud: audience,
|
|
60
|
+
jti: hex(crypto.randomBytes(16)),
|
|
61
|
+
exp: Math.floor(Date.now() / 1000) + 45,
|
|
62
|
+
};
|
|
63
|
+
const signingInput = `${base64urlJson(header)}.${base64urlJson(claims)}`;
|
|
64
|
+
const signature = crypto.sign('RSA-SHA256', new TextEncoder().encode(signingInput), privateKey);
|
|
65
|
+
return `${signingInput}.${base64url(signature)}`;
|
|
66
|
+
}
|
|
67
|
+
/** Base64url-encode a JSON value's UTF-8 bytes (no padding). */
|
|
68
|
+
function base64urlJson(value) {
|
|
69
|
+
return base64url(new TextEncoder().encode(JSON.stringify(value)));
|
|
70
|
+
}
|
|
71
|
+
/** Base64url-encode bytes (RFC 7515 §2: base64 with `+/` → `-_`, no padding). */
|
|
72
|
+
function base64url(bytes) {
|
|
73
|
+
let binary = '';
|
|
74
|
+
for (const byte of bytes) {
|
|
75
|
+
binary += String.fromCharCode(byte);
|
|
76
|
+
}
|
|
77
|
+
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
78
|
+
}
|
|
79
|
+
/** Lowercase hex of bytes, for the assertion `jti`. */
|
|
80
|
+
function hex(bytes) {
|
|
81
|
+
let out = '';
|
|
82
|
+
for (const byte of bytes) {
|
|
83
|
+
out += byte.toString(16).padStart(2, '0');
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
2
|
+
import * as runtime from '../runtime.js';
|
|
3
|
+
/** Operations for the "ai" API area. */
|
|
4
|
+
export class AiManager {
|
|
5
|
+
session;
|
|
6
|
+
constructor(session) {
|
|
7
|
+
this.session = session;
|
|
8
|
+
}
|
|
9
|
+
async ask(body) {
|
|
10
|
+
let url = this.session.baseUrl("api");
|
|
11
|
+
url += "/ai";
|
|
12
|
+
url += "/ask";
|
|
13
|
+
let req = this.session.newRequest("POST", url);
|
|
14
|
+
const payload = new TextEncoder().encode(JSON.stringify(body));
|
|
15
|
+
req = runtime.withJsonBody(req, payload);
|
|
16
|
+
const resp = await this.session.fetch(req);
|
|
17
|
+
const data = runtime.responseBytes(resp);
|
|
18
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
19
|
+
}
|
|
20
|
+
async createTextGen(body) {
|
|
21
|
+
let url = this.session.baseUrl("api");
|
|
22
|
+
url += "/ai";
|
|
23
|
+
url += "/text_gen";
|
|
24
|
+
let req = this.session.newRequest("POST", url);
|
|
25
|
+
const payload = new TextEncoder().encode(JSON.stringify(body));
|
|
26
|
+
req = runtime.withJsonBody(req, payload);
|
|
27
|
+
const resp = await this.session.fetch(req);
|
|
28
|
+
const data = runtime.responseBytes(resp);
|
|
29
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
30
|
+
}
|
|
31
|
+
async getAgentDefault(mode, opts) {
|
|
32
|
+
let url = this.session.baseUrl("api");
|
|
33
|
+
url += "/ai_agent_default";
|
|
34
|
+
let req = this.session.newRequest("GET", url);
|
|
35
|
+
req = runtime.withQuery(req, "mode", mode);
|
|
36
|
+
const options = opts ?? {};
|
|
37
|
+
if (options.language !== undefined) {
|
|
38
|
+
req = runtime.withQuery(req, "language", options.language);
|
|
39
|
+
}
|
|
40
|
+
if (options.model !== undefined) {
|
|
41
|
+
req = runtime.withQuery(req, "model", options.model);
|
|
42
|
+
}
|
|
43
|
+
const resp = await this.session.fetch(req);
|
|
44
|
+
const data = runtime.responseBytes(resp);
|
|
45
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
46
|
+
}
|
|
47
|
+
async extract(body) {
|
|
48
|
+
let url = this.session.baseUrl("api");
|
|
49
|
+
url += "/ai";
|
|
50
|
+
url += "/extract";
|
|
51
|
+
let req = this.session.newRequest("POST", url);
|
|
52
|
+
const payload = new TextEncoder().encode(JSON.stringify(body));
|
|
53
|
+
req = runtime.withJsonBody(req, payload);
|
|
54
|
+
const resp = await this.session.fetch(req);
|
|
55
|
+
const data = runtime.responseBytes(resp);
|
|
56
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
57
|
+
}
|
|
58
|
+
async createExtractStructured(body) {
|
|
59
|
+
let url = this.session.baseUrl("api");
|
|
60
|
+
url += "/ai";
|
|
61
|
+
url += "/extract_structured";
|
|
62
|
+
let req = this.session.newRequest("POST", url);
|
|
63
|
+
const payload = new TextEncoder().encode(JSON.stringify(body));
|
|
64
|
+
req = runtime.withJsonBody(req, payload);
|
|
65
|
+
const resp = await this.session.fetch(req);
|
|
66
|
+
const data = runtime.responseBytes(resp);
|
|
67
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
2
|
+
import * as runtime from '../runtime.js';
|
|
3
|
+
import { pathEscape } from '../internal.js';
|
|
4
|
+
/** Operations for the "ai_studio" API area. */
|
|
5
|
+
export class AiStudioManager {
|
|
6
|
+
session;
|
|
7
|
+
constructor(session) {
|
|
8
|
+
this.session = session;
|
|
9
|
+
}
|
|
10
|
+
/** Iterate every `models.schemas.AiSingleAgentResponseFull` across pages, threading the marker cursor. */
|
|
11
|
+
async *listAiAgents(opts) {
|
|
12
|
+
const options = { ...opts };
|
|
13
|
+
for (;;) {
|
|
14
|
+
const page = await this.listAiAgentsPage(options);
|
|
15
|
+
const items = page.entries ?? [];
|
|
16
|
+
for (const item of items) {
|
|
17
|
+
yield item;
|
|
18
|
+
}
|
|
19
|
+
const cursor = page.next_marker;
|
|
20
|
+
if (cursor === undefined || cursor === null || cursor === '') {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
options.marker = cursor;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async listAiAgentsPage(opts) {
|
|
27
|
+
let url = this.session.baseUrl("api");
|
|
28
|
+
url += "/ai_agents";
|
|
29
|
+
let req = this.session.newRequest("GET", url);
|
|
30
|
+
const options = opts ?? {};
|
|
31
|
+
if (options.mode !== undefined) {
|
|
32
|
+
req = runtime.withQuery(req, "mode", options.mode.join(','));
|
|
33
|
+
}
|
|
34
|
+
if (options.fields !== undefined) {
|
|
35
|
+
req = runtime.withQuery(req, "fields", options.fields.join(','));
|
|
36
|
+
}
|
|
37
|
+
if (options.agent_state !== undefined) {
|
|
38
|
+
req = runtime.withQuery(req, "agent_state", options.agent_state.join(','));
|
|
39
|
+
}
|
|
40
|
+
if (options.include_box_default !== undefined) {
|
|
41
|
+
req = runtime.withQuery(req, "include_box_default", String(options.include_box_default));
|
|
42
|
+
}
|
|
43
|
+
if (options.marker !== undefined) {
|
|
44
|
+
req = runtime.withQuery(req, "marker", options.marker);
|
|
45
|
+
}
|
|
46
|
+
if (options.limit !== undefined) {
|
|
47
|
+
req = runtime.withQuery(req, "limit", String(options.limit));
|
|
48
|
+
}
|
|
49
|
+
const resp = await this.session.fetch(req);
|
|
50
|
+
const data = runtime.responseBytes(resp);
|
|
51
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
52
|
+
}
|
|
53
|
+
async createAiAgents(body) {
|
|
54
|
+
let url = this.session.baseUrl("api");
|
|
55
|
+
url += "/ai_agents";
|
|
56
|
+
let req = this.session.newRequest("POST", url);
|
|
57
|
+
const payload = new TextEncoder().encode(JSON.stringify(body));
|
|
58
|
+
req = runtime.withJsonBody(req, payload);
|
|
59
|
+
const resp = await this.session.fetch(req);
|
|
60
|
+
const data = runtime.responseBytes(resp);
|
|
61
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
62
|
+
}
|
|
63
|
+
async getAiAgent(agentId, opts) {
|
|
64
|
+
let url = this.session.baseUrl("api");
|
|
65
|
+
url += "/ai_agents";
|
|
66
|
+
url += '/' + pathEscape(agentId);
|
|
67
|
+
let req = this.session.newRequest("GET", url);
|
|
68
|
+
const options = opts ?? {};
|
|
69
|
+
if (options.fields !== undefined) {
|
|
70
|
+
req = runtime.withQuery(req, "fields", options.fields.join(','));
|
|
71
|
+
}
|
|
72
|
+
const resp = await this.session.fetch(req);
|
|
73
|
+
const data = runtime.responseBytes(resp);
|
|
74
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
75
|
+
}
|
|
76
|
+
async updateAiAgent(agentId, body) {
|
|
77
|
+
let url = this.session.baseUrl("api");
|
|
78
|
+
url += "/ai_agents";
|
|
79
|
+
url += '/' + pathEscape(agentId);
|
|
80
|
+
let req = this.session.newRequest("PUT", url);
|
|
81
|
+
const payload = new TextEncoder().encode(JSON.stringify(body));
|
|
82
|
+
req = runtime.withJsonBody(req, payload);
|
|
83
|
+
const resp = await this.session.fetch(req);
|
|
84
|
+
const data = runtime.responseBytes(resp);
|
|
85
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
86
|
+
}
|
|
87
|
+
async deleteAiAgent(agentId) {
|
|
88
|
+
let url = this.session.baseUrl("api");
|
|
89
|
+
url += "/ai_agents";
|
|
90
|
+
url += '/' + pathEscape(agentId);
|
|
91
|
+
let req = this.session.newRequest("DELETE", url);
|
|
92
|
+
await this.session.fetch(req);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
// Code generated by box-gantry. DO NOT EDIT.
|
|
2
|
+
import * as runtime from '../runtime.js';
|
|
3
|
+
import { pathEscape } from '../internal.js';
|
|
4
|
+
/** Operations for the "app_item_associations" API area. */
|
|
5
|
+
export class AppItemAssociationsManager {
|
|
6
|
+
session;
|
|
7
|
+
constructor(session) {
|
|
8
|
+
this.session = session;
|
|
9
|
+
}
|
|
10
|
+
/** Iterate every `models.schemas.AppItemAssociation` across pages, threading the marker cursor. */
|
|
11
|
+
async *listFile(fileId, opts) {
|
|
12
|
+
const options = { ...opts };
|
|
13
|
+
for (;;) {
|
|
14
|
+
const page = await this.listFilePage(fileId, options);
|
|
15
|
+
const items = page.entries ?? [];
|
|
16
|
+
for (const item of items) {
|
|
17
|
+
yield item;
|
|
18
|
+
}
|
|
19
|
+
const cursor = page.next_marker;
|
|
20
|
+
if (cursor === undefined || cursor === null || cursor === '') {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
options.marker = cursor;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
async listFilePage(fileId, opts) {
|
|
27
|
+
let url = this.session.baseUrl("api");
|
|
28
|
+
url += "/files";
|
|
29
|
+
url += '/' + pathEscape(fileId);
|
|
30
|
+
url += "/app_item_associations";
|
|
31
|
+
let req = this.session.newRequest("GET", url);
|
|
32
|
+
const options = opts ?? {};
|
|
33
|
+
if (options.limit !== undefined) {
|
|
34
|
+
req = runtime.withQuery(req, "limit", String(options.limit));
|
|
35
|
+
}
|
|
36
|
+
if (options.marker !== undefined) {
|
|
37
|
+
req = runtime.withQuery(req, "marker", options.marker);
|
|
38
|
+
}
|
|
39
|
+
if (options.application_type !== undefined) {
|
|
40
|
+
req = runtime.withQuery(req, "application_type", options.application_type);
|
|
41
|
+
}
|
|
42
|
+
const resp = await this.session.fetch(req);
|
|
43
|
+
const data = runtime.responseBytes(resp);
|
|
44
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
45
|
+
}
|
|
46
|
+
/** Iterate every `models.schemas.AppItemAssociation` across pages, threading the marker cursor. */
|
|
47
|
+
async *listFolder(folderId, opts) {
|
|
48
|
+
const options = { ...opts };
|
|
49
|
+
for (;;) {
|
|
50
|
+
const page = await this.listFolderPage(folderId, options);
|
|
51
|
+
const items = page.entries ?? [];
|
|
52
|
+
for (const item of items) {
|
|
53
|
+
yield item;
|
|
54
|
+
}
|
|
55
|
+
const cursor = page.next_marker;
|
|
56
|
+
if (cursor === undefined || cursor === null || cursor === '') {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
options.marker = cursor;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async listFolderPage(folderId, opts) {
|
|
63
|
+
let url = this.session.baseUrl("api");
|
|
64
|
+
url += "/folders";
|
|
65
|
+
url += '/' + pathEscape(folderId);
|
|
66
|
+
url += "/app_item_associations";
|
|
67
|
+
let req = this.session.newRequest("GET", url);
|
|
68
|
+
const options = opts ?? {};
|
|
69
|
+
if (options.limit !== undefined) {
|
|
70
|
+
req = runtime.withQuery(req, "limit", String(options.limit));
|
|
71
|
+
}
|
|
72
|
+
if (options.marker !== undefined) {
|
|
73
|
+
req = runtime.withQuery(req, "marker", options.marker);
|
|
74
|
+
}
|
|
75
|
+
if (options.application_type !== undefined) {
|
|
76
|
+
req = runtime.withQuery(req, "application_type", options.application_type);
|
|
77
|
+
}
|
|
78
|
+
const resp = await this.session.fetch(req);
|
|
79
|
+
const data = runtime.responseBytes(resp);
|
|
80
|
+
return JSON.parse(new TextDecoder().decode(data));
|
|
81
|
+
}
|
|
82
|
+
}
|