@smcllns/gmail 0.4.0 → 0.5.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 CHANGED
@@ -180,51 +180,43 @@ DATA STORAGE
180
180
  ~/.gmail-cli/attachments/ Downloaded attachments
181
181
  ```
182
182
 
183
- ## How to use with Claude Code
183
+ ## Programmatic Usage
184
184
 
185
- Here's an abbreviated example of how I use this with Claude Code:
185
+ ### GmailService
186
186
 
187
- ### 1. Create a `gmail` skill
187
+ ```typescript
188
+ import { GmailService } from '@smcllns/gmail';
188
189
 
189
- Show Claude how to use the CLI (independent of your specific preferences). The full content is similar to this README. Abbreviated:
190
+ const gmail = new GmailService();
191
+ const thread = await gmail.getThread('you@gmail.com', 'threadId123');
192
+ ```
190
193
 
191
- ```yaml
192
- # .claude/skills/gmail/SKILL.md
193
- ---
194
- name: gmail
195
- description: Fetches and manages Gmail using @smcllns/gmail. Use when the user asks about their email, wants an email summary, or needs to search/read/archive messages.
196
- allowed-tools: Bash(bunx @smcllns/gmail:*)
197
- ---
198
- # ...
194
+ Note: `getThread()` normalizes Google API responses, converting `null` values to `undefined`.
199
195
 
200
- # Fetch first 25 unread messages in inbox
201
- bunx @smcllns/gmail search "in:inbox is:unread" --max 25
196
+ ### MockGmailService
202
197
 
203
- # ...
204
- ```
198
+ A mock implementation for testing code that depends on GmailService:
205
199
 
206
- ### 2. Create an `/email` command
200
+ ```typescript
201
+ import { MockGmailService } from '@smcllns/gmail/testing';
207
202
 
208
- This contains all my subjective instructions and preferences for how to organize my inbox and what I want done. An abbreviated version:
203
+ const mock = new MockGmailService();
209
204
 
210
- ```yaml
211
- # .claude/commands/email.md
212
- ---
213
- description: Read recent emails, organize into categories and write email reports to Obsidian
214
- allowed-tools: Skill(gmail)
215
- ---
216
- You are an executive assistant. Your task is to process email so it is efficient to review and take action.
205
+ // Configure test data
206
+ mock.setThread('thread123', { id: 'thread123', historyId: '1', messages: [] });
207
+ mock.setSearchResults('in:inbox', { threads: [] });
208
+ mock.setLabels([{ id: 'Label_1', name: 'Work', type: 'user' }]);
217
209
 
218
- Every email gets exactly one category
210
+ // Simulate errors
211
+ mock.setError('getThread', new Error('API Error'));
212
+ mock.setError('searchThreads', new Error('Rate limited'), true); // once only
219
213
 
220
- | Category | What belongs here |
221
- |----------|-------------------|
222
- | ⚠️ **Action** | Decision needed or response required |
223
- | 📅 **Calendar** | Appointments, RSVPs, event reminders |
224
- | 📦 **Packages** | Shipping, returns, food delivery |
214
+ // Inspect calls after test
215
+ expect(mock.calls.searchThreads).toHaveLength(1);
216
+ expect(mock.calls.searchThreads[0].args[1]).toBe('in:inbox');
225
217
 
226
- What to elevate to my inbox for attention (everything else skips inbox)
227
- - ...
218
+ // Reset between tests
219
+ mock.reset();
228
220
  ```
229
221
 
230
222
  ## License
@@ -7,6 +7,12 @@ export declare function validateLabelColor(color: string, name: string): void;
7
7
  export declare function decodeBase64Url(data: string): string;
8
8
  export declare function decodeHtmlEntities(text: string): string;
9
9
  export declare function stripHtml(html: string): string;
10
+ /**
11
+ * Recursively converts null values to undefined in an object.
12
+ * This normalizes Google API responses (which use null for absent values)
13
+ * to TypeScript conventions (which use undefined).
14
+ */
15
+ export declare function normalizeNulls<T>(obj: T): T;
10
16
  type MessagePayload = {
11
17
  body?: {
12
18
  data?: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"gmail-service.d.ts","sourceRoot":"","sources":["../src/gmail-service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAU,MAAM,YAAY,CAAC;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC;AAC1C,KAAK,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC;AAE5C,eAAO,MAAM,kBAAkB,aAc7B,CAAC;AAEH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAKpE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9C;AAED,KAAK,cAAc,GAAG;IACrB,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,GAAG,MAAM,CA4BrE;AAED,MAAM,WAAW,kBAAkB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,yBAAyB,CAAC,GAAG,EAAE;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAE,GAAG,kBAAkB,EAAE,CAqBjG;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAEzF;AAED,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,KAAK,CAAC;YACf,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;YAClB,YAAY,EAAE,MAAM,CAAC;YACrB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;YACzB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;YACvB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;YAC5B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;YACzB,cAAc,EAAE,OAAO,CAAC;SACxB,CAAC,CAAC;KACH,CAAC,CAAC;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,WAAW,EAAE,kBAAkB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACpD,MAAM,EAAE,oBAAoB,CAAC;CAC7B;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC;IACpE,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,qBAAa,YAAY;IACxB,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,YAAY,CAA+B;IAE7C,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3G,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAKrC,YAAY,IAAI,YAAY,EAAE;IAI9B,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAI5D,cAAc,IAAI;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAInE,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAItC,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC,mBAAmB,IAAI,IAAI;IAI3B,OAAO,CAAC,cAAc;IAyBhB,aAAa,CAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,UAAU,SAAK,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAwCxB,SAAS,CACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,mBAAmB,UAAQ,GACzB,OAAO,CAAC,cAAc,GAAG,oBAAoB,EAAE,CAAC;IAuF7C,mBAAmB,CACxB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,GAC/E,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAmDhC,YAAY,CACjB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,GAAE,MAAM,EAAO,EACxB,YAAY,GAAE,MAAM,EAAO,GACzB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA6B5B,UAAU,CACf,KAAK,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAYrG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAW3G,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE;IAIpE,WAAW,CAChB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QACR,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;KACpB,GACJ,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC9F,WAAW,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;KACzB,GACC,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC9F,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA2DnG,OAAO,CAAC,cAAc;CAItB"}
1
+ {"version":3,"file":"gmail-service.d.ts","sourceRoot":"","sources":["../src/gmail-service.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,27 @@ export function stripHtml(html) {
50
50
  .replace(/\s+/g, " ")
51
51
  .trim());
52
52
  }
53
+ /**
54
+ * Recursively converts null values to undefined in an object.
55
+ * This normalizes Google API responses (which use null for absent values)
56
+ * to TypeScript conventions (which use undefined).
57
+ */
58
+ export function normalizeNulls(obj) {
59
+ if (obj === null) {
60
+ return undefined;
61
+ }
62
+ if (Array.isArray(obj)) {
63
+ return obj.map((item) => normalizeNulls(item));
64
+ }
65
+ if (typeof obj === "object" && obj !== null) {
66
+ const result = {};
67
+ for (const [key, value] of Object.entries(obj)) {
68
+ result[key] = normalizeNulls(value);
69
+ }
70
+ return result;
71
+ }
72
+ return obj;
73
+ }
53
74
  export function extractBody(msg) {
54
75
  if (!msg.payload)
55
76
  return "";
@@ -189,7 +210,7 @@ export class GmailService {
189
210
  hasAttachments: msg.payload?.parts?.some((part) => part.filename) || false,
190
211
  })),
191
212
  })),
192
- nextPageToken: response.data.nextPageToken,
213
+ nextPageToken: response.data.nextPageToken ?? undefined,
193
214
  };
194
215
  }
195
216
  async getThread(email, threadId, downloadAttachments = false) {
@@ -216,10 +237,10 @@ export class GmailService {
216
237
  attachments: extractAttachmentMetadata(msg),
217
238
  },
218
239
  }));
219
- return {
240
+ return normalizeNulls({
220
241
  ...thread,
221
242
  messages: enhancedMessages,
222
- };
243
+ });
223
244
  }
224
245
  const attachmentsToDownload = [];
225
246
  for (const message of thread.messages || []) {
@@ -1 +1 @@
1
- {"version":3,"file":"gmail-service.js","sourceRoot":"","sources":["../src/gmail-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmail-service.js","sourceRoot":"","sources":["../src/gmail-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import type { ThreadSearchResult, EnhancedThread, DownloadedAttachment, LabelOperationResult } from "./gmail-service.js";
2
+ export interface MockLabel {
3
+ id: string;
4
+ name: string;
5
+ type: string;
6
+ textColor?: string;
7
+ backgroundColor?: string;
8
+ }
9
+ export interface MockCallRecord<T = unknown[]> {
10
+ args: T;
11
+ timestamp: number;
12
+ }
13
+ export interface MockGmailServiceCalls {
14
+ searchThreads: MockCallRecord<[string, string, number?, string?, string[]?]>[];
15
+ getThread: MockCallRecord<[string, string, boolean?]>[];
16
+ modifyLabels: MockCallRecord<[string, string[], string[], string[]]>[];
17
+ listLabels: MockCallRecord<[string]>[];
18
+ createLabel: MockCallRecord<[string, string, {
19
+ showInList?: boolean;
20
+ showInMessageList?: boolean;
21
+ textColor?: string;
22
+ backgroundColor?: string;
23
+ }?]>[];
24
+ updateLabel: MockCallRecord<[string, string, {
25
+ name?: string;
26
+ textColor?: string;
27
+ backgroundColor?: string;
28
+ }]>[];
29
+ getLabelMap: MockCallRecord<[string]>[];
30
+ }
31
+ export interface MockError {
32
+ method: keyof MockGmailServiceCalls;
33
+ error: Error;
34
+ once?: boolean;
35
+ }
36
+ /**
37
+ * A mock implementation of GmailService for testing purposes.
38
+ * Allows setting fake data, tracking method calls, and simulating errors.
39
+ */
40
+ export declare class MockGmailService {
41
+ private threads;
42
+ private searchResults;
43
+ private labels;
44
+ private errors;
45
+ private nextLabelId;
46
+ calls: MockGmailServiceCalls;
47
+ /**
48
+ * Set a thread that will be returned by getThread().
49
+ */
50
+ setThread(threadId: string, thread: EnhancedThread): void;
51
+ /**
52
+ * Set multiple threads at once.
53
+ */
54
+ setThreads(threads: EnhancedThread[]): void;
55
+ /**
56
+ * Set search results for a specific query.
57
+ * If query is "*", it will be used as the default for any unmatched query.
58
+ */
59
+ setSearchResults(query: string, results: ThreadSearchResult): void;
60
+ /**
61
+ * Set the labels that will be returned by listLabels().
62
+ */
63
+ setLabels(labels: MockLabel[]): void;
64
+ /**
65
+ * Configure an error to be thrown when a method is called.
66
+ * If once is true, the error will only be thrown once.
67
+ */
68
+ setError(method: keyof MockGmailServiceCalls, error: Error, once?: boolean): void;
69
+ /**
70
+ * Clear all configured errors.
71
+ */
72
+ clearErrors(): void;
73
+ /**
74
+ * Clear error for a specific method.
75
+ */
76
+ clearError(method: keyof MockGmailServiceCalls): void;
77
+ /**
78
+ * Reset all mock state: threads, labels, errors, and call records.
79
+ */
80
+ reset(): void;
81
+ private checkError;
82
+ private recordCall;
83
+ searchThreads(email: string, query: string, maxResults?: number, pageToken?: string, labelIds?: string[]): Promise<ThreadSearchResult>;
84
+ getThread(email: string, threadId: string, downloadAttachments?: boolean): Promise<EnhancedThread | DownloadedAttachment[]>;
85
+ modifyLabels(email: string, threadIds: string[], addLabels?: string[], removeLabels?: string[]): Promise<LabelOperationResult[]>;
86
+ listLabels(email: string): Promise<Array<{
87
+ id: string;
88
+ name: string;
89
+ type: string;
90
+ textColor?: string;
91
+ backgroundColor?: string;
92
+ }>>;
93
+ createLabel(email: string, name: string, options?: {
94
+ showInList?: boolean;
95
+ showInMessageList?: boolean;
96
+ textColor?: string;
97
+ backgroundColor?: string;
98
+ }): Promise<{
99
+ id: string;
100
+ name: string;
101
+ type: string;
102
+ textColor?: string;
103
+ backgroundColor?: string;
104
+ }>;
105
+ updateLabel(email: string, labelId: string, options: {
106
+ name?: string;
107
+ textColor?: string;
108
+ backgroundColor?: string;
109
+ }): Promise<{
110
+ id: string;
111
+ name: string;
112
+ type: string;
113
+ textColor?: string;
114
+ backgroundColor?: string;
115
+ }>;
116
+ getLabelMap(email: string): Promise<{
117
+ idToName: Map<string, string>;
118
+ nameToId: Map<string, string>;
119
+ }>;
120
+ resolveLabelIds(labels: string[], nameToId: Map<string, string>): string[];
121
+ }
122
+ //# sourceMappingURL=mock-gmail-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-gmail-service.d.ts","sourceRoot":"","sources":["../src/mock-gmail-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * A mock implementation of GmailService for testing purposes.
3
+ * Allows setting fake data, tracking method calls, and simulating errors.
4
+ */
5
+ export class MockGmailService {
6
+ threads = new Map();
7
+ searchResults = new Map();
8
+ labels = [];
9
+ errors = [];
10
+ nextLabelId = 1;
11
+ calls = {
12
+ searchThreads: [],
13
+ getThread: [],
14
+ modifyLabels: [],
15
+ listLabels: [],
16
+ createLabel: [],
17
+ updateLabel: [],
18
+ getLabelMap: [],
19
+ };
20
+ // --- Configuration Methods ---
21
+ /**
22
+ * Set a thread that will be returned by getThread().
23
+ */
24
+ setThread(threadId, thread) {
25
+ this.threads.set(threadId, thread);
26
+ }
27
+ /**
28
+ * Set multiple threads at once.
29
+ */
30
+ setThreads(threads) {
31
+ for (const thread of threads) {
32
+ if (thread.id) {
33
+ this.threads.set(thread.id, thread);
34
+ }
35
+ }
36
+ }
37
+ /**
38
+ * Set search results for a specific query.
39
+ * If query is "*", it will be used as the default for any unmatched query.
40
+ */
41
+ setSearchResults(query, results) {
42
+ this.searchResults.set(query, results);
43
+ }
44
+ /**
45
+ * Set the labels that will be returned by listLabels().
46
+ */
47
+ setLabels(labels) {
48
+ this.labels = [...labels];
49
+ }
50
+ /**
51
+ * Configure an error to be thrown when a method is called.
52
+ * If once is true, the error will only be thrown once.
53
+ */
54
+ setError(method, error, once = false) {
55
+ this.errors.push({ method, error, once });
56
+ }
57
+ /**
58
+ * Clear all configured errors.
59
+ */
60
+ clearErrors() {
61
+ this.errors = [];
62
+ }
63
+ /**
64
+ * Clear error for a specific method.
65
+ */
66
+ clearError(method) {
67
+ this.errors = this.errors.filter((e) => e.method !== method);
68
+ }
69
+ /**
70
+ * Reset all mock state: threads, labels, errors, and call records.
71
+ */
72
+ reset() {
73
+ this.threads.clear();
74
+ this.searchResults.clear();
75
+ this.labels = [];
76
+ this.errors = [];
77
+ this.nextLabelId = 1;
78
+ this.calls = {
79
+ searchThreads: [],
80
+ getThread: [],
81
+ modifyLabels: [],
82
+ listLabels: [],
83
+ createLabel: [],
84
+ updateLabel: [],
85
+ getLabelMap: [],
86
+ };
87
+ }
88
+ // --- Private Helpers ---
89
+ checkError(method) {
90
+ const errorIndex = this.errors.findIndex((e) => e.method === method);
91
+ if (errorIndex !== -1) {
92
+ const { error, once } = this.errors[errorIndex];
93
+ if (once) {
94
+ this.errors.splice(errorIndex, 1);
95
+ }
96
+ throw error;
97
+ }
98
+ }
99
+ recordCall(method, args) {
100
+ this.calls[method].push({
101
+ args,
102
+ timestamp: Date.now(),
103
+ });
104
+ }
105
+ // --- Mock GmailService Methods ---
106
+ async searchThreads(email, query, maxResults = 10, pageToken, labelIds) {
107
+ this.recordCall("searchThreads", [email, query, maxResults, pageToken, labelIds]);
108
+ this.checkError("searchThreads");
109
+ // Check for exact query match first, then fall back to "*" default
110
+ const results = this.searchResults.get(query) ?? this.searchResults.get("*");
111
+ if (results) {
112
+ // Apply maxResults limit
113
+ const limitedThreads = results.threads.slice(0, maxResults);
114
+ return {
115
+ threads: limitedThreads,
116
+ nextPageToken: results.nextPageToken,
117
+ };
118
+ }
119
+ return { threads: [] };
120
+ }
121
+ async getThread(email, threadId, downloadAttachments = false) {
122
+ this.recordCall("getThread", [email, threadId, downloadAttachments]);
123
+ this.checkError("getThread");
124
+ const thread = this.threads.get(threadId);
125
+ if (!thread) {
126
+ throw new Error(`Thread not found: ${threadId}`);
127
+ }
128
+ if (downloadAttachments) {
129
+ // Return mock downloaded attachments based on attachment metadata in thread
130
+ const downloads = [];
131
+ for (const message of thread.messages || []) {
132
+ if (message.parsed?.attachments) {
133
+ for (const att of message.parsed.attachments) {
134
+ downloads.push({
135
+ messageId: message.id || "",
136
+ filename: att.filename,
137
+ path: `/mock/attachments/${att.filename}`,
138
+ size: att.size,
139
+ mimeType: att.mimeType,
140
+ cached: false,
141
+ });
142
+ }
143
+ }
144
+ }
145
+ return downloads;
146
+ }
147
+ return thread;
148
+ }
149
+ async modifyLabels(email, threadIds, addLabels = [], removeLabels = []) {
150
+ this.recordCall("modifyLabels", [email, threadIds, addLabels, removeLabels]);
151
+ this.checkError("modifyLabels");
152
+ return threadIds.map((threadId) => {
153
+ const thread = this.threads.get(threadId);
154
+ if (!thread) {
155
+ return { threadId, success: false, error: `Thread not found: ${threadId}` };
156
+ }
157
+ // Update labels on all messages in the thread
158
+ if (thread.messages) {
159
+ for (const message of thread.messages) {
160
+ const currentLabels = new Set(message.labelIds || []);
161
+ for (const label of addLabels) {
162
+ currentLabels.add(label);
163
+ }
164
+ for (const label of removeLabels) {
165
+ currentLabels.delete(label);
166
+ }
167
+ message.labelIds = Array.from(currentLabels);
168
+ }
169
+ }
170
+ return { threadId, success: true };
171
+ });
172
+ }
173
+ async listLabels(email) {
174
+ this.recordCall("listLabels", [email]);
175
+ this.checkError("listLabels");
176
+ return this.labels.map((l) => ({
177
+ id: l.id,
178
+ name: l.name,
179
+ type: l.type,
180
+ textColor: l.textColor,
181
+ backgroundColor: l.backgroundColor,
182
+ }));
183
+ }
184
+ async createLabel(email, name, options = {}) {
185
+ this.recordCall("createLabel", [email, name, options]);
186
+ this.checkError("createLabel");
187
+ const newLabel = {
188
+ id: `Label_${this.nextLabelId++}`,
189
+ name,
190
+ type: "user",
191
+ textColor: options.textColor,
192
+ backgroundColor: options.backgroundColor,
193
+ };
194
+ this.labels.push(newLabel);
195
+ return {
196
+ id: newLabel.id,
197
+ name: newLabel.name,
198
+ type: newLabel.type,
199
+ textColor: newLabel.textColor,
200
+ backgroundColor: newLabel.backgroundColor,
201
+ };
202
+ }
203
+ async updateLabel(email, labelId, options) {
204
+ this.recordCall("updateLabel", [email, labelId, options]);
205
+ this.checkError("updateLabel");
206
+ const label = this.labels.find((l) => l.id === labelId);
207
+ if (!label) {
208
+ throw new Error(`Label not found: ${labelId}`);
209
+ }
210
+ if (options.name !== undefined) {
211
+ label.name = options.name;
212
+ }
213
+ if (options.textColor !== undefined) {
214
+ label.textColor = options.textColor;
215
+ }
216
+ if (options.backgroundColor !== undefined) {
217
+ label.backgroundColor = options.backgroundColor;
218
+ }
219
+ return {
220
+ id: label.id,
221
+ name: label.name,
222
+ type: label.type,
223
+ textColor: label.textColor,
224
+ backgroundColor: label.backgroundColor,
225
+ };
226
+ }
227
+ async getLabelMap(email) {
228
+ this.recordCall("getLabelMap", [email]);
229
+ this.checkError("getLabelMap");
230
+ const labels = await this.listLabels(email);
231
+ const idToName = new Map();
232
+ const nameToId = new Map();
233
+ for (const l of labels) {
234
+ idToName.set(l.id, l.name);
235
+ nameToId.set(l.name.toLowerCase(), l.id);
236
+ }
237
+ return { idToName, nameToId };
238
+ }
239
+ resolveLabelIds(labels, nameToId) {
240
+ return labels.map((l) => nameToId.get(l.toLowerCase()) || l);
241
+ }
242
+ }
243
+ //# sourceMappingURL=mock-gmail-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mock-gmail-service.js","sourceRoot":"","sources":["../src/mock-gmail-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smcllns/gmail",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "Minimal Gmail CLI with restricted scopes for Claude Code and other agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -8,6 +8,16 @@
8
8
  },
9
9
  "main": "./dist/gmail-service.js",
10
10
  "types": "./dist/gmail-service.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "types": "./dist/gmail-service.d.ts",
14
+ "default": "./dist/gmail-service.js"
15
+ },
16
+ "./testing": {
17
+ "types": "./dist/mock-gmail-service.d.ts",
18
+ "default": "./dist/mock-gmail-service.js"
19
+ }
20
+ },
11
21
  "files": [
12
22
  "dist"
13
23
  ],