git-arweave-lfs
Version:
A Git extension for versioning large files with Arweave storage
36 lines • 1.14 kB
TypeScript
import { GitArweaveConfig } from './config';
export interface FileReference {
filePath: string;
txId: string;
size: number;
hash: string;
uploadedAt: Date;
}
export declare class ArweaveManager {
private config;
private arweave;
private turboClient;
private referencesFile;
private fileReferences;
private gatewayUrl;
private constructor();
static create(config: GitArweaveConfig, gitDir: string): Promise<ArweaveManager>;
private ensureTurboClient;
private loadReferences;
private saveReferences;
private computeFileHash;
uploadFile(filePath: string): Promise<string>;
downloadFile(txId: string, outputPath: string): Promise<void>;
downloadFileToMemory(txId: string): Promise<Buffer>;
private guessContentType;
findFileByTxId(txId: string): Promise<FileReference | null>;
getFileReference(filePath: string): FileReference | null;
getAllReferences(): FileReference[];
getStorageStats(): {
totalFiles: number;
totalSize: number;
};
private buildGatewayUrl;
private formatBytes;
}
//# sourceMappingURL=arweave.d.ts.map