direct gmail initial commit

This commit is contained in:
Arjun 2026-05-13 11:57:09 +05:30
parent af618155e1
commit e3eac3cfdd
9 changed files with 318 additions and 75 deletions

View file

@ -88,12 +88,13 @@ export type CalendarBlock = z.infer<typeof CalendarBlockSchema>;
export const EmailBlockSchema = z.object({
threadId: z.string().optional(),
threadUrl: z.string().url().optional(),
summary: z.string().optional(),
subject: z.string().optional(),
from: z.string().optional(),
to: z.string().optional(),
date: z.string().optional(),
latest_email: z.string(),
latest_email: z.string().optional(),
past_summary: z.string().optional(),
draft_response: z.string().optional(),
response_mode: z.enum(['inline', 'assistant', 'both']).optional(),

View file

@ -18,6 +18,7 @@ import { RowboatApiConfig } from './rowboat-account.js';
import { ZListToolkitsResponse } from './composio.js';
import { BrowserStateSchema } from './browser-control.js';
import { BillingInfoSchema } from './billing.js';
import { EmailBlockSchema } from './blocks.js';
// ============================================================================
// Runtime Validation Schemas (Single Source of Truth)
@ -123,6 +124,15 @@ const ipcSchemas = {
req: WorkspaceChangeEvent,
res: z.null(),
},
'gmail:getThread': {
req: z.object({
threadId: z.string().min(1),
}),
res: z.object({
thread: EmailBlockSchema.nullable(),
error: z.string().optional(),
}),
},
'mcp:listTools': {
req: z.object({
serverName: z.string(),