@curvenote/cli
Version:
CLI Client library for Curvenote
51 lines • 1.66 kB
TypeScript
import type { ISession } from '../session/types.js';
export * from './types.js';
export * from './utils.js';
/** One named file: local path on disk and storage path under the cdnKey. */
export type NamedFile = {
localPath: string;
storagePath: string;
};
export type UploadNamedFilesOpts = {
cdn: string;
cdnKey: string;
/** Explicit list of localPath → storagePath. No folder scanning. */
files: NamedFile[];
resume?: boolean;
};
/**
* Upload a list of named files to chosen storage paths under an existing cdnKey.
* No folder scanning: each entry is an explicit localPath/storagePath pair.
* Stages all files, uploads to signed URLs as needed, then commits with the given cdnKey
* so each file lands at {cdnKey}/{storagePath}.
*/
export declare function uploadNamedFilesToCdn(session: ISession, opts: UploadNamedFilesOpts): Promise<{
paths: string[];
cdnKey: string;
}>;
export type UploadSingleFileOpts = {
cdn: string;
cdnKey: string;
localPath: string;
storagePath: string;
resume?: boolean;
};
/**
* Upload a single file to a chosen storage path under an existing cdnKey.
* Convenience wrapper around uploadNamedFilesToCdn with one file.
*/
export declare function uploadSingleFileToCdn(session: ISession, opts: UploadSingleFileOpts): Promise<{
path: string;
cdnKey: string;
}>;
export declare function uploadToTmpCdn(session: ISession, opts?: {
resume?: boolean;
}): Promise<{
cdnKey: string;
}>;
export declare function uploadToCdn(session: ISession, cdn: string, opts?: {
resume?: boolean;
}): Promise<{
cdnKey: string;
}>;
//# sourceMappingURL=index.d.ts.map