@happyvertical/email 0.74.8

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.
@@ -0,0 +1,242 @@
1
+ import { Logger } from '@happyvertical/logger';
2
+ export interface EmailMessage {
3
+ id?: string;
4
+ messageId?: string;
5
+ threadId?: string;
6
+ inReplyTo?: string;
7
+ references?: string[];
8
+ from: EmailAddress;
9
+ to: EmailAddress[];
10
+ cc?: EmailAddress[];
11
+ bcc?: EmailAddress[];
12
+ replyTo?: EmailAddress;
13
+ subject: string;
14
+ date?: Date;
15
+ text?: string;
16
+ html?: string;
17
+ attachments?: Attachment[];
18
+ folder?: string;
19
+ labels?: string[];
20
+ flags?: MessageFlag[];
21
+ headers?: Record<string, string | string[]>;
22
+ raw?: string;
23
+ size?: number;
24
+ }
25
+ export interface EmailAddress {
26
+ name?: string;
27
+ address: string;
28
+ }
29
+ export interface Attachment {
30
+ filename?: string;
31
+ contentType: string;
32
+ size: number;
33
+ content?: Buffer;
34
+ contentId?: string;
35
+ contentDisposition?: 'attachment' | 'inline';
36
+ path?: string;
37
+ }
38
+ export type MessageFlag = '\\Seen' | '\\Answered' | '\\Flagged' | '\\Deleted' | '\\Draft' | '\\Recent' | string;
39
+ export interface Folder {
40
+ name: string;
41
+ path: string;
42
+ delimiter: string;
43
+ specialUse?: FolderSpecialUse;
44
+ subscribed?: boolean;
45
+ messageCount?: number;
46
+ unreadCount?: number;
47
+ }
48
+ export type FolderSpecialUse = '\\Inbox' | '\\Sent' | '\\Drafts' | '\\Trash' | '\\Junk' | '\\Archive' | '\\All';
49
+ export interface FolderInfo {
50
+ name: string;
51
+ exists: number;
52
+ recent: number;
53
+ unseen: number;
54
+ uidValidity: number;
55
+ uidNext: number;
56
+ flags: string[];
57
+ permanentFlags: string[];
58
+ }
59
+ export interface SendOptions {
60
+ envelope?: {
61
+ from?: string;
62
+ to?: string | string[];
63
+ };
64
+ encoding?: string;
65
+ textEncoding?: 'quoted-printable' | 'base64';
66
+ headers?: Record<string, string | string[]>;
67
+ messageId?: string;
68
+ date?: Date;
69
+ dsn?: {
70
+ notify?: 'never' | 'success' | 'failure' | 'delay';
71
+ ret?: 'full' | 'hdrs';
72
+ };
73
+ priority?: 'high' | 'normal' | 'low';
74
+ }
75
+ export interface FetchOptions {
76
+ folder?: string;
77
+ labelIds?: string[];
78
+ messageIds?: string[];
79
+ limit?: number;
80
+ offset?: number;
81
+ unreadOnly?: boolean;
82
+ since?: Date;
83
+ before?: Date;
84
+ bodyParts?: string[];
85
+ markSeen?: boolean;
86
+ q?: string;
87
+ maxResults?: number;
88
+ }
89
+ export interface SearchCriteria {
90
+ from?: string;
91
+ to?: string;
92
+ subject?: string;
93
+ body?: string;
94
+ since?: Date;
95
+ before?: Date;
96
+ sentSince?: Date;
97
+ sentBefore?: Date;
98
+ unread?: boolean;
99
+ flagged?: boolean;
100
+ answered?: boolean;
101
+ draft?: boolean;
102
+ deleted?: boolean;
103
+ larger?: number;
104
+ smaller?: number;
105
+ header?: Record<string, string>;
106
+ q?: string;
107
+ }
108
+ export interface SendResult {
109
+ messageId: string;
110
+ accepted: string[];
111
+ rejected: string[];
112
+ response: string;
113
+ }
114
+ /**
115
+ * Core email client interface for protocol operations.
116
+ *
117
+ * This interface defines low-level email operations without database persistence.
118
+ * For database sync and AI features, use @happyvertical/smrt-messages.
119
+ */
120
+ export interface EmailClient {
121
+ send(message: EmailMessage, options?: SendOptions): Promise<SendResult>;
122
+ fetch(options?: FetchOptions): Promise<EmailMessage[]>;
123
+ getMessage(messageId: string): Promise<EmailMessage>;
124
+ listFolders(): Promise<Folder[]>;
125
+ selectFolder(name: string): Promise<FolderInfo>;
126
+ createFolder(name: string): Promise<void>;
127
+ deleteFolder(name: string): Promise<void>;
128
+ markRead(messageId: string | string[]): Promise<void>;
129
+ markUnread(messageId: string | string[]): Promise<void>;
130
+ move(messageId: string | string[], folder: string): Promise<void>;
131
+ copy(messageId: string | string[], folder: string): Promise<void>;
132
+ delete(messageId: string | string[]): Promise<void>;
133
+ search(criteria: SearchCriteria): Promise<EmailMessage[]>;
134
+ connect(): Promise<void>;
135
+ disconnect(): Promise<void>;
136
+ isConnected(): boolean;
137
+ getCapabilities(): Promise<EmailClientCapabilities>;
138
+ getAdapter(): AdapterType;
139
+ }
140
+ export interface EmailClientCapabilities {
141
+ send: boolean;
142
+ receive: boolean;
143
+ folders: boolean;
144
+ search: boolean;
145
+ markRead: boolean;
146
+ move: boolean;
147
+ delete: boolean;
148
+ threads: boolean;
149
+ oauth: boolean;
150
+ }
151
+ export type AdapterType = 'smtp' | 'imap' | 'pop3' | 'gmail';
152
+ export interface SMTPOptions {
153
+ type: 'smtp';
154
+ host: string;
155
+ port: number;
156
+ secure?: boolean;
157
+ auth?: {
158
+ user: string;
159
+ pass: string;
160
+ } | {
161
+ type: 'OAuth2';
162
+ user: string;
163
+ clientId: string;
164
+ clientSecret: string;
165
+ refreshToken: string;
166
+ accessToken?: string;
167
+ };
168
+ tls?: {
169
+ rejectUnauthorized?: boolean;
170
+ minVersion?: string;
171
+ };
172
+ connectionTimeout?: number;
173
+ greetingTimeout?: number;
174
+ socketTimeout?: number;
175
+ pool?: boolean;
176
+ maxConnections?: number;
177
+ maxMessages?: number;
178
+ debug?: boolean;
179
+ }
180
+ export interface IMAPOptions {
181
+ type: 'imap';
182
+ host: string;
183
+ port: number;
184
+ secure?: boolean;
185
+ auth: {
186
+ user: string;
187
+ pass: string;
188
+ } | {
189
+ type: 'OAuth2';
190
+ user: string;
191
+ accessToken: string;
192
+ };
193
+ tls?: {
194
+ rejectUnauthorized?: boolean;
195
+ minVersion?: string;
196
+ };
197
+ connectionTimeout?: number;
198
+ greetingTimeout?: number;
199
+ fetchOptions?: {
200
+ bodyParts?: string[];
201
+ markSeen?: boolean;
202
+ };
203
+ debug?: boolean;
204
+ }
205
+ export interface POP3Options {
206
+ type: 'pop3';
207
+ host: string;
208
+ port: number;
209
+ secure?: boolean;
210
+ auth: {
211
+ user: string;
212
+ pass: string;
213
+ };
214
+ tls?: {
215
+ rejectUnauthorized?: boolean;
216
+ };
217
+ connectionTimeout?: number;
218
+ leaveOnServer?: boolean;
219
+ debug?: boolean;
220
+ }
221
+ export interface GmailOptions {
222
+ type: 'gmail';
223
+ auth: {
224
+ clientId: string;
225
+ clientSecret: string;
226
+ refreshToken: string;
227
+ accessToken?: string;
228
+ };
229
+ userId?: string;
230
+ debug?: boolean;
231
+ }
232
+ export type GetEmailClientOptions = SMTPOptions | IMAPOptions | POP3Options | GmailOptions;
233
+ export interface EmailClientConfig {
234
+ type: AdapterType;
235
+ debug?: boolean;
236
+ logger?: Logger;
237
+ }
238
+ export interface EmailClientOptions {
239
+ type: AdapterType;
240
+ debug?: boolean;
241
+ }
242
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":"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"}
package/metadata.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@happyvertical/email",
3
+ "path": "packages/email",
4
+ "position": {
5
+ "index": 9,
6
+ "count": 30
7
+ },
8
+ "description": "Low-level email protocol operations with adapter-based architecture",
9
+ "provides": [
10
+ "Low-level email protocol operations with adapter-based architecture"
11
+ ],
12
+ "implements": [],
13
+ "requires": {
14
+ "workspace": [
15
+ "@happyvertical/logger",
16
+ "@happyvertical/utils"
17
+ ],
18
+ "externalHappyVertical": [],
19
+ "external": [
20
+ "google-auth-library",
21
+ "googleapis",
22
+ "imapflow",
23
+ "mailparser",
24
+ "node-pop3",
25
+ "nodemailer"
26
+ ]
27
+ },
28
+ "dependents": [
29
+ "@happyvertical/messages"
30
+ ],
31
+ "stability": {
32
+ "level": "stable",
33
+ "reason": "Primary package surface is described as implemented and production-oriented."
34
+ },
35
+ "keywords": [
36
+ "email"
37
+ ]
38
+ }
package/package.json ADDED
@@ -0,0 +1,76 @@
1
+ {
2
+ "name": "@happyvertical/email",
3
+ "version": "0.74.8",
4
+ "description": "Low-level email protocol operations with adapter-based architecture",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "bin": {
16
+ "have-email-context": "./dist/cli/claude-context.js"
17
+ },
18
+ "files": [
19
+ "dist",
20
+ "README.md",
21
+ "LICENSE",
22
+ "AGENT.md",
23
+ "metadata.json"
24
+ ],
25
+ "publishConfig": {
26
+ "registry": "https://registry.npmjs.org",
27
+ "access": "public"
28
+ },
29
+ "dependencies": {
30
+ "google-auth-library": "^10.6.2",
31
+ "googleapis": "^170.1.0",
32
+ "imapflow": "^1.3.2",
33
+ "mailparser": "^3.9.8",
34
+ "node-pop3": "^0.11.0",
35
+ "nodemailer": "^7.0.13",
36
+ "@happyvertical/logger": "0.74.8",
37
+ "@happyvertical/utils": "0.74.8"
38
+ },
39
+ "devDependencies": {
40
+ "@types/mailparser": "^3.4.6",
41
+ "@types/node": "25.0.10",
42
+ "@types/nodemailer": "^7.0.11",
43
+ "smtp-server": "^3.18.4",
44
+ "typescript": "^5.9.3",
45
+ "vite": "7.3.2",
46
+ "vite-plugin-dts": "4.5.4",
47
+ "vitest": "^4.1.5"
48
+ },
49
+ "keywords": [
50
+ "email",
51
+ "smtp",
52
+ "imap",
53
+ "pop3",
54
+ "gmail",
55
+ "protocol"
56
+ ],
57
+ "author": "HappyVertical",
58
+ "license": "MIT",
59
+ "repository": {
60
+ "type": "git",
61
+ "url": "https://github.com/happyvertical/sdk.git",
62
+ "directory": "packages/email"
63
+ },
64
+ "bugs": {
65
+ "url": "https://github.com/happyvertical/sdk/issues"
66
+ },
67
+ "homepage": "https://github.com/happyvertical/sdk/tree/main/packages/email#readme",
68
+ "scripts": {
69
+ "build": "vite build",
70
+ "dev": "vite build --watch",
71
+ "test": "vitest run",
72
+ "test:watch": "vitest",
73
+ "typecheck": "tsc --noEmit",
74
+ "clean": "rm -rf dist"
75
+ }
76
+ }