@stack0/sdk 0.5.16 → 0.5.18
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 +27 -2
- package/dist/cdn/index.d.mts +206 -9
- package/dist/cdn/index.d.ts +206 -9
- package/dist/cdn/index.js +101 -5
- package/dist/cdn/index.js.map +1 -1
- package/dist/cdn/index.mjs +101 -5
- package/dist/cdn/index.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +101 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +101 -5
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Mail as Mail$1 } from './mail/index.mjs';
|
|
2
2
|
export { AddContactToSequenceRequest, AddContactsToAudienceRequest, AddContactsToAudienceResponse, AddDomainRequest, AddDomainResponse, ArchiveSequenceResponse, Attachment, Audience, AudienceContact, Audiences, BatchTrackEventsRequest, BatchTrackEventsResponse, Campaign, CampaignStatsResponse, CampaignStatus, Campaigns, CancelCampaignResponse, CancelEmailResponse, ConnectionType, ContactStatus, Contacts, CreateAudienceRequest, CreateCampaignRequest, CreateConnectionRequest, CreateContactRequest, CreateEventRequest, CreateMailboxRequest, CreateNodeRequest, CreateSequenceRequest, CreateTemplateRequest, DeleteAudienceResponse, DeleteCampaignResponse, DeleteConnectionResponse, DeleteContactResponse, DeleteDomainResponse, DeleteEventResponse, DeleteNodeResponse, DeleteSequenceResponse, DeleteTemplateResponse, DnsRecord, Domain, DomainStatus, Domains, Email, EmailAddress, EmailAnalyticsResponse, EmailRecipient, EmailStatus, EventAnalyticsResponse, EventOccurrence, EventPropertiesSchema, EventProperty, Events, GetDnsRecordsResponse, GetEmailResponse, HourlyAnalyticsDataPoint, HourlyAnalyticsResponse, ImportContactsRequest, ImportContactsResponse, InboundAttachment, InboundEmailAddress, InboundMessage, InboundWebhookPayload, ListAudienceContactsRequest, ListAudienceContactsResponse, ListAudiencesRequest, ListAudiencesResponse, ListCampaignsRequest, ListCampaignsResponse, ListContactsRequest, ListContactsResponse, ListDomainsRequest, ListDomainsResponse, ListEmailsRequest, ListEmailsResponse, ListEventOccurrencesRequest, ListEventOccurrencesResponse, ListEventsRequest, ListEventsResponse, ListInboundMessagesRequest, ListInboundMessagesResponse, ListMailboxesRequest, ListMailboxesResponse, ListSendersRequest, ListSendersResponse, ListSequenceEntriesRequest, ListSequenceEntriesResponse, ListSequencesRequest, ListSequencesResponse, ListTemplatesRequest, ListTemplatesResponse, MailContact, MailEvent, Mailbox, Mailboxes, PauseCampaignResponse, PauseSequenceResponse, PreviewTemplateRequest, PreviewTemplateResponse, PublishSequenceResponse, RemoveContactFromSequenceRequest, RemoveContactFromSequenceResponse, RemoveContactsFromAudienceRequest, RemoveContactsFromAudienceResponse, ResendEmailResponse, ResumeSequenceResponse, SendBatchEmailRequest, SendBatchEmailResponse, SendBroadcastEmailRequest, SendBroadcastEmailResponse, SendCampaignRequest, SendCampaignResponse, SendEmailRequest, SendEmailResponse, Sender, Sequence, SequenceAnalyticsResponse, SequenceConnection, SequenceEntry, SequenceEntryStatus, SequenceNode, SequenceNodeType, SequenceStatus, SequenceTriggerFrequency, SequenceTriggerType, SequenceWithNodes, Sequences, SetDefaultDomainResponse, SetNodeBranchRequest, SetNodeEmailRequest, SetNodeExperimentRequest, SetNodeFilterRequest, SetNodeTimerRequest, Template, Templates, TimeSeriesAnalyticsRequest, TimeSeriesAnalyticsResponse, TimeSeriesDataPoint, TrackEventRequest, TrackEventResponse, UpdateAudienceRequest, UpdateCampaignRequest, UpdateContactRequest, UpdateEventRequest, UpdateMailboxRequest, UpdateNodePositionRequest, UpdateNodeRequest, UpdateSequenceRequest, UpdateTemplateRequest, VerifyDomainResponse } from './mail/index.mjs';
|
|
3
3
|
import { CDN } from './cdn/index.mjs';
|
|
4
|
-
export { Asset, AssetStatus, AssetType, AudioTrackInput, BundleDownloadUrlRequest, BundleDownloadUrlResponse, BundleStatus, CancelImportResponse, CancelMergeJobRequest, CdnEnvironment, CdnStorageBreakdownItem, CdnStorageBreakdownRequest, CdnStorageBreakdownResponse, CdnUsageDataPoint, CdnUsageHistoryRequest, CdnUsageHistoryResponse, CdnUsageRequest, CdnUsageResponse, ConfirmUploadRequest, ConfirmUploadResponse, CreateBundleRequest, CreateBundleResponse, CreateFolderRequest, CreateImportRequest, CreateImportResponse, CreateMergeJobRequest, DeleteAssetRequest, DeleteAssetsRequest, DeleteAssetsResponse, DownloadBundle, ExtractAudioRequest, ExtractAudioResponse, Folder, FolderListItem, FolderTreeNode, GenerateGifRequest, GetAssetRequest, GetFolderByPathRequest, GetFolderRequest, GetFolderTreeRequest, GetMergeJobRequest, GifStatus, ImageVideoWatermarkOptions, ImageWatermarkConfig, ImageWatermarkPosition, ImageWatermarkSizingMode, ImportAuthType, ImportError, ImportFile, ImportFileStatus, ImportJob, ImportJobStatus, ImportJobSummary, ImportPathMode, ListAssetsRequest, ListAssetsResponse, ListBundlesRequest, ListBundlesResponse, ListFoldersRequest, ListFoldersResponse, ListGifsRequest, ListImportFilesRequest, ListImportFilesResponse, ListImportsRequest, ListImportsResponse, ListJobsRequest, ListJobsResponse, ListMergeJobsRequest, ListMergeJobsResponse, ListPrivateFilesRequest, ListPrivateFilesResponse, ListThumbnailsRequest, ListThumbnailsResponse, MergeAspectRatio, MergeInputItem, MergeJob, MergeJobWithOutput, MergeOutputConfig, MergeOutputFormat, MergeQuality, MergeStatus, MoveAssetsRequest, MoveAssetsResponse, MoveFolderRequest, MoveFolderResponse, MovePrivateFilesRequest, MovePrivateFilesResponse, PrivateDownloadUrlRequest, PrivateDownloadUrlResponse, PrivateFile, PrivateFileStatus, PrivateUploadUrlRequest, PrivateUploadUrlResponse, RegenerateThumbnailRequest, RegenerateThumbnailResponse, RetryImportResponse, StreamingUrls, TextOverlay, TextOverlayShadow, TextOverlayStroke, TextVideoWatermarkOptions, ThumbnailRequest, ThumbnailResponse, TranscodeJob, TranscodeVideoRequest, TranscodingStatus, TransformOptions, TrimOptions, UpdateAssetRequest, UpdateFolderRequest, UpdatePrivateFileRequest, UploadFromUrlRequest, UploadUrlRequest, UploadUrlResponse, VideoCodec, VideoGif, VideoOutputFormat, VideoQuality, VideoThumbnail, VideoVariant, WatermarkOptions } from './cdn/index.mjs';
|
|
4
|
+
export { Asset, AssetStatus, AssetType, AudioTrackInput, BundleDownloadUrlRequest, BundleDownloadUrlResponse, BundleStatus, CancelImportResponse, CancelMergeJobRequest, CdnEnvironment, CdnStorageBreakdownItem, CdnStorageBreakdownRequest, CdnStorageBreakdownResponse, CdnStorageUsageBucket, CdnStorageUsageRequest, CdnStorageUsageResponse, CdnUsageDataPoint, CdnUsageHistoryRequest, CdnUsageHistoryResponse, CdnUsageRequest, CdnUsageResponse, CompositeChromaKey, CompositeConfig, CompositePoint, CompositeQuad, CompositeRect, ConfirmUploadRequest, ConfirmUploadResponse, CreateBundleRequest, CreateBundleResponse, CreateFolderRequest, CreateImportRequest, CreateImportResponse, CreateMergeJobRequest, DeleteAssetRequest, DeleteAssetsRequest, DeleteAssetsResponse, DownloadBundle, ExtractAudioRequest, ExtractAudioResponse, Folder, FolderListItem, FolderTreeNode, GenerateGifRequest, GetAssetRequest, GetFolderByPathRequest, GetFolderRequest, GetFolderTreeRequest, GetMergeJobRequest, GifStatus, ImageVideoWatermarkOptions, ImageWatermarkConfig, ImageWatermarkPosition, ImageWatermarkSizingMode, ImportAuthType, ImportError, ImportFile, ImportFileStatus, ImportJob, ImportJobStatus, ImportJobSummary, ImportPathMode, ListAssetsRequest, ListAssetsResponse, ListBundlesRequest, ListBundlesResponse, ListFoldersRequest, ListFoldersResponse, ListGifsRequest, ListImportFilesRequest, ListImportFilesResponse, ListImportsRequest, ListImportsResponse, ListJobsRequest, ListJobsResponse, ListMergeJobsRequest, ListMergeJobsResponse, ListPrivateFilesRequest, ListPrivateFilesResponse, ListThumbnailsRequest, ListThumbnailsResponse, MergeAspectRatio, MergeInputItem, MergeJob, MergeJobWithOutput, MergeOutputConfig, MergeOutputFormat, MergeQuality, MergeStatus, MoveAssetsRequest, MoveAssetsResponse, MoveFolderRequest, MoveFolderResponse, MovePrivateFilesRequest, MovePrivateFilesResponse, PrivateDownloadUrlRequest, PrivateDownloadUrlResponse, PrivateFile, PrivateFileStatus, PrivateUploadUrlRequest, PrivateUploadUrlResponse, RegenerateThumbnailRequest, RegenerateThumbnailResponse, RetryImportResponse, StreamingUrls, TextOverlay, TextOverlayShadow, TextOverlayStroke, TextVideoWatermarkOptions, ThumbnailRequest, ThumbnailResponse, TranscodeJob, TranscodeVideoRequest, TranscodingStatus, TransformOptions, TrimOptions, UpdateAssetRequest, UpdateFolderRequest, UpdatePrivateFileRequest, UploadFromUrlRequest, UploadUrlRequest, UploadUrlResponse, VideoCodec, VideoGif, VideoOutputFormat, VideoQuality, VideoThumbnail, VideoVariant, WatermarkOptions } from './cdn/index.mjs';
|
|
5
5
|
import { Screenshots } from './screenshots/index.mjs';
|
|
6
6
|
export { BatchScreenshotJob, Clip, CreateBatchScreenshotsRequest, CreateScreenshotRequest, CreateScreenshotResponse, CreateScreenshotScheduleRequest, DeviceType, GetScreenshotRequest, ListScreenshotsRequest, ListScreenshotsResponse, ResourceType, Screenshot, ScreenshotBatchJobsResponse, ScreenshotFormat, ScreenshotSchedule, ScreenshotSchedulesResponse, ScreenshotStatus, UpdateScreenshotScheduleRequest } from './screenshots/index.mjs';
|
|
7
7
|
import { Extraction } from './extraction/index.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Mail as Mail$1 } from './mail/index.js';
|
|
2
2
|
export { AddContactToSequenceRequest, AddContactsToAudienceRequest, AddContactsToAudienceResponse, AddDomainRequest, AddDomainResponse, ArchiveSequenceResponse, Attachment, Audience, AudienceContact, Audiences, BatchTrackEventsRequest, BatchTrackEventsResponse, Campaign, CampaignStatsResponse, CampaignStatus, Campaigns, CancelCampaignResponse, CancelEmailResponse, ConnectionType, ContactStatus, Contacts, CreateAudienceRequest, CreateCampaignRequest, CreateConnectionRequest, CreateContactRequest, CreateEventRequest, CreateMailboxRequest, CreateNodeRequest, CreateSequenceRequest, CreateTemplateRequest, DeleteAudienceResponse, DeleteCampaignResponse, DeleteConnectionResponse, DeleteContactResponse, DeleteDomainResponse, DeleteEventResponse, DeleteNodeResponse, DeleteSequenceResponse, DeleteTemplateResponse, DnsRecord, Domain, DomainStatus, Domains, Email, EmailAddress, EmailAnalyticsResponse, EmailRecipient, EmailStatus, EventAnalyticsResponse, EventOccurrence, EventPropertiesSchema, EventProperty, Events, GetDnsRecordsResponse, GetEmailResponse, HourlyAnalyticsDataPoint, HourlyAnalyticsResponse, ImportContactsRequest, ImportContactsResponse, InboundAttachment, InboundEmailAddress, InboundMessage, InboundWebhookPayload, ListAudienceContactsRequest, ListAudienceContactsResponse, ListAudiencesRequest, ListAudiencesResponse, ListCampaignsRequest, ListCampaignsResponse, ListContactsRequest, ListContactsResponse, ListDomainsRequest, ListDomainsResponse, ListEmailsRequest, ListEmailsResponse, ListEventOccurrencesRequest, ListEventOccurrencesResponse, ListEventsRequest, ListEventsResponse, ListInboundMessagesRequest, ListInboundMessagesResponse, ListMailboxesRequest, ListMailboxesResponse, ListSendersRequest, ListSendersResponse, ListSequenceEntriesRequest, ListSequenceEntriesResponse, ListSequencesRequest, ListSequencesResponse, ListTemplatesRequest, ListTemplatesResponse, MailContact, MailEvent, Mailbox, Mailboxes, PauseCampaignResponse, PauseSequenceResponse, PreviewTemplateRequest, PreviewTemplateResponse, PublishSequenceResponse, RemoveContactFromSequenceRequest, RemoveContactFromSequenceResponse, RemoveContactsFromAudienceRequest, RemoveContactsFromAudienceResponse, ResendEmailResponse, ResumeSequenceResponse, SendBatchEmailRequest, SendBatchEmailResponse, SendBroadcastEmailRequest, SendBroadcastEmailResponse, SendCampaignRequest, SendCampaignResponse, SendEmailRequest, SendEmailResponse, Sender, Sequence, SequenceAnalyticsResponse, SequenceConnection, SequenceEntry, SequenceEntryStatus, SequenceNode, SequenceNodeType, SequenceStatus, SequenceTriggerFrequency, SequenceTriggerType, SequenceWithNodes, Sequences, SetDefaultDomainResponse, SetNodeBranchRequest, SetNodeEmailRequest, SetNodeExperimentRequest, SetNodeFilterRequest, SetNodeTimerRequest, Template, Templates, TimeSeriesAnalyticsRequest, TimeSeriesAnalyticsResponse, TimeSeriesDataPoint, TrackEventRequest, TrackEventResponse, UpdateAudienceRequest, UpdateCampaignRequest, UpdateContactRequest, UpdateEventRequest, UpdateMailboxRequest, UpdateNodePositionRequest, UpdateNodeRequest, UpdateSequenceRequest, UpdateTemplateRequest, VerifyDomainResponse } from './mail/index.js';
|
|
3
3
|
import { CDN } from './cdn/index.js';
|
|
4
|
-
export { Asset, AssetStatus, AssetType, AudioTrackInput, BundleDownloadUrlRequest, BundleDownloadUrlResponse, BundleStatus, CancelImportResponse, CancelMergeJobRequest, CdnEnvironment, CdnStorageBreakdownItem, CdnStorageBreakdownRequest, CdnStorageBreakdownResponse, CdnUsageDataPoint, CdnUsageHistoryRequest, CdnUsageHistoryResponse, CdnUsageRequest, CdnUsageResponse, ConfirmUploadRequest, ConfirmUploadResponse, CreateBundleRequest, CreateBundleResponse, CreateFolderRequest, CreateImportRequest, CreateImportResponse, CreateMergeJobRequest, DeleteAssetRequest, DeleteAssetsRequest, DeleteAssetsResponse, DownloadBundle, ExtractAudioRequest, ExtractAudioResponse, Folder, FolderListItem, FolderTreeNode, GenerateGifRequest, GetAssetRequest, GetFolderByPathRequest, GetFolderRequest, GetFolderTreeRequest, GetMergeJobRequest, GifStatus, ImageVideoWatermarkOptions, ImageWatermarkConfig, ImageWatermarkPosition, ImageWatermarkSizingMode, ImportAuthType, ImportError, ImportFile, ImportFileStatus, ImportJob, ImportJobStatus, ImportJobSummary, ImportPathMode, ListAssetsRequest, ListAssetsResponse, ListBundlesRequest, ListBundlesResponse, ListFoldersRequest, ListFoldersResponse, ListGifsRequest, ListImportFilesRequest, ListImportFilesResponse, ListImportsRequest, ListImportsResponse, ListJobsRequest, ListJobsResponse, ListMergeJobsRequest, ListMergeJobsResponse, ListPrivateFilesRequest, ListPrivateFilesResponse, ListThumbnailsRequest, ListThumbnailsResponse, MergeAspectRatio, MergeInputItem, MergeJob, MergeJobWithOutput, MergeOutputConfig, MergeOutputFormat, MergeQuality, MergeStatus, MoveAssetsRequest, MoveAssetsResponse, MoveFolderRequest, MoveFolderResponse, MovePrivateFilesRequest, MovePrivateFilesResponse, PrivateDownloadUrlRequest, PrivateDownloadUrlResponse, PrivateFile, PrivateFileStatus, PrivateUploadUrlRequest, PrivateUploadUrlResponse, RegenerateThumbnailRequest, RegenerateThumbnailResponse, RetryImportResponse, StreamingUrls, TextOverlay, TextOverlayShadow, TextOverlayStroke, TextVideoWatermarkOptions, ThumbnailRequest, ThumbnailResponse, TranscodeJob, TranscodeVideoRequest, TranscodingStatus, TransformOptions, TrimOptions, UpdateAssetRequest, UpdateFolderRequest, UpdatePrivateFileRequest, UploadFromUrlRequest, UploadUrlRequest, UploadUrlResponse, VideoCodec, VideoGif, VideoOutputFormat, VideoQuality, VideoThumbnail, VideoVariant, WatermarkOptions } from './cdn/index.js';
|
|
4
|
+
export { Asset, AssetStatus, AssetType, AudioTrackInput, BundleDownloadUrlRequest, BundleDownloadUrlResponse, BundleStatus, CancelImportResponse, CancelMergeJobRequest, CdnEnvironment, CdnStorageBreakdownItem, CdnStorageBreakdownRequest, CdnStorageBreakdownResponse, CdnStorageUsageBucket, CdnStorageUsageRequest, CdnStorageUsageResponse, CdnUsageDataPoint, CdnUsageHistoryRequest, CdnUsageHistoryResponse, CdnUsageRequest, CdnUsageResponse, CompositeChromaKey, CompositeConfig, CompositePoint, CompositeQuad, CompositeRect, ConfirmUploadRequest, ConfirmUploadResponse, CreateBundleRequest, CreateBundleResponse, CreateFolderRequest, CreateImportRequest, CreateImportResponse, CreateMergeJobRequest, DeleteAssetRequest, DeleteAssetsRequest, DeleteAssetsResponse, DownloadBundle, ExtractAudioRequest, ExtractAudioResponse, Folder, FolderListItem, FolderTreeNode, GenerateGifRequest, GetAssetRequest, GetFolderByPathRequest, GetFolderRequest, GetFolderTreeRequest, GetMergeJobRequest, GifStatus, ImageVideoWatermarkOptions, ImageWatermarkConfig, ImageWatermarkPosition, ImageWatermarkSizingMode, ImportAuthType, ImportError, ImportFile, ImportFileStatus, ImportJob, ImportJobStatus, ImportJobSummary, ImportPathMode, ListAssetsRequest, ListAssetsResponse, ListBundlesRequest, ListBundlesResponse, ListFoldersRequest, ListFoldersResponse, ListGifsRequest, ListImportFilesRequest, ListImportFilesResponse, ListImportsRequest, ListImportsResponse, ListJobsRequest, ListJobsResponse, ListMergeJobsRequest, ListMergeJobsResponse, ListPrivateFilesRequest, ListPrivateFilesResponse, ListThumbnailsRequest, ListThumbnailsResponse, MergeAspectRatio, MergeInputItem, MergeJob, MergeJobWithOutput, MergeOutputConfig, MergeOutputFormat, MergeQuality, MergeStatus, MoveAssetsRequest, MoveAssetsResponse, MoveFolderRequest, MoveFolderResponse, MovePrivateFilesRequest, MovePrivateFilesResponse, PrivateDownloadUrlRequest, PrivateDownloadUrlResponse, PrivateFile, PrivateFileStatus, PrivateUploadUrlRequest, PrivateUploadUrlResponse, RegenerateThumbnailRequest, RegenerateThumbnailResponse, RetryImportResponse, StreamingUrls, TextOverlay, TextOverlayShadow, TextOverlayStroke, TextVideoWatermarkOptions, ThumbnailRequest, ThumbnailResponse, TranscodeJob, TranscodeVideoRequest, TranscodingStatus, TransformOptions, TrimOptions, UpdateAssetRequest, UpdateFolderRequest, UpdatePrivateFileRequest, UploadFromUrlRequest, UploadUrlRequest, UploadUrlResponse, VideoCodec, VideoGif, VideoOutputFormat, VideoQuality, VideoThumbnail, VideoVariant, WatermarkOptions } from './cdn/index.js';
|
|
5
5
|
import { Screenshots } from './screenshots/index.js';
|
|
6
6
|
export { BatchScreenshotJob, Clip, CreateBatchScreenshotsRequest, CreateScreenshotRequest, CreateScreenshotResponse, CreateScreenshotScheduleRequest, DeviceType, GetScreenshotRequest, ListScreenshotsRequest, ListScreenshotsResponse, ResourceType, Screenshot, ScreenshotBatchJobsResponse, ScreenshotFormat, ScreenshotSchedule, ScreenshotSchedulesResponse, ScreenshotStatus, UpdateScreenshotScheduleRequest } from './screenshots/index.js';
|
|
7
7
|
import { Extraction } from './extraction/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1434,7 +1434,12 @@ var CDN = class {
|
|
|
1434
1434
|
return this.http.get(`/cdn/video/${assetId}/stream`);
|
|
1435
1435
|
}
|
|
1436
1436
|
/**
|
|
1437
|
-
*
|
|
1437
|
+
* Get the thumbnail at a specific timestamp, generating it on miss
|
|
1438
|
+
*
|
|
1439
|
+
* If no thumbnail exists at that timestamp yet, generation is queued
|
|
1440
|
+
* automatically and a response with `status: "pending"` (null url) is
|
|
1441
|
+
* returned. Poll until `status` is "ready", or use
|
|
1442
|
+
* {@link getThumbnailAndWait} to do that for you.
|
|
1438
1443
|
*
|
|
1439
1444
|
* @example
|
|
1440
1445
|
* ```typescript
|
|
@@ -1444,7 +1449,9 @@ var CDN = class {
|
|
|
1444
1449
|
* width: 320,
|
|
1445
1450
|
* format: 'webp',
|
|
1446
1451
|
* });
|
|
1447
|
-
*
|
|
1452
|
+
* if (thumbnail.status === 'ready') {
|
|
1453
|
+
* console.log(`Thumbnail URL: ${thumbnail.url}`);
|
|
1454
|
+
* }
|
|
1448
1455
|
* ```
|
|
1449
1456
|
*/
|
|
1450
1457
|
async getThumbnail(request) {
|
|
@@ -1454,20 +1461,52 @@ var CDN = class {
|
|
|
1454
1461
|
if (request.format) params.set("format", request.format);
|
|
1455
1462
|
return this.http.get(`/cdn/video/thumbnail/${request.assetId}?${params.toString()}`);
|
|
1456
1463
|
}
|
|
1464
|
+
/**
|
|
1465
|
+
* Get the thumbnail at a specific timestamp, waiting for generation to complete
|
|
1466
|
+
*
|
|
1467
|
+
* Calls {@link getThumbnail} and polls until the thumbnail is ready.
|
|
1468
|
+
*
|
|
1469
|
+
* @example
|
|
1470
|
+
* ```typescript
|
|
1471
|
+
* const thumbnail = await cdn.getThumbnailAndWait({
|
|
1472
|
+
* assetId: 'video-asset-id',
|
|
1473
|
+
* timestamp: 3.5,
|
|
1474
|
+
* });
|
|
1475
|
+
* console.log(`Thumbnail URL: ${thumbnail.url}`);
|
|
1476
|
+
* ```
|
|
1477
|
+
*/
|
|
1478
|
+
async getThumbnailAndWait(request, options = {}) {
|
|
1479
|
+
const { pollInterval = 1e3, timeout = 6e4 } = options;
|
|
1480
|
+
const startTime = Date.now();
|
|
1481
|
+
while (true) {
|
|
1482
|
+
const thumbnail = await this.getThumbnail(request);
|
|
1483
|
+
if (thumbnail.status === "ready") {
|
|
1484
|
+
return thumbnail;
|
|
1485
|
+
}
|
|
1486
|
+
if (Date.now() - startTime >= timeout) {
|
|
1487
|
+
throw new Error("Thumbnail generation timed out");
|
|
1488
|
+
}
|
|
1489
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
1490
|
+
}
|
|
1491
|
+
}
|
|
1457
1492
|
/**
|
|
1458
1493
|
* Regenerate a thumbnail for a video (force regeneration even if one exists)
|
|
1459
1494
|
*
|
|
1460
|
-
* Useful for retrying failed thumbnail generation or regenerating with
|
|
1495
|
+
* Useful for retrying failed thumbnail generation or regenerating with
|
|
1496
|
+
* different settings. Regeneration is async: poll {@link getThumbnail} (or
|
|
1497
|
+
* use {@link getThumbnailAndWait}) at the same timestamp until the new
|
|
1498
|
+
* frame is ready.
|
|
1461
1499
|
*
|
|
1462
1500
|
* @example
|
|
1463
1501
|
* ```typescript
|
|
1464
|
-
*
|
|
1502
|
+
* await cdn.regenerateThumbnail({
|
|
1465
1503
|
* assetId: 'video-asset-id',
|
|
1466
1504
|
* timestamp: 5, // 5 seconds into the video
|
|
1467
1505
|
* width: 1280,
|
|
1468
1506
|
* format: 'jpg',
|
|
1469
1507
|
* });
|
|
1470
|
-
*
|
|
1508
|
+
* const thumbnail = await cdn.getThumbnailAndWait({ assetId: 'video-asset-id', timestamp: 5 });
|
|
1509
|
+
* console.log(`Thumbnail URL: ${thumbnail.url}`);
|
|
1471
1510
|
* ```
|
|
1472
1511
|
*/
|
|
1473
1512
|
async regenerateThumbnail(request) {
|
|
@@ -1918,6 +1957,36 @@ var CDN = class {
|
|
|
1918
1957
|
const query = params.toString();
|
|
1919
1958
|
return this.http.get(`/cdn/usage/storage-breakdown${query ? `?${query}` : ""}`);
|
|
1920
1959
|
}
|
|
1960
|
+
/**
|
|
1961
|
+
* Get total stored bytes for a project or folder, derived assets included.
|
|
1962
|
+
*
|
|
1963
|
+
* Totals uploads plus everything the pipelines derived from them — video renditions, HLS
|
|
1964
|
+
* segments and manifests, thumbnails, GIFs — in one call. Use this to meter a plan limit:
|
|
1965
|
+
* paging `list()` and summing `size` counts uploads only, and an HLS ladder typically runs
|
|
1966
|
+
* well past the size of the source it came from.
|
|
1967
|
+
*
|
|
1968
|
+
* Check `unmeasuredAssets`. A nonzero value means some assets have derivatives whose bytes
|
|
1969
|
+
* have not been measured, so `totalBytes` is a floor rather than the full number.
|
|
1970
|
+
*
|
|
1971
|
+
* @example
|
|
1972
|
+
* ```typescript
|
|
1973
|
+
* const usage = await cdn.getStorageUsage({
|
|
1974
|
+
* projectSlug: 'my-project',
|
|
1975
|
+
* folder: '/customers/acme',
|
|
1976
|
+
* });
|
|
1977
|
+
* console.log(`${usage.totalFormatted} across ${usage.objectCount} objects`);
|
|
1978
|
+
* console.log(` uploads: ${usage.breakdown.originals.bytesFormatted}`);
|
|
1979
|
+
* console.log(` derived: ${usage.breakdown.derived.bytesFormatted}`);
|
|
1980
|
+
* ```
|
|
1981
|
+
*/
|
|
1982
|
+
async getStorageUsage(request = {}) {
|
|
1983
|
+
const params = new URLSearchParams();
|
|
1984
|
+
if (request.projectSlug) params.set("projectSlug", request.projectSlug);
|
|
1985
|
+
if (request.environment) params.set("environment", request.environment);
|
|
1986
|
+
if (request.folder) params.set("folder", request.folder);
|
|
1987
|
+
const query = params.toString();
|
|
1988
|
+
return this.http.get(`/cdn/usage/storage${query ? `?${query}` : ""}`);
|
|
1989
|
+
}
|
|
1921
1990
|
convertUsageDates(usage) {
|
|
1922
1991
|
if (typeof usage.periodStart === "string") {
|
|
1923
1992
|
usage.periodStart = new Date(usage.periodStart);
|
|
@@ -2092,6 +2161,33 @@ var CDN = class {
|
|
|
2092
2161
|
* });
|
|
2093
2162
|
* console.log(`Merge job started: ${job.id}`);
|
|
2094
2163
|
* ```
|
|
2164
|
+
*
|
|
2165
|
+
* @example Composite a screen recording onto a held phone ("POV holding my phone"):
|
|
2166
|
+
* ```typescript
|
|
2167
|
+
* const job = await cdn.createMergeJob({
|
|
2168
|
+
* projectSlug: 'my-project',
|
|
2169
|
+
* inputs: [
|
|
2170
|
+
* { assetId: 'reaction-clip-id' },
|
|
2171
|
+
* {
|
|
2172
|
+
* assetId: 'app-recording-id', // the overlay clip
|
|
2173
|
+
* composite: {
|
|
2174
|
+
* backgroundAssetId: 'holding-phone-shot-id', // image or video
|
|
2175
|
+
* // Corner-pin onto the angled screen (background pixel coords, TL/TR/BL/BR)
|
|
2176
|
+
* quad: {
|
|
2177
|
+
* topLeft: { x: 320, y: 480 },
|
|
2178
|
+
* topRight: { x: 760, y: 500 },
|
|
2179
|
+
* bottomLeft: { x: 300, y: 1400 },
|
|
2180
|
+
* bottomRight: { x: 740, y: 1440 },
|
|
2181
|
+
* },
|
|
2182
|
+
* fit: 'cover',
|
|
2183
|
+
* // Screen area painted #F500FA in the background is keyed out, so the
|
|
2184
|
+
* // recording shows through and fingers over the screen occlude it
|
|
2185
|
+
* chromaKey: { color: '#F500FA', similarity: 0.34, blend: 0.06 },
|
|
2186
|
+
* },
|
|
2187
|
+
* },
|
|
2188
|
+
* ],
|
|
2189
|
+
* });
|
|
2190
|
+
* ```
|
|
2095
2191
|
*/
|
|
2096
2192
|
async createMergeJob(request) {
|
|
2097
2193
|
const response = await this.http.post("/cdn/video/merge", request);
|