@unofficialbox/box-open-sdk 0.4.4 → 0.6.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.
Files changed (206) hide show
  1. package/README.md +13 -0
  2. package/dist/cjs/buildinfo.js +2 -2
  3. package/dist/cjs/client.js +10 -3
  4. package/dist/cjs/errors.js +47 -0
  5. package/dist/cjs/managers/chunked_uploads.js +13 -0
  6. package/dist/cjs/managers/document_split.js +100 -0
  7. package/dist/cjs/managers/index.js +2 -0
  8. package/dist/cjs/managers/shuttle.js +679 -0
  9. package/dist/cjs/models/schemas/ai.js +1 -1
  10. package/dist/cjs/models/schemas/ai_studio.js +1 -1
  11. package/dist/cjs/models/schemas/app_item_associations.js +1 -1
  12. package/dist/cjs/models/schemas/archives.js +1 -1
  13. package/dist/cjs/models/schemas/authorization.js +1 -1
  14. package/dist/cjs/models/schemas/automate_workflows.js +1 -1
  15. package/dist/cjs/models/schemas/avatars.js +1 -1
  16. package/dist/cjs/models/schemas/chunked_uploads.js +1 -1
  17. package/dist/cjs/models/schemas/classifications.js +1 -1
  18. package/dist/cjs/models/schemas/collaboration_allowlist_entries.js +1 -1
  19. package/dist/cjs/models/schemas/collaboration_allowlist_exempt_targets.js +1 -1
  20. package/dist/cjs/models/schemas/collections.js +1 -1
  21. package/dist/cjs/models/schemas/comments.js +1 -1
  22. package/dist/cjs/models/schemas/device_pinners.js +1 -1
  23. package/dist/cjs/models/schemas/docgen.js +1 -1
  24. package/dist/cjs/models/schemas/docgen_template.js +1 -1
  25. package/dist/cjs/models/schemas/document_split.js +3 -0
  26. package/dist/cjs/models/schemas/email_aliases.js +1 -1
  27. package/dist/cjs/models/schemas/enterprise_configurations.js +1 -1
  28. package/dist/cjs/models/schemas/events.js +1 -1
  29. package/dist/cjs/models/schemas/external_users.js +1 -1
  30. package/dist/cjs/models/schemas/file_requests.js +1 -1
  31. package/dist/cjs/models/schemas/file_version_legal_holds.js +1 -1
  32. package/dist/cjs/models/schemas/file_version_retentions.js +1 -1
  33. package/dist/cjs/models/schemas/file_versions.js +1 -1
  34. package/dist/cjs/models/schemas/files.js +1 -1
  35. package/dist/cjs/models/schemas/folder_locks.js +1 -1
  36. package/dist/cjs/models/schemas/folders.js +1 -1
  37. package/dist/cjs/models/schemas/groups.js +1 -1
  38. package/dist/cjs/models/schemas/hub_collaborations.js +1 -1
  39. package/dist/cjs/models/schemas/hub_document.js +1 -1
  40. package/dist/cjs/models/schemas/hub_items.js +1 -1
  41. package/dist/cjs/models/schemas/hubs.js +1 -1
  42. package/dist/cjs/models/schemas/integration_mappings.js +1 -1
  43. package/dist/cjs/models/schemas/invites.js +1 -1
  44. package/dist/cjs/models/schemas/legal_hold_policies.js +1 -1
  45. package/dist/cjs/models/schemas/legal_hold_policy_assignments.js +1 -1
  46. package/dist/cjs/models/schemas/list_collaborations.js +1 -1
  47. package/dist/cjs/models/schemas/memberships.js +1 -1
  48. package/dist/cjs/models/schemas/metadata_cascade_policies.js +1 -1
  49. package/dist/cjs/models/schemas/metadata_taxonomies.js +1 -1
  50. package/dist/cjs/models/schemas/metadata_templates.js +1 -1
  51. package/dist/cjs/models/schemas/notes.js +1 -1
  52. package/dist/cjs/models/schemas/query.js +1 -1
  53. package/dist/cjs/models/schemas/recent_items.js +1 -1
  54. package/dist/cjs/models/schemas/retention_policies.js +1 -1
  55. package/dist/cjs/models/schemas/retention_policy_assignments.js +1 -1
  56. package/dist/cjs/models/schemas/search.js +1 -1
  57. package/dist/cjs/models/schemas/session_termination.js +1 -1
  58. package/dist/cjs/models/schemas/shared_links_folders.js +1 -1
  59. package/dist/cjs/models/schemas/shield_information_barrier_reports.js +1 -1
  60. package/dist/cjs/models/schemas/shield_information_barrier_segment_members.js +1 -1
  61. package/dist/cjs/models/schemas/shield_information_barrier_segment_restrictions.js +1 -1
  62. package/dist/cjs/models/schemas/shield_information_barrier_segments.js +1 -1
  63. package/dist/cjs/models/schemas/shield_information_barriers.js +1 -1
  64. package/dist/cjs/models/schemas/shield_lists.js +1 -1
  65. package/dist/cjs/models/schemas/shuttle.js +3 -0
  66. package/dist/cjs/models/schemas/sign_requests.js +1 -1
  67. package/dist/cjs/models/schemas/sign_templates.js +1 -1
  68. package/dist/cjs/models/schemas/skills.js +1 -1
  69. package/dist/cjs/models/schemas/storage_policies.js +1 -1
  70. package/dist/cjs/models/schemas/storage_policy_assignments.js +1 -1
  71. package/dist/cjs/models/schemas/task_assignments.js +1 -1
  72. package/dist/cjs/models/schemas/tasks.js +1 -1
  73. package/dist/cjs/models/schemas/terms_of_service_user_statuses.js +1 -1
  74. package/dist/cjs/models/schemas/terms_of_services.js +1 -1
  75. package/dist/cjs/models/schemas/transfer.js +1 -1
  76. package/dist/cjs/models/schemas/trashed_files.js +1 -1
  77. package/dist/cjs/models/schemas/trashed_folders.js +1 -1
  78. package/dist/cjs/models/schemas/trashed_items.js +1 -1
  79. package/dist/cjs/models/schemas/trashed_web_links.js +1 -1
  80. package/dist/cjs/models/schemas/uploads.js +1 -1
  81. package/dist/cjs/models/schemas/user_collaborations.js +1 -1
  82. package/dist/cjs/models/schemas/users.js +1 -1
  83. package/dist/cjs/models/schemas/web_links.js +1 -1
  84. package/dist/cjs/models/schemas/webhooks.js +1 -1
  85. package/dist/cjs/models/schemas/workflows.js +1 -1
  86. package/dist/cjs/models/schemas/zip_downloads.js +1 -1
  87. package/dist/cjs/models/schemas.js +3 -1
  88. package/dist/cjs/runtime.js +3 -0
  89. package/dist/esm/buildinfo.js +2 -2
  90. package/dist/esm/client.js +10 -3
  91. package/dist/esm/errors.js +46 -0
  92. package/dist/esm/managers/chunked_uploads.js +13 -0
  93. package/dist/esm/managers/document_split.js +63 -0
  94. package/dist/esm/managers/index.js +2 -0
  95. package/dist/esm/managers/shuttle.js +642 -0
  96. package/dist/esm/models/schemas/ai.js +1 -1
  97. package/dist/esm/models/schemas/ai_studio.js +1 -1
  98. package/dist/esm/models/schemas/app_item_associations.js +1 -1
  99. package/dist/esm/models/schemas/archives.js +1 -1
  100. package/dist/esm/models/schemas/authorization.js +1 -1
  101. package/dist/esm/models/schemas/automate_workflows.js +1 -1
  102. package/dist/esm/models/schemas/avatars.js +1 -1
  103. package/dist/esm/models/schemas/chunked_uploads.js +1 -1
  104. package/dist/esm/models/schemas/classifications.js +1 -1
  105. package/dist/esm/models/schemas/collaboration_allowlist_entries.js +1 -1
  106. package/dist/esm/models/schemas/collaboration_allowlist_exempt_targets.js +1 -1
  107. package/dist/esm/models/schemas/collections.js +1 -1
  108. package/dist/esm/models/schemas/comments.js +1 -1
  109. package/dist/esm/models/schemas/device_pinners.js +1 -1
  110. package/dist/esm/models/schemas/docgen.js +1 -1
  111. package/dist/esm/models/schemas/docgen_template.js +1 -1
  112. package/dist/esm/models/schemas/document_split.js +2 -0
  113. package/dist/esm/models/schemas/email_aliases.js +1 -1
  114. package/dist/esm/models/schemas/enterprise_configurations.js +1 -1
  115. package/dist/esm/models/schemas/events.js +1 -1
  116. package/dist/esm/models/schemas/external_users.js +1 -1
  117. package/dist/esm/models/schemas/file_requests.js +1 -1
  118. package/dist/esm/models/schemas/file_version_legal_holds.js +1 -1
  119. package/dist/esm/models/schemas/file_version_retentions.js +1 -1
  120. package/dist/esm/models/schemas/file_versions.js +1 -1
  121. package/dist/esm/models/schemas/files.js +1 -1
  122. package/dist/esm/models/schemas/folder_locks.js +1 -1
  123. package/dist/esm/models/schemas/folders.js +1 -1
  124. package/dist/esm/models/schemas/groups.js +1 -1
  125. package/dist/esm/models/schemas/hub_collaborations.js +1 -1
  126. package/dist/esm/models/schemas/hub_document.js +1 -1
  127. package/dist/esm/models/schemas/hub_items.js +1 -1
  128. package/dist/esm/models/schemas/hubs.js +1 -1
  129. package/dist/esm/models/schemas/integration_mappings.js +1 -1
  130. package/dist/esm/models/schemas/invites.js +1 -1
  131. package/dist/esm/models/schemas/legal_hold_policies.js +1 -1
  132. package/dist/esm/models/schemas/legal_hold_policy_assignments.js +1 -1
  133. package/dist/esm/models/schemas/list_collaborations.js +1 -1
  134. package/dist/esm/models/schemas/memberships.js +1 -1
  135. package/dist/esm/models/schemas/metadata_cascade_policies.js +1 -1
  136. package/dist/esm/models/schemas/metadata_taxonomies.js +1 -1
  137. package/dist/esm/models/schemas/metadata_templates.js +1 -1
  138. package/dist/esm/models/schemas/notes.js +1 -1
  139. package/dist/esm/models/schemas/query.js +1 -1
  140. package/dist/esm/models/schemas/recent_items.js +1 -1
  141. package/dist/esm/models/schemas/retention_policies.js +1 -1
  142. package/dist/esm/models/schemas/retention_policy_assignments.js +1 -1
  143. package/dist/esm/models/schemas/search.js +1 -1
  144. package/dist/esm/models/schemas/session_termination.js +1 -1
  145. package/dist/esm/models/schemas/shared_links_folders.js +1 -1
  146. package/dist/esm/models/schemas/shield_information_barrier_reports.js +1 -1
  147. package/dist/esm/models/schemas/shield_information_barrier_segment_members.js +1 -1
  148. package/dist/esm/models/schemas/shield_information_barrier_segment_restrictions.js +1 -1
  149. package/dist/esm/models/schemas/shield_information_barrier_segments.js +1 -1
  150. package/dist/esm/models/schemas/shield_information_barriers.js +1 -1
  151. package/dist/esm/models/schemas/shield_lists.js +1 -1
  152. package/dist/esm/models/schemas/shuttle.js +2 -0
  153. package/dist/esm/models/schemas/sign_requests.js +1 -1
  154. package/dist/esm/models/schemas/sign_templates.js +1 -1
  155. package/dist/esm/models/schemas/skills.js +1 -1
  156. package/dist/esm/models/schemas/storage_policies.js +1 -1
  157. package/dist/esm/models/schemas/storage_policy_assignments.js +1 -1
  158. package/dist/esm/models/schemas/task_assignments.js +1 -1
  159. package/dist/esm/models/schemas/tasks.js +1 -1
  160. package/dist/esm/models/schemas/terms_of_service_user_statuses.js +1 -1
  161. package/dist/esm/models/schemas/terms_of_services.js +1 -1
  162. package/dist/esm/models/schemas/transfer.js +1 -1
  163. package/dist/esm/models/schemas/trashed_files.js +1 -1
  164. package/dist/esm/models/schemas/trashed_folders.js +1 -1
  165. package/dist/esm/models/schemas/trashed_items.js +1 -1
  166. package/dist/esm/models/schemas/trashed_web_links.js +1 -1
  167. package/dist/esm/models/schemas/uploads.js +1 -1
  168. package/dist/esm/models/schemas/user_collaborations.js +1 -1
  169. package/dist/esm/models/schemas/users.js +1 -1
  170. package/dist/esm/models/schemas/web_links.js +1 -1
  171. package/dist/esm/models/schemas/webhooks.js +1 -1
  172. package/dist/esm/models/schemas/workflows.js +1 -1
  173. package/dist/esm/models/schemas/zip_downloads.js +1 -1
  174. package/dist/esm/models/schemas.js +3 -1
  175. package/dist/esm/runtime.js +4 -1
  176. package/dist/types/buildinfo.d.ts +1 -1
  177. package/dist/types/client.d.ts +8 -3
  178. package/dist/types/errors.d.ts +21 -0
  179. package/dist/types/managers/chunked_uploads.d.ts +1 -0
  180. package/dist/types/managers/document_split.d.ts +17 -0
  181. package/dist/types/managers/index.d.ts +2 -0
  182. package/dist/types/managers/retention_policies.d.ts +1 -1
  183. package/dist/types/managers/shuttle.d.ts +119 -0
  184. package/dist/types/models/schemas/archives.d.ts +2 -2
  185. package/dist/types/models/schemas/automate_workflows.d.ts +2 -2
  186. package/dist/types/models/schemas/chunked_uploads.d.ts +21 -0
  187. package/dist/types/models/schemas/docgen.d.ts +2 -0
  188. package/dist/types/models/schemas/document_split.d.ts +92 -0
  189. package/dist/types/models/schemas/events.d.ts +51 -3
  190. package/dist/types/models/schemas/groups.d.ts +2 -2
  191. package/dist/types/models/schemas/notes.d.ts +1 -1
  192. package/dist/types/models/schemas/retention_policies.d.ts +3 -3
  193. package/dist/types/models/schemas/shared_links_folders.d.ts +2 -1
  194. package/dist/types/models/schemas/shield_information_barrier_reports.d.ts +2 -2
  195. package/dist/types/models/schemas/shuttle.d.ts +436 -0
  196. package/dist/types/models/schemas/skills.d.ts +2 -2
  197. package/dist/types/models/schemas/web_links.d.ts +2 -1
  198. package/dist/types/models/schemas/workflows.d.ts +2 -2
  199. package/dist/types/models/schemas.d.ts +51 -61
  200. package/docs/README.md +3 -1
  201. package/docs/errors.md +5 -4
  202. package/docs/managers/chunked_uploads.md +18 -0
  203. package/docs/managers/document_split.md +56 -0
  204. package/docs/managers/retention_policies.md +1 -1
  205. package/docs/managers/shuttle.md +687 -0
  206. package/package.json +1 -1
@@ -8,9 +8,55 @@
8
8
  export class BoxApiError extends Error {
9
9
  /** The HTTP status, when the error carries a response. */
10
10
  status;
11
+ /** Box's error `code` (e.g. `not_found`), when the body was a Box error. */
12
+ code;
13
+ /** Box's error `message`, when the body was a Box error. */
14
+ boxMessage;
15
+ /** Box's `request_id`, when the body was a Box error. */
16
+ requestId;
17
+ /** The raw response body of a non-2xx response. */
18
+ body;
11
19
  constructor(message, options = {}) {
12
20
  super(message, options.cause !== undefined ? { cause: options.cause } : undefined);
13
21
  this.name = 'BoxApiError';
14
22
  this.status = options.status;
23
+ this.code = options.code;
24
+ this.boxMessage = options.boxMessage;
25
+ this.requestId = options.requestId;
26
+ this.body = options.body;
15
27
  }
16
28
  }
29
+ /** The error for a non-2xx response: `Client.fetch` throws it once the retry
30
+ * budget and the single 401 refresh are spent, so a caller never mistakes an
31
+ * error body for a result. Box's error fields are read from the body when it
32
+ * is a Box error object; the raw body is kept either way. */
33
+ export function apiErrorFromResponse(status, body) {
34
+ let payload;
35
+ try {
36
+ payload = JSON.parse(new TextDecoder().decode(body));
37
+ }
38
+ catch {
39
+ payload = undefined;
40
+ }
41
+ const field = (key) => {
42
+ if (typeof payload !== 'object' || payload === null) {
43
+ return undefined;
44
+ }
45
+ const value = payload[key];
46
+ return typeof value === 'string' ? value : undefined;
47
+ };
48
+ const code = field('code');
49
+ const boxMessage = field('message');
50
+ const requestId = field('request_id');
51
+ let message = `box: status ${status}`;
52
+ if (code !== undefined) {
53
+ message += ` ${code}`;
54
+ }
55
+ if (boxMessage !== undefined) {
56
+ message += `: ${boxMessage}`;
57
+ }
58
+ if (requestId !== undefined) {
59
+ message += ` (request_id ${requestId})`;
60
+ }
61
+ return new BoxApiError(message, { status, code, boxMessage, requestId, body });
62
+ }
@@ -95,6 +95,19 @@ export class ChunkedUploadsManager {
95
95
  const data = runtime.responseBytes(resp);
96
96
  return JSON.parse(new TextDecoder().decode(data));
97
97
  }
98
+ async createFileUploadSessionPlan(uploadSessionId, body) {
99
+ let url = this.session.baseUrl("upload_session");
100
+ url += "/files";
101
+ url += "/upload_sessions";
102
+ url += '/' + pathEscape(uploadSessionId);
103
+ url += "/plan";
104
+ let req = this.session.newRequest("POST", url);
105
+ const payload = new TextEncoder().encode(JSON.stringify(body));
106
+ req = runtime.withJsonBody(req, payload);
107
+ const resp = await this.session.fetch(req);
108
+ const data = runtime.responseBytes(resp);
109
+ return JSON.parse(new TextDecoder().decode(data));
110
+ }
98
111
  async commitFileUploadSession(uploadSessionId, digest, body, opts) {
99
112
  let url = this.session.baseUrl("upload_session");
100
113
  url += "/files";
@@ -0,0 +1,63 @@
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 "document_split" API area. */
5
+ export class DocumentSplitManager {
6
+ session;
7
+ constructor(session) {
8
+ this.session = session;
9
+ }
10
+ /** Iterate every `models.schemas.DocumentSplit` across pages, threading the marker cursor. */
11
+ async *listDocumentSplits(opts) {
12
+ const options = { ...opts };
13
+ for (;;) {
14
+ const page = await this.listDocumentSplitsPage(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 listDocumentSplitsPage(opts) {
27
+ let url = this.session.baseUrl("api");
28
+ url += "/document_splits";
29
+ let req = this.session.newRequest("GET", url);
30
+ const options = opts ?? {};
31
+ if (options.marker !== undefined) {
32
+ req = runtime.withQuery(req, "marker", options.marker);
33
+ }
34
+ if (options.limit !== undefined) {
35
+ req = runtime.withQuery(req, "limit", String(options.limit));
36
+ }
37
+ req = runtime.withHeader(req, "box-version", "2026.0");
38
+ const resp = await this.session.fetch(req);
39
+ const data = runtime.responseBytes(resp);
40
+ return JSON.parse(new TextDecoder().decode(data));
41
+ }
42
+ async createDocumentSplits(body) {
43
+ let url = this.session.baseUrl("api");
44
+ url += "/document_splits";
45
+ let req = this.session.newRequest("POST", url);
46
+ req = runtime.withHeader(req, "box-version", "2026.0");
47
+ const payload = new TextEncoder().encode(JSON.stringify(body));
48
+ req = runtime.withJsonBody(req, payload);
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 getDocumentSplit(documentSplitId) {
54
+ let url = this.session.baseUrl("api");
55
+ url += "/document_splits";
56
+ url += '/' + pathEscape(documentSplitId);
57
+ let req = this.session.newRequest("GET", url);
58
+ req = runtime.withHeader(req, "box-version", "2026.0");
59
+ const resp = await this.session.fetch(req);
60
+ const data = runtime.responseBytes(resp);
61
+ return JSON.parse(new TextDecoder().decode(data));
62
+ }
63
+ }
@@ -15,6 +15,7 @@ export * from './comments.js';
15
15
  export * from './device_pinners.js';
16
16
  export * from './docgen.js';
17
17
  export * from './docgen_template.js';
18
+ export * from './document_split.js';
18
19
  export * from './downloads.js';
19
20
  export * from './email_aliases.js';
20
21
  export * from './enterprise_configurations.js';
@@ -64,6 +65,7 @@ export * from './shield_information_barrier_segment_restrictions.js';
64
65
  export * from './shield_information_barrier_segments.js';
65
66
  export * from './shield_information_barriers.js';
66
67
  export * from './shield_lists.js';
68
+ export * from './shuttle.js';
67
69
  export * from './sign_requests.js';
68
70
  export * from './sign_templates.js';
69
71
  export * from './skills.js';