@coretext-ai/qa-gsuite-f47ac10b-58cc-4372-a567-0e02b2c3d479
Version:
MCP server with GSuite (Contacts, Drive, Gmail, Calendar) integration
164 lines • 4.29 kB
TypeScript
export declare class GoogleDriveClient {
private oauthClient;
private sessionId;
private baseUrl;
constructor();
/**
* Get the session ID for this client instance
*/
getSessionId(): string;
/**
* Enhanced debug logging with session context
*/
private logDebug;
/**
* Initialize the API client
*/
initialize(): Promise<void>;
/**
* Make authenticated API request
*/
makeRequest(config: RequestConfig): Promise<any>;
/**
* Simple upload for files ≤5MB. Upload file content directly
*/
uploadFileSimple(args?: any): Promise<any>;
/**
* Multipart upload for files with metadata. Combines metadata and content in single request
*/
uploadFileMultipart(args?: any): Promise<any>;
/**
* Initiate resumable upload for large files with progress tracking
*/
uploadFileResumable(args?: any): Promise<any>;
/**
* Get file metadata by ID
*/
getFile(args?: any): Promise<any>;
/**
* Download file content or export Google Workspace documents
*/
downloadFile(args?: any): Promise<any>;
/**
* Export Google Workspace document to specified format
*/
exportFile(args?: any): Promise<any>;
/**
* Update file metadata
*/
updateFile(args?: any): Promise<any>;
/**
* Update file content using multipart upload
*/
updateFileContent(args?: any): Promise<any>;
/**
* Permanently delete a file
*/
deleteFile(args?: any): Promise<any>;
/**
* Create a copy of an existing file
*/
copyFile(args?: any): Promise<any>;
/**
* Create a new folder
*/
createFolder(args?: any): Promise<any>;
/**
* Move a file to different parent folders
*/
moveFile(args?: any): Promise<any>;
/**
* List files and folders within a specific folder
*/
getFolderContents(args?: any): Promise<any>;
/**
* Get folder hierarchy and structure
*/
getFolderTree(args?: any): Promise<any>;
/**
* List files in Google Drive with optional search query and filtering
*/
listFiles(args?: any): Promise<any>;
/**
* Advanced file search with complex query syntax
*/
searchFiles(args?: any): Promise<any>;
/**
* List revisions of a specific file
*/
listFileRevisions(args?: any): Promise<any>;
/**
* Get a specific revision of a file
*/
getFileRevision(args?: any): Promise<any>;
/**
* Update revision metadata (e.g., set keepForever)
*/
updateFileRevision(args?: any): Promise<any>;
/**
* Delete a specific revision of a file
*/
deleteFileRevision(args?: any): Promise<any>;
/**
* Create a permission for a file or folder (sharing)
*/
createPermission(args?: any): Promise<any>;
/**
* List permissions for a file or folder
*/
listPermissions(args?: any): Promise<any>;
/**
* Get a specific permission for a file
*/
getPermission(args?: any): Promise<any>;
/**
* Update an existing permission
*/
updatePermission(args?: any): Promise<any>;
/**
* Remove a permission from a file or folder
*/
deletePermission(args?: any): Promise<any>;
/**
* Create a comment on a file
*/
createComment(args?: any): Promise<any>;
/**
* List comments on a file
*/
listComments(args?: any): Promise<any>;
/**
* Get a specific comment
*/
getComment(args?: any): Promise<any>;
/**
* Update a comment
*/
updateComment(args?: any): Promise<any>;
/**
* Delete a comment
*/
deleteComment(args?: any): Promise<any>;
/**
* Build URL with path parameters and query string
*/
private buildUrl;
/**
* Check if client is authenticated
*/
isAuthenticated(): Promise<boolean>;
/**
* Revoke authentication tokens
*/
revokeAuthentication(): Promise<void>;
}
interface RequestConfig {
method: string;
path: string;
pathParams?: Record<string, any>;
queryParams?: Record<string, any>;
body?: any;
headers?: Record<string, string>;
}
export {};
//# sourceMappingURL=google-drive-client.d.ts.map