@stack0/sdk 0.5.17 → 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/dist/cdn/index.d.mts +77 -1
- package/dist/cdn/index.d.ts +77 -1
- package/dist/cdn/index.js +30 -0
- package/dist/cdn/index.js.map +1 -1
- package/dist/cdn/index.mjs +30 -0
- 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 +30 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +30 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/cdn/index.d.mts
CHANGED
|
@@ -177,6 +177,16 @@ interface VideoVariant {
|
|
|
177
177
|
quality: VideoQuality;
|
|
178
178
|
codec?: VideoCodec;
|
|
179
179
|
bitrate?: number;
|
|
180
|
+
/**
|
|
181
|
+
* Bytes actually written to storage for this rendition, measured after the job completes.
|
|
182
|
+
* For HLS this covers the variant playlist and its segments; for MP4, the single file.
|
|
183
|
+
*
|
|
184
|
+
* Response-only — ignored if you set it on a transcode request.
|
|
185
|
+
*
|
|
186
|
+
* Undefined means not measured (job still running, job predates measurement, or the
|
|
187
|
+
* measurement failed), never zero. `bitrate * duration` is an estimate; this is not.
|
|
188
|
+
*/
|
|
189
|
+
sizeBytes?: number;
|
|
180
190
|
}
|
|
181
191
|
/**
|
|
182
192
|
* Watermark burned into a video during transcode.
|
|
@@ -299,6 +309,13 @@ interface TranscodeJob {
|
|
|
299
309
|
/** Provider or preprocessing failure details when status is `failed`. */
|
|
300
310
|
errorMessage: string | null;
|
|
301
311
|
mediaConvertJobId: string | null;
|
|
312
|
+
/**
|
|
313
|
+
* Every byte this job wrote: renditions, HLS segments, and manifests together, since
|
|
314
|
+
* storage is billed per object rather than for the media alone.
|
|
315
|
+
*
|
|
316
|
+
* Null until the job completes, and null if the measurement failed. Not zero.
|
|
317
|
+
*/
|
|
318
|
+
totalOutputBytes: number | null;
|
|
302
319
|
createdAt: Date;
|
|
303
320
|
startedAt: Date | null;
|
|
304
321
|
completedAt: Date | null;
|
|
@@ -587,6 +604,42 @@ interface CdnStorageBreakdownResponse {
|
|
|
587
604
|
sizeFormatted: string;
|
|
588
605
|
};
|
|
589
606
|
}
|
|
607
|
+
interface CdnStorageUsageRequest {
|
|
608
|
+
projectSlug?: string;
|
|
609
|
+
environment?: CdnEnvironment;
|
|
610
|
+
/**
|
|
611
|
+
* Virtual folder path to scope the total to, e.g. "/customers/acme". The folder itself and
|
|
612
|
+
* everything nested under it are counted. Omit to total the whole project or organization.
|
|
613
|
+
*/
|
|
614
|
+
folder?: string;
|
|
615
|
+
}
|
|
616
|
+
interface CdnStorageUsageBucket {
|
|
617
|
+
bytes: number;
|
|
618
|
+
bytesFormatted: string;
|
|
619
|
+
objectCount: number;
|
|
620
|
+
}
|
|
621
|
+
interface CdnStorageUsageResponse {
|
|
622
|
+
/** Uploads plus every measured derived object stored under the scope. */
|
|
623
|
+
totalBytes: number;
|
|
624
|
+
totalFormatted: string;
|
|
625
|
+
/** Objects behind that total. Storage is billed per object, so segments and manifests count. */
|
|
626
|
+
objectCount: number;
|
|
627
|
+
/** Split by asset type; a video's renditions count as video. */
|
|
628
|
+
byType: Record<string, CdnStorageUsageBucket>;
|
|
629
|
+
breakdown: {
|
|
630
|
+
/** The uploaded files themselves. */
|
|
631
|
+
originals: CdnStorageUsageBucket;
|
|
632
|
+
/** Renditions, HLS segments and manifests, thumbnails, GIFs. */
|
|
633
|
+
derived: CdnStorageUsageBucket;
|
|
634
|
+
};
|
|
635
|
+
/**
|
|
636
|
+
* Assets known to have derivatives whose bytes have not been measured yet. Their storage is
|
|
637
|
+
* missing from `totalBytes`, so a nonzero count means the total is a floor, not the answer.
|
|
638
|
+
*/
|
|
639
|
+
unmeasuredAssets: number;
|
|
640
|
+
/** The folder the total covers, or null when the whole project or org was counted. */
|
|
641
|
+
folder: string | null;
|
|
642
|
+
}
|
|
590
643
|
interface GetFolderRequest {
|
|
591
644
|
id: string;
|
|
592
645
|
}
|
|
@@ -1696,6 +1749,29 @@ declare class CDN {
|
|
|
1696
1749
|
* ```
|
|
1697
1750
|
*/
|
|
1698
1751
|
getStorageBreakdown(request?: CdnStorageBreakdownRequest): Promise<CdnStorageBreakdownResponse>;
|
|
1752
|
+
/**
|
|
1753
|
+
* Get total stored bytes for a project or folder, derived assets included.
|
|
1754
|
+
*
|
|
1755
|
+
* Totals uploads plus everything the pipelines derived from them — video renditions, HLS
|
|
1756
|
+
* segments and manifests, thumbnails, GIFs — in one call. Use this to meter a plan limit:
|
|
1757
|
+
* paging `list()` and summing `size` counts uploads only, and an HLS ladder typically runs
|
|
1758
|
+
* well past the size of the source it came from.
|
|
1759
|
+
*
|
|
1760
|
+
* Check `unmeasuredAssets`. A nonzero value means some assets have derivatives whose bytes
|
|
1761
|
+
* have not been measured, so `totalBytes` is a floor rather than the full number.
|
|
1762
|
+
*
|
|
1763
|
+
* @example
|
|
1764
|
+
* ```typescript
|
|
1765
|
+
* const usage = await cdn.getStorageUsage({
|
|
1766
|
+
* projectSlug: 'my-project',
|
|
1767
|
+
* folder: '/customers/acme',
|
|
1768
|
+
* });
|
|
1769
|
+
* console.log(`${usage.totalFormatted} across ${usage.objectCount} objects`);
|
|
1770
|
+
* console.log(` uploads: ${usage.breakdown.originals.bytesFormatted}`);
|
|
1771
|
+
* console.log(` derived: ${usage.breakdown.derived.bytesFormatted}`);
|
|
1772
|
+
* ```
|
|
1773
|
+
*/
|
|
1774
|
+
getStorageUsage(request?: CdnStorageUsageRequest): Promise<CdnStorageUsageResponse>;
|
|
1699
1775
|
private convertUsageDates;
|
|
1700
1776
|
private convertUsageDataPointDates;
|
|
1701
1777
|
/**
|
|
@@ -1995,4 +2071,4 @@ declare class CDN {
|
|
|
1995
2071
|
private convertImportFileDates;
|
|
1996
2072
|
}
|
|
1997
2073
|
|
|
1998
|
-
export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type CompositeChromaKey, type CompositeConfig, type CompositePoint, type CompositeQuad, type CompositeRect, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageVideoWatermarkOptions, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeAspectRatio, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type TextVideoWatermarkOptions, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
|
|
2074
|
+
export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnStorageUsageBucket, type CdnStorageUsageRequest, type CdnStorageUsageResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type CompositeChromaKey, type CompositeConfig, type CompositePoint, type CompositeQuad, type CompositeRect, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageVideoWatermarkOptions, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeAspectRatio, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type TextVideoWatermarkOptions, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
|
package/dist/cdn/index.d.ts
CHANGED
|
@@ -177,6 +177,16 @@ interface VideoVariant {
|
|
|
177
177
|
quality: VideoQuality;
|
|
178
178
|
codec?: VideoCodec;
|
|
179
179
|
bitrate?: number;
|
|
180
|
+
/**
|
|
181
|
+
* Bytes actually written to storage for this rendition, measured after the job completes.
|
|
182
|
+
* For HLS this covers the variant playlist and its segments; for MP4, the single file.
|
|
183
|
+
*
|
|
184
|
+
* Response-only — ignored if you set it on a transcode request.
|
|
185
|
+
*
|
|
186
|
+
* Undefined means not measured (job still running, job predates measurement, or the
|
|
187
|
+
* measurement failed), never zero. `bitrate * duration` is an estimate; this is not.
|
|
188
|
+
*/
|
|
189
|
+
sizeBytes?: number;
|
|
180
190
|
}
|
|
181
191
|
/**
|
|
182
192
|
* Watermark burned into a video during transcode.
|
|
@@ -299,6 +309,13 @@ interface TranscodeJob {
|
|
|
299
309
|
/** Provider or preprocessing failure details when status is `failed`. */
|
|
300
310
|
errorMessage: string | null;
|
|
301
311
|
mediaConvertJobId: string | null;
|
|
312
|
+
/**
|
|
313
|
+
* Every byte this job wrote: renditions, HLS segments, and manifests together, since
|
|
314
|
+
* storage is billed per object rather than for the media alone.
|
|
315
|
+
*
|
|
316
|
+
* Null until the job completes, and null if the measurement failed. Not zero.
|
|
317
|
+
*/
|
|
318
|
+
totalOutputBytes: number | null;
|
|
302
319
|
createdAt: Date;
|
|
303
320
|
startedAt: Date | null;
|
|
304
321
|
completedAt: Date | null;
|
|
@@ -587,6 +604,42 @@ interface CdnStorageBreakdownResponse {
|
|
|
587
604
|
sizeFormatted: string;
|
|
588
605
|
};
|
|
589
606
|
}
|
|
607
|
+
interface CdnStorageUsageRequest {
|
|
608
|
+
projectSlug?: string;
|
|
609
|
+
environment?: CdnEnvironment;
|
|
610
|
+
/**
|
|
611
|
+
* Virtual folder path to scope the total to, e.g. "/customers/acme". The folder itself and
|
|
612
|
+
* everything nested under it are counted. Omit to total the whole project or organization.
|
|
613
|
+
*/
|
|
614
|
+
folder?: string;
|
|
615
|
+
}
|
|
616
|
+
interface CdnStorageUsageBucket {
|
|
617
|
+
bytes: number;
|
|
618
|
+
bytesFormatted: string;
|
|
619
|
+
objectCount: number;
|
|
620
|
+
}
|
|
621
|
+
interface CdnStorageUsageResponse {
|
|
622
|
+
/** Uploads plus every measured derived object stored under the scope. */
|
|
623
|
+
totalBytes: number;
|
|
624
|
+
totalFormatted: string;
|
|
625
|
+
/** Objects behind that total. Storage is billed per object, so segments and manifests count. */
|
|
626
|
+
objectCount: number;
|
|
627
|
+
/** Split by asset type; a video's renditions count as video. */
|
|
628
|
+
byType: Record<string, CdnStorageUsageBucket>;
|
|
629
|
+
breakdown: {
|
|
630
|
+
/** The uploaded files themselves. */
|
|
631
|
+
originals: CdnStorageUsageBucket;
|
|
632
|
+
/** Renditions, HLS segments and manifests, thumbnails, GIFs. */
|
|
633
|
+
derived: CdnStorageUsageBucket;
|
|
634
|
+
};
|
|
635
|
+
/**
|
|
636
|
+
* Assets known to have derivatives whose bytes have not been measured yet. Their storage is
|
|
637
|
+
* missing from `totalBytes`, so a nonzero count means the total is a floor, not the answer.
|
|
638
|
+
*/
|
|
639
|
+
unmeasuredAssets: number;
|
|
640
|
+
/** The folder the total covers, or null when the whole project or org was counted. */
|
|
641
|
+
folder: string | null;
|
|
642
|
+
}
|
|
590
643
|
interface GetFolderRequest {
|
|
591
644
|
id: string;
|
|
592
645
|
}
|
|
@@ -1696,6 +1749,29 @@ declare class CDN {
|
|
|
1696
1749
|
* ```
|
|
1697
1750
|
*/
|
|
1698
1751
|
getStorageBreakdown(request?: CdnStorageBreakdownRequest): Promise<CdnStorageBreakdownResponse>;
|
|
1752
|
+
/**
|
|
1753
|
+
* Get total stored bytes for a project or folder, derived assets included.
|
|
1754
|
+
*
|
|
1755
|
+
* Totals uploads plus everything the pipelines derived from them — video renditions, HLS
|
|
1756
|
+
* segments and manifests, thumbnails, GIFs — in one call. Use this to meter a plan limit:
|
|
1757
|
+
* paging `list()` and summing `size` counts uploads only, and an HLS ladder typically runs
|
|
1758
|
+
* well past the size of the source it came from.
|
|
1759
|
+
*
|
|
1760
|
+
* Check `unmeasuredAssets`. A nonzero value means some assets have derivatives whose bytes
|
|
1761
|
+
* have not been measured, so `totalBytes` is a floor rather than the full number.
|
|
1762
|
+
*
|
|
1763
|
+
* @example
|
|
1764
|
+
* ```typescript
|
|
1765
|
+
* const usage = await cdn.getStorageUsage({
|
|
1766
|
+
* projectSlug: 'my-project',
|
|
1767
|
+
* folder: '/customers/acme',
|
|
1768
|
+
* });
|
|
1769
|
+
* console.log(`${usage.totalFormatted} across ${usage.objectCount} objects`);
|
|
1770
|
+
* console.log(` uploads: ${usage.breakdown.originals.bytesFormatted}`);
|
|
1771
|
+
* console.log(` derived: ${usage.breakdown.derived.bytesFormatted}`);
|
|
1772
|
+
* ```
|
|
1773
|
+
*/
|
|
1774
|
+
getStorageUsage(request?: CdnStorageUsageRequest): Promise<CdnStorageUsageResponse>;
|
|
1699
1775
|
private convertUsageDates;
|
|
1700
1776
|
private convertUsageDataPointDates;
|
|
1701
1777
|
/**
|
|
@@ -1995,4 +2071,4 @@ declare class CDN {
|
|
|
1995
2071
|
private convertImportFileDates;
|
|
1996
2072
|
}
|
|
1997
2073
|
|
|
1998
|
-
export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type CompositeChromaKey, type CompositeConfig, type CompositePoint, type CompositeQuad, type CompositeRect, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageVideoWatermarkOptions, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeAspectRatio, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type TextVideoWatermarkOptions, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
|
|
2074
|
+
export { type Asset, type AssetStatus, type AssetType, type AudioTrackInput, type BundleDownloadUrlRequest, type BundleDownloadUrlResponse, type BundleStatus, CDN, type CancelImportResponse, type CancelMergeJobRequest, type CdnEnvironment, type CdnStorageBreakdownItem, type CdnStorageBreakdownRequest, type CdnStorageBreakdownResponse, type CdnStorageUsageBucket, type CdnStorageUsageRequest, type CdnStorageUsageResponse, type CdnUsageDataPoint, type CdnUsageHistoryRequest, type CdnUsageHistoryResponse, type CdnUsageRequest, type CdnUsageResponse, type CompositeChromaKey, type CompositeConfig, type CompositePoint, type CompositeQuad, type CompositeRect, type ConfirmUploadRequest, type ConfirmUploadResponse, type CreateBundleRequest, type CreateBundleResponse, type CreateFolderRequest, type CreateImportRequest, type CreateImportResponse, type CreateMergeJobRequest, type DeleteAssetRequest, type DeleteAssetsRequest, type DeleteAssetsResponse, type DownloadBundle, type ExtractAudioRequest, type ExtractAudioResponse, type Folder, type FolderListItem, type FolderTreeNode, type GenerateGifRequest, type GetAssetRequest, type GetFolderByPathRequest, type GetFolderRequest, type GetFolderTreeRequest, type GetMergeJobRequest, type GifStatus, type ImageVideoWatermarkOptions, type ImageWatermarkConfig, type ImageWatermarkPosition, type ImageWatermarkSizingMode, type ImportAuthType, type ImportError, type ImportFile, type ImportFileStatus, type ImportJob, type ImportJobStatus, type ImportJobSummary, type ImportPathMode, type ListAssetsRequest, type ListAssetsResponse, type ListBundlesRequest, type ListBundlesResponse, type ListFoldersRequest, type ListFoldersResponse, type ListGifsRequest, type ListImportFilesRequest, type ListImportFilesResponse, type ListImportsRequest, type ListImportsResponse, type ListJobsRequest, type ListJobsResponse, type ListMergeJobsRequest, type ListMergeJobsResponse, type ListPrivateFilesRequest, type ListPrivateFilesResponse, type ListThumbnailsRequest, type ListThumbnailsResponse, type MergeAspectRatio, type MergeInputItem, type MergeJob, type MergeJobWithOutput, type MergeOutputConfig, type MergeOutputFormat, type MergeQuality, type MergeStatus, type MoveAssetsRequest, type MoveAssetsResponse, type MoveFolderRequest, type MoveFolderResponse, type MovePrivateFilesRequest, type MovePrivateFilesResponse, type PrivateDownloadUrlRequest, type PrivateDownloadUrlResponse, type PrivateFile, type PrivateFileStatus, type PrivateUploadUrlRequest, type PrivateUploadUrlResponse, type RegenerateThumbnailRequest, type RegenerateThumbnailResponse, type RetryImportResponse, type StreamingUrls, type TextOverlay, type TextOverlayShadow, type TextOverlayStroke, type TextVideoWatermarkOptions, type ThumbnailRequest, type ThumbnailResponse, type TranscodeJob, type TranscodeVideoRequest, type TranscodingStatus, type TransformOptions, type TrimOptions, type UpdateAssetRequest, type UpdateFolderRequest, type UpdatePrivateFileRequest, type UploadFromUrlRequest, type UploadUrlRequest, type UploadUrlResponse, type VideoCodec, type VideoGif, type VideoOutputFormat, type VideoQuality, type VideoThumbnail, type VideoVariant, type WatermarkOptions };
|
package/dist/cdn/index.js
CHANGED
|
@@ -1064,6 +1064,36 @@ var CDN = class {
|
|
|
1064
1064
|
const query = params.toString();
|
|
1065
1065
|
return this.http.get(`/cdn/usage/storage-breakdown${query ? `?${query}` : ""}`);
|
|
1066
1066
|
}
|
|
1067
|
+
/**
|
|
1068
|
+
* Get total stored bytes for a project or folder, derived assets included.
|
|
1069
|
+
*
|
|
1070
|
+
* Totals uploads plus everything the pipelines derived from them — video renditions, HLS
|
|
1071
|
+
* segments and manifests, thumbnails, GIFs — in one call. Use this to meter a plan limit:
|
|
1072
|
+
* paging `list()` and summing `size` counts uploads only, and an HLS ladder typically runs
|
|
1073
|
+
* well past the size of the source it came from.
|
|
1074
|
+
*
|
|
1075
|
+
* Check `unmeasuredAssets`. A nonzero value means some assets have derivatives whose bytes
|
|
1076
|
+
* have not been measured, so `totalBytes` is a floor rather than the full number.
|
|
1077
|
+
*
|
|
1078
|
+
* @example
|
|
1079
|
+
* ```typescript
|
|
1080
|
+
* const usage = await cdn.getStorageUsage({
|
|
1081
|
+
* projectSlug: 'my-project',
|
|
1082
|
+
* folder: '/customers/acme',
|
|
1083
|
+
* });
|
|
1084
|
+
* console.log(`${usage.totalFormatted} across ${usage.objectCount} objects`);
|
|
1085
|
+
* console.log(` uploads: ${usage.breakdown.originals.bytesFormatted}`);
|
|
1086
|
+
* console.log(` derived: ${usage.breakdown.derived.bytesFormatted}`);
|
|
1087
|
+
* ```
|
|
1088
|
+
*/
|
|
1089
|
+
async getStorageUsage(request = {}) {
|
|
1090
|
+
const params = new URLSearchParams();
|
|
1091
|
+
if (request.projectSlug) params.set("projectSlug", request.projectSlug);
|
|
1092
|
+
if (request.environment) params.set("environment", request.environment);
|
|
1093
|
+
if (request.folder) params.set("folder", request.folder);
|
|
1094
|
+
const query = params.toString();
|
|
1095
|
+
return this.http.get(`/cdn/usage/storage${query ? `?${query}` : ""}`);
|
|
1096
|
+
}
|
|
1067
1097
|
convertUsageDates(usage) {
|
|
1068
1098
|
if (typeof usage.periodStart === "string") {
|
|
1069
1099
|
usage.periodStart = new Date(usage.periodStart);
|