UNPKG

@capgo/cli

Version:
76 lines (75 loc) • 2.83 kB
import type { CapgoCliInvokeOptions } from '../utils'; import { invokeCapgoCliApi } from '../utils'; export declare const MANIFEST_UPLOAD_PROTOCOL_VERSION: 1; export type ManifestUploadAction = 'upload_if_doesnt_exist' | 'reuse' | 'upload'; export type ManifestUploadFileHashFormat = 'sha256_hex' | 'rsa_v2_base64' | 'rsa_v3_hex'; export interface ManifestUploadRequestEntry { id: number; file_name: string; compression: 'none' | 'brotli'; file_hash: string; uploaded_bytes_sha256: string; uploaded_bytes_size: number; } export interface ManifestUploadRequest { protocol_version: typeof MANIFEST_UPLOAD_PROTOCOL_VERSION; version_id: number; delta_encryption: { enabled: boolean; }; manifest_upload_auto_enabled: boolean; file_hash_format: ManifestUploadFileHashFormat; entries: ManifestUploadRequestEntry[]; } interface ManifestUploadAuthorization { type: 'header'; header_name: string; token_prefix: string; expires_at: number; } export interface ManifestUploadTarget { id: string; protocol: 'tus'; upload_url: string; existence_check_url_prefix: string; authorization: ManifestUploadAuthorization; } interface ManifestUploadResponseEntry { id: number; action?: ManifestUploadAction; upload_target?: string; s3_path?: string; s3_path_suffix?: string; upload_token?: string; file_size_receipt?: string; } export interface ManifestUploadResponse { protocol_version: number; version_id: number; default_action: ManifestUploadAction; default_s3_path_prefix?: string; default_upload_target?: string; upload_targets: ManifestUploadTarget[]; entries: ManifestUploadResponseEntry[]; } export interface ResolvedManifestUploadEntry { request: ManifestUploadRequestEntry; action: ManifestUploadAction; s3Path: string; uploadTarget?: ManifestUploadTarget; uploadAuthorization?: { headerName: string; value: string; }; fileSizeReceipt?: string; } export interface ResolvedManifestUpload { response: ManifestUploadResponse; entries: ResolvedManifestUploadEntry[]; } export declare function manifestUploadFileHashFormat(encryptionEnabled: boolean, supportsHexChecksum: boolean): ManifestUploadFileHashFormat; export declare function isManifestUploadAutoEnabled(userRequestedDelta: boolean, fullZipEnabled: boolean): boolean; type ManifestUploadInvoke = typeof invokeCapgoCliApi; export declare function resolveManifestUploadResponse(request: ManifestUploadRequest, input: unknown): ResolvedManifestUpload; export declare function requestManifestUpload(apikey: string, request: ManifestUploadRequest, options?: Pick<CapgoCliInvokeOptions, 'supaHost' | 'supaAnon'>, invoke?: ManifestUploadInvoke): Promise<ResolvedManifestUpload>; export {};