UNPKG

@struktoai/mirage-core

Version:

A Unified Virtual Filesystem For AI Agents

354 lines • 9.04 kB
// ========= 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 { calendarBase, docsBase, driveBase, formsBase, gmailBase, sheetsBase, slidesBase, } from "../../../../core/google/client.js"; export const GWS_METHODS = [ { service: 'docs', resource: 'documents', method: 'get', http: 'GET', path: '/documents/{documentId}', }, { service: 'docs', resource: 'documents', method: 'create', http: 'POST', path: '/documents', needsBody: true, placement: 'relocate', idField: 'documentId', }, { service: 'docs', resource: 'documents', method: 'batchUpdate', http: 'POST', path: '/documents/{documentId}:batchUpdate', needsBody: true, }, { service: 'sheets', resource: 'spreadsheets', method: 'get', http: 'GET', path: '/spreadsheets/{spreadsheetId}', }, { service: 'sheets', resource: 'spreadsheets', method: 'create', http: 'POST', path: '/spreadsheets', needsBody: true, placement: 'relocate', idField: 'spreadsheetId', }, { service: 'sheets', resource: 'spreadsheets', method: 'batchUpdate', http: 'POST', path: '/spreadsheets/{spreadsheetId}:batchUpdate', needsBody: true, }, { service: 'slides', resource: 'presentations', method: 'get', http: 'GET', path: '/presentations/{presentationId}', }, { service: 'slides', resource: 'presentations', method: 'create', http: 'POST', path: '/presentations', needsBody: true, placement: 'relocate', idField: 'presentationId', }, { service: 'slides', resource: 'presentations', method: 'batchUpdate', http: 'POST', path: '/presentations/{presentationId}:batchUpdate', needsBody: true, }, { service: 'drive', resource: 'files', method: 'list', http: 'GET', path: '/files' }, { service: 'drive', resource: 'files', method: 'get', http: 'GET', path: '/files/{fileId}' }, { service: 'drive', resource: 'files', method: 'create', http: 'POST', path: '/files', needsBody: true, placement: 'parents', }, { service: 'drive', resource: 'files', method: 'update', http: 'PATCH', path: '/files/{fileId}', needsBody: true, }, { service: 'drive', resource: 'files', method: 'copy', http: 'POST', path: '/files/{fileId}/copy', placement: 'parents', }, { service: 'drive', resource: 'files', method: 'delete', http: 'DELETE', path: '/files/{fileId}', }, { service: 'drive', resource: 'files', method: 'export', http: 'GET', path: '/files/{fileId}/export', rawBytes: true, }, { service: 'drive', resource: 'permissions', method: 'create', http: 'POST', path: '/files/{fileId}/permissions', needsBody: true, }, { service: 'drive', resource: 'permissions', method: 'list', http: 'GET', path: '/files/{fileId}/permissions', }, { service: 'drive', resource: 'permissions', method: 'delete', http: 'DELETE', path: '/files/{fileId}/permissions/{permissionId}', }, { service: 'gmail', resource: 'users drafts', method: 'create', http: 'POST', path: '/users/{userId}/drafts', needsBody: true, }, { service: 'gmail', resource: 'users drafts', method: 'delete', http: 'DELETE', path: '/users/{userId}/drafts/{id}', }, { service: 'gmail', resource: 'users drafts', method: 'get', http: 'GET', path: '/users/{userId}/drafts/{id}', }, { service: 'gmail', resource: 'users drafts', method: 'list', http: 'GET', path: '/users/{userId}/drafts', }, { service: 'gmail', resource: 'users drafts', method: 'send', http: 'POST', path: '/users/{userId}/drafts/send', needsBody: true, }, { service: 'gmail', resource: 'users drafts', method: 'update', http: 'PUT', path: '/users/{userId}/drafts/{id}', needsBody: true, }, { service: 'gmail', resource: 'users labels', method: 'list', http: 'GET', path: '/users/{userId}/labels', }, { service: 'gmail', resource: 'users messages', method: 'list', http: 'GET', path: '/users/{userId}/messages', }, { service: 'gmail', resource: 'users messages', method: 'get', http: 'GET', path: '/users/{userId}/messages/{id}', }, { service: 'gmail', resource: 'users messages', method: 'send', http: 'POST', path: '/users/{userId}/messages/send', needsBody: true, }, { service: 'gmail', resource: 'users messages', method: 'trash', http: 'POST', path: '/users/{userId}/messages/{id}/trash', }, { service: 'gmail', resource: 'users messages attachments', method: 'get', http: 'GET', path: '/users/{userId}/messages/{messageId}/attachments/{id}', }, { service: 'calendar', resource: 'calendarList', method: 'list', http: 'GET', path: '/users/me/calendarList', }, { service: 'calendar', resource: 'calendars', method: 'get', http: 'GET', path: '/calendars/{calendarId}', }, { service: 'calendar', resource: 'events', method: 'list', http: 'GET', path: '/calendars/{calendarId}/events', }, { service: 'calendar', resource: 'events', method: 'get', http: 'GET', path: '/calendars/{calendarId}/events/{eventId}', }, { service: 'calendar', resource: 'events', method: 'insert', http: 'POST', path: '/calendars/{calendarId}/events', needsBody: true, }, { service: 'calendar', resource: 'events', method: 'patch', http: 'PATCH', path: '/calendars/{calendarId}/events/{eventId}', needsBody: true, }, { service: 'calendar', resource: 'events', method: 'delete', http: 'DELETE', path: '/calendars/{calendarId}/events/{eventId}', }, { service: 'calendar', resource: 'freebusy', method: 'query', http: 'POST', path: '/freeBusy', needsBody: true, }, { service: 'forms', resource: 'forms', method: 'create', http: 'POST', path: '/forms', needsBody: true, placement: 'relocate', idField: 'formId', }, { service: 'forms', resource: 'forms', method: 'get', http: 'GET', path: '/forms/{formId}', }, { service: 'forms', resource: 'forms', method: 'batchUpdate', http: 'POST', path: '/forms/{formId}:batchUpdate', needsBody: true, }, { service: 'forms', resource: 'forms responses', method: 'list', http: 'GET', path: '/forms/{formId}/responses', }, { service: 'forms', resource: 'forms responses', method: 'get', http: 'GET', path: '/forms/{formId}/responses/{responseId}', }, ]; export function gwsMethodDescription(m) { return `${m.http} ${m.path} (Google ${m.service} API passthrough)`; } export const SERVICE_BASES = { drive: driveBase, docs: docsBase, sheets: sheetsBase, slides: slidesBase, gmail: gmailBase, calendar: calendarBase, forms: formsBase, }; //# sourceMappingURL=methods.js.map