box-node-sdk 3.8.0 → 3.8.2

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 (449) hide show
  1. package/README.md +89 -69
  2. package/config/package.schema.json +42 -42
  3. package/lib/api-request-manager.d.ts +0 -2
  4. package/lib/api-request-manager.js.map +1 -1
  5. package/lib/api-request.d.ts +0 -3
  6. package/lib/api-request.js.map +1 -1
  7. package/lib/box-client.d.ts +7 -7
  8. package/lib/box-client.js +6 -3
  9. package/lib/box-client.js.map +1 -1
  10. package/lib/box-node-sdk.d.ts +1 -3
  11. package/lib/box-node-sdk.js +26 -10
  12. package/lib/box-node-sdk.js.map +1 -1
  13. package/lib/chunked-uploader.d.ts +0 -5
  14. package/lib/chunked-uploader.js.map +1 -1
  15. package/lib/enterprise-event-stream.d.ts +0 -1
  16. package/lib/enterprise-event-stream.js +3 -3
  17. package/lib/enterprise-event-stream.js.map +1 -1
  18. package/lib/event-stream.d.ts +0 -2
  19. package/lib/event-stream.js.map +1 -1
  20. package/lib/managers/ai.generated.js.map +1 -1
  21. package/lib/managers/collaboration-allowlist.js.map +1 -1
  22. package/lib/managers/collaborations.d.ts +3 -3
  23. package/lib/managers/collaborations.js +23 -23
  24. package/lib/managers/collaborations.js.map +1 -1
  25. package/lib/managers/collections.js.map +1 -1
  26. package/lib/managers/comments.js.map +1 -1
  27. package/lib/managers/device-pins.js.map +1 -1
  28. package/lib/managers/enterprise.js.map +1 -1
  29. package/lib/managers/events.d.ts +0 -1
  30. package/lib/managers/events.js +3 -1
  31. package/lib/managers/events.js.map +1 -1
  32. package/lib/managers/file-requests-manager.d.ts +2 -2
  33. package/lib/managers/file-requests-manager.js +1 -1
  34. package/lib/managers/file-requests-manager.js.map +1 -1
  35. package/lib/managers/files.d.ts +1 -4
  36. package/lib/managers/files.js +6 -2
  37. package/lib/managers/files.js.map +1 -1
  38. package/lib/managers/folders.d.ts +1 -1
  39. package/lib/managers/folders.js +3 -1
  40. package/lib/managers/folders.js.map +1 -1
  41. package/lib/managers/groups.js +2 -2
  42. package/lib/managers/groups.js.map +1 -1
  43. package/lib/managers/integration-mappings.js.map +1 -1
  44. package/lib/managers/legal-hold-policies.js.map +1 -1
  45. package/lib/managers/metadata.js.map +1 -1
  46. package/lib/managers/recent-items.js.map +1 -1
  47. package/lib/managers/retention-policies.d.ts +1 -1
  48. package/lib/managers/retention-policies.js.map +1 -1
  49. package/lib/managers/search.d.ts +1 -1
  50. package/lib/managers/search.js.map +1 -1
  51. package/lib/managers/shared-items.js.map +1 -1
  52. package/lib/managers/shield-information-barrier-reports.generated.js.map +1 -1
  53. package/lib/managers/shield-information-barrier-segment-members.generated.js.map +1 -1
  54. package/lib/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -1
  55. package/lib/managers/shield-information-barrier-segments.generated.js.map +1 -1
  56. package/lib/managers/shield-information-barriers.generated.js.map +1 -1
  57. package/lib/managers/sign-requests.generated.js.map +1 -1
  58. package/lib/managers/sign-templates.generated.js.map +1 -1
  59. package/lib/managers/storage-policies.js.map +1 -1
  60. package/lib/managers/tasks.js.map +1 -1
  61. package/lib/managers/terms-of-service.js.map +1 -1
  62. package/lib/managers/trash.js.map +1 -1
  63. package/lib/managers/users.d.ts +0 -3
  64. package/lib/managers/users.js +1 -1
  65. package/lib/managers/users.js.map +1 -1
  66. package/lib/managers/web-links.js +3 -1
  67. package/lib/managers/web-links.js.map +1 -1
  68. package/lib/managers/webhooks.d.ts +11 -11
  69. package/lib/managers/webhooks.js +24 -14
  70. package/lib/managers/webhooks.js.map +1 -1
  71. package/lib/schemas/collaboration-update.d.ts +1 -1
  72. package/lib/schemas/collaboration.d.ts +3 -3
  73. package/lib/schemas/collaborations.d.ts +1 -1
  74. package/lib/schemas/file-request.d.ts +2 -2
  75. package/lib/sessions/app-auth-session.js.map +1 -1
  76. package/lib/sessions/basic-session.d.ts +0 -1
  77. package/lib/sessions/basic-session.js.map +1 -1
  78. package/lib/sessions/ccg-session.js.map +1 -1
  79. package/lib/sessions/persistent-session.js.map +1 -1
  80. package/lib/token-manager.js +4 -2
  81. package/lib/token-manager.js.map +1 -1
  82. package/lib/util/config.d.ts +0 -2
  83. package/lib/util/config.js +18 -8
  84. package/lib/util/config.js.map +1 -1
  85. package/lib/util/errors.js +17 -7
  86. package/lib/util/errors.js.map +1 -1
  87. package/lib/util/exponential-backoff.js.map +1 -1
  88. package/lib/util/paging-iterator.js +17 -7
  89. package/lib/util/paging-iterator.js.map +1 -1
  90. package/lib/util/serializable.js.map +1 -1
  91. package/lib/util/url-path.js.map +1 -1
  92. package/lib-esm/api-request-manager.d.ts +36 -0
  93. package/lib-esm/api-request-manager.js +78 -0
  94. package/lib-esm/api-request-manager.js.map +1 -0
  95. package/lib-esm/api-request.d.ts +135 -0
  96. package/lib-esm/api-request.js +282 -0
  97. package/lib-esm/api-request.js.map +1 -0
  98. package/lib-esm/box-client.d.ts +274 -0
  99. package/lib-esm/box-client.js +594 -0
  100. package/lib-esm/box-client.js.map +1 -0
  101. package/lib-esm/box-node-sdk.d.ts +227 -0
  102. package/lib-esm/box-node-sdk.js +373 -0
  103. package/lib-esm/box-node-sdk.js.map +1 -0
  104. package/lib-esm/chunked-uploader.d.ts +128 -0
  105. package/lib-esm/chunked-uploader.js +276 -0
  106. package/lib-esm/chunked-uploader.js.map +1 -0
  107. package/lib-esm/enterprise-event-stream.d.ts +82 -0
  108. package/lib-esm/enterprise-event-stream.js +205 -0
  109. package/lib-esm/enterprise-event-stream.js.map +1 -0
  110. package/lib-esm/event-stream.d.ts +91 -0
  111. package/lib-esm/event-stream.js +277 -0
  112. package/lib-esm/event-stream.js.map +1 -0
  113. package/lib-esm/managers/ai.generated.d.ts +58 -0
  114. package/lib-esm/managers/ai.generated.js +66 -0
  115. package/lib-esm/managers/ai.generated.js.map +1 -0
  116. package/lib-esm/managers/collaboration-allowlist.d.ts +133 -0
  117. package/lib-esm/managers/collaboration-allowlist.js +194 -0
  118. package/lib-esm/managers/collaboration-allowlist.js.map +1 -0
  119. package/lib-esm/managers/collaborations.d.ts +173 -0
  120. package/lib-esm/managers/collaborations.js +252 -0
  121. package/lib-esm/managers/collaborations.js.map +1 -0
  122. package/lib-esm/managers/collections.d.ts +42 -0
  123. package/lib-esm/managers/collections.js +62 -0
  124. package/lib-esm/managers/collections.js.map +1 -0
  125. package/lib-esm/managers/comments.d.ts +103 -0
  126. package/lib-esm/managers/comments.js +175 -0
  127. package/lib-esm/managers/comments.js.map +1 -0
  128. package/lib-esm/managers/device-pins.d.ts +52 -0
  129. package/lib-esm/managers/device-pins.js +91 -0
  130. package/lib-esm/managers/device-pins.js.map +1 -0
  131. package/lib-esm/managers/enterprise.d.ts +164 -0
  132. package/lib-esm/managers/enterprise.js +193 -0
  133. package/lib-esm/managers/enterprise.js.map +1 -0
  134. package/lib-esm/managers/events.d.ts +222 -0
  135. package/lib-esm/managers/events.js +295 -0
  136. package/lib-esm/managers/events.js.map +1 -0
  137. package/lib-esm/managers/file-requests-manager.d.ts +56 -0
  138. package/lib-esm/managers/file-requests-manager.js +81 -0
  139. package/lib-esm/managers/file-requests-manager.js.map +1 -0
  140. package/lib-esm/managers/files.d.ts +817 -0
  141. package/lib-esm/managers/files.js +1408 -0
  142. package/lib-esm/managers/files.js.map +1 -0
  143. package/lib-esm/managers/folders.d.ts +396 -0
  144. package/lib-esm/managers/folders.js +570 -0
  145. package/lib-esm/managers/folders.js.map +1 -0
  146. package/lib-esm/managers/groups.d.ts +213 -0
  147. package/lib-esm/managers/groups.js +289 -0
  148. package/lib-esm/managers/groups.js.map +1 -0
  149. package/lib-esm/managers/integration-mappings.d.ts +116 -0
  150. package/lib-esm/managers/integration-mappings.js +101 -0
  151. package/lib-esm/managers/integration-mappings.js.map +1 -0
  152. package/lib-esm/managers/legal-hold-policies.d.ts +190 -0
  153. package/lib-esm/managers/legal-hold-policies.js +254 -0
  154. package/lib-esm/managers/legal-hold-policies.js.map +1 -0
  155. package/lib-esm/managers/metadata.d.ts +232 -0
  156. package/lib-esm/managers/metadata.js +288 -0
  157. package/lib-esm/managers/metadata.js.map +1 -0
  158. package/lib-esm/managers/recent-items.d.ts +38 -0
  159. package/lib-esm/managers/recent-items.js +49 -0
  160. package/lib-esm/managers/recent-items.js.map +1 -0
  161. package/lib-esm/managers/retention-policies.d.ts +308 -0
  162. package/lib-esm/managers/retention-policies.js +374 -0
  163. package/lib-esm/managers/retention-policies.js.map +1 -0
  164. package/lib-esm/managers/search.d.ts +82 -0
  165. package/lib-esm/managers/search.js +90 -0
  166. package/lib-esm/managers/search.js.map +1 -0
  167. package/lib-esm/managers/shared-items.d.ts +33 -0
  168. package/lib-esm/managers/shared-items.js +74 -0
  169. package/lib-esm/managers/shared-items.js.map +1 -0
  170. package/lib-esm/managers/shield-information-barrier-reports.generated.d.ts +65 -0
  171. package/lib-esm/managers/shield-information-barrier-reports.generated.js +65 -0
  172. package/lib-esm/managers/shield-information-barrier-reports.generated.js.map +1 -0
  173. package/lib-esm/managers/shield-information-barrier-segment-members.generated.d.ts +83 -0
  174. package/lib-esm/managers/shield-information-barrier-segment-members.generated.js +83 -0
  175. package/lib-esm/managers/shield-information-barrier-segment-members.generated.js.map +1 -0
  176. package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.d.ts +84 -0
  177. package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js +84 -0
  178. package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
  179. package/lib-esm/managers/shield-information-barrier-segments.generated.d.ts +98 -0
  180. package/lib-esm/managers/shield-information-barrier-segments.generated.js +99 -0
  181. package/lib-esm/managers/shield-information-barrier-segments.generated.js.map +1 -0
  182. package/lib-esm/managers/shield-information-barriers.generated.d.ts +79 -0
  183. package/lib-esm/managers/shield-information-barriers.generated.js +83 -0
  184. package/lib-esm/managers/shield-information-barriers.generated.js.map +1 -0
  185. package/lib-esm/managers/sign-requests.generated.d.ts +93 -0
  186. package/lib-esm/managers/sign-requests.generated.js +97 -0
  187. package/lib-esm/managers/sign-requests.generated.js.map +1 -0
  188. package/lib-esm/managers/sign-templates.generated.d.ts +51 -0
  189. package/lib-esm/managers/sign-templates.generated.js +49 -0
  190. package/lib-esm/managers/sign-templates.generated.js.map +1 -0
  191. package/lib-esm/managers/storage-policies.d.ts +86 -0
  192. package/lib-esm/managers/storage-policies.js +174 -0
  193. package/lib-esm/managers/storage-policies.js.map +1 -0
  194. package/lib-esm/managers/tasks.d.ts +161 -0
  195. package/lib-esm/managers/tasks.js +243 -0
  196. package/lib-esm/managers/tasks.js.map +1 -0
  197. package/lib-esm/managers/terms-of-service.d.ts +161 -0
  198. package/lib-esm/managers/terms-of-service.js +283 -0
  199. package/lib-esm/managers/terms-of-service.js.map +1 -0
  200. package/lib-esm/managers/trash.d.ts +30 -0
  201. package/lib-esm/managers/trash.js +47 -0
  202. package/lib-esm/managers/trash.js.map +1 -0
  203. package/lib-esm/managers/users.d.ts +171 -0
  204. package/lib-esm/managers/users.js +230 -0
  205. package/lib-esm/managers/users.js.map +1 -0
  206. package/lib-esm/managers/web-links.d.ts +127 -0
  207. package/lib-esm/managers/web-links.js +200 -0
  208. package/lib-esm/managers/web-links.js.map +1 -0
  209. package/lib-esm/managers/webhooks.d.ts +169 -0
  210. package/lib-esm/managers/webhooks.js +398 -0
  211. package/lib-esm/managers/webhooks.js.map +1 -0
  212. package/lib-esm/schemas/ai-agent-ask.generated.d.ts +17 -0
  213. package/lib-esm/schemas/ai-agent-ask.generated.js +3 -0
  214. package/lib-esm/schemas/ai-agent-ask.generated.js.map +1 -0
  215. package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.d.ts +14 -0
  216. package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js +3 -0
  217. package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js.map +1 -0
  218. package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.d.ts +34 -0
  219. package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js +3 -0
  220. package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js.map +1 -0
  221. package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.d.ts +36 -0
  222. package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js +3 -0
  223. package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js.map +1 -0
  224. package/lib-esm/schemas/ai-agent-long-text-tool.generated.d.ts +9 -0
  225. package/lib-esm/schemas/ai-agent-long-text-tool.generated.js +3 -0
  226. package/lib-esm/schemas/ai-agent-long-text-tool.generated.js.map +1 -0
  227. package/lib-esm/schemas/ai-agent-text-gen.generated.d.ts +14 -0
  228. package/lib-esm/schemas/ai-agent-text-gen.generated.js +3 -0
  229. package/lib-esm/schemas/ai-agent-text-gen.generated.js.map +1 -0
  230. package/lib-esm/schemas/ai-ask.generated.d.ts +40 -0
  231. package/lib-esm/schemas/ai-ask.generated.js +3 -0
  232. package/lib-esm/schemas/ai-ask.generated.js.map +1 -0
  233. package/lib-esm/schemas/ai-citation.generated.d.ts +27 -0
  234. package/lib-esm/schemas/ai-citation.generated.js +3 -0
  235. package/lib-esm/schemas/ai-citation.generated.js.map +1 -0
  236. package/lib-esm/schemas/ai-dialogue-history.generated.d.ts +22 -0
  237. package/lib-esm/schemas/ai-dialogue-history.generated.js +3 -0
  238. package/lib-esm/schemas/ai-dialogue-history.generated.js.map +1 -0
  239. package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.d.ts +31 -0
  240. package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js +3 -0
  241. package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js.map +1 -0
  242. package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.d.ts +43 -0
  243. package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js +3 -0
  244. package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js.map +1 -0
  245. package/lib-esm/schemas/ai-response-full.generated.d.ts +12 -0
  246. package/lib-esm/schemas/ai-response-full.generated.js +3 -0
  247. package/lib-esm/schemas/ai-response-full.generated.js.map +1 -0
  248. package/lib-esm/schemas/ai-response.generated.d.ts +22 -0
  249. package/lib-esm/schemas/ai-response.generated.js +3 -0
  250. package/lib-esm/schemas/ai-response.generated.js.map +1 -0
  251. package/lib-esm/schemas/ai-text-gen.generated.d.ts +30 -0
  252. package/lib-esm/schemas/ai-text-gen.generated.js +3 -0
  253. package/lib-esm/schemas/ai-text-gen.generated.js.map +1 -0
  254. package/lib-esm/schemas/collaboration-create.d.ts +5 -0
  255. package/lib-esm/schemas/collaboration-create.js +3 -0
  256. package/lib-esm/schemas/collaboration-create.js.map +1 -0
  257. package/lib-esm/schemas/collaboration-update.d.ts +7 -0
  258. package/lib-esm/schemas/collaboration-update.js +3 -0
  259. package/lib-esm/schemas/collaboration-update.js.map +1 -0
  260. package/lib-esm/schemas/collaboration.d.ts +108 -0
  261. package/lib-esm/schemas/collaboration.js +3 -0
  262. package/lib-esm/schemas/collaboration.js.map +1 -0
  263. package/lib-esm/schemas/collaborations.d.ts +13 -0
  264. package/lib-esm/schemas/collaborations.js +3 -0
  265. package/lib-esm/schemas/collaborations.js.map +1 -0
  266. package/lib-esm/schemas/enterprise-base.generated.d.ts +18 -0
  267. package/lib-esm/schemas/enterprise-base.generated.js +3 -0
  268. package/lib-esm/schemas/enterprise-base.generated.js.map +1 -0
  269. package/lib-esm/schemas/file-base.generated.d.ts +32 -0
  270. package/lib-esm/schemas/file-base.generated.js +3 -0
  271. package/lib-esm/schemas/file-base.generated.js.map +1 -0
  272. package/lib-esm/schemas/file-mini.generated.d.ts +41 -0
  273. package/lib-esm/schemas/file-mini.generated.js +3 -0
  274. package/lib-esm/schemas/file-mini.generated.js.map +1 -0
  275. package/lib-esm/schemas/file-request.d.ts +41 -0
  276. package/lib-esm/schemas/file-request.js +3 -0
  277. package/lib-esm/schemas/file-request.js.map +1 -0
  278. package/lib-esm/schemas/file-version-base.generated.d.ts +19 -0
  279. package/lib-esm/schemas/file-version-base.generated.js +3 -0
  280. package/lib-esm/schemas/file-version-base.generated.js.map +1 -0
  281. package/lib-esm/schemas/file-version-mini.generated.d.ts +14 -0
  282. package/lib-esm/schemas/file-version-mini.generated.js +3 -0
  283. package/lib-esm/schemas/file-version-mini.generated.js.map +1 -0
  284. package/lib-esm/schemas/folder-base.generated.d.ts +32 -0
  285. package/lib-esm/schemas/folder-base.generated.js +3 -0
  286. package/lib-esm/schemas/folder-base.generated.js.map +1 -0
  287. package/lib-esm/schemas/folder-mini.generated.d.ts +31 -0
  288. package/lib-esm/schemas/folder-mini.generated.js +3 -0
  289. package/lib-esm/schemas/folder-mini.generated.js.map +1 -0
  290. package/lib-esm/schemas/index.d.ts +15 -0
  291. package/lib-esm/schemas/index.generated.d.ts +52 -0
  292. package/lib-esm/schemas/index.generated.js +69 -0
  293. package/lib-esm/schemas/index.generated.js.map +1 -0
  294. package/lib-esm/schemas/index.js +32 -0
  295. package/lib-esm/schemas/index.js.map +1 -0
  296. package/lib-esm/schemas/integration-mapping-base.d.ts +23 -0
  297. package/lib-esm/schemas/integration-mapping-base.js +3 -0
  298. package/lib-esm/schemas/integration-mapping-base.js.map +1 -0
  299. package/lib-esm/schemas/integration-mapping-box-item-slack.d.ts +17 -0
  300. package/lib-esm/schemas/integration-mapping-box-item-slack.js +3 -0
  301. package/lib-esm/schemas/integration-mapping-box-item-slack.js.map +1 -0
  302. package/lib-esm/schemas/integration-mapping-partner-item-slack.d.ts +27 -0
  303. package/lib-esm/schemas/integration-mapping-partner-item-slack.js +3 -0
  304. package/lib-esm/schemas/integration-mapping-partner-item-slack.js.map +1 -0
  305. package/lib-esm/schemas/integration-mapping-slack-create-request.d.ts +12 -0
  306. package/lib-esm/schemas/integration-mapping-slack-create-request.js +3 -0
  307. package/lib-esm/schemas/integration-mapping-slack-create-request.js.map +1 -0
  308. package/lib-esm/schemas/integration-mapping-slack-options.d.ts +16 -0
  309. package/lib-esm/schemas/integration-mapping-slack-options.js +3 -0
  310. package/lib-esm/schemas/integration-mapping-slack-options.js.map +1 -0
  311. package/lib-esm/schemas/integration-mapping.d.ts +55 -0
  312. package/lib-esm/schemas/integration-mapping.js +3 -0
  313. package/lib-esm/schemas/integration-mapping.js.map +1 -0
  314. package/lib-esm/schemas/integration-mappings.d.ts +27 -0
  315. package/lib-esm/schemas/integration-mappings.js +3 -0
  316. package/lib-esm/schemas/integration-mappings.js.map +1 -0
  317. package/lib-esm/schemas/shield-information-barrier-base.generated.d.ts +18 -0
  318. package/lib-esm/schemas/shield-information-barrier-base.generated.js +3 -0
  319. package/lib-esm/schemas/shield-information-barrier-base.generated.js.map +1 -0
  320. package/lib-esm/schemas/shield-information-barrier-reference.generated.d.ts +9 -0
  321. package/lib-esm/schemas/shield-information-barrier-reference.generated.js +3 -0
  322. package/lib-esm/schemas/shield-information-barrier-reference.generated.js.map +1 -0
  323. package/lib-esm/schemas/shield-information-barrier-report-base.generated.d.ts +18 -0
  324. package/lib-esm/schemas/shield-information-barrier-report-base.generated.js +3 -0
  325. package/lib-esm/schemas/shield-information-barrier-report-base.generated.js.map +1 -0
  326. package/lib-esm/schemas/shield-information-barrier-report-details.generated.d.ts +9 -0
  327. package/lib-esm/schemas/shield-information-barrier-report-details.generated.js +3 -0
  328. package/lib-esm/schemas/shield-information-barrier-report-details.generated.js.map +1 -0
  329. package/lib-esm/schemas/shield-information-barrier-report.generated.d.ts +32 -0
  330. package/lib-esm/schemas/shield-information-barrier-report.generated.js +3 -0
  331. package/lib-esm/schemas/shield-information-barrier-report.generated.js.map +1 -0
  332. package/lib-esm/schemas/shield-information-barrier-reports.generated.d.ts +26 -0
  333. package/lib-esm/schemas/shield-information-barrier-reports.generated.js +3 -0
  334. package/lib-esm/schemas/shield-information-barrier-reports.generated.js.map +1 -0
  335. package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.d.ts +19 -0
  336. package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js +3 -0
  337. package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js.map +1 -0
  338. package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.d.ts +13 -0
  339. package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js +3 -0
  340. package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js.map +1 -0
  341. package/lib-esm/schemas/shield-information-barrier-segment-member.generated.d.ts +39 -0
  342. package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js +3 -0
  343. package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js.map +1 -0
  344. package/lib-esm/schemas/shield-information-barrier-segment-members.generated.d.ts +26 -0
  345. package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js +3 -0
  346. package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js.map +1 -0
  347. package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.d.ts +20 -0
  348. package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js +3 -0
  349. package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js.map +1 -0
  350. package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.d.ts +20 -0
  351. package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js +3 -0
  352. package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js.map +1 -0
  353. package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.d.ts +33 -0
  354. package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js +3 -0
  355. package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js.map +1 -0
  356. package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.d.ts +26 -0
  357. package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js +3 -0
  358. package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
  359. package/lib-esm/schemas/shield-information-barrier-segment.generated.d.ts +50 -0
  360. package/lib-esm/schemas/shield-information-barrier-segment.generated.js +3 -0
  361. package/lib-esm/schemas/shield-information-barrier-segment.generated.js.map +1 -0
  362. package/lib-esm/schemas/shield-information-barrier-segments.generated.d.ts +26 -0
  363. package/lib-esm/schemas/shield-information-barrier-segments.generated.js +3 -0
  364. package/lib-esm/schemas/shield-information-barrier-segments.generated.js.map +1 -0
  365. package/lib-esm/schemas/shield-information-barrier.generated.d.ts +56 -0
  366. package/lib-esm/schemas/shield-information-barrier.generated.js +3 -0
  367. package/lib-esm/schemas/shield-information-barrier.generated.js.map +1 -0
  368. package/lib-esm/schemas/shield-information-barriers.generated.d.ts +25 -0
  369. package/lib-esm/schemas/shield-information-barriers.generated.js +3 -0
  370. package/lib-esm/schemas/shield-information-barriers.generated.js.map +1 -0
  371. package/lib-esm/schemas/sign-request-base.generated.d.ts +78 -0
  372. package/lib-esm/schemas/sign-request-base.generated.js +3 -0
  373. package/lib-esm/schemas/sign-request-base.generated.js.map +1 -0
  374. package/lib-esm/schemas/sign-request-create-request.generated.d.ts +39 -0
  375. package/lib-esm/schemas/sign-request-create-request.generated.js +3 -0
  376. package/lib-esm/schemas/sign-request-create-request.generated.js.map +1 -0
  377. package/lib-esm/schemas/sign-request-create-signer.generated.d.ts +95 -0
  378. package/lib-esm/schemas/sign-request-create-signer.generated.js +3 -0
  379. package/lib-esm/schemas/sign-request-create-signer.generated.js.map +1 -0
  380. package/lib-esm/schemas/sign-request-prefill-tag.generated.d.ts +28 -0
  381. package/lib-esm/schemas/sign-request-prefill-tag.generated.js +3 -0
  382. package/lib-esm/schemas/sign-request-prefill-tag.generated.js.map +1 -0
  383. package/lib-esm/schemas/sign-request-signer-input.generated.d.ts +28 -0
  384. package/lib-esm/schemas/sign-request-signer-input.generated.js +3 -0
  385. package/lib-esm/schemas/sign-request-signer-input.generated.js.map +1 -0
  386. package/lib-esm/schemas/sign-request-signer.generated.d.ts +34 -0
  387. package/lib-esm/schemas/sign-request-signer.generated.js +3 -0
  388. package/lib-esm/schemas/sign-request-signer.generated.js.map +1 -0
  389. package/lib-esm/schemas/sign-request.generated.d.ts +72 -0
  390. package/lib-esm/schemas/sign-request.generated.js +3 -0
  391. package/lib-esm/schemas/sign-request.generated.js.map +1 -0
  392. package/lib-esm/schemas/sign-requests.generated.d.ts +25 -0
  393. package/lib-esm/schemas/sign-requests.generated.js +3 -0
  394. package/lib-esm/schemas/sign-requests.generated.js.map +1 -0
  395. package/lib-esm/schemas/sign-template.generated.d.ts +94 -0
  396. package/lib-esm/schemas/sign-template.generated.js +3 -0
  397. package/lib-esm/schemas/sign-template.generated.js.map +1 -0
  398. package/lib-esm/schemas/sign-templates.generated.d.ts +30 -0
  399. package/lib-esm/schemas/sign-templates.generated.js +3 -0
  400. package/lib-esm/schemas/sign-templates.generated.js.map +1 -0
  401. package/lib-esm/schemas/template-signer-input.generated.d.ts +61 -0
  402. package/lib-esm/schemas/template-signer-input.generated.js +3 -0
  403. package/lib-esm/schemas/template-signer-input.generated.js.map +1 -0
  404. package/lib-esm/schemas/template-signer.generated.d.ts +43 -0
  405. package/lib-esm/schemas/template-signer.generated.js +3 -0
  406. package/lib-esm/schemas/template-signer.generated.js.map +1 -0
  407. package/lib-esm/schemas/user-base.generated.d.ts +18 -0
  408. package/lib-esm/schemas/user-base.generated.js +3 -0
  409. package/lib-esm/schemas/user-base.generated.js.map +1 -0
  410. package/lib-esm/schemas/user-integration-mappings.d.ts +19 -0
  411. package/lib-esm/schemas/user-integration-mappings.js +3 -0
  412. package/lib-esm/schemas/user-integration-mappings.js.map +1 -0
  413. package/lib-esm/schemas/user-mini.d.ts +6 -0
  414. package/lib-esm/schemas/user-mini.js +3 -0
  415. package/lib-esm/schemas/user-mini.js.map +1 -0
  416. package/lib-esm/sessions/app-auth-session.d.ts +92 -0
  417. package/lib-esm/sessions/app-auth-session.js +176 -0
  418. package/lib-esm/sessions/app-auth-session.js.map +1 -0
  419. package/lib-esm/sessions/basic-session.d.ts +55 -0
  420. package/lib-esm/sessions/basic-session.js +62 -0
  421. package/lib-esm/sessions/basic-session.js.map +1 -0
  422. package/lib-esm/sessions/ccg-session.d.ts +72 -0
  423. package/lib-esm/sessions/ccg-session.js +111 -0
  424. package/lib-esm/sessions/ccg-session.js.map +1 -0
  425. package/lib-esm/sessions/persistent-session.d.ts +96 -0
  426. package/lib-esm/sessions/persistent-session.js +234 -0
  427. package/lib-esm/sessions/persistent-session.js.map +1 -0
  428. package/lib-esm/token-manager.d.ts +191 -0
  429. package/lib-esm/token-manager.js +453 -0
  430. package/lib-esm/token-manager.js.map +1 -0
  431. package/lib-esm/util/config.d.ts +85 -0
  432. package/lib-esm/util/config.js +212 -0
  433. package/lib-esm/util/config.js.map +1 -0
  434. package/lib-esm/util/errors.d.ts +50 -0
  435. package/lib-esm/util/errors.js +176 -0
  436. package/lib-esm/util/errors.js.map +1 -0
  437. package/lib-esm/util/exponential-backoff.d.ts +11 -0
  438. package/lib-esm/util/exponential-backoff.js +17 -0
  439. package/lib-esm/util/exponential-backoff.js.map +1 -0
  440. package/lib-esm/util/paging-iterator.d.ts +53 -0
  441. package/lib-esm/util/paging-iterator.js +247 -0
  442. package/lib-esm/util/paging-iterator.js.map +1 -0
  443. package/lib-esm/util/serializable.d.ts +10 -0
  444. package/lib-esm/util/serializable.js +17 -0
  445. package/lib-esm/util/serializable.js.map +1 -0
  446. package/lib-esm/util/url-path.d.ts +16 -0
  447. package/lib-esm/util/url-path.js +36 -0
  448. package/lib-esm/util/url-path.js.map +1 -0
  449. package/package.json +33 -28
@@ -0,0 +1,169 @@
1
+ /**
2
+ * @fileoverview Manager for the Box Webhooks resource
3
+ */
4
+ import BoxClient from '../box-client';
5
+ /**
6
+ * A webhook trigger type constant
7
+ * @typedef {string} WebhookTriggerType
8
+ */
9
+ declare enum WebhookTriggerType {
10
+ FILE_UPLOADED = "FILE.UPLOADED",
11
+ FILE_PREVIEWED = "FILE.PREVIEWED",
12
+ FILE_DOWNLOADED = "FILE.DOWNLOADED",
13
+ FILE_TRASHED = "FILE.TRASHED",
14
+ FILE_DELETED = "FILE.DELETED",
15
+ FILE_RESTORED = "FILE.RESTORED",
16
+ FILE_COPIED = "FILE.COPIED",
17
+ FILE_MOVED = "FILE.MOVED",
18
+ FILE_LOCKED = "FILE.LOCKED",
19
+ FILE_UNLOCKED = "FILE.UNLOCKED",
20
+ FILE_RENAMED = "FILE.RENAMED",
21
+ COMMENT_CREATED = "COMMENT.CREATED",
22
+ COMMENT_UPDATED = "COMMENT.UPDATED",
23
+ COMMENT_DELETED = "COMMENT.DELETED",
24
+ TASK_ASSIGNMENT_CREATED = "TASK_ASSIGNMENT.CREATED",
25
+ TASK_ASSIGNMENT_UPDATED = "TASK_ASSIGNMENT.UPDATED",
26
+ METADATA_INSTANCE_CREATED = "METADATA_INSTANCE.CREATED",
27
+ METADATA_INSTANCE_UPDATED = "METADATA_INSTANCE.UPDATED",
28
+ METADATA_INSTANCE_DELETED = "METADATA_INSTANCE.DELETED",
29
+ FOLDER_CREATED = "FOLDER.CREATED",
30
+ FOLDER_DOWNLOADED = "FOLDER.DOWNLOADED",
31
+ FOLDER_RESTORED = "FOLDER.RESTORED",
32
+ FOLDER_DELETED = "FOLDER.DELETED",
33
+ FOLDER_COPIED = "FOLDER.COPIED",
34
+ FOLDER_MOVED = "FOLDER.MOVED",
35
+ FOLDER_TRASHED = "FOLDER.TRASHED",
36
+ FOLDER_RENAMED = "FOLDER.RENAMED",
37
+ WEBHOOK_DELETED = "WEBHOOK.DELETED",
38
+ COLLABORATION_CREATED = "COLLABORATION.CREATED",
39
+ COLLABORATION_ACCEPTED = "COLLABORATION.ACCEPTED",
40
+ COLLABORATION_REJECTED = "COLLABORATION.REJECTED",
41
+ COLLABORATION_REMOVED = "COLLABORATION.REMOVED",
42
+ COLLABORATION_UPDATED = "COLLABORATION.UPDATED",
43
+ SHARED_LINK_DELETED = "SHARED_LINK.DELETED",
44
+ SHARED_LINK_CREATED = "SHARED_LINK.CREATED",
45
+ SHARED_LINK_UPDATED = "SHARED_LINK.UPDATED",
46
+ SIGN_REQUEST_COMPLETED = "SIGN_REQUEST.COMPLETED",
47
+ SIGN_REQUEST_DECLINED = "SIGN_REQUEST.DECLINED",
48
+ SIGN_REQUEST_EXPIRED = "SIGN_REQUEST.EXPIRED"
49
+ }
50
+ /**
51
+ * Simple manager for interacting with all 'Webhooks' endpoints and actions.
52
+ *
53
+ * @param {BoxClient} client The Box API Client that is responsible for making calls to the API
54
+ * @constructor
55
+ */
56
+ declare class Webhooks {
57
+ /**
58
+ * Primary signature key to protect webhooks against attacks.
59
+ * @static
60
+ * @type {?string}
61
+ */
62
+ static primarySignatureKey: string | null;
63
+ /**
64
+ * Secondary signature key to protect webhooks against attacks.
65
+ * @static
66
+ * @type {?string}
67
+ */
68
+ static secondarySignatureKey: string | null;
69
+ /**
70
+ * Sets primary and secondary signatures that are used to verify the Webhooks messages
71
+ *
72
+ * @param {string} primaryKey - The primary signature to verify the message with
73
+ * @param {string} [secondaryKey] - The secondary signature to verify the message with
74
+ * @returns {void}
75
+ */
76
+ static setSignatureKeys(primaryKey: string, secondaryKey?: string): void;
77
+ /**
78
+ * Validate a webhook message by verifying the signature and the delivery timestamp
79
+ *
80
+ * @param {string|Object} body - The request body of the webhook message
81
+ * @param {Object} headers - The request headers of the webhook message
82
+ * @param {string} [primaryKey] - The primary signature to verify the message with. If it is sent as a parameter,
83
+ it overrides the static variable primarySignatureKey
84
+ * @param {string} [secondaryKey] - The secondary signature to verify the message with. If it is sent as a parameter,
85
+ it overrides the static variable primarySignatureKey
86
+ * @param {int} [maxMessageAge] - The maximum message age (in seconds). Defaults to 10 minutes
87
+ * @returns {boolean} - True or false
88
+ */
89
+ static validateMessage(body: string | object, headers: Record<string, string>, primaryKey?: string, secondaryKey?: string, maxMessageAge?: number): boolean;
90
+ client: BoxClient;
91
+ triggerTypes: Record<'FILE' | 'COMMENT' | 'TASK_ASSIGNMENT' | 'METADATA_INSTANCE' | 'FOLDER' | 'WEBHOOK' | 'COLLABORATION' | 'SHARED_LINK' | 'SIGN_REQUEST', Record<string, WebhookTriggerType>>;
92
+ validateMessage: typeof Webhooks.validateMessage;
93
+ constructor(client: BoxClient);
94
+ /**
95
+ * Create a new webhook on a given Box object, specified by type and ID.
96
+ *
97
+ * API Endpoint: '/webhooks'
98
+ * Method: POST
99
+ *
100
+ * @param {string} targetID - Box ID of the item to create webhook on
101
+ * @param {ItemType} targetType - Type of item the webhook will be created on
102
+ * @param {string} notificationURL - The URL of your application where Box will notify you of events triggers
103
+ * @param {WebhookTriggerType[]} triggerTypes - Array of event types that trigger notification for the target
104
+ * @param {Function} [callback] - Passed the new webhook information if it was acquired successfully
105
+ * @returns {Promise<Object>} A promise resolving to the new webhook object
106
+ */
107
+ create(targetID: string, targetType: string, notificationURL: string, triggerTypes: WebhookTriggerType[], callback?: Function): any;
108
+ /**
109
+ * Returns a webhook object with the specified Webhook ID
110
+ *
111
+ * API Endpoint: '/webhooks/:webhookID'
112
+ * Method: GET
113
+ *
114
+ * @param {string} webhookID - ID of the webhook to retrieve
115
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
116
+ * @param {Function} [callback] - Passed the webhook information if it was acquired successfully
117
+ * @returns {Promise<Object>} A promise resolving to the webhook object
118
+ */
119
+ get(webhookID: string, options?: Record<string, any>, callback?: Function): any;
120
+ /**
121
+ * Get a list of webhooks that are active for the current application and user.
122
+ *
123
+ * API Endpoint: '/webhooks'
124
+ * Method: GET
125
+ *
126
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
127
+ * @param {int} [options.limit=100] - The number of webhooks to return
128
+ * @param {string} [options.marker] - Pagination marker
129
+ * @param {Function} [callback] - Passed the list of webhooks if successful, error otherwise
130
+ * @returns {Promise<Object>} A promise resolving to the collection of webhooks
131
+ */
132
+ getAll(options?: {
133
+ limit?: number;
134
+ marker?: string;
135
+ }, callback?: Function): any;
136
+ /**
137
+ * Update a webhook
138
+ *
139
+ * API Endpoint: '/webhooks/:webhookID'
140
+ * Method: PUT
141
+ *
142
+ * @param {string} webhookID - The ID of the webhook to be updated
143
+ * @param {Object} updates - Webhook fields to update
144
+ * @param {string} [updates.address] - The new URL used by Box to send a notification when webhook is triggered
145
+ * @param {WebhookTriggerType[]} [updates.triggers] - The new events that triggers a notification
146
+ * @param {Function} [callback] - Passed the updated webhook information if successful, error otherwise
147
+ * @returns {Promise<Object>} A promise resolving to the updated webhook object
148
+ */
149
+ update(webhookID: string, updates?: {
150
+ address?: string;
151
+ triggers?: WebhookTriggerType[];
152
+ }, callback?: Function): any;
153
+ /**
154
+ * Delete a specified webhook by ID
155
+ *
156
+ * API Endpoint: '/webhooks/:webhookID'
157
+ * Method: DELETE
158
+ *
159
+ * @param {string} webhookID - ID of webhook to be deleted
160
+ * @param {Function} [callback] - Empty response body passed if successful.
161
+ * @returns {Promise<void>} A promise resolving to nothing
162
+ */
163
+ delete(webhookID: string, callback?: Function): any;
164
+ }
165
+ /**
166
+ * @module box-node-sdk/lib/managers/webhooks
167
+ * @see {@Link Webhooks}
168
+ */
169
+ export = Webhooks;
@@ -0,0 +1,398 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Manager for the Box Webhooks resource
4
+ */
5
+ var __importDefault = (this && this.__importDefault) || function (mod) {
6
+ return (mod && mod.__esModule) ? mod : { "default": mod };
7
+ };
8
+ // -----------------------------------------------------------------------------
9
+ // Requirements
10
+ // -----------------------------------------------------------------------------
11
+ const url_path_1 = __importDefault(require("../util/url-path"));
12
+ const crypto_1 = __importDefault(require("crypto"));
13
+ // -----------------------------------------------------------------------------
14
+ // Typedefs
15
+ // -----------------------------------------------------------------------------
16
+ /**
17
+ * A webhook trigger type constant
18
+ * @typedef {string} WebhookTriggerType
19
+ */
20
+ var WebhookTriggerType;
21
+ (function (WebhookTriggerType) {
22
+ WebhookTriggerType["FILE_UPLOADED"] = "FILE.UPLOADED";
23
+ WebhookTriggerType["FILE_PREVIEWED"] = "FILE.PREVIEWED";
24
+ WebhookTriggerType["FILE_DOWNLOADED"] = "FILE.DOWNLOADED";
25
+ WebhookTriggerType["FILE_TRASHED"] = "FILE.TRASHED";
26
+ WebhookTriggerType["FILE_DELETED"] = "FILE.DELETED";
27
+ WebhookTriggerType["FILE_RESTORED"] = "FILE.RESTORED";
28
+ WebhookTriggerType["FILE_COPIED"] = "FILE.COPIED";
29
+ WebhookTriggerType["FILE_MOVED"] = "FILE.MOVED";
30
+ WebhookTriggerType["FILE_LOCKED"] = "FILE.LOCKED";
31
+ WebhookTriggerType["FILE_UNLOCKED"] = "FILE.UNLOCKED";
32
+ WebhookTriggerType["FILE_RENAMED"] = "FILE.RENAMED";
33
+ WebhookTriggerType["COMMENT_CREATED"] = "COMMENT.CREATED";
34
+ WebhookTriggerType["COMMENT_UPDATED"] = "COMMENT.UPDATED";
35
+ WebhookTriggerType["COMMENT_DELETED"] = "COMMENT.DELETED";
36
+ WebhookTriggerType["TASK_ASSIGNMENT_CREATED"] = "TASK_ASSIGNMENT.CREATED";
37
+ WebhookTriggerType["TASK_ASSIGNMENT_UPDATED"] = "TASK_ASSIGNMENT.UPDATED";
38
+ WebhookTriggerType["METADATA_INSTANCE_CREATED"] = "METADATA_INSTANCE.CREATED";
39
+ WebhookTriggerType["METADATA_INSTANCE_UPDATED"] = "METADATA_INSTANCE.UPDATED";
40
+ WebhookTriggerType["METADATA_INSTANCE_DELETED"] = "METADATA_INSTANCE.DELETED";
41
+ WebhookTriggerType["FOLDER_CREATED"] = "FOLDER.CREATED";
42
+ WebhookTriggerType["FOLDER_DOWNLOADED"] = "FOLDER.DOWNLOADED";
43
+ WebhookTriggerType["FOLDER_RESTORED"] = "FOLDER.RESTORED";
44
+ WebhookTriggerType["FOLDER_DELETED"] = "FOLDER.DELETED";
45
+ WebhookTriggerType["FOLDER_COPIED"] = "FOLDER.COPIED";
46
+ WebhookTriggerType["FOLDER_MOVED"] = "FOLDER.MOVED";
47
+ WebhookTriggerType["FOLDER_TRASHED"] = "FOLDER.TRASHED";
48
+ WebhookTriggerType["FOLDER_RENAMED"] = "FOLDER.RENAMED";
49
+ WebhookTriggerType["WEBHOOK_DELETED"] = "WEBHOOK.DELETED";
50
+ WebhookTriggerType["COLLABORATION_CREATED"] = "COLLABORATION.CREATED";
51
+ WebhookTriggerType["COLLABORATION_ACCEPTED"] = "COLLABORATION.ACCEPTED";
52
+ WebhookTriggerType["COLLABORATION_REJECTED"] = "COLLABORATION.REJECTED";
53
+ WebhookTriggerType["COLLABORATION_REMOVED"] = "COLLABORATION.REMOVED";
54
+ WebhookTriggerType["COLLABORATION_UPDATED"] = "COLLABORATION.UPDATED";
55
+ WebhookTriggerType["SHARED_LINK_DELETED"] = "SHARED_LINK.DELETED";
56
+ WebhookTriggerType["SHARED_LINK_CREATED"] = "SHARED_LINK.CREATED";
57
+ WebhookTriggerType["SHARED_LINK_UPDATED"] = "SHARED_LINK.UPDATED";
58
+ WebhookTriggerType["SIGN_REQUEST_COMPLETED"] = "SIGN_REQUEST.COMPLETED";
59
+ WebhookTriggerType["SIGN_REQUEST_DECLINED"] = "SIGN_REQUEST.DECLINED";
60
+ WebhookTriggerType["SIGN_REQUEST_EXPIRED"] = "SIGN_REQUEST.EXPIRED";
61
+ })(WebhookTriggerType || (WebhookTriggerType = {}));
62
+ // -----------------------------------------------------------------------------
63
+ // Private
64
+ // -----------------------------------------------------------------------------
65
+ // Base path for all webhooks endpoints
66
+ const BASE_PATH = '/webhooks';
67
+ // This prevents replay attacks
68
+ const MAX_MESSAGE_AGE = 10 * 60; // 10 minutes
69
+ /**
70
+ * Compute the message signature
71
+ * @see {@Link https://developer.box.com/en/guides/webhooks/handle/setup-signatures/}
72
+ *
73
+ * @param {string} body - The request body of the webhook message
74
+ * @param {Object} headers - The request headers of the webhook message
75
+ * @param {?string} signatureKey - The signature to verify the message with
76
+ * @returns {?string} - The message signature (or null, if it can't be computed)
77
+ * @private
78
+ */
79
+ function computeSignature(body, headers, signatureKey) {
80
+ if (!signatureKey) {
81
+ return null;
82
+ }
83
+ if (headers['box-signature-version'] !== '1') {
84
+ return null;
85
+ }
86
+ if (headers['box-signature-algorithm'] !== 'HmacSHA256') {
87
+ return null;
88
+ }
89
+ let hmac = crypto_1.default.createHmac('sha256', signatureKey);
90
+ hmac.update(body);
91
+ hmac.update(headers['box-delivery-timestamp']);
92
+ const signature = hmac.digest('base64');
93
+ return signature;
94
+ }
95
+ /**
96
+ * Validate the message signature
97
+ * @see {@Link https://developer.box.com/en/guides/webhooks/handle/verify-signatures/}
98
+ *
99
+ * @param {string} body - The request body of the webhook message
100
+ * @param {Object} headers - The request headers of the webhook message
101
+ * @param {string} [primarySignatureKey] - The primary signature to verify the message with
102
+ * @param {string} [secondarySignatureKey] - The secondary signature to verify the message with
103
+ * @returns {boolean} - True or false
104
+ * @private
105
+ */
106
+ function validateSignature(body, headers, primarySignatureKey, secondarySignatureKey) {
107
+ // Either the primary or secondary signature must match the corresponding signature from Box
108
+ // (The use of two signatures allows the signing keys to be rotated one at a time)
109
+ const primarySignature = computeSignature(body, headers, primarySignatureKey);
110
+ if (primarySignature &&
111
+ compareSignatures(primarySignature, headers['box-signature-primary'])) {
112
+ return true;
113
+ }
114
+ const secondarySignature = computeSignature(body, headers, secondarySignatureKey);
115
+ if (secondarySignature &&
116
+ compareSignatures(secondarySignature, headers['box-signature-secondary'])) {
117
+ return true;
118
+ }
119
+ return false;
120
+ }
121
+ /**
122
+ * Compare two signatures using a timing-safe comparison
123
+ * @param expectedSignature Expected signature in base64 format
124
+ * @param receivedSignature Received signature in base64 format
125
+ */
126
+ function compareSignatures(expectedSignature, receivedSignature) {
127
+ const expectedBuffer = Buffer.from(expectedSignature, 'base64');
128
+ const receivedBuffer = Buffer.from(receivedSignature, 'base64');
129
+ return crypto_1.default.timingSafeEqual(expectedBuffer, receivedBuffer);
130
+ }
131
+ /**
132
+ * Validate that the delivery timestamp is not too far in the past (to prevent replay attacks)
133
+ *
134
+ * @param {Object} headers - The request headers of the webhook message
135
+ * @param {int} maxMessageAge - The maximum message age (in seconds)
136
+ * @returns {boolean} - True or false
137
+ * @private
138
+ */
139
+ function validateDeliveryTimestamp(headers, maxMessageAge) {
140
+ const deliveryTime = Date.parse(headers['box-delivery-timestamp']);
141
+ const currentTime = Date.now();
142
+ const messageAge = (currentTime - deliveryTime) / 1000;
143
+ if (messageAge > maxMessageAge) {
144
+ return false;
145
+ }
146
+ return true;
147
+ }
148
+ /**
149
+ * Stringify JSON with escaped multibyte Unicode characters to ensure computed signatures match PHP's default behavior
150
+ *
151
+ * @param {Object} body - The parsed JSON object
152
+ * @returns {string} - Stringified JSON with escaped multibyte Unicode characters
153
+ * @private
154
+ */
155
+ function jsonStringifyWithEscapedUnicode(body) {
156
+ return JSON.stringify(body).replace(/[\u007f-\uffff]/g, (char) => `\\u${`0000${char.charCodeAt(0).toString(16)}`.slice(-4)}`);
157
+ }
158
+ // -----------------------------------------------------------------------------
159
+ // Public
160
+ // -----------------------------------------------------------------------------
161
+ /**
162
+ * Simple manager for interacting with all 'Webhooks' endpoints and actions.
163
+ *
164
+ * @param {BoxClient} client The Box API Client that is responsible for making calls to the API
165
+ * @constructor
166
+ */
167
+ class Webhooks {
168
+ /**
169
+ * Sets primary and secondary signatures that are used to verify the Webhooks messages
170
+ *
171
+ * @param {string} primaryKey - The primary signature to verify the message with
172
+ * @param {string} [secondaryKey] - The secondary signature to verify the message with
173
+ * @returns {void}
174
+ */
175
+ static setSignatureKeys(primaryKey, secondaryKey) {
176
+ Webhooks.primarySignatureKey = primaryKey;
177
+ if (typeof secondaryKey === 'string') {
178
+ Webhooks.secondarySignatureKey = secondaryKey;
179
+ }
180
+ }
181
+ /**
182
+ * Validate a webhook message by verifying the signature and the delivery timestamp
183
+ *
184
+ * @param {string|Object} body - The request body of the webhook message
185
+ * @param {Object} headers - The request headers of the webhook message
186
+ * @param {string} [primaryKey] - The primary signature to verify the message with. If it is sent as a parameter,
187
+ it overrides the static variable primarySignatureKey
188
+ * @param {string} [secondaryKey] - The secondary signature to verify the message with. If it is sent as a parameter,
189
+ it overrides the static variable primarySignatureKey
190
+ * @param {int} [maxMessageAge] - The maximum message age (in seconds). Defaults to 10 minutes
191
+ * @returns {boolean} - True or false
192
+ */
193
+ static validateMessage(body, headers, primaryKey, secondaryKey, maxMessageAge) {
194
+ if (!primaryKey && Webhooks.primarySignatureKey) {
195
+ primaryKey = Webhooks.primarySignatureKey;
196
+ }
197
+ if (!secondaryKey && Webhooks.secondarySignatureKey) {
198
+ secondaryKey = Webhooks.secondarySignatureKey;
199
+ }
200
+ if (typeof maxMessageAge !== 'number') {
201
+ maxMessageAge = MAX_MESSAGE_AGE;
202
+ }
203
+ // For frameworks like Express that automatically parse JSON
204
+ // bodies into Objects, re-stringify for signature testing
205
+ if (typeof body === 'object') {
206
+ // Escape forward slashes to ensure a matching signature
207
+ body = jsonStringifyWithEscapedUnicode(body).replace(/\//g, '\\/');
208
+ }
209
+ if (!validateSignature(body, headers, primaryKey, secondaryKey)) {
210
+ return false;
211
+ }
212
+ if (!validateDeliveryTimestamp(headers, maxMessageAge)) {
213
+ return false;
214
+ }
215
+ return true;
216
+ }
217
+ constructor(client) {
218
+ // Attach the client, for making API calls
219
+ this.client = client;
220
+ }
221
+ /**
222
+ * Create a new webhook on a given Box object, specified by type and ID.
223
+ *
224
+ * API Endpoint: '/webhooks'
225
+ * Method: POST
226
+ *
227
+ * @param {string} targetID - Box ID of the item to create webhook on
228
+ * @param {ItemType} targetType - Type of item the webhook will be created on
229
+ * @param {string} notificationURL - The URL of your application where Box will notify you of events triggers
230
+ * @param {WebhookTriggerType[]} triggerTypes - Array of event types that trigger notification for the target
231
+ * @param {Function} [callback] - Passed the new webhook information if it was acquired successfully
232
+ * @returns {Promise<Object>} A promise resolving to the new webhook object
233
+ */
234
+ create(targetID, targetType, notificationURL, triggerTypes, callback) {
235
+ var params = {
236
+ body: {
237
+ target: {
238
+ id: targetID,
239
+ type: targetType,
240
+ },
241
+ address: notificationURL,
242
+ triggers: triggerTypes,
243
+ },
244
+ };
245
+ var apiPath = (0, url_path_1.default)(BASE_PATH);
246
+ return this.client.wrapWithDefaultHandler(this.client.post)(apiPath, params, callback);
247
+ }
248
+ /**
249
+ * Returns a webhook object with the specified Webhook ID
250
+ *
251
+ * API Endpoint: '/webhooks/:webhookID'
252
+ * Method: GET
253
+ *
254
+ * @param {string} webhookID - ID of the webhook to retrieve
255
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
256
+ * @param {Function} [callback] - Passed the webhook information if it was acquired successfully
257
+ * @returns {Promise<Object>} A promise resolving to the webhook object
258
+ */
259
+ get(webhookID, options, callback) {
260
+ var params = {
261
+ qs: options,
262
+ };
263
+ var apiPath = (0, url_path_1.default)(BASE_PATH, webhookID);
264
+ return this.client.wrapWithDefaultHandler(this.client.get)(apiPath, params, callback);
265
+ }
266
+ /**
267
+ * Get a list of webhooks that are active for the current application and user.
268
+ *
269
+ * API Endpoint: '/webhooks'
270
+ * Method: GET
271
+ *
272
+ * @param {Object} [options] - Additional options for the request. Can be left null in most cases.
273
+ * @param {int} [options.limit=100] - The number of webhooks to return
274
+ * @param {string} [options.marker] - Pagination marker
275
+ * @param {Function} [callback] - Passed the list of webhooks if successful, error otherwise
276
+ * @returns {Promise<Object>} A promise resolving to the collection of webhooks
277
+ */
278
+ getAll(options, callback) {
279
+ var params = {
280
+ qs: options,
281
+ };
282
+ var apiPath = (0, url_path_1.default)(BASE_PATH);
283
+ return this.client.wrapWithDefaultHandler(this.client.get)(apiPath, params, callback);
284
+ }
285
+ /**
286
+ * Update a webhook
287
+ *
288
+ * API Endpoint: '/webhooks/:webhookID'
289
+ * Method: PUT
290
+ *
291
+ * @param {string} webhookID - The ID of the webhook to be updated
292
+ * @param {Object} updates - Webhook fields to update
293
+ * @param {string} [updates.address] - The new URL used by Box to send a notification when webhook is triggered
294
+ * @param {WebhookTriggerType[]} [updates.triggers] - The new events that triggers a notification
295
+ * @param {Function} [callback] - Passed the updated webhook information if successful, error otherwise
296
+ * @returns {Promise<Object>} A promise resolving to the updated webhook object
297
+ */
298
+ update(webhookID, updates, callback) {
299
+ var apiPath = (0, url_path_1.default)(BASE_PATH, webhookID), params = {
300
+ body: updates,
301
+ };
302
+ return this.client.wrapWithDefaultHandler(this.client.put)(apiPath, params, callback);
303
+ }
304
+ /**
305
+ * Delete a specified webhook by ID
306
+ *
307
+ * API Endpoint: '/webhooks/:webhookID'
308
+ * Method: DELETE
309
+ *
310
+ * @param {string} webhookID - ID of webhook to be deleted
311
+ * @param {Function} [callback] - Empty response body passed if successful.
312
+ * @returns {Promise<void>} A promise resolving to nothing
313
+ */
314
+ delete(webhookID, callback) {
315
+ var apiPath = (0, url_path_1.default)(BASE_PATH, webhookID);
316
+ return this.client.wrapWithDefaultHandler(this.client.del)(apiPath, null, callback);
317
+ }
318
+ }
319
+ /**
320
+ * Primary signature key to protect webhooks against attacks.
321
+ * @static
322
+ * @type {?string}
323
+ */
324
+ Webhooks.primarySignatureKey = null;
325
+ /**
326
+ * Secondary signature key to protect webhooks against attacks.
327
+ * @static
328
+ * @type {?string}
329
+ */
330
+ Webhooks.secondarySignatureKey = null;
331
+ /**
332
+ * Enum of valid webhooks event triggers
333
+ *
334
+ * @readonly
335
+ * @enum {WebhookTriggerType}
336
+ */
337
+ Webhooks.prototype.triggerTypes = {
338
+ FILE: {
339
+ UPLOADED: WebhookTriggerType.FILE_UPLOADED,
340
+ PREVIEWED: WebhookTriggerType.FILE_PREVIEWED,
341
+ DOWNLOADED: WebhookTriggerType.FILE_DOWNLOADED,
342
+ TRASHED: WebhookTriggerType.FILE_TRASHED,
343
+ DELETED: WebhookTriggerType.FILE_DELETED,
344
+ RESTORED: WebhookTriggerType.FILE_RESTORED,
345
+ COPIED: WebhookTriggerType.FILE_COPIED,
346
+ MOVED: WebhookTriggerType.FILE_MOVED,
347
+ LOCKED: WebhookTriggerType.FILE_LOCKED,
348
+ UNLOCKED: WebhookTriggerType.FILE_UNLOCKED,
349
+ RENAMED: WebhookTriggerType.FILE_RENAMED,
350
+ },
351
+ COMMENT: {
352
+ CREATED: WebhookTriggerType.COMMENT_CREATED,
353
+ UPDATED: WebhookTriggerType.COMMENT_UPDATED,
354
+ DELETED: WebhookTriggerType.COMMENT_DELETED,
355
+ },
356
+ TASK_ASSIGNMENT: {
357
+ CREATED: WebhookTriggerType.TASK_ASSIGNMENT_CREATED,
358
+ UPDATED: WebhookTriggerType.TASK_ASSIGNMENT_UPDATED,
359
+ },
360
+ METADATA_INSTANCE: {
361
+ CREATED: WebhookTriggerType.METADATA_INSTANCE_CREATED,
362
+ UPDATED: WebhookTriggerType.METADATA_INSTANCE_UPDATED,
363
+ DELETED: WebhookTriggerType.METADATA_INSTANCE_DELETED,
364
+ },
365
+ FOLDER: {
366
+ CREATED: WebhookTriggerType.FOLDER_CREATED,
367
+ DOWNLOADED: WebhookTriggerType.FOLDER_DOWNLOADED,
368
+ RESTORED: WebhookTriggerType.FOLDER_RESTORED,
369
+ DELETED: WebhookTriggerType.FOLDER_DELETED,
370
+ COPIED: WebhookTriggerType.FOLDER_COPIED,
371
+ MOVED: WebhookTriggerType.FOLDER_MOVED,
372
+ TRASHED: WebhookTriggerType.FOLDER_TRASHED,
373
+ RENAMED: WebhookTriggerType.FOLDER_RENAMED,
374
+ },
375
+ WEBHOOK: {
376
+ DELETED: WebhookTriggerType.WEBHOOK_DELETED,
377
+ },
378
+ COLLABORATION: {
379
+ CREATED: WebhookTriggerType.COLLABORATION_CREATED,
380
+ ACCEPTED: WebhookTriggerType.COLLABORATION_ACCEPTED,
381
+ REJECTED: WebhookTriggerType.COLLABORATION_REJECTED,
382
+ REMOVED: WebhookTriggerType.COLLABORATION_REMOVED,
383
+ UPDATED: WebhookTriggerType.COLLABORATION_UPDATED,
384
+ },
385
+ SHARED_LINK: {
386
+ DELETED: WebhookTriggerType.SHARED_LINK_DELETED,
387
+ CREATED: WebhookTriggerType.SHARED_LINK_CREATED,
388
+ UPDATED: WebhookTriggerType.SHARED_LINK_UPDATED,
389
+ },
390
+ SIGN_REQUEST: {
391
+ COMPLETED: WebhookTriggerType.SIGN_REQUEST_COMPLETED,
392
+ DECLINED: WebhookTriggerType.SIGN_REQUEST_DECLINED,
393
+ EXPIRED: WebhookTriggerType.SIGN_REQUEST_EXPIRED,
394
+ },
395
+ };
396
+ Webhooks.prototype.validateMessage = Webhooks.validateMessage;
397
+ module.exports = Webhooks;
398
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/managers/webhooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import * as schemas from '.';
2
+ /**
3
+ * AI agent for question requests
4
+ *
5
+ * The AI agent used to handle queries.
6
+ */
7
+ export interface AiAgentAsk {
8
+ /**
9
+ * The type of AI agent used to handle queries.
10
+ * Example: ai_agent_ask
11
+ */
12
+ type: 'ai_agent_ask';
13
+ long_text?: schemas.AiAgentLongTextTool;
14
+ basic_text?: schemas.AiAgentBasicTextToolAsk;
15
+ long_text_multi?: schemas.AiAgentLongTextTool;
16
+ basic_text_multi?: schemas.AiAgentBasicTextToolAsk;
17
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ai-agent-ask.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent-ask.generated.js","sourceRoot":"","sources":["../../src/schemas/ai-agent-ask.generated.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import * as schemas from '.';
2
+ /**
3
+ * AI agent basic text generation tool
4
+ *
5
+ * AI agent basic tool used to generate text.
6
+ */
7
+ export interface AiAgentBasicGenTool extends schemas.AiAgentLongTextTool {
8
+ /**
9
+ * How the content should be included in a request to the LLM.
10
+ * When passing this parameter, you must include `{content}`.
11
+ * Example: ---{content}---
12
+ */
13
+ content_template?: string;
14
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ai-agent-basic-gen-tool.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-agent-basic-gen-tool.generated.js","sourceRoot":"","sources":["../../src/schemas/ai-agent-basic-gen-tool.generated.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import * as schemas from '.';
2
+ /**
3
+ * AI agent basic text tool
4
+ *
5
+ * AI agent tool used to handle basic text.
6
+ */
7
+ export interface AiAgentBasicTextToolAsk {
8
+ /**
9
+ * The model used for the AI Agent for basic text.
10
+ * Example: openai__gpt_3_5_turbo
11
+ */
12
+ model?: string;
13
+ /**
14
+ * System messages try to help the LLM "understand" its role and what it is supposed to do.
15
+ * Example: You are a helpful travel assistant specialized in budget travel
16
+ */
17
+ system_message?: string;
18
+ /**
19
+ * The prompt template contains contextual information of the request and the user prompt.
20
+ *
21
+ * When passing `prompt_template` parameters, you **must include** inputs for `{current_date}`, `{user_question}`, and `{content}`.
22
+ * Example: It is `{current_date}`, and I have $8000 and want to spend a week in the Azores. What should I see?
23
+ */
24
+ prompt_template?: string;
25
+ /**
26
+ * The number of tokens for completion.
27
+ * Example: 8400
28
+ */
29
+ num_tokens_for_completion?: number;
30
+ /**
31
+ * The parameters for the LLM endpoint specific to OpenAI / Google models.
32
+ */
33
+ llm_endpoint_params?: schemas.AiLlmEndpointParamsOpenAi | schemas.AiLlmEndpointParamsGoogle;
34
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ai-agent-basic-text-tool-ask.generated.js.map