import { GoogleDriveIcon } from '@/components/icons' import type { ConnectorMeta } from '@/connectors/types' export const googleDriveConnectorMeta: ConnectorMeta = { id: 'google_drive', name: 'Google Drive', description: 'Sync documents from Google Drive', version: '1.0.0', icon: GoogleDriveIcon, auth: { mode: 'oauth', provider: 'google-drive', requiredScopes: ['https://www.googleapis.com/auth/drive'], }, configFields: [ { id: 'folderSelector', title: 'Folders', type: 'selector', selectorKey: 'google.drive', mimeType: 'application/vnd.google-apps.folder', canonicalParamId: 'folderId', mode: 'basic', multi: true, placeholder: 'Select one or more folders (optional)', required: false, }, { id: 'folderId', title: 'Folder IDs', type: 'short-input', canonicalParamId: 'folderId', mode: 'advanced', multi: true, placeholder: 'e.g. 1aBcDeFg…, 2cDeFgHi… (comma-separated for multiple)', required: false, }, { id: 'fileType', title: 'File Type', type: 'dropdown', required: false, options: [ { label: 'All supported files', id: 'all' }, { label: 'Google Docs only', id: 'documents' }, { label: 'Google Sheets only', id: 'spreadsheets' }, { label: 'Google Slides only', id: 'presentations' }, { label: 'Plain text files only', id: 'text' }, ], }, { id: 'maxFiles', title: 'Max Files', type: 'short-input', required: false, placeholder: 'e.g. 500 (default: unlimited)', }, ], tagDefinitions: [ { id: 'owners', displayName: 'Owner', fieldType: 'text' }, { id: 'fileType', displayName: 'File Type', fieldType: 'text' }, { id: 'lastModified', displayName: 'Last Modified', fieldType: 'date' }, { id: 'starred', displayName: 'Starred', fieldType: 'boolean' }, ], }