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.
- package/README.md +89 -69
- package/config/package.schema.json +42 -42
- package/lib/api-request-manager.d.ts +0 -2
- package/lib/api-request-manager.js.map +1 -1
- package/lib/api-request.d.ts +0 -3
- package/lib/api-request.js.map +1 -1
- package/lib/box-client.d.ts +7 -7
- package/lib/box-client.js +6 -3
- package/lib/box-client.js.map +1 -1
- package/lib/box-node-sdk.d.ts +1 -3
- package/lib/box-node-sdk.js +26 -10
- package/lib/box-node-sdk.js.map +1 -1
- package/lib/chunked-uploader.d.ts +0 -5
- package/lib/chunked-uploader.js.map +1 -1
- package/lib/enterprise-event-stream.d.ts +0 -1
- package/lib/enterprise-event-stream.js +3 -3
- package/lib/enterprise-event-stream.js.map +1 -1
- package/lib/event-stream.d.ts +0 -2
- package/lib/event-stream.js.map +1 -1
- package/lib/managers/ai.generated.js.map +1 -1
- package/lib/managers/collaboration-allowlist.js.map +1 -1
- package/lib/managers/collaborations.d.ts +3 -3
- package/lib/managers/collaborations.js +23 -23
- package/lib/managers/collaborations.js.map +1 -1
- package/lib/managers/collections.js.map +1 -1
- package/lib/managers/comments.js.map +1 -1
- package/lib/managers/device-pins.js.map +1 -1
- package/lib/managers/enterprise.js.map +1 -1
- package/lib/managers/events.d.ts +0 -1
- package/lib/managers/events.js +3 -1
- package/lib/managers/events.js.map +1 -1
- package/lib/managers/file-requests-manager.d.ts +2 -2
- package/lib/managers/file-requests-manager.js +1 -1
- package/lib/managers/file-requests-manager.js.map +1 -1
- package/lib/managers/files.d.ts +1 -4
- package/lib/managers/files.js +6 -2
- package/lib/managers/files.js.map +1 -1
- package/lib/managers/folders.d.ts +1 -1
- package/lib/managers/folders.js +3 -1
- package/lib/managers/folders.js.map +1 -1
- package/lib/managers/groups.js +2 -2
- package/lib/managers/groups.js.map +1 -1
- package/lib/managers/integration-mappings.js.map +1 -1
- package/lib/managers/legal-hold-policies.js.map +1 -1
- package/lib/managers/metadata.js.map +1 -1
- package/lib/managers/recent-items.js.map +1 -1
- package/lib/managers/retention-policies.d.ts +1 -1
- package/lib/managers/retention-policies.js.map +1 -1
- package/lib/managers/search.d.ts +1 -1
- package/lib/managers/search.js.map +1 -1
- package/lib/managers/shared-items.js.map +1 -1
- package/lib/managers/shield-information-barrier-reports.generated.js.map +1 -1
- package/lib/managers/shield-information-barrier-segment-members.generated.js.map +1 -1
- package/lib/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -1
- package/lib/managers/shield-information-barrier-segments.generated.js.map +1 -1
- package/lib/managers/shield-information-barriers.generated.js.map +1 -1
- package/lib/managers/sign-requests.generated.js.map +1 -1
- package/lib/managers/sign-templates.generated.js.map +1 -1
- package/lib/managers/storage-policies.js.map +1 -1
- package/lib/managers/tasks.js.map +1 -1
- package/lib/managers/terms-of-service.js.map +1 -1
- package/lib/managers/trash.js.map +1 -1
- package/lib/managers/users.d.ts +0 -3
- package/lib/managers/users.js +1 -1
- package/lib/managers/users.js.map +1 -1
- package/lib/managers/web-links.js +3 -1
- package/lib/managers/web-links.js.map +1 -1
- package/lib/managers/webhooks.d.ts +11 -11
- package/lib/managers/webhooks.js +24 -14
- package/lib/managers/webhooks.js.map +1 -1
- package/lib/schemas/collaboration-update.d.ts +1 -1
- package/lib/schemas/collaboration.d.ts +3 -3
- package/lib/schemas/collaborations.d.ts +1 -1
- package/lib/schemas/file-request.d.ts +2 -2
- package/lib/sessions/app-auth-session.js.map +1 -1
- package/lib/sessions/basic-session.d.ts +0 -1
- package/lib/sessions/basic-session.js.map +1 -1
- package/lib/sessions/ccg-session.js.map +1 -1
- package/lib/sessions/persistent-session.js.map +1 -1
- package/lib/token-manager.js +4 -2
- package/lib/token-manager.js.map +1 -1
- package/lib/util/config.d.ts +0 -2
- package/lib/util/config.js +18 -8
- package/lib/util/config.js.map +1 -1
- package/lib/util/errors.js +17 -7
- package/lib/util/errors.js.map +1 -1
- package/lib/util/exponential-backoff.js.map +1 -1
- package/lib/util/paging-iterator.js +17 -7
- package/lib/util/paging-iterator.js.map +1 -1
- package/lib/util/serializable.js.map +1 -1
- package/lib/util/url-path.js.map +1 -1
- package/lib-esm/api-request-manager.d.ts +36 -0
- package/lib-esm/api-request-manager.js +78 -0
- package/lib-esm/api-request-manager.js.map +1 -0
- package/lib-esm/api-request.d.ts +135 -0
- package/lib-esm/api-request.js +282 -0
- package/lib-esm/api-request.js.map +1 -0
- package/lib-esm/box-client.d.ts +274 -0
- package/lib-esm/box-client.js +594 -0
- package/lib-esm/box-client.js.map +1 -0
- package/lib-esm/box-node-sdk.d.ts +227 -0
- package/lib-esm/box-node-sdk.js +373 -0
- package/lib-esm/box-node-sdk.js.map +1 -0
- package/lib-esm/chunked-uploader.d.ts +128 -0
- package/lib-esm/chunked-uploader.js +276 -0
- package/lib-esm/chunked-uploader.js.map +1 -0
- package/lib-esm/enterprise-event-stream.d.ts +82 -0
- package/lib-esm/enterprise-event-stream.js +205 -0
- package/lib-esm/enterprise-event-stream.js.map +1 -0
- package/lib-esm/event-stream.d.ts +91 -0
- package/lib-esm/event-stream.js +277 -0
- package/lib-esm/event-stream.js.map +1 -0
- package/lib-esm/managers/ai.generated.d.ts +58 -0
- package/lib-esm/managers/ai.generated.js +66 -0
- package/lib-esm/managers/ai.generated.js.map +1 -0
- package/lib-esm/managers/collaboration-allowlist.d.ts +133 -0
- package/lib-esm/managers/collaboration-allowlist.js +194 -0
- package/lib-esm/managers/collaboration-allowlist.js.map +1 -0
- package/lib-esm/managers/collaborations.d.ts +173 -0
- package/lib-esm/managers/collaborations.js +252 -0
- package/lib-esm/managers/collaborations.js.map +1 -0
- package/lib-esm/managers/collections.d.ts +42 -0
- package/lib-esm/managers/collections.js +62 -0
- package/lib-esm/managers/collections.js.map +1 -0
- package/lib-esm/managers/comments.d.ts +103 -0
- package/lib-esm/managers/comments.js +175 -0
- package/lib-esm/managers/comments.js.map +1 -0
- package/lib-esm/managers/device-pins.d.ts +52 -0
- package/lib-esm/managers/device-pins.js +91 -0
- package/lib-esm/managers/device-pins.js.map +1 -0
- package/lib-esm/managers/enterprise.d.ts +164 -0
- package/lib-esm/managers/enterprise.js +193 -0
- package/lib-esm/managers/enterprise.js.map +1 -0
- package/lib-esm/managers/events.d.ts +222 -0
- package/lib-esm/managers/events.js +295 -0
- package/lib-esm/managers/events.js.map +1 -0
- package/lib-esm/managers/file-requests-manager.d.ts +56 -0
- package/lib-esm/managers/file-requests-manager.js +81 -0
- package/lib-esm/managers/file-requests-manager.js.map +1 -0
- package/lib-esm/managers/files.d.ts +817 -0
- package/lib-esm/managers/files.js +1408 -0
- package/lib-esm/managers/files.js.map +1 -0
- package/lib-esm/managers/folders.d.ts +396 -0
- package/lib-esm/managers/folders.js +570 -0
- package/lib-esm/managers/folders.js.map +1 -0
- package/lib-esm/managers/groups.d.ts +213 -0
- package/lib-esm/managers/groups.js +289 -0
- package/lib-esm/managers/groups.js.map +1 -0
- package/lib-esm/managers/integration-mappings.d.ts +116 -0
- package/lib-esm/managers/integration-mappings.js +101 -0
- package/lib-esm/managers/integration-mappings.js.map +1 -0
- package/lib-esm/managers/legal-hold-policies.d.ts +190 -0
- package/lib-esm/managers/legal-hold-policies.js +254 -0
- package/lib-esm/managers/legal-hold-policies.js.map +1 -0
- package/lib-esm/managers/metadata.d.ts +232 -0
- package/lib-esm/managers/metadata.js +288 -0
- package/lib-esm/managers/metadata.js.map +1 -0
- package/lib-esm/managers/recent-items.d.ts +38 -0
- package/lib-esm/managers/recent-items.js +49 -0
- package/lib-esm/managers/recent-items.js.map +1 -0
- package/lib-esm/managers/retention-policies.d.ts +308 -0
- package/lib-esm/managers/retention-policies.js +374 -0
- package/lib-esm/managers/retention-policies.js.map +1 -0
- package/lib-esm/managers/search.d.ts +82 -0
- package/lib-esm/managers/search.js +90 -0
- package/lib-esm/managers/search.js.map +1 -0
- package/lib-esm/managers/shared-items.d.ts +33 -0
- package/lib-esm/managers/shared-items.js +74 -0
- package/lib-esm/managers/shared-items.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-reports.generated.d.ts +65 -0
- package/lib-esm/managers/shield-information-barrier-reports.generated.js +65 -0
- package/lib-esm/managers/shield-information-barrier-reports.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-segment-members.generated.d.ts +83 -0
- package/lib-esm/managers/shield-information-barrier-segment-members.generated.js +83 -0
- package/lib-esm/managers/shield-information-barrier-segment-members.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.d.ts +84 -0
- package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js +84 -0
- package/lib-esm/managers/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barrier-segments.generated.d.ts +98 -0
- package/lib-esm/managers/shield-information-barrier-segments.generated.js +99 -0
- package/lib-esm/managers/shield-information-barrier-segments.generated.js.map +1 -0
- package/lib-esm/managers/shield-information-barriers.generated.d.ts +79 -0
- package/lib-esm/managers/shield-information-barriers.generated.js +83 -0
- package/lib-esm/managers/shield-information-barriers.generated.js.map +1 -0
- package/lib-esm/managers/sign-requests.generated.d.ts +93 -0
- package/lib-esm/managers/sign-requests.generated.js +97 -0
- package/lib-esm/managers/sign-requests.generated.js.map +1 -0
- package/lib-esm/managers/sign-templates.generated.d.ts +51 -0
- package/lib-esm/managers/sign-templates.generated.js +49 -0
- package/lib-esm/managers/sign-templates.generated.js.map +1 -0
- package/lib-esm/managers/storage-policies.d.ts +86 -0
- package/lib-esm/managers/storage-policies.js +174 -0
- package/lib-esm/managers/storage-policies.js.map +1 -0
- package/lib-esm/managers/tasks.d.ts +161 -0
- package/lib-esm/managers/tasks.js +243 -0
- package/lib-esm/managers/tasks.js.map +1 -0
- package/lib-esm/managers/terms-of-service.d.ts +161 -0
- package/lib-esm/managers/terms-of-service.js +283 -0
- package/lib-esm/managers/terms-of-service.js.map +1 -0
- package/lib-esm/managers/trash.d.ts +30 -0
- package/lib-esm/managers/trash.js +47 -0
- package/lib-esm/managers/trash.js.map +1 -0
- package/lib-esm/managers/users.d.ts +171 -0
- package/lib-esm/managers/users.js +230 -0
- package/lib-esm/managers/users.js.map +1 -0
- package/lib-esm/managers/web-links.d.ts +127 -0
- package/lib-esm/managers/web-links.js +200 -0
- package/lib-esm/managers/web-links.js.map +1 -0
- package/lib-esm/managers/webhooks.d.ts +169 -0
- package/lib-esm/managers/webhooks.js +398 -0
- package/lib-esm/managers/webhooks.js.map +1 -0
- package/lib-esm/schemas/ai-agent-ask.generated.d.ts +17 -0
- package/lib-esm/schemas/ai-agent-ask.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-ask.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.d.ts +14 -0
- package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-basic-gen-tool.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.d.ts +34 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-ask.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.d.ts +36 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-basic-text-tool-text-gen.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-long-text-tool.generated.d.ts +9 -0
- package/lib-esm/schemas/ai-agent-long-text-tool.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-long-text-tool.generated.js.map +1 -0
- package/lib-esm/schemas/ai-agent-text-gen.generated.d.ts +14 -0
- package/lib-esm/schemas/ai-agent-text-gen.generated.js +3 -0
- package/lib-esm/schemas/ai-agent-text-gen.generated.js.map +1 -0
- package/lib-esm/schemas/ai-ask.generated.d.ts +40 -0
- package/lib-esm/schemas/ai-ask.generated.js +3 -0
- package/lib-esm/schemas/ai-ask.generated.js.map +1 -0
- package/lib-esm/schemas/ai-citation.generated.d.ts +27 -0
- package/lib-esm/schemas/ai-citation.generated.js +3 -0
- package/lib-esm/schemas/ai-citation.generated.js.map +1 -0
- package/lib-esm/schemas/ai-dialogue-history.generated.d.ts +22 -0
- package/lib-esm/schemas/ai-dialogue-history.generated.js +3 -0
- package/lib-esm/schemas/ai-dialogue-history.generated.js.map +1 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.d.ts +31 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js +3 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-google.generated.js.map +1 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.d.ts +43 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js +3 -0
- package/lib-esm/schemas/ai-llm-endpoint-params-open-ai.generated.js.map +1 -0
- package/lib-esm/schemas/ai-response-full.generated.d.ts +12 -0
- package/lib-esm/schemas/ai-response-full.generated.js +3 -0
- package/lib-esm/schemas/ai-response-full.generated.js.map +1 -0
- package/lib-esm/schemas/ai-response.generated.d.ts +22 -0
- package/lib-esm/schemas/ai-response.generated.js +3 -0
- package/lib-esm/schemas/ai-response.generated.js.map +1 -0
- package/lib-esm/schemas/ai-text-gen.generated.d.ts +30 -0
- package/lib-esm/schemas/ai-text-gen.generated.js +3 -0
- package/lib-esm/schemas/ai-text-gen.generated.js.map +1 -0
- package/lib-esm/schemas/collaboration-create.d.ts +5 -0
- package/lib-esm/schemas/collaboration-create.js +3 -0
- package/lib-esm/schemas/collaboration-create.js.map +1 -0
- package/lib-esm/schemas/collaboration-update.d.ts +7 -0
- package/lib-esm/schemas/collaboration-update.js +3 -0
- package/lib-esm/schemas/collaboration-update.js.map +1 -0
- package/lib-esm/schemas/collaboration.d.ts +108 -0
- package/lib-esm/schemas/collaboration.js +3 -0
- package/lib-esm/schemas/collaboration.js.map +1 -0
- package/lib-esm/schemas/collaborations.d.ts +13 -0
- package/lib-esm/schemas/collaborations.js +3 -0
- package/lib-esm/schemas/collaborations.js.map +1 -0
- package/lib-esm/schemas/enterprise-base.generated.d.ts +18 -0
- package/lib-esm/schemas/enterprise-base.generated.js +3 -0
- package/lib-esm/schemas/enterprise-base.generated.js.map +1 -0
- package/lib-esm/schemas/file-base.generated.d.ts +32 -0
- package/lib-esm/schemas/file-base.generated.js +3 -0
- package/lib-esm/schemas/file-base.generated.js.map +1 -0
- package/lib-esm/schemas/file-mini.generated.d.ts +41 -0
- package/lib-esm/schemas/file-mini.generated.js +3 -0
- package/lib-esm/schemas/file-mini.generated.js.map +1 -0
- package/lib-esm/schemas/file-request.d.ts +41 -0
- package/lib-esm/schemas/file-request.js +3 -0
- package/lib-esm/schemas/file-request.js.map +1 -0
- package/lib-esm/schemas/file-version-base.generated.d.ts +19 -0
- package/lib-esm/schemas/file-version-base.generated.js +3 -0
- package/lib-esm/schemas/file-version-base.generated.js.map +1 -0
- package/lib-esm/schemas/file-version-mini.generated.d.ts +14 -0
- package/lib-esm/schemas/file-version-mini.generated.js +3 -0
- package/lib-esm/schemas/file-version-mini.generated.js.map +1 -0
- package/lib-esm/schemas/folder-base.generated.d.ts +32 -0
- package/lib-esm/schemas/folder-base.generated.js +3 -0
- package/lib-esm/schemas/folder-base.generated.js.map +1 -0
- package/lib-esm/schemas/folder-mini.generated.d.ts +31 -0
- package/lib-esm/schemas/folder-mini.generated.js +3 -0
- package/lib-esm/schemas/folder-mini.generated.js.map +1 -0
- package/lib-esm/schemas/index.d.ts +15 -0
- package/lib-esm/schemas/index.generated.d.ts +52 -0
- package/lib-esm/schemas/index.generated.js +69 -0
- package/lib-esm/schemas/index.generated.js.map +1 -0
- package/lib-esm/schemas/index.js +32 -0
- package/lib-esm/schemas/index.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-base.d.ts +23 -0
- package/lib-esm/schemas/integration-mapping-base.js +3 -0
- package/lib-esm/schemas/integration-mapping-base.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-box-item-slack.d.ts +17 -0
- package/lib-esm/schemas/integration-mapping-box-item-slack.js +3 -0
- package/lib-esm/schemas/integration-mapping-box-item-slack.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-partner-item-slack.d.ts +27 -0
- package/lib-esm/schemas/integration-mapping-partner-item-slack.js +3 -0
- package/lib-esm/schemas/integration-mapping-partner-item-slack.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-slack-create-request.d.ts +12 -0
- package/lib-esm/schemas/integration-mapping-slack-create-request.js +3 -0
- package/lib-esm/schemas/integration-mapping-slack-create-request.js.map +1 -0
- package/lib-esm/schemas/integration-mapping-slack-options.d.ts +16 -0
- package/lib-esm/schemas/integration-mapping-slack-options.js +3 -0
- package/lib-esm/schemas/integration-mapping-slack-options.js.map +1 -0
- package/lib-esm/schemas/integration-mapping.d.ts +55 -0
- package/lib-esm/schemas/integration-mapping.js +3 -0
- package/lib-esm/schemas/integration-mapping.js.map +1 -0
- package/lib-esm/schemas/integration-mappings.d.ts +27 -0
- package/lib-esm/schemas/integration-mappings.js +3 -0
- package/lib-esm/schemas/integration-mappings.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-base.generated.d.ts +18 -0
- package/lib-esm/schemas/shield-information-barrier-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-reference.generated.d.ts +9 -0
- package/lib-esm/schemas/shield-information-barrier-reference.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-reference.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-report-base.generated.d.ts +18 -0
- package/lib-esm/schemas/shield-information-barrier-report-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-report-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-report-details.generated.d.ts +9 -0
- package/lib-esm/schemas/shield-information-barrier-report-details.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-report-details.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-report.generated.d.ts +32 -0
- package/lib-esm/schemas/shield-information-barrier-report.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-report.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-reports.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-reports.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-reports.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.d.ts +19 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.d.ts +13 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member-mini.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member.generated.d.ts +39 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-member.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-members.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-members.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.d.ts +20 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-base.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.d.ts +20 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction-mini.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.d.ts +33 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restriction.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment-restrictions.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segment.generated.d.ts +50 -0
- package/lib-esm/schemas/shield-information-barrier-segment.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segment.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier-segments.generated.d.ts +26 -0
- package/lib-esm/schemas/shield-information-barrier-segments.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier-segments.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barrier.generated.d.ts +56 -0
- package/lib-esm/schemas/shield-information-barrier.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barrier.generated.js.map +1 -0
- package/lib-esm/schemas/shield-information-barriers.generated.d.ts +25 -0
- package/lib-esm/schemas/shield-information-barriers.generated.js +3 -0
- package/lib-esm/schemas/shield-information-barriers.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-base.generated.d.ts +78 -0
- package/lib-esm/schemas/sign-request-base.generated.js +3 -0
- package/lib-esm/schemas/sign-request-base.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-create-request.generated.d.ts +39 -0
- package/lib-esm/schemas/sign-request-create-request.generated.js +3 -0
- package/lib-esm/schemas/sign-request-create-request.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-create-signer.generated.d.ts +95 -0
- package/lib-esm/schemas/sign-request-create-signer.generated.js +3 -0
- package/lib-esm/schemas/sign-request-create-signer.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-prefill-tag.generated.d.ts +28 -0
- package/lib-esm/schemas/sign-request-prefill-tag.generated.js +3 -0
- package/lib-esm/schemas/sign-request-prefill-tag.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-signer-input.generated.d.ts +28 -0
- package/lib-esm/schemas/sign-request-signer-input.generated.js +3 -0
- package/lib-esm/schemas/sign-request-signer-input.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request-signer.generated.d.ts +34 -0
- package/lib-esm/schemas/sign-request-signer.generated.js +3 -0
- package/lib-esm/schemas/sign-request-signer.generated.js.map +1 -0
- package/lib-esm/schemas/sign-request.generated.d.ts +72 -0
- package/lib-esm/schemas/sign-request.generated.js +3 -0
- package/lib-esm/schemas/sign-request.generated.js.map +1 -0
- package/lib-esm/schemas/sign-requests.generated.d.ts +25 -0
- package/lib-esm/schemas/sign-requests.generated.js +3 -0
- package/lib-esm/schemas/sign-requests.generated.js.map +1 -0
- package/lib-esm/schemas/sign-template.generated.d.ts +94 -0
- package/lib-esm/schemas/sign-template.generated.js +3 -0
- package/lib-esm/schemas/sign-template.generated.js.map +1 -0
- package/lib-esm/schemas/sign-templates.generated.d.ts +30 -0
- package/lib-esm/schemas/sign-templates.generated.js +3 -0
- package/lib-esm/schemas/sign-templates.generated.js.map +1 -0
- package/lib-esm/schemas/template-signer-input.generated.d.ts +61 -0
- package/lib-esm/schemas/template-signer-input.generated.js +3 -0
- package/lib-esm/schemas/template-signer-input.generated.js.map +1 -0
- package/lib-esm/schemas/template-signer.generated.d.ts +43 -0
- package/lib-esm/schemas/template-signer.generated.js +3 -0
- package/lib-esm/schemas/template-signer.generated.js.map +1 -0
- package/lib-esm/schemas/user-base.generated.d.ts +18 -0
- package/lib-esm/schemas/user-base.generated.js +3 -0
- package/lib-esm/schemas/user-base.generated.js.map +1 -0
- package/lib-esm/schemas/user-integration-mappings.d.ts +19 -0
- package/lib-esm/schemas/user-integration-mappings.js +3 -0
- package/lib-esm/schemas/user-integration-mappings.js.map +1 -0
- package/lib-esm/schemas/user-mini.d.ts +6 -0
- package/lib-esm/schemas/user-mini.js +3 -0
- package/lib-esm/schemas/user-mini.js.map +1 -0
- package/lib-esm/sessions/app-auth-session.d.ts +92 -0
- package/lib-esm/sessions/app-auth-session.js +176 -0
- package/lib-esm/sessions/app-auth-session.js.map +1 -0
- package/lib-esm/sessions/basic-session.d.ts +55 -0
- package/lib-esm/sessions/basic-session.js +62 -0
- package/lib-esm/sessions/basic-session.js.map +1 -0
- package/lib-esm/sessions/ccg-session.d.ts +72 -0
- package/lib-esm/sessions/ccg-session.js +111 -0
- package/lib-esm/sessions/ccg-session.js.map +1 -0
- package/lib-esm/sessions/persistent-session.d.ts +96 -0
- package/lib-esm/sessions/persistent-session.js +234 -0
- package/lib-esm/sessions/persistent-session.js.map +1 -0
- package/lib-esm/token-manager.d.ts +191 -0
- package/lib-esm/token-manager.js +453 -0
- package/lib-esm/token-manager.js.map +1 -0
- package/lib-esm/util/config.d.ts +85 -0
- package/lib-esm/util/config.js +212 -0
- package/lib-esm/util/config.js.map +1 -0
- package/lib-esm/util/errors.d.ts +50 -0
- package/lib-esm/util/errors.js +176 -0
- package/lib-esm/util/errors.js.map +1 -0
- package/lib-esm/util/exponential-backoff.d.ts +11 -0
- package/lib-esm/util/exponential-backoff.js +17 -0
- package/lib-esm/util/exponential-backoff.js.map +1 -0
- package/lib-esm/util/paging-iterator.d.ts +53 -0
- package/lib-esm/util/paging-iterator.js +247 -0
- package/lib-esm/util/paging-iterator.js.map +1 -0
- package/lib-esm/util/serializable.d.ts +10 -0
- package/lib-esm/util/serializable.js +17 -0
- package/lib-esm/util/serializable.js.map +1 -0
- package/lib-esm/util/url-path.d.ts +16 -0
- package/lib-esm/util/url-path.js +36 -0
- package/lib-esm/util/url-path.js.map +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
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
|
+
}
|