@struktoai/mirage-core
Version:
A Unified Virtual Filesystem For AI Agents
116 lines • 3.28 kB
TypeScript
import { type TokenManager } from '../google/client.ts';
export interface GmailHeader {
name?: string;
value?: string;
}
interface GmailBody {
data?: string;
size?: number;
attachmentId?: string;
}
export interface GmailPayload {
mimeType?: string;
body?: GmailBody;
headers?: GmailHeader[];
filename?: string;
parts?: GmailPayload[];
}
export interface GmailMessageRaw {
id?: string;
threadId?: string;
internalDate?: string;
labelIds?: string[];
snippet?: string;
sizeEstimate?: number;
payload?: GmailPayload;
}
export interface GmailMessageStub {
id: string;
threadId?: string;
}
export interface GmailAttachmentInfo {
filename: string;
attachmentId: string;
size: number;
mimeType: string;
}
export interface ListMessagesOptions {
labelId?: string | null;
query?: string | null;
maxResults?: number;
}
/**
* One page of message stubs for a label or query, and the next page's token,
* null on the last page. Gmail may return fewer than `maxResults` stubs and
* still name a next page. Mirrors Python's `list_message_page`.
*/
export declare function listMessagePage(tokenManager: TokenManager, opts?: ListMessagesOptions): Promise<[GmailMessageStub[], string | null]>;
export declare function listMessages(tokenManager: TokenManager, opts?: ListMessagesOptions): Promise<GmailMessageStub[]>;
export declare function getMessageRaw(tokenManager: TokenManager, messageId: string): Promise<GmailMessageRaw>;
export declare function decodeBody(payload: GmailPayload | undefined): string;
export declare function extractHeader(headers: GmailHeader[] | undefined, name: string): string;
export declare function parseAddress(raw: string): {
name: string;
email: string;
};
export declare function getAttachment(tokenManager: TokenManager, messageId: string, attachmentId: string): Promise<Uint8Array>;
export declare function extractAttachments(payload: GmailPayload | undefined): GmailAttachmentInfo[];
export declare function getMessageProcessed(tokenManager: TokenManager, messageId: string): Promise<{
id: string;
thread_id: string;
from: {
name: string;
email: string;
};
to: {
name: string;
email: string;
}[];
cc: {
name: string;
email: string;
}[];
subject: string;
date: string;
body_text: string;
snippet: string;
labels: string[];
attachments: {
id: string;
filename: string;
path: string;
mime_type: string;
size: number;
}[];
}>;
export declare function processMessage(raw: GmailMessageRaw): {
id: string;
thread_id: string;
from: {
name: string;
email: string;
};
to: {
name: string;
email: string;
}[];
cc: {
name: string;
email: string;
}[];
subject: string;
date: string;
body_text: string;
snippet: string;
labels: string[];
attachments: {
id: string;
filename: string;
path: string;
mime_type: string;
size: number;
}[];
};
export declare function messageJsonBytes(raw: GmailMessageRaw): Uint8Array;
export {};
//# sourceMappingURL=messages.d.ts.map