@soulbatical/tetra-core 0.10.4 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +78 -38
- package/dist/core/createApp.d.ts +1 -1
- package/dist/core/createApp.d.ts.map +1 -1
- package/dist/core/createApp.js +77 -2
- package/dist/core/createApp.js.map +1 -1
- package/dist/core/dualWriteProxy.d.ts +7 -2
- package/dist/core/dualWriteProxy.d.ts.map +1 -1
- package/dist/core/dualWriteProxy.js +16 -5
- package/dist/core/dualWriteProxy.js.map +1 -1
- package/dist/core/routeContext.d.ts +24 -0
- package/dist/core/routeContext.d.ts.map +1 -1
- package/dist/core/routeContext.js +31 -4
- package/dist/core/routeContext.js.map +1 -1
- package/dist/core/systemDb.d.ts +2 -2
- package/dist/core/systemDb.js +2 -2
- package/dist/generators/rls-checker.d.ts +1 -1
- package/dist/generators/rls-checker.js +1 -1
- package/dist/generators/rls-exec-sql.d.ts +1 -1
- package/dist/generators/rls-exec-sql.js +1 -1
- package/dist/generators/rpc/index.d.ts +1 -1
- package/dist/generators/rpc/index.js +1 -1
- package/dist/index.d.ts +3 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -32
- package/dist/index.js.map +1 -1
- package/dist/middleware/securityMiddleware.d.ts +1 -1
- package/dist/middleware/securityMiddleware.d.ts.map +1 -1
- package/dist/middleware/validateBody.d.ts.map +1 -1
- package/dist/middleware/validateBody.js +51 -8
- package/dist/middleware/validateBody.js.map +1 -1
- package/dist/shared/rfc7807ErrorResponse.d.ts +7 -0
- package/dist/shared/rfc7807ErrorResponse.d.ts.map +1 -1
- package/dist/shared/rfc7807ErrorResponse.js +19 -5
- package/dist/shared/rfc7807ErrorResponse.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +16 -1
- package/dist/utils/logger.js.map +1 -1
- package/package.json +33 -77
- package/dist/affiliate.d.ts +0 -11
- package/dist/affiliate.d.ts.map +0 -1
- package/dist/affiliate.js +0 -10
- package/dist/affiliate.js.map +0 -1
- package/dist/billing.d.ts +0 -8
- package/dist/billing.d.ts.map +0 -1
- package/dist/billing.js +0 -7
- package/dist/billing.js.map +0 -1
- package/dist/email.d.ts +0 -9
- package/dist/email.d.ts.map +0 -1
- package/dist/email.js +0 -8
- package/dist/email.js.map +0 -1
- package/dist/generators/rls-exec-sql.sql +0 -57
- package/dist/generators.d.ts +0 -15
- package/dist/generators.d.ts.map +0 -1
- package/dist/generators.js +0 -12
- package/dist/generators.js.map +0 -1
- package/dist/mcp.d.ts +0 -8
- package/dist/mcp.d.ts.map +0 -1
- package/dist/mcp.js +0 -7
- package/dist/mcp.js.map +0 -1
- package/dist/planner.d.ts +0 -8
- package/dist/planner.d.ts.map +0 -1
- package/dist/planner.js +0 -7
- package/dist/planner.js.map +0 -1
- package/dist/shared/affiliate/AffiliateAttributionService.d.ts +0 -47
- package/dist/shared/affiliate/AffiliateAttributionService.d.ts.map +0 -1
- package/dist/shared/affiliate/AffiliateAttributionService.js +0 -308
- package/dist/shared/affiliate/AffiliateAttributionService.js.map +0 -1
- package/dist/shared/affiliate/AffiliateClickService.d.ts +0 -35
- package/dist/shared/affiliate/AffiliateClickService.d.ts.map +0 -1
- package/dist/shared/affiliate/AffiliateClickService.js +0 -87
- package/dist/shared/affiliate/AffiliateClickService.js.map +0 -1
- package/dist/shared/affiliate/affiliateFeatureConfig.d.ts +0 -11
- package/dist/shared/affiliate/affiliateFeatureConfig.d.ts.map +0 -1
- package/dist/shared/affiliate/affiliateFeatureConfig.js +0 -242
- package/dist/shared/affiliate/affiliateFeatureConfig.js.map +0 -1
- package/dist/shared/affiliate/index.d.ts +0 -11
- package/dist/shared/affiliate/index.d.ts.map +0 -1
- package/dist/shared/affiliate/index.js +0 -13
- package/dist/shared/affiliate/index.js.map +0 -1
- package/dist/shared/affiliate/routes.d.ts +0 -87
- package/dist/shared/affiliate/routes.d.ts.map +0 -1
- package/dist/shared/affiliate/routes.js +0 -404
- package/dist/shared/affiliate/routes.js.map +0 -1
- package/dist/shared/affiliate/types.d.ts +0 -170
- package/dist/shared/affiliate/types.d.ts.map +0 -1
- package/dist/shared/affiliate/types.js +0 -11
- package/dist/shared/affiliate/types.js.map +0 -1
- package/dist/shared/billing/BillingService.d.ts +0 -56
- package/dist/shared/billing/BillingService.d.ts.map +0 -1
- package/dist/shared/billing/BillingService.js +0 -588
- package/dist/shared/billing/BillingService.js.map +0 -1
- package/dist/shared/billing/SeatBillingService.d.ts +0 -106
- package/dist/shared/billing/SeatBillingService.d.ts.map +0 -1
- package/dist/shared/billing/SeatBillingService.js +0 -292
- package/dist/shared/billing/SeatBillingService.js.map +0 -1
- package/dist/shared/billing/index.d.ts +0 -30
- package/dist/shared/billing/index.d.ts.map +0 -1
- package/dist/shared/billing/index.js +0 -27
- package/dist/shared/billing/index.js.map +0 -1
- package/dist/shared/billing/routes.d.ts +0 -45
- package/dist/shared/billing/routes.d.ts.map +0 -1
- package/dist/shared/billing/routes.js +0 -184
- package/dist/shared/billing/routes.js.map +0 -1
- package/dist/shared/billing/seat-pricing.d.ts +0 -53
- package/dist/shared/billing/seat-pricing.d.ts.map +0 -1
- package/dist/shared/billing/seat-pricing.js +0 -81
- package/dist/shared/billing/seat-pricing.js.map +0 -1
- package/dist/shared/billing/types.d.ts +0 -109
- package/dist/shared/billing/types.d.ts.map +0 -1
- package/dist/shared/billing/types.js +0 -8
- package/dist/shared/billing/types.js.map +0 -1
- package/dist/shared/email/EmailService.d.ts +0 -64
- package/dist/shared/email/EmailService.d.ts.map +0 -1
- package/dist/shared/email/EmailService.js +0 -300
- package/dist/shared/email/EmailService.js.map +0 -1
- package/dist/shared/email/adminRoutes.d.ts +0 -30
- package/dist/shared/email/adminRoutes.d.ts.map +0 -1
- package/dist/shared/email/adminRoutes.js +0 -227
- package/dist/shared/email/adminRoutes.js.map +0 -1
- package/dist/shared/email/gmail.d.ts +0 -208
- package/dist/shared/email/gmail.d.ts.map +0 -1
- package/dist/shared/email/gmail.js +0 -626
- package/dist/shared/email/gmail.js.map +0 -1
- package/dist/shared/email/index.d.ts +0 -15
- package/dist/shared/email/index.d.ts.map +0 -1
- package/dist/shared/email/index.js +0 -18
- package/dist/shared/email/index.js.map +0 -1
- package/dist/shared/email/mailgun.d.ts +0 -18
- package/dist/shared/email/mailgun.d.ts.map +0 -1
- package/dist/shared/email/mailgun.js +0 -76
- package/dist/shared/email/mailgun.js.map +0 -1
- package/dist/shared/email/sanitize.d.ts +0 -25
- package/dist/shared/email/sanitize.d.ts.map +0 -1
- package/dist/shared/email/sanitize.js +0 -39
- package/dist/shared/email/sanitize.js.map +0 -1
- package/dist/shared/email/smtp.d.ts +0 -20
- package/dist/shared/email/smtp.d.ts.map +0 -1
- package/dist/shared/email/smtp.js +0 -53
- package/dist/shared/email/smtp.js.map +0 -1
- package/dist/shared/email/types.d.ts +0 -113
- package/dist/shared/email/types.d.ts.map +0 -1
- package/dist/shared/email/types.js +0 -7
- package/dist/shared/email/types.js.map +0 -1
- package/dist/shared/email/webhookRoutes.d.ts +0 -29
- package/dist/shared/email/webhookRoutes.d.ts.map +0 -1
- package/dist/shared/email/webhookRoutes.js +0 -125
- package/dist/shared/email/webhookRoutes.js.map +0 -1
- package/dist/shared/mcp/index.d.ts +0 -51
- package/dist/shared/mcp/index.d.ts.map +0 -1
- package/dist/shared/mcp/index.js +0 -51
- package/dist/shared/mcp/index.js.map +0 -1
- package/dist/shared/mcp/mcp-auth-routes.d.ts +0 -26
- package/dist/shared/mcp/mcp-auth-routes.d.ts.map +0 -1
- package/dist/shared/mcp/mcp-auth-routes.js +0 -141
- package/dist/shared/mcp/mcp-auth-routes.js.map +0 -1
- package/dist/shared/mcp/mcp-db.d.ts +0 -99
- package/dist/shared/mcp/mcp-db.d.ts.map +0 -1
- package/dist/shared/mcp/mcp-db.js +0 -106
- package/dist/shared/mcp/mcp-db.js.map +0 -1
- package/dist/shared/mcp/mcp-routes.d.ts +0 -29
- package/dist/shared/mcp/mcp-routes.d.ts.map +0 -1
- package/dist/shared/mcp/mcp-routes.js +0 -171
- package/dist/shared/mcp/mcp-routes.js.map +0 -1
- package/dist/shared/mcp/mcp-tokens-routes.d.ts +0 -35
- package/dist/shared/mcp/mcp-tokens-routes.d.ts.map +0 -1
- package/dist/shared/mcp/mcp-tokens-routes.js +0 -94
- package/dist/shared/mcp/mcp-tokens-routes.js.map +0 -1
- package/dist/shared/mcp/mcp-usage-routes.d.ts +0 -17
- package/dist/shared/mcp/mcp-usage-routes.d.ts.map +0 -1
- package/dist/shared/mcp/mcp-usage-routes.js +0 -81
- package/dist/shared/mcp/mcp-usage-routes.js.map +0 -1
- package/dist/shared/mcp/tenant-context.d.ts +0 -59
- package/dist/shared/mcp/tenant-context.d.ts.map +0 -1
- package/dist/shared/mcp/tenant-context.js +0 -136
- package/dist/shared/mcp/tenant-context.js.map +0 -1
- package/dist/shared/mcp/types.d.ts +0 -74
- package/dist/shared/mcp/types.d.ts.map +0 -1
- package/dist/shared/mcp/types.js +0 -7
- package/dist/shared/mcp/types.js.map +0 -1
- package/dist/shared/planner/GoogleCalendarService.d.ts +0 -137
- package/dist/shared/planner/GoogleCalendarService.d.ts.map +0 -1
- package/dist/shared/planner/GoogleCalendarService.js +0 -525
- package/dist/shared/planner/GoogleCalendarService.js.map +0 -1
- package/dist/shared/planner/PlannerService.d.ts +0 -264
- package/dist/shared/planner/PlannerService.d.ts.map +0 -1
- package/dist/shared/planner/PlannerService.js +0 -1393
- package/dist/shared/planner/PlannerService.js.map +0 -1
- package/dist/shared/planner/index.d.ts +0 -37
- package/dist/shared/planner/index.d.ts.map +0 -1
- package/dist/shared/planner/index.js +0 -35
- package/dist/shared/planner/index.js.map +0 -1
- package/dist/shared/planner/intervals.d.ts +0 -60
- package/dist/shared/planner/intervals.d.ts.map +0 -1
- package/dist/shared/planner/intervals.js +0 -141
- package/dist/shared/planner/intervals.js.map +0 -1
- package/dist/shared/planner/routes.d.ts +0 -69
- package/dist/shared/planner/routes.d.ts.map +0 -1
- package/dist/shared/planner/routes.js +0 -770
- package/dist/shared/planner/routes.js.map +0 -1
- package/dist/shared/planner/types.d.ts +0 -328
- package/dist/shared/planner/types.d.ts.map +0 -1
- package/dist/shared/planner/types.js +0 -9
- package/dist/shared/planner/types.js.map +0 -1
- package/dist/shared/storage/ImageProcessingService.d.ts +0 -32
- package/dist/shared/storage/ImageProcessingService.d.ts.map +0 -1
- package/dist/shared/storage/ImageProcessingService.js +0 -127
- package/dist/shared/storage/ImageProcessingService.js.map +0 -1
- package/dist/shared/storage/StorageProxyService.d.ts +0 -47
- package/dist/shared/storage/StorageProxyService.d.ts.map +0 -1
- package/dist/shared/storage/StorageProxyService.js +0 -196
- package/dist/shared/storage/StorageProxyService.js.map +0 -1
- package/dist/shared/storage/StorageUploadService.d.ts +0 -126
- package/dist/shared/storage/StorageUploadService.d.ts.map +0 -1
- package/dist/shared/storage/StorageUploadService.js +0 -206
- package/dist/shared/storage/StorageUploadService.js.map +0 -1
- package/dist/shared/storage/creative-urls.d.ts +0 -14
- package/dist/shared/storage/creative-urls.d.ts.map +0 -1
- package/dist/shared/storage/creative-urls.js +0 -30
- package/dist/shared/storage/creative-urls.js.map +0 -1
- package/dist/shared/storage/index.d.ts +0 -28
- package/dist/shared/storage/index.d.ts.map +0 -1
- package/dist/shared/storage/index.js +0 -27
- package/dist/shared/storage/index.js.map +0 -1
- package/dist/shared/storage/routes.d.ts +0 -42
- package/dist/shared/storage/routes.d.ts.map +0 -1
- package/dist/shared/storage/routes.js +0 -160
- package/dist/shared/storage/routes.js.map +0 -1
- package/dist/shared/storage/types.d.ts +0 -53
- package/dist/shared/storage/types.d.ts.map +0 -1
- package/dist/shared/storage/types.js +0 -2
- package/dist/shared/storage/types.js.map +0 -1
- package/dist/shared/telegram/index.d.ts +0 -4
- package/dist/shared/telegram/index.d.ts.map +0 -1
- package/dist/shared/telegram/index.js +0 -3
- package/dist/shared/telegram/index.js.map +0 -1
- package/dist/shared/telegram/routes.d.ts +0 -43
- package/dist/shared/telegram/routes.d.ts.map +0 -1
- package/dist/shared/telegram/routes.js +0 -868
- package/dist/shared/telegram/routes.js.map +0 -1
- package/dist/shared/telegram/types.d.ts +0 -168
- package/dist/shared/telegram/types.d.ts.map +0 -1
- package/dist/shared/telegram/types.js +0 -7
- package/dist/shared/telegram/types.js.map +0 -1
- package/dist/shared/telegram/utils.d.ts +0 -44
- package/dist/shared/telegram/utils.d.ts.map +0 -1
- package/dist/shared/telegram/utils.js +0 -121
- package/dist/shared/telegram/utils.js.map +0 -1
- package/dist/storage.d.ts +0 -9
- package/dist/storage.d.ts.map +0 -1
- package/dist/storage.js +0 -8
- package/dist/storage.js.map +0 -1
- package/dist/telemetry.d.ts +0 -9
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/telemetry.js +0 -8
- package/dist/telemetry.js.map +0 -1
- package/scripts/postinstall.js +0 -79
- package/src/shared/affiliate/migrations/001_create_affiliates.sql +0 -49
- package/src/shared/affiliate/migrations/002_create_affiliate_commissions.sql +0 -31
- package/src/shared/affiliate/migrations/003_create_affiliate_clicks.sql +0 -26
- package/src/shared/affiliate/migrations/004_create_affiliate_payments.sql +0 -34
- package/src/shared/affiliate/migrations/005_create_affiliate_tier_history.sql +0 -19
- package/src/shared/affiliate/migrations/006_create_affiliate_rpc_functions.sql +0 -209
- package/src/shared/affiliate/migrations/007_create_affiliate_rls_policies.sql +0 -123
- package/src/shared/billing/migrations/00000000000001_billing.sql +0 -114
- package/src/shared/email/migrations/000_create_email_logs.sql +0 -27
- package/src/shared/email/migrations/001_create_email_templates.sql +0 -27
- package/src/shared/email/migrations/002_add_rls_baseline_policies.sql +0 -37
- package/src/shared/email/migrations/003_create_gmail_accounts.sql +0 -82
- package/src/shared/email/migrations/004_add_email_logs_tracking_columns.sql +0 -15
- package/src/shared/mcp/migrations/001_mcp_api_tokens.sql +0 -21
- package/src/shared/mcp/migrations/002_mcp_audit_log.sql +0 -16
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Gmail API Client — Generic OAuth2-based Gmail integration for Tetra projects.
|
|
3
|
-
*
|
|
4
|
-
* Supports: sending (plain text + HTML), reading, searching, attachments.
|
|
5
|
-
* Token lifecycle:
|
|
6
|
-
* 1. startGmailOAuth(): loopback OAuth2 flow → encrypted tokens in gmail_accounts table
|
|
7
|
-
* 2. getAccessToken(): auto-refreshes expired tokens using refresh_token
|
|
8
|
-
* 3. disconnectGmail(): deactivates account in DB
|
|
9
|
-
*
|
|
10
|
-
* @module @soulbatical/tetra-core/email/gmail
|
|
11
|
-
*/
|
|
12
|
-
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
13
|
-
import { Router } from 'express';
|
|
14
|
-
export interface GmailTokens {
|
|
15
|
-
access_token: string;
|
|
16
|
-
refresh_token: string;
|
|
17
|
-
expires_at: Date;
|
|
18
|
-
}
|
|
19
|
-
export interface GmailSendOptions {
|
|
20
|
-
cc?: string;
|
|
21
|
-
bcc?: string;
|
|
22
|
-
reply_to?: string;
|
|
23
|
-
}
|
|
24
|
-
export interface GmailSendResult {
|
|
25
|
-
id: string;
|
|
26
|
-
threadId: string;
|
|
27
|
-
labelIds: string[];
|
|
28
|
-
}
|
|
29
|
-
export interface GmailSearchResult {
|
|
30
|
-
messages: GmailMessageSummary[];
|
|
31
|
-
resultSizeEstimate: number;
|
|
32
|
-
}
|
|
33
|
-
export interface GmailMessageSummary {
|
|
34
|
-
id: string;
|
|
35
|
-
threadId: string;
|
|
36
|
-
}
|
|
37
|
-
export interface GmailMessageHeader {
|
|
38
|
-
name: string;
|
|
39
|
-
value: string;
|
|
40
|
-
}
|
|
41
|
-
export interface GmailMessagePart {
|
|
42
|
-
partId: string;
|
|
43
|
-
mimeType: string;
|
|
44
|
-
filename: string;
|
|
45
|
-
headers: GmailMessageHeader[];
|
|
46
|
-
body: {
|
|
47
|
-
attachmentId?: string;
|
|
48
|
-
size: number;
|
|
49
|
-
data?: string;
|
|
50
|
-
};
|
|
51
|
-
parts?: GmailMessagePart[];
|
|
52
|
-
}
|
|
53
|
-
export interface GmailMessage {
|
|
54
|
-
id: string;
|
|
55
|
-
threadId: string;
|
|
56
|
-
labelIds: string[];
|
|
57
|
-
snippet: string;
|
|
58
|
-
internalDate: string;
|
|
59
|
-
payload: GmailMessagePart;
|
|
60
|
-
sizeEstimate: number;
|
|
61
|
-
}
|
|
62
|
-
export interface GmailAttachmentInfo {
|
|
63
|
-
attachmentId: string;
|
|
64
|
-
filename: string;
|
|
65
|
-
mimeType: string;
|
|
66
|
-
size: number;
|
|
67
|
-
}
|
|
68
|
-
export interface GmailProfile {
|
|
69
|
-
emailAddress: string;
|
|
70
|
-
messagesTotal: number;
|
|
71
|
-
threadsTotal: number;
|
|
72
|
-
historyId: string;
|
|
73
|
-
}
|
|
74
|
-
export interface GmailOAuthConfig {
|
|
75
|
-
clientId: string;
|
|
76
|
-
clientSecret: string;
|
|
77
|
-
/** Loopback port for OAuth callback. Default: 9876 */
|
|
78
|
-
loopbackPort?: number;
|
|
79
|
-
/** Additional scopes beyond send + readonly */
|
|
80
|
-
additionalScopes?: string[];
|
|
81
|
-
/** Web-based redirect URI (overrides loopback). Use for deployed backends. */
|
|
82
|
-
redirectUri?: string;
|
|
83
|
-
}
|
|
84
|
-
export interface GmailOAuthRoutesConfig {
|
|
85
|
-
/** Frontend URL to redirect to after OAuth completes */
|
|
86
|
-
frontendUrl?: string;
|
|
87
|
-
/** Path on frontend to redirect to after success. Default: /settings */
|
|
88
|
-
frontendSuccessPath?: string;
|
|
89
|
-
/** Path on frontend to redirect to after error. Default: /settings */
|
|
90
|
-
frontendErrorPath?: string;
|
|
91
|
-
}
|
|
92
|
-
export interface GmailAuthServerStatus {
|
|
93
|
-
running: boolean;
|
|
94
|
-
result: {
|
|
95
|
-
email: string;
|
|
96
|
-
} | null;
|
|
97
|
-
error: string | null;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Get or create a GmailClient for a user.
|
|
101
|
-
* Loads encrypted tokens from gmail_accounts table.
|
|
102
|
-
*/
|
|
103
|
-
export declare function getGmailClient(supabase: SupabaseClient, userId: string, email?: string): Promise<GmailClient | null>;
|
|
104
|
-
/**
|
|
105
|
-
* List all active Gmail accounts for a user.
|
|
106
|
-
*/
|
|
107
|
-
export declare function listGmailAccounts(supabase: SupabaseClient, userId: string): Promise<Array<{
|
|
108
|
-
id: string;
|
|
109
|
-
email: string;
|
|
110
|
-
created_at: string;
|
|
111
|
-
}>>;
|
|
112
|
-
/**
|
|
113
|
-
* Clear cached client for a user.
|
|
114
|
-
*/
|
|
115
|
-
export declare function clearGmailClientCache(userId: string, email?: string): void;
|
|
116
|
-
/**
|
|
117
|
-
* Disconnect a Gmail account (sets is_active = false).
|
|
118
|
-
*/
|
|
119
|
-
export declare function disconnectGmail(supabase: SupabaseClient, userId: string, email?: string): Promise<string[]>;
|
|
120
|
-
/**
|
|
121
|
-
* Generate the OAuth2 authorization URL.
|
|
122
|
-
*/
|
|
123
|
-
export declare function getGmailAuthUrl(config: GmailOAuthConfig, state?: string): string;
|
|
124
|
-
/**
|
|
125
|
-
* Start a loopback OAuth server that handles the callback.
|
|
126
|
-
* Auto-closes after handling or after 5 minutes.
|
|
127
|
-
*/
|
|
128
|
-
export declare function startGmailOAuth(supabase: SupabaseClient, config: GmailOAuthConfig, organizationId: string, userId: string): void;
|
|
129
|
-
/**
|
|
130
|
-
* Get the current state of the OAuth auth server.
|
|
131
|
-
*/
|
|
132
|
-
export declare function getGmailAuthServerStatus(): GmailAuthServerStatus;
|
|
133
|
-
/**
|
|
134
|
-
* Reset auth server state so a new connect flow can start.
|
|
135
|
-
*/
|
|
136
|
-
export declare function resetGmailAuthServerState(): void;
|
|
137
|
-
/**
|
|
138
|
-
* Exchange authorization code for tokens and store encrypted in DB.
|
|
139
|
-
*/
|
|
140
|
-
export declare function exchangeGmailCode(supabase: SupabaseClient, config: GmailOAuthConfig, code: string, organizationId: string, userId: string): Promise<{
|
|
141
|
-
email: string;
|
|
142
|
-
}>;
|
|
143
|
-
export declare class GmailClient {
|
|
144
|
-
private supabase;
|
|
145
|
-
private accountId;
|
|
146
|
-
private email;
|
|
147
|
-
private tokens;
|
|
148
|
-
constructor(supabase: SupabaseClient, _userId: string, accountId: string, email: string, tokens: GmailTokens);
|
|
149
|
-
getEmail(): string;
|
|
150
|
-
/**
|
|
151
|
-
* Get a valid access token, refreshing if necessary.
|
|
152
|
-
*/
|
|
153
|
-
private getAccessToken;
|
|
154
|
-
/**
|
|
155
|
-
* Refresh the access token using the refresh token.
|
|
156
|
-
*/
|
|
157
|
-
private refreshToken;
|
|
158
|
-
/**
|
|
159
|
-
* Make an authenticated request to the Gmail API.
|
|
160
|
-
*/
|
|
161
|
-
private request;
|
|
162
|
-
/**
|
|
163
|
-
* Send a plain text email.
|
|
164
|
-
*/
|
|
165
|
-
send(to: string, subject: string, body: string, options?: GmailSendOptions): Promise<GmailSendResult>;
|
|
166
|
-
/**
|
|
167
|
-
* Send an HTML email (for transactional/notification emails).
|
|
168
|
-
*/
|
|
169
|
-
sendHtml(to: string, subject: string, html: string, options?: GmailSendOptions): Promise<GmailSendResult>;
|
|
170
|
-
/**
|
|
171
|
-
* Search for messages using Gmail query syntax.
|
|
172
|
-
*/
|
|
173
|
-
search(query: string, maxResults?: number): Promise<GmailSearchResult>;
|
|
174
|
-
/**
|
|
175
|
-
* Read a full message by ID.
|
|
176
|
-
*/
|
|
177
|
-
read(messageId: string): Promise<GmailMessage>;
|
|
178
|
-
/**
|
|
179
|
-
* List attachments from a message.
|
|
180
|
-
*/
|
|
181
|
-
extractAttachments(message: GmailMessage): GmailAttachmentInfo[];
|
|
182
|
-
/**
|
|
183
|
-
* Download an attachment as a Buffer.
|
|
184
|
-
*/
|
|
185
|
-
downloadAttachment(messageId: string, attachmentId: string): Promise<Buffer>;
|
|
186
|
-
/**
|
|
187
|
-
* Get Gmail profile information.
|
|
188
|
-
*/
|
|
189
|
-
getProfile(): Promise<GmailProfile>;
|
|
190
|
-
/**
|
|
191
|
-
* Extract plain text body from a message.
|
|
192
|
-
*/
|
|
193
|
-
extractTextBody(message: GmailMessage): string;
|
|
194
|
-
private buildMimeHeaders;
|
|
195
|
-
private sendRaw;
|
|
196
|
-
}
|
|
197
|
-
/**
|
|
198
|
-
* Add Gmail OAuth routes to an Express router.
|
|
199
|
-
* Requires authenticateToken middleware to be applied before mounting.
|
|
200
|
-
*
|
|
201
|
-
* Routes:
|
|
202
|
-
* - POST /connect — Start OAuth flow (returns auth_url to redirect user to)
|
|
203
|
-
* - GET /callback — Google redirects here after authorization
|
|
204
|
-
* - GET /status — Check connection status
|
|
205
|
-
* - POST /disconnect — Disconnect Gmail account
|
|
206
|
-
*/
|
|
207
|
-
export declare function addGmailOAuthRoutes(router: Router, getSystemDB: () => SupabaseClient, routesConfig?: GmailOAuthRoutesConfig): void;
|
|
208
|
-
//# sourceMappingURL=gmail.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"gmail.d.ts","sourceRoot":"","sources":["../../../src/shared/email/gmail.ts"],"names":[],"mappings":"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"}
|