@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
83 lines • 3.27 kB
JavaScript
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// ========= Copyright 2026 @ Strukto.AI All Rights Reserved. =========
import * as drive from "../google/drive.js";
/** The live `DriveApi`: one token manager, one wire call per method. */
export class DriveClient {
tokenManager;
constructor(tokenManager) {
this.tokenManager = tokenManager;
}
listFiles(opts) {
return drive.listFiles(this.tokenManager, opts);
}
listChildren(folderIds, driveId, limit) {
return drive.listChildren(this.tokenManager, folderIds, driveId, undefined, limit);
}
listSharedDrives() {
return drive.listSharedDrives(this.tokenManager);
}
listAllFiles(opts = {}) {
return drive.listAllFiles(this.tokenManager, opts);
}
searchFiles(text, parentIds, mimeType = null) {
return drive.searchFiles(this.tokenManager, text, parentIds, mimeType);
}
getFile(fileId, fields) {
return drive.getFile(this.tokenManager, fileId, fields);
}
storageQuota() {
return drive.storageQuota(this.tokenManager);
}
deleteFile(fileId) {
return drive.deleteFile(this.tokenManager, fileId);
}
downloadFile(fileId, window) {
return drive.downloadFile(this.tokenManager, fileId, window);
}
downloadFileStream(fileId) {
return drive.downloadFileStream(this.tokenManager, fileId);
}
createFolder(name, parentId) {
return drive.createFolder(this.tokenManager, name, parentId);
}
uploadFile(name, parentId, data) {
return drive.uploadFile(this.tokenManager, name, parentId, data);
}
updateFileContent(fileId, data) {
return drive.updateFileContent(this.tokenManager, fileId, data);
}
patchFile(fileId, opts) {
return drive.patchFile(this.tokenManager, fileId, opts);
}
copyFile(fileId, name, parentId) {
return drive.copyFile(this.tokenManager, fileId, name, parentId);
}
startPageToken() {
return drive.startPageToken(this.tokenManager);
}
listChanges(pageToken) {
return drive.listChanges(this.tokenManager, pageToken);
}
async captureFileMetadata(fileId) {
const item = await drive.getFile(this.tokenManager, fileId, 'headRevisionId,md5Checksum');
return [item.md5Checksum ?? null, item.headRevisionId ?? null];
}
downloadRevision(fileId, revisionId, window) {
return drive.downloadRevision(this.tokenManager, fileId, revisionId, window);
}
downloadRevisionStream(fileId, revisionId) {
return drive.downloadRevisionStream(this.tokenManager, fileId, revisionId);
}
}
//# sourceMappingURL=api.js.map