agentmail-toolkit 0.1.29 → 0.1.31

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.
Files changed (57) hide show
  1. package/dist/ai-sdk.cjs +272 -0
  2. package/dist/ai-sdk.cjs.map +1 -0
  3. package/dist/ai-sdk.d.cts +10 -0
  4. package/dist/ai-sdk.d.mts +1 -1
  5. package/dist/ai-sdk.d.ts +1 -1
  6. package/dist/ai-sdk.js +10 -242
  7. package/dist/ai-sdk.js.map +1 -1
  8. package/dist/ai-sdk.mjs +3 -3
  9. package/dist/ai-sdk.mjs.map +1 -1
  10. package/dist/chunk-4RMN5TYL.js +225 -0
  11. package/dist/chunk-4RMN5TYL.js.map +1 -0
  12. package/dist/chunk-67YFXNRI.js +225 -0
  13. package/dist/chunk-67YFXNRI.js.map +1 -0
  14. package/dist/chunk-C26Y3CI4.js +14 -0
  15. package/dist/chunk-C26Y3CI4.js.map +1 -0
  16. package/dist/chunk-F4J6RGW4.mjs +231 -0
  17. package/dist/chunk-F4J6RGW4.mjs.map +1 -0
  18. package/dist/chunk-J3WQCRO3.mjs +226 -0
  19. package/dist/chunk-J3WQCRO3.mjs.map +1 -0
  20. package/dist/chunk-SSOWB3VC.js +225 -0
  21. package/dist/chunk-SSOWB3VC.js.map +1 -0
  22. package/dist/index.cjs +260 -0
  23. package/dist/index.cjs.map +1 -0
  24. package/dist/index.d.cts +20 -0
  25. package/dist/index.d.mts +4 -4
  26. package/dist/index.d.ts +5 -5
  27. package/dist/index.js +7 -239
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +3 -3
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/langchain.cjs +270 -0
  32. package/dist/langchain.cjs.map +1 -0
  33. package/dist/langchain.d.cts +10 -0
  34. package/dist/langchain.d.mts +1 -1
  35. package/dist/langchain.d.ts +1 -1
  36. package/dist/langchain.js +11 -240
  37. package/dist/langchain.js.map +1 -1
  38. package/dist/langchain.mjs +3 -3
  39. package/dist/langchain.mjs.map +1 -1
  40. package/dist/mcp.cjs +273 -0
  41. package/dist/mcp.cjs.map +1 -0
  42. package/dist/mcp.d.cts +16 -0
  43. package/dist/mcp.d.mts +1 -1
  44. package/dist/mcp.d.ts +5 -5
  45. package/dist/mcp.js +10 -239
  46. package/dist/mcp.js.map +1 -1
  47. package/dist/mcp.mjs +3 -3
  48. package/dist/mcp.mjs.map +1 -1
  49. package/dist/toolkit--KYFOIry.d.cts +26 -0
  50. package/dist/toolkit--KYFOIry.d.ts +26 -0
  51. package/dist/toolkit-BkuqrcT_.d.mts +29 -0
  52. package/dist/toolkit-BkuqrcT_.d.ts +29 -0
  53. package/dist/toolkit-DZBT1-DW.d.cts +26 -0
  54. package/dist/toolkit-DZBT1-DW.d.ts +26 -0
  55. package/dist/toolkit-DZJYuMdN.d.mts +33 -0
  56. package/dist/toolkit-DZJYuMdN.d.ts +33 -0
  57. package/package.json +19 -16
package/dist/langchain.js CHANGED
@@ -1,251 +1,22 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/langchain.ts
21
- var langchain_exports = {};
22
- __export(langchain_exports, {
23
- AgentMailToolkit: () => AgentMailToolkit
24
- });
25
- module.exports = __toCommonJS(langchain_exports);
26
- var import_tools2 = require("@langchain/core/tools");
27
-
28
- // src/wrapper.ts
29
- var import_agentmail = require("agentmail");
30
- var Wrapper = class {
31
- constructor(client = new import_agentmail.AgentMailClient()) {
32
- this.client = client;
33
- }
34
- async call(method, args) {
35
- const parts = method.split(".");
36
- const methodKey = parts.pop();
37
- if (!methodKey) throw new Error("Method name empty");
38
- let parent = this.client;
39
- for (const part of parts) parent = parent[part];
40
- const { inbox_id, thread_id, message_id, draft_id, attachment_id, ...options } = args;
41
- const methodArgs = [inbox_id, thread_id, message_id, draft_id, attachment_id, options].filter(Boolean);
42
- return await parent[methodKey].call(parent, ...methodArgs);
43
- }
44
- async safeCall(method, args) {
45
- try {
46
- return { isError: false, result: await this.call(method, args) };
47
- } catch (error) {
48
- if (error instanceof Error) return { isError: true, result: error.message };
49
- else return { isError: true, result: "Unknown error" };
50
- }
51
- }
52
- };
53
-
54
- // src/schemas.ts
55
- var import_zod = require("zod");
56
- var ListItemsParams = import_zod.z.object({
57
- limit: import_zod.z.number().optional().describe("Max number of items to return"),
58
- page_token: import_zod.z.string().optional().describe("Page token for pagination")
59
- });
60
- var ListInboxItemsParams = ListItemsParams.extend({
61
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to filter items by"),
62
- ascending: import_zod.z.boolean().optional().describe("Sort items in ascending order")
63
- });
64
- var GetInboxParams = import_zod.z.object({
65
- inbox_id: import_zod.z.string().describe("ID of inbox to get")
66
- });
67
- var CreateInboxParams = import_zod.z.object({
68
- username: import_zod.z.string().optional().describe("Username of inbox to create"),
69
- domain: import_zod.z.string().optional().describe("Domain of inbox to create"),
70
- display_name: import_zod.z.string().optional().describe("Display name of inbox to create")
71
- });
72
- var ListThreadsParams = ListInboxItemsParams.extend({
73
- inbox_id: import_zod.z.string().describe("ID of inbox to list threads from")
74
- });
75
- var GetThreadParams = import_zod.z.object({
76
- thread_id: import_zod.z.string().describe("ID of thread to get")
77
- });
78
- var SendMessageParams = import_zod.z.object({
79
- inbox_id: import_zod.z.string().describe("ID of inbox to send message from"),
80
- to: import_zod.z.array(import_zod.z.string()).describe("Recipients of message"),
81
- cc: import_zod.z.array(import_zod.z.string()).optional().describe("CC recipients of message"),
82
- bcc: import_zod.z.array(import_zod.z.string()).optional().describe("BCC recipients of message"),
83
- subject: import_zod.z.string().optional().describe("Subject of message"),
84
- text: import_zod.z.string().optional().describe("Plain text body of message"),
85
- html: import_zod.z.string().optional().describe("HTML body of message"),
86
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to message")
87
- });
88
- var ReplyToMessageParams = import_zod.z.object({
89
- inbox_id: import_zod.z.string().describe("ID of inbox to reply to message from"),
90
- message_id: import_zod.z.string().describe("ID of message to reply to"),
91
- text: import_zod.z.string().optional().describe("Plain text body of reply"),
92
- html: import_zod.z.string().optional().describe("HTML body of reply"),
93
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to reply")
94
- });
95
- var UpdateMessageParams = import_zod.z.object({
96
- inbox_id: import_zod.z.string().describe("ID of inbox to update message from"),
97
- message_id: import_zod.z.string().describe("ID of message to update"),
98
- add_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to message"),
99
- remove_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to remove from message")
100
- });
101
- var ListDraftsParams = ListInboxItemsParams.extend({
102
- inbox_id: import_zod.z.string().describe("ID of inbox to list drafts from")
103
- });
104
- var GetDraftParams = import_zod.z.object({
105
- inbox_id: import_zod.z.string().describe("ID of inbox to get draft from"),
106
- draft_id: import_zod.z.string().describe("ID of draft to get")
107
- });
108
- var CreateDraftParams = import_zod.z.object({
109
- inbox_id: import_zod.z.string().describe("ID of inbox to create draft from"),
110
- to: import_zod.z.array(import_zod.z.string()).describe("Recipients of draft"),
111
- cc: import_zod.z.array(import_zod.z.string()).optional().describe("CC recipients of draft"),
112
- bcc: import_zod.z.array(import_zod.z.string()).optional().describe("BCC recipients of draft"),
113
- subject: import_zod.z.string().optional().describe("Subject of draft"),
114
- text: import_zod.z.string().optional().describe("Plain text body of draft"),
115
- html: import_zod.z.string().optional().describe("HTML body of draft"),
116
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to draft")
117
- });
118
- var SendDraftParams = import_zod.z.object({
119
- inbox_id: import_zod.z.string().describe("ID of inbox to send draft from"),
120
- draft_id: import_zod.z.string().describe("ID of draft to send"),
121
- add_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to sent message"),
122
- remove_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to remove from sent message")
123
- });
124
-
125
- // src/tools.ts
126
- var tools = [
127
- {
128
- name: "list_inboxes",
129
- method: "inboxes.list",
130
- description: "List inboxes",
131
- schema: ListItemsParams
132
- },
133
- {
134
- name: "get_inbox",
135
- method: "inboxes.get",
136
- description: "Get inbox",
137
- schema: GetInboxParams
138
- },
139
- {
140
- name: "create_inbox",
141
- method: "inboxes.create",
142
- description: "Create inbox",
143
- schema: CreateInboxParams
144
- },
145
- {
146
- name: "list_threads",
147
- method: "inboxes.threads.list",
148
- description: "List threads in inbox",
149
- schema: ListThreadsParams
150
- },
151
- {
152
- name: "list_all_threads",
153
- method: "threads.list",
154
- description: "List threads in all inboxes",
155
- schema: ListInboxItemsParams
156
- },
157
- {
158
- name: "get_thread",
159
- method: "threads.get",
160
- description: "Get thread",
161
- schema: GetThreadParams
162
- },
163
- {
164
- name: "send_message",
165
- method: "inboxes.messages.send",
166
- description: "Send message",
167
- schema: SendMessageParams
168
- },
169
- {
170
- name: "reply_to_message",
171
- method: "inboxes.messages.reply",
172
- description: "Reply to message",
173
- schema: ReplyToMessageParams
174
- },
175
- {
176
- name: "update_message",
177
- method: "inboxes.messages.update",
178
- description: "Update message",
179
- schema: UpdateMessageParams
180
- },
181
- {
182
- name: "list_drafts",
183
- method: "inboxes.drafts.list",
184
- description: "List drafts in inbox",
185
- schema: ListDraftsParams
186
- },
187
- {
188
- name: "list_all_drafts",
189
- method: "drafts.list",
190
- description: "List drafts in all inboxes",
191
- schema: ListInboxItemsParams
192
- },
193
- {
194
- name: "get_draft",
195
- method: "drafts.get",
196
- description: "Get draft",
197
- schema: GetDraftParams
198
- },
199
- {
200
- name: "create_draft",
201
- method: "inboxes.drafts.create",
202
- description: "Create draft",
203
- schema: CreateDraftParams
204
- },
205
- {
206
- name: "send_draft",
207
- method: "inboxes.drafts.send",
208
- description: "Send draft",
209
- schema: SendDraftParams
210
- }
211
- ];
212
-
213
- // src/toolkit.ts
214
- var BaseToolkit = class extends Wrapper {
215
- tools = {};
216
- constructor(client) {
217
- super(client);
218
- this.tools = tools.reduce(
219
- (acc, tool) => {
220
- acc[tool.name] = this.buildTool(tool);
221
- return acc;
222
- },
223
- {}
224
- );
225
- }
226
- };
227
- var ListToolkit = class extends BaseToolkit {
228
- getTools(names) {
229
- if (!names) return Object.values(this.tools);
230
- return names.reduce((acc, name) => {
231
- if (name in this.tools) acc.push(this.tools[name]);
232
- return acc;
233
- }, []);
234
- }
235
- };
1
+ import {
2
+ safeFunc
3
+ } from "./chunk-C26Y3CI4.js";
4
+ import {
5
+ ListToolkit
6
+ } from "./chunk-4RMN5TYL.js";
236
7
 
237
8
  // src/langchain.ts
9
+ import { tool as langchainTool } from "@langchain/core/tools";
238
10
  var AgentMailToolkit = class extends ListToolkit {
239
11
  buildTool(tool) {
240
- return (0, import_tools2.tool)(async (args) => JSON.stringify((await this.safeCall(tool.method, args)).result, null, 2), {
12
+ return langchainTool(async (args) => JSON.stringify((await safeFunc(tool.func, this.client, args)).result, null, 2), {
241
13
  name: tool.name,
242
14
  description: tool.description,
243
- schema: tool.schema
15
+ schema: tool.params_schema
244
16
  });
245
17
  }
246
18
  };
247
- // Annotate the CommonJS export names for ESM import in node:
248
- 0 && (module.exports = {
19
+ export {
249
20
  AgentMailToolkit
250
- });
21
+ };
251
22
  //# sourceMappingURL=langchain.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/langchain.ts","../src/wrapper.ts","../src/schemas.ts","../src/tools.ts","../src/toolkit.ts"],"sourcesContent":["import { type StructuredTool, tool as langchainTool } from '@langchain/core/tools'\n\nimport { ListToolkit } from './toolkit'\nimport { type Tool } from './tools'\n\nexport class AgentMailToolkit extends ListToolkit<StructuredTool> {\n protected buildTool(tool: Tool): StructuredTool {\n return langchainTool(async (args) => JSON.stringify((await this.safeCall(tool.method, args)).result, null, 2), {\n name: tool.name,\n description: tool.description,\n schema: tool.schema,\n })\n }\n}\n","import { AgentMailClient } from 'agentmail'\n\nexport class Wrapper {\n constructor(private readonly client = new AgentMailClient()) {}\n\n public async call(method: string, args: any) {\n const parts = method.split('.')\n const methodKey = parts.pop()\n\n if (!methodKey) throw new Error('Method name empty')\n\n let parent: any = this.client\n for (const part of parts) parent = parent[part]\n\n const { inbox_id, thread_id, message_id, draft_id, attachment_id, ...options } = args\n const methodArgs = [inbox_id, thread_id, message_id, draft_id, attachment_id, options].filter(Boolean)\n\n return await parent[methodKey].call(parent, ...methodArgs)\n }\n\n public async safeCall(method: string, args: any) {\n try {\n return { isError: false, result: await this.call(method, args) }\n } catch (error) {\n if (error instanceof Error) return { isError: true, result: error.message }\n else return { isError: true, result: 'Unknown error' }\n }\n }\n}\n","import { z } from 'zod'\n\nexport const ListItemsParams = z.object({\n limit: z.number().optional().describe('Max number of items to return'),\n page_token: z.string().optional().describe('Page token for pagination'),\n})\n\nexport const ListInboxItemsParams = ListItemsParams.extend({\n labels: z.array(z.string()).optional().describe('Labels to filter items by'),\n ascending: z.boolean().optional().describe('Sort items in ascending order'),\n})\n\nexport const GetInboxParams = z.object({\n inbox_id: z.string().describe('ID of inbox to get'),\n})\n\nexport const CreateInboxParams = z.object({\n username: z.string().optional().describe('Username of inbox to create'),\n domain: z.string().optional().describe('Domain of inbox to create'),\n display_name: z.string().optional().describe('Display name of inbox to create'),\n})\n\nexport const ListThreadsParams = ListInboxItemsParams.extend({\n inbox_id: z.string().describe('ID of inbox to list threads from'),\n})\n\nexport const GetThreadParams = z.object({\n thread_id: z.string().describe('ID of thread to get'),\n})\n\nexport const SendMessageParams = z.object({\n inbox_id: z.string().describe('ID of inbox to send message from'),\n to: z.array(z.string()).describe('Recipients of message'),\n cc: z.array(z.string()).optional().describe('CC recipients of message'),\n bcc: z.array(z.string()).optional().describe('BCC recipients of message'),\n subject: z.string().optional().describe('Subject of message'),\n text: z.string().optional().describe('Plain text body of message'),\n html: z.string().optional().describe('HTML body of message'),\n labels: z.array(z.string()).optional().describe('Labels to add to message'),\n})\n\nexport const ReplyToMessageParams = z.object({\n inbox_id: z.string().describe('ID of inbox to reply to message from'),\n message_id: z.string().describe('ID of message to reply to'),\n text: z.string().optional().describe('Plain text body of reply'),\n html: z.string().optional().describe('HTML body of reply'),\n labels: z.array(z.string()).optional().describe('Labels to add to reply'),\n})\n\nexport const UpdateMessageParams = z.object({\n inbox_id: z.string().describe('ID of inbox to update message from'),\n message_id: z.string().describe('ID of message to update'),\n add_labels: z.array(z.string()).optional().describe('Labels to add to message'),\n remove_labels: z.array(z.string()).optional().describe('Labels to remove from message'),\n})\n\nexport const ListDraftsParams = ListInboxItemsParams.extend({\n inbox_id: z.string().describe('ID of inbox to list drafts from'),\n})\n\nexport const GetDraftParams = z.object({\n inbox_id: z.string().describe('ID of inbox to get draft from'),\n draft_id: z.string().describe('ID of draft to get'),\n})\n\nexport const CreateDraftParams = z.object({\n inbox_id: z.string().describe('ID of inbox to create draft from'),\n to: z.array(z.string()).describe('Recipients of draft'),\n cc: z.array(z.string()).optional().describe('CC recipients of draft'),\n bcc: z.array(z.string()).optional().describe('BCC recipients of draft'),\n subject: z.string().optional().describe('Subject of draft'),\n text: z.string().optional().describe('Plain text body of draft'),\n html: z.string().optional().describe('HTML body of draft'),\n labels: z.array(z.string()).optional().describe('Labels to add to draft'),\n})\n\nexport const SendDraftParams = z.object({\n inbox_id: z.string().describe('ID of inbox to send draft from'),\n draft_id: z.string().describe('ID of draft to send'),\n add_labels: z.array(z.string()).optional().describe('Labels to add to sent message'),\n remove_labels: z.array(z.string()).optional().describe('Labels to remove from sent message'),\n})\n","import { AnyZodObject } from 'zod'\n\nimport {\n ListItemsParams,\n ListInboxItemsParams,\n GetInboxParams,\n CreateInboxParams,\n ListThreadsParams,\n GetThreadParams,\n SendMessageParams,\n ReplyToMessageParams,\n UpdateMessageParams,\n ListDraftsParams,\n GetDraftParams,\n CreateDraftParams,\n SendDraftParams,\n} from './schemas'\n\nexport interface Tool {\n name: string\n method: string\n description: string\n schema: AnyZodObject\n}\n\nexport const tools: Tool[] = [\n {\n name: 'list_inboxes',\n method: 'inboxes.list',\n description: 'List inboxes',\n schema: ListItemsParams,\n },\n {\n name: 'get_inbox',\n method: 'inboxes.get',\n description: 'Get inbox',\n schema: GetInboxParams,\n },\n {\n name: 'create_inbox',\n method: 'inboxes.create',\n description: 'Create inbox',\n schema: CreateInboxParams,\n },\n {\n name: 'list_threads',\n method: 'inboxes.threads.list',\n description: 'List threads in inbox',\n schema: ListThreadsParams,\n },\n {\n name: 'list_all_threads',\n method: 'threads.list',\n description: 'List threads in all inboxes',\n schema: ListInboxItemsParams,\n },\n {\n name: 'get_thread',\n method: 'threads.get',\n description: 'Get thread',\n schema: GetThreadParams,\n },\n {\n name: 'send_message',\n method: 'inboxes.messages.send',\n description: 'Send message',\n schema: SendMessageParams,\n },\n {\n name: 'reply_to_message',\n method: 'inboxes.messages.reply',\n description: 'Reply to message',\n schema: ReplyToMessageParams,\n },\n {\n name: 'update_message',\n method: 'inboxes.messages.update',\n description: 'Update message',\n schema: UpdateMessageParams,\n },\n {\n name: 'list_drafts',\n method: 'inboxes.drafts.list',\n description: 'List drafts in inbox',\n schema: ListDraftsParams,\n },\n {\n name: 'list_all_drafts',\n method: 'drafts.list',\n description: 'List drafts in all inboxes',\n schema: ListInboxItemsParams,\n },\n {\n name: 'get_draft',\n method: 'drafts.get',\n description: 'Get draft',\n schema: GetDraftParams,\n },\n {\n name: 'create_draft',\n method: 'inboxes.drafts.create',\n description: 'Create draft',\n schema: CreateDraftParams,\n },\n {\n name: 'send_draft',\n method: 'inboxes.drafts.send',\n description: 'Send draft',\n schema: SendDraftParams,\n },\n]\n","import { AgentMailClient } from 'agentmail'\n\nimport { Wrapper } from './wrapper'\nimport { type Tool, tools } from './tools'\n\nexport abstract class BaseToolkit<T> extends Wrapper {\n protected readonly tools: Record<string, T> = {}\n\n constructor(client?: AgentMailClient) {\n super(client)\n\n this.tools = tools.reduce(\n (acc, tool) => {\n acc[tool.name] = this.buildTool(tool)\n return acc\n },\n {} as Record<string, T>\n )\n }\n\n protected abstract buildTool(tool: Tool): T\n}\n\nexport abstract class ListToolkit<T> extends BaseToolkit<T> {\n public getTools(names?: string[]) {\n if (!names) return Object.values(this.tools)\n\n return names.reduce((acc, name) => {\n if (name in this.tools) acc.push(this.tools[name])\n return acc\n }, [] as T[])\n }\n}\n\nexport abstract class MapToolkit<T> extends BaseToolkit<T> {\n public getTools(names?: string[]) {\n if (!names) return this.tools\n\n return names.reduce(\n (acc, name) => {\n if (name in this.tools) acc[name] = this.tools[name]\n return acc\n },\n {} as Record<string, T>\n )\n }\n}\n"],"mappings":"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","names":["import_tools","langchainTool"]}
1
+ {"version":3,"sources":["../src/langchain.ts"],"sourcesContent":["import { type StructuredTool, tool as langchainTool } from '@langchain/core/tools'\n\nimport { ListToolkit } from './toolkit.js'\nimport { type Tool } from './tools.js'\nimport { safeFunc } from './util.js'\n\nexport class AgentMailToolkit extends ListToolkit<StructuredTool> {\n protected buildTool(tool: Tool): StructuredTool {\n return langchainTool(async (args) => JSON.stringify((await safeFunc(tool.func, this.client, args)).result, null, 2), {\n name: tool.name,\n description: tool.description,\n schema: tool.params_schema,\n })\n }\n}\n"],"mappings":";;;;;;;;AAAA,SAA8B,QAAQ,qBAAqB;AAMpD,IAAM,mBAAN,cAA+B,YAA4B;AAAA,EACpD,UAAU,MAA4B;AAC5C,WAAO,cAAc,OAAO,SAAS,KAAK,WAAW,MAAM,SAAS,KAAK,MAAM,KAAK,QAAQ,IAAI,GAAG,QAAQ,MAAM,CAAC,GAAG;AAAA,MACjH,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,IACjB,CAAC;AAAA,EACL;AACJ;","names":[]}
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  ListToolkit
3
- } from "./chunk-NXBM2DQE.mjs";
3
+ } from "./chunk-F4J6RGW4.mjs";
4
4
 
5
5
  // src/langchain.ts
6
6
  import { tool as langchainTool } from "@langchain/core/tools";
7
7
  var AgentMailToolkit = class extends ListToolkit {
8
8
  buildTool(tool) {
9
- return langchainTool(async (args) => JSON.stringify((await this.safeCall(tool.method, args)).result, null, 2), {
9
+ return langchainTool(async (args) => JSON.stringify((await this.safeCall(tool, args)).result, null, 2), {
10
10
  name: tool.name,
11
11
  description: tool.description,
12
- schema: tool.schema
12
+ schema: tool.params_schema
13
13
  });
14
14
  }
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/langchain.ts"],"sourcesContent":["import { type StructuredTool, tool as langchainTool } from '@langchain/core/tools'\n\nimport { ListToolkit } from './toolkit'\nimport { type Tool } from './tools'\n\nexport class AgentMailToolkit extends ListToolkit<StructuredTool> {\n protected buildTool(tool: Tool): StructuredTool {\n return langchainTool(async (args) => JSON.stringify((await this.safeCall(tool.method, args)).result, null, 2), {\n name: tool.name,\n description: tool.description,\n schema: tool.schema,\n })\n }\n}\n"],"mappings":";;;;;AAAA,SAA8B,QAAQ,qBAAqB;AAKpD,IAAM,mBAAN,cAA+B,YAA4B;AAAA,EACpD,UAAU,MAA4B;AAC5C,WAAO,cAAc,OAAO,SAAS,KAAK,WAAW,MAAM,KAAK,SAAS,KAAK,QAAQ,IAAI,GAAG,QAAQ,MAAM,CAAC,GAAG;AAAA,MAC3G,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,IACjB,CAAC;AAAA,EACL;AACJ;","names":[]}
1
+ {"version":3,"sources":["../src/langchain.ts"],"sourcesContent":["import { type StructuredTool, tool as langchainTool } from '@langchain/core/tools'\n\nimport { ListToolkit } from './toolkit'\nimport { type Tool } from './tools'\n\nexport class AgentMailToolkit extends ListToolkit<StructuredTool> {\n protected buildTool(tool: Tool): StructuredTool {\n return langchainTool(async (args) => JSON.stringify((await this.safeCall(tool, args)).result, null, 2), {\n name: tool.name,\n description: tool.description,\n schema: tool.params_schema,\n })\n }\n}\n"],"mappings":";;;;;AAAA,SAA8B,QAAQ,qBAAqB;AAKpD,IAAM,mBAAN,cAA+B,YAA4B;AAAA,EACpD,UAAU,MAA4B;AAC5C,WAAO,cAAc,OAAO,SAAS,KAAK,WAAW,MAAM,KAAK,SAAS,MAAM,IAAI,GAAG,QAAQ,MAAM,CAAC,GAAG;AAAA,MACpG,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,QAAQ,KAAK;AAAA,IACjB,CAAC;AAAA,EACL;AACJ;","names":[]}
package/dist/mcp.cjs ADDED
@@ -0,0 +1,273 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/mcp.ts
31
+ var mcp_exports = {};
32
+ __export(mcp_exports, {
33
+ AgentMailToolkit: () => AgentMailToolkit
34
+ });
35
+ module.exports = __toCommonJS(mcp_exports);
36
+
37
+ // src/toolkit.ts
38
+ var import_agentmail = require("agentmail");
39
+
40
+ // src/schemas.ts
41
+ var import_zod = require("zod");
42
+ var InboxIdSchema = import_zod.z.string().describe("ID of inbox");
43
+ var ThreadIdSchema = import_zod.z.string().describe("ID of thread");
44
+ var MessageIdSchema = import_zod.z.string().describe("ID of message");
45
+ var AttachmentIdSchema = import_zod.z.string().describe("ID of attachment");
46
+ var ListItemsParams = import_zod.z.object({
47
+ limit: import_zod.z.number().optional().default(10).describe("Max number of items to return"),
48
+ page_token: import_zod.z.string().optional().describe("Page token for pagination")
49
+ });
50
+ var GetInboxParams = import_zod.z.object({
51
+ inbox_id: InboxIdSchema
52
+ });
53
+ var CreateInboxParams = import_zod.z.object({
54
+ username: import_zod.z.string().optional().describe("Username"),
55
+ domain: import_zod.z.string().optional().describe("Domain"),
56
+ display_name: import_zod.z.string().optional().describe("Display name")
57
+ });
58
+ var ListInboxItemsParams = ListItemsParams.extend({
59
+ inbox_id: InboxIdSchema,
60
+ labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to filter items by"),
61
+ before: import_zod.z.string().optional().describe("Filter items before datetime"),
62
+ after: import_zod.z.string().optional().describe("Filter items after datetime")
63
+ });
64
+ var GetThreadParams = import_zod.z.object({
65
+ inbox_id: InboxIdSchema,
66
+ thread_id: ThreadIdSchema
67
+ });
68
+ var GetAttachmentParams = import_zod.z.object({
69
+ inbox_id: InboxIdSchema,
70
+ thread_id: ThreadIdSchema,
71
+ attachment_id: AttachmentIdSchema
72
+ });
73
+ var BaseMessageParams = import_zod.z.object({
74
+ inbox_id: InboxIdSchema,
75
+ text: import_zod.z.string().optional().describe("Plain text body"),
76
+ html: import_zod.z.string().optional().describe("HTML body"),
77
+ labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels")
78
+ });
79
+ var SendMessageParams = BaseMessageParams.extend({
80
+ to: import_zod.z.array(import_zod.z.string()).describe("Recipients"),
81
+ cc: import_zod.z.array(import_zod.z.string()).optional().describe("CC recipients"),
82
+ bcc: import_zod.z.array(import_zod.z.string()).optional().describe("BCC recipients"),
83
+ subject: import_zod.z.string().optional().describe("Subject")
84
+ });
85
+ var ReplyToMessageParams = BaseMessageParams.extend({
86
+ message_id: MessageIdSchema
87
+ });
88
+ var UpdateMessageParams = import_zod.z.object({
89
+ inbox_id: InboxIdSchema,
90
+ message_id: MessageIdSchema,
91
+ add_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add"),
92
+ remove_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to remove")
93
+ });
94
+
95
+ // src/functions.ts
96
+ var import_pdf_parse = require("pdf-parse");
97
+ var import_mammoth = __toESM(require("mammoth"), 1);
98
+ var import_file_type = require("file-type");
99
+ async function listInboxes(client, args) {
100
+ return client.inboxes.list(args);
101
+ }
102
+ async function getInbox(client, args) {
103
+ const { inbox_id, ...options } = args;
104
+ return client.inboxes.get(inbox_id, options);
105
+ }
106
+ async function createInbox(client, args) {
107
+ return client.inboxes.create(args);
108
+ }
109
+ async function deleteInbox(client, args) {
110
+ const { inbox_id } = args;
111
+ return client.inboxes.delete(inbox_id);
112
+ }
113
+ async function listThreads(client, args) {
114
+ const { inbox_id, ...options } = args;
115
+ return client.inboxes.threads.list(inbox_id, options);
116
+ }
117
+ async function getThread(client, args) {
118
+ const { inbox_id, thread_id, ...options } = args;
119
+ return client.inboxes.threads.get(inbox_id, thread_id, options);
120
+ }
121
+ async function getAttachment(client, args) {
122
+ const { thread_id, attachment_id } = args;
123
+ const response = await client.threads.getAttachment(thread_id, attachment_id);
124
+ const fileBytes = Buffer.from(await response.arrayBuffer());
125
+ const fileKind = await (0, import_file_type.fileTypeFromBuffer)(fileBytes);
126
+ const fileType = fileKind?.mime;
127
+ let text = void 0;
128
+ if (fileType === "application/pdf") {
129
+ const parser = new import_pdf_parse.PDFParse({ data: fileBytes });
130
+ const pdfData = await parser.getText();
131
+ text = pdfData.text;
132
+ } else if (fileType === "application/vnd.openxmlformats-officedocument.wordprocessingml.document") {
133
+ const result = await import_mammoth.default.extractRawText({ buffer: fileBytes });
134
+ text = result.value;
135
+ } else {
136
+ return {
137
+ error: `Unsupported file type: ${fileType || "unknown"}`,
138
+ file_type: fileType
139
+ };
140
+ }
141
+ return { text, file_type: fileType };
142
+ }
143
+ async function sendMessage(client, args) {
144
+ const { inbox_id, ...options } = args;
145
+ return client.inboxes.messages.send(inbox_id, options);
146
+ }
147
+ async function replyToMessage(client, args) {
148
+ const { inbox_id, message_id, ...options } = args;
149
+ return client.inboxes.messages.reply(inbox_id, message_id, options);
150
+ }
151
+ async function updateMessage(client, args) {
152
+ const { inbox_id, message_id, ...options } = args;
153
+ return client.inboxes.messages.update(inbox_id, message_id, options);
154
+ }
155
+
156
+ // src/tools.ts
157
+ var tools = [
158
+ {
159
+ name: "list_inboxes",
160
+ description: "List inboxes",
161
+ params_schema: ListItemsParams,
162
+ func: listInboxes
163
+ },
164
+ {
165
+ name: "get_inbox",
166
+ description: "Get inbox",
167
+ params_schema: GetInboxParams,
168
+ func: getInbox
169
+ },
170
+ {
171
+ name: "create_inbox",
172
+ description: "Create inbox",
173
+ params_schema: CreateInboxParams,
174
+ func: createInbox
175
+ },
176
+ {
177
+ name: "delete_inbox",
178
+ description: "Delete inbox",
179
+ params_schema: GetInboxParams,
180
+ func: deleteInbox
181
+ },
182
+ {
183
+ name: "list_threads",
184
+ description: "List threads in inbox",
185
+ params_schema: ListInboxItemsParams,
186
+ func: listThreads
187
+ },
188
+ {
189
+ name: "get_thread",
190
+ description: "Get thread",
191
+ params_schema: GetThreadParams,
192
+ func: getThread
193
+ },
194
+ {
195
+ name: "get_attachment",
196
+ description: "Get attachment",
197
+ params_schema: GetAttachmentParams,
198
+ func: getAttachment
199
+ },
200
+ {
201
+ name: "send_message",
202
+ description: "Send message",
203
+ params_schema: SendMessageParams,
204
+ func: sendMessage
205
+ },
206
+ {
207
+ name: "reply_to_message",
208
+ description: "Reply to message",
209
+ params_schema: ReplyToMessageParams,
210
+ func: replyToMessage
211
+ },
212
+ {
213
+ name: "update_message",
214
+ description: "Update message",
215
+ params_schema: UpdateMessageParams,
216
+ func: updateMessage
217
+ }
218
+ ];
219
+
220
+ // src/toolkit.ts
221
+ var BaseToolkit = class {
222
+ client;
223
+ tools = {};
224
+ constructor(client) {
225
+ this.client = client ?? new import_agentmail.AgentMailClient();
226
+ this.tools = tools.reduce(
227
+ (acc, tool) => {
228
+ acc[tool.name] = this.buildTool(tool);
229
+ return acc;
230
+ },
231
+ {}
232
+ );
233
+ }
234
+ };
235
+ var ListToolkit = class extends BaseToolkit {
236
+ getTools(names) {
237
+ if (!names) return Object.values(this.tools);
238
+ return names.reduce((acc, name) => {
239
+ if (name in this.tools) acc.push(this.tools[name]);
240
+ return acc;
241
+ }, []);
242
+ }
243
+ };
244
+
245
+ // src/util.ts
246
+ var safeFunc = async (func, client, args) => {
247
+ try {
248
+ return { isError: false, result: await func(client, args) };
249
+ } catch (error) {
250
+ if (error instanceof Error) return { isError: true, result: error.message };
251
+ else return { isError: true, result: "Unknown error" };
252
+ }
253
+ };
254
+
255
+ // src/mcp.ts
256
+ var AgentMailToolkit = class extends ListToolkit {
257
+ buildTool(tool) {
258
+ return {
259
+ name: tool.name,
260
+ description: tool.description,
261
+ paramsSchema: tool.params_schema.shape,
262
+ callback: async (args) => {
263
+ const { isError, result } = await safeFunc(tool.func, this.client, args);
264
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], isError };
265
+ }
266
+ };
267
+ }
268
+ };
269
+ // Annotate the CommonJS export names for ESM import in node:
270
+ 0 && (module.exports = {
271
+ AgentMailToolkit
272
+ });
273
+ //# sourceMappingURL=mcp.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mcp.ts","../src/toolkit.ts","../src/schemas.ts","../src/functions.ts","../src/tools.ts","../src/util.ts"],"sourcesContent":["import { type CallToolResult } from '@modelcontextprotocol/sdk/types.js'\nimport { z } from 'zod'\n\nimport { ListToolkit } from './toolkit.js'\nimport { type Tool } from './tools.js'\nimport { safeFunc } from './util.js'\n\ninterface McpTool {\n name: string\n description: string\n paramsSchema: z.ZodRawShape\n callback: (args: Record<string, unknown>) => Promise<CallToolResult>\n}\n\nexport class AgentMailToolkit extends ListToolkit<McpTool> {\n protected buildTool(tool: Tool): McpTool {\n return {\n name: tool.name,\n description: tool.description,\n paramsSchema: tool.params_schema.shape,\n callback: async (args) => {\n const { isError, result } = await safeFunc(tool.func, this.client, args)\n return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }], isError }\n },\n }\n }\n}\n","import { AgentMailClient } from 'agentmail'\n\nimport { type Tool, tools } from './tools.js'\n\nexport abstract class BaseToolkit<T> {\n protected readonly client: AgentMailClient\n protected readonly tools: Record<string, T> = {}\n\n constructor(client?: AgentMailClient) {\n this.client = client ?? new AgentMailClient()\n\n this.tools = tools.reduce(\n (acc, tool) => {\n acc[tool.name] = this.buildTool(tool)\n return acc\n },\n {} as Record<string, T>\n )\n }\n\n protected abstract buildTool(tool: Tool): T\n}\n\nexport abstract class ListToolkit<T> extends BaseToolkit<T> {\n public getTools(names?: string[]) {\n if (!names) return Object.values(this.tools)\n\n return names.reduce((acc, name) => {\n if (name in this.tools) acc.push(this.tools[name])\n return acc\n }, [] as T[])\n }\n}\n\nexport abstract class MapToolkit<T> extends BaseToolkit<T> {\n public getTools(names?: string[]) {\n if (!names) return this.tools\n\n return names.reduce(\n (acc, name) => {\n if (name in this.tools) acc[name] = this.tools[name]\n return acc\n },\n {} as Record<string, T>\n )\n }\n}\n","import { z } from 'zod'\n\nconst InboxIdSchema = z.string().describe('ID of inbox')\nconst ThreadIdSchema = z.string().describe('ID of thread')\nconst MessageIdSchema = z.string().describe('ID of message')\nconst AttachmentIdSchema = z.string().describe('ID of attachment')\n\nexport const ListItemsParams = z.object({\n limit: z.number().optional().default(10).describe('Max number of items to return'),\n page_token: z.string().optional().describe('Page token for pagination'),\n})\n\nexport const GetInboxParams = z.object({\n inbox_id: InboxIdSchema,\n})\n\nexport const CreateInboxParams = z.object({\n username: z.string().optional().describe('Username'),\n domain: z.string().optional().describe('Domain'),\n display_name: z.string().optional().describe('Display name'),\n})\n\nexport const ListInboxItemsParams = ListItemsParams.extend({\n inbox_id: InboxIdSchema,\n labels: z.array(z.string()).optional().describe('Labels to filter items by'),\n before: z.string().optional().describe('Filter items before datetime'),\n after: z.string().optional().describe('Filter items after datetime'),\n})\n\nexport const GetThreadParams = z.object({\n inbox_id: InboxIdSchema,\n thread_id: ThreadIdSchema,\n})\n\nexport const GetAttachmentParams = z.object({\n inbox_id: InboxIdSchema,\n thread_id: ThreadIdSchema,\n attachment_id: AttachmentIdSchema,\n})\n\nconst BaseMessageParams = z.object({\n inbox_id: InboxIdSchema,\n text: z.string().optional().describe('Plain text body'),\n html: z.string().optional().describe('HTML body'),\n labels: z.array(z.string()).optional().describe('Labels'),\n})\n\nexport const SendMessageParams = BaseMessageParams.extend({\n to: z.array(z.string()).describe('Recipients'),\n cc: z.array(z.string()).optional().describe('CC recipients'),\n bcc: z.array(z.string()).optional().describe('BCC recipients'),\n subject: z.string().optional().describe('Subject'),\n})\n\nexport const ReplyToMessageParams = BaseMessageParams.extend({\n message_id: MessageIdSchema,\n})\n\nexport const UpdateMessageParams = z.object({\n inbox_id: InboxIdSchema,\n message_id: MessageIdSchema,\n add_labels: z.array(z.string()).optional().describe('Labels to add'),\n remove_labels: z.array(z.string()).optional().describe('Labels to remove'),\n})\n","import { AgentMailClient } from 'agentmail'\nimport { PDFParse } from 'pdf-parse'\nimport mammoth from 'mammoth'\nimport { fileTypeFromBuffer } from 'file-type'\n\nexport type Args = Record<string, any>\n\ninterface Attachment {\n text?: string\n error?: string\n file_type?: string\n}\n\nexport async function listInboxes(client: AgentMailClient, args: Args) {\n return client.inboxes.list(args)\n}\n\nexport async function getInbox(client: AgentMailClient, args: Args) {\n const { inbox_id, ...options } = args\n return client.inboxes.get(inbox_id, options)\n}\n\nexport async function createInbox(client: AgentMailClient, args: Args) {\n return client.inboxes.create(args)\n}\n\nexport async function deleteInbox(client: AgentMailClient, args: Args) {\n const { inbox_id } = args\n return client.inboxes.delete(inbox_id)\n}\n\nexport async function listThreads(client: AgentMailClient, args: Args) {\n const { inbox_id, ...options } = args\n return client.inboxes.threads.list(inbox_id, options)\n}\n\nexport async function getThread(client: AgentMailClient, args: Args) {\n const { inbox_id, thread_id, ...options } = args\n return client.inboxes.threads.get(inbox_id, thread_id, options)\n}\n\nexport async function getAttachment(client: AgentMailClient, args: Args): Promise<Attachment> {\n const { thread_id, attachment_id } = args\n\n const response = await client.threads.getAttachment(thread_id, attachment_id)\n const fileBytes = Buffer.from(await response.arrayBuffer())\n\n const fileKind = await fileTypeFromBuffer(fileBytes)\n const fileType = fileKind?.mime\n\n let text = undefined\n\n if (fileType === 'application/pdf') {\n const parser = new PDFParse({ data: fileBytes })\n const pdfData = await parser.getText()\n text = pdfData.text\n } else if (fileType === 'application/vnd.openxmlformats-officedocument.wordprocessingml.document') {\n const result = await mammoth.extractRawText({ buffer: fileBytes })\n text = result.value\n } else {\n return {\n error: `Unsupported file type: ${fileType || 'unknown'}`,\n file_type: fileType,\n }\n }\n\n return { text, file_type: fileType }\n}\n\nexport async function sendMessage(client: AgentMailClient, args: Args) {\n const { inbox_id, ...options } = args\n return client.inboxes.messages.send(inbox_id, options)\n}\n\nexport async function replyToMessage(client: AgentMailClient, args: Args) {\n const { inbox_id, message_id, ...options } = args\n return client.inboxes.messages.reply(inbox_id, message_id, options)\n}\n\nexport async function updateMessage(client: AgentMailClient, args: Args) {\n const { inbox_id, message_id, ...options } = args\n return client.inboxes.messages.update(inbox_id, message_id, options)\n}\n","import { z } from 'zod'\nimport { AgentMailClient } from 'agentmail'\n\nimport {\n ListItemsParams,\n ListInboxItemsParams,\n GetInboxParams,\n CreateInboxParams,\n GetThreadParams,\n GetAttachmentParams,\n SendMessageParams,\n ReplyToMessageParams,\n UpdateMessageParams,\n} from './schemas.js'\nimport {\n type Args,\n listInboxes,\n getInbox,\n createInbox,\n deleteInbox,\n listThreads,\n getThread,\n getAttachment,\n sendMessage,\n replyToMessage,\n updateMessage,\n} from './functions.js'\nexport interface Tool {\n name: string\n description: string\n params_schema: z.ZodObject<any>\n func: (client: AgentMailClient, args: Args) => Promise<any>\n}\n\nexport const tools: Tool[] = [\n {\n name: 'list_inboxes',\n description: 'List inboxes',\n params_schema: ListItemsParams,\n func: listInboxes,\n },\n {\n name: 'get_inbox',\n description: 'Get inbox',\n params_schema: GetInboxParams,\n func: getInbox,\n },\n {\n name: 'create_inbox',\n description: 'Create inbox',\n params_schema: CreateInboxParams,\n func: createInbox,\n },\n {\n name: 'delete_inbox',\n description: 'Delete inbox',\n params_schema: GetInboxParams,\n func: deleteInbox,\n },\n {\n name: 'list_threads',\n description: 'List threads in inbox',\n params_schema: ListInboxItemsParams,\n func: listThreads,\n },\n {\n name: 'get_thread',\n description: 'Get thread',\n params_schema: GetThreadParams,\n func: getThread,\n },\n {\n name: 'get_attachment',\n description: 'Get attachment',\n params_schema: GetAttachmentParams,\n func: getAttachment,\n },\n {\n name: 'send_message',\n description: 'Send message',\n params_schema: SendMessageParams,\n func: sendMessage,\n },\n {\n name: 'reply_to_message',\n description: 'Reply to message',\n params_schema: ReplyToMessageParams,\n func: replyToMessage,\n },\n {\n name: 'update_message',\n description: 'Update message',\n params_schema: UpdateMessageParams,\n func: updateMessage,\n },\n]\n","import { AgentMailClient } from 'agentmail'\n\nexport const safeFunc = async <T>(\n func: (client: AgentMailClient, args: Record<string, any>) => Promise<T>,\n client: AgentMailClient,\n args: Record<string, any>\n) => {\n try {\n return { isError: false, result: await func(client, args) }\n } catch (error) {\n if (error instanceof Error) return { isError: true, result: error.message }\n else return { isError: true, result: 'Unknown error' }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,uBAAgC;;;ACAhC,iBAAkB;AAElB,IAAM,gBAAgB,aAAE,OAAO,EAAE,SAAS,aAAa;AACvD,IAAM,iBAAiB,aAAE,OAAO,EAAE,SAAS,cAAc;AACzD,IAAM,kBAAkB,aAAE,OAAO,EAAE,SAAS,eAAe;AAC3D,IAAM,qBAAqB,aAAE,OAAO,EAAE,SAAS,kBAAkB;AAE1D,IAAM,kBAAkB,aAAE,OAAO;AAAA,EACpC,OAAO,aAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,SAAS,+BAA+B;AAAA,EACjF,YAAY,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAC1E,CAAC;AAEM,IAAM,iBAAiB,aAAE,OAAO;AAAA,EACnC,UAAU;AACd,CAAC;AAEM,IAAM,oBAAoB,aAAE,OAAO;AAAA,EACtC,UAAU,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,UAAU;AAAA,EACnD,QAAQ,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,QAAQ;AAAA,EAC/C,cAAc,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,cAAc;AAC/D,CAAC;AAEM,IAAM,uBAAuB,gBAAgB,OAAO;AAAA,EACvD,UAAU;AAAA,EACV,QAAQ,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAAA,EAC3E,QAAQ,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,8BAA8B;AAAA,EACrE,OAAO,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6BAA6B;AACvE,CAAC;AAEM,IAAM,kBAAkB,aAAE,OAAO;AAAA,EACpC,UAAU;AAAA,EACV,WAAW;AACf,CAAC;AAEM,IAAM,sBAAsB,aAAE,OAAO;AAAA,EACxC,UAAU;AAAA,EACV,WAAW;AAAA,EACX,eAAe;AACnB,CAAC;AAED,IAAM,oBAAoB,aAAE,OAAO;AAAA,EAC/B,UAAU;AAAA,EACV,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,iBAAiB;AAAA,EACtD,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,WAAW;AAAA,EAChD,QAAQ,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,QAAQ;AAC5D,CAAC;AAEM,IAAM,oBAAoB,kBAAkB,OAAO;AAAA,EACtD,IAAI,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,YAAY;AAAA,EAC7C,IAAI,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,eAAe;AAAA,EAC3D,KAAK,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,gBAAgB;AAAA,EAC7D,SAAS,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,SAAS;AACrD,CAAC;AAEM,IAAM,uBAAuB,kBAAkB,OAAO;AAAA,EACzD,YAAY;AAChB,CAAC;AAEM,IAAM,sBAAsB,aAAE,OAAO;AAAA,EACxC,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,eAAe;AAAA,EACnE,eAAe,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,kBAAkB;AAC7E,CAAC;;;AC9DD,uBAAyB;AACzB,qBAAoB;AACpB,uBAAmC;AAUnC,eAAsB,YAAY,QAAyB,MAAY;AACnE,SAAO,OAAO,QAAQ,KAAK,IAAI;AACnC;AAEA,eAAsB,SAAS,QAAyB,MAAY;AAChE,QAAM,EAAE,UAAU,GAAG,QAAQ,IAAI;AACjC,SAAO,OAAO,QAAQ,IAAI,UAAU,OAAO;AAC/C;AAEA,eAAsB,YAAY,QAAyB,MAAY;AACnE,SAAO,OAAO,QAAQ,OAAO,IAAI;AACrC;AAEA,eAAsB,YAAY,QAAyB,MAAY;AACnE,QAAM,EAAE,SAAS,IAAI;AACrB,SAAO,OAAO,QAAQ,OAAO,QAAQ;AACzC;AAEA,eAAsB,YAAY,QAAyB,MAAY;AACnE,QAAM,EAAE,UAAU,GAAG,QAAQ,IAAI;AACjC,SAAO,OAAO,QAAQ,QAAQ,KAAK,UAAU,OAAO;AACxD;AAEA,eAAsB,UAAU,QAAyB,MAAY;AACjE,QAAM,EAAE,UAAU,WAAW,GAAG,QAAQ,IAAI;AAC5C,SAAO,OAAO,QAAQ,QAAQ,IAAI,UAAU,WAAW,OAAO;AAClE;AAEA,eAAsB,cAAc,QAAyB,MAAiC;AAC1F,QAAM,EAAE,WAAW,cAAc,IAAI;AAErC,QAAM,WAAW,MAAM,OAAO,QAAQ,cAAc,WAAW,aAAa;AAC5E,QAAM,YAAY,OAAO,KAAK,MAAM,SAAS,YAAY,CAAC;AAE1D,QAAM,WAAW,UAAM,qCAAmB,SAAS;AACnD,QAAM,WAAW,UAAU;AAE3B,MAAI,OAAO;AAEX,MAAI,aAAa,mBAAmB;AAChC,UAAM,SAAS,IAAI,0BAAS,EAAE,MAAM,UAAU,CAAC;AAC/C,UAAM,UAAU,MAAM,OAAO,QAAQ;AACrC,WAAO,QAAQ;AAAA,EACnB,WAAW,aAAa,2EAA2E;AAC/F,UAAM,SAAS,MAAM,eAAAA,QAAQ,eAAe,EAAE,QAAQ,UAAU,CAAC;AACjE,WAAO,OAAO;AAAA,EAClB,OAAO;AACH,WAAO;AAAA,MACH,OAAO,0BAA0B,YAAY,SAAS;AAAA,MACtD,WAAW;AAAA,IACf;AAAA,EACJ;AAEA,SAAO,EAAE,MAAM,WAAW,SAAS;AACvC;AAEA,eAAsB,YAAY,QAAyB,MAAY;AACnE,QAAM,EAAE,UAAU,GAAG,QAAQ,IAAI;AACjC,SAAO,OAAO,QAAQ,SAAS,KAAK,UAAU,OAAO;AACzD;AAEA,eAAsB,eAAe,QAAyB,MAAY;AACtE,QAAM,EAAE,UAAU,YAAY,GAAG,QAAQ,IAAI;AAC7C,SAAO,OAAO,QAAQ,SAAS,MAAM,UAAU,YAAY,OAAO;AACtE;AAEA,eAAsB,cAAc,QAAyB,MAAY;AACrE,QAAM,EAAE,UAAU,YAAY,GAAG,QAAQ,IAAI;AAC7C,SAAO,OAAO,QAAQ,SAAS,OAAO,UAAU,YAAY,OAAO;AACvE;;;AChDO,IAAM,QAAgB;AAAA,EACzB;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,aAAa;AAAA,IACb,eAAe;AAAA,IACf,MAAM;AAAA,EACV;AACJ;;;AH3FO,IAAe,cAAf,MAA8B;AAAA,EACd;AAAA,EACA,QAA2B,CAAC;AAAA,EAE/C,YAAY,QAA0B;AAClC,SAAK,SAAS,UAAU,IAAI,iCAAgB;AAE5C,SAAK,QAAQ,MAAM;AAAA,MACf,CAAC,KAAK,SAAS;AACX,YAAI,KAAK,IAAI,IAAI,KAAK,UAAU,IAAI;AACpC,eAAO;AAAA,MACX;AAAA,MACA,CAAC;AAAA,IACL;AAAA,EACJ;AAGJ;AAEO,IAAe,cAAf,cAAsC,YAAe;AAAA,EACjD,SAAS,OAAkB;AAC9B,QAAI,CAAC,MAAO,QAAO,OAAO,OAAO,KAAK,KAAK;AAE3C,WAAO,MAAM,OAAO,CAAC,KAAK,SAAS;AAC/B,UAAI,QAAQ,KAAK,MAAO,KAAI,KAAK,KAAK,MAAM,IAAI,CAAC;AACjD,aAAO;AAAA,IACX,GAAG,CAAC,CAAQ;AAAA,EAChB;AACJ;;;AI9BO,IAAM,WAAW,OACpB,MACA,QACA,SACC;AACD,MAAI;AACA,WAAO,EAAE,SAAS,OAAO,QAAQ,MAAM,KAAK,QAAQ,IAAI,EAAE;AAAA,EAC9D,SAAS,OAAO;AACZ,QAAI,iBAAiB,MAAO,QAAO,EAAE,SAAS,MAAM,QAAQ,MAAM,QAAQ;AAAA,QACrE,QAAO,EAAE,SAAS,MAAM,QAAQ,gBAAgB;AAAA,EACzD;AACJ;;;ALCO,IAAM,mBAAN,cAA+B,YAAqB;AAAA,EAC7C,UAAU,MAAqB;AACrC,WAAO;AAAA,MACH,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,cAAc,KAAK,cAAc;AAAA,MACjC,UAAU,OAAO,SAAS;AACtB,cAAM,EAAE,SAAS,OAAO,IAAI,MAAM,SAAS,KAAK,MAAM,KAAK,QAAQ,IAAI;AACvE,eAAO,EAAE,SAAS,CAAC,EAAE,MAAM,QAAiB,MAAM,KAAK,UAAU,QAAQ,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ;AAAA,MAClG;AAAA,IACJ;AAAA,EACJ;AACJ;","names":["mammoth"]}
package/dist/mcp.d.cts ADDED
@@ -0,0 +1,16 @@
1
+ import { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
2
+ import { z } from 'zod';
3
+ import { L as ListToolkit, T as Tool } from './toolkit--KYFOIry.cjs';
4
+ import 'agentmail';
5
+
6
+ interface McpTool {
7
+ name: string;
8
+ description: string;
9
+ paramsSchema: z.ZodRawShape;
10
+ callback: (args: Record<string, unknown>) => Promise<CallToolResult>;
11
+ }
12
+ declare class AgentMailToolkit extends ListToolkit<McpTool> {
13
+ protected buildTool(tool: Tool): McpTool;
14
+ }
15
+
16
+ export { AgentMailToolkit };
package/dist/mcp.d.mts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ToolCallback } from '@modelcontextprotocol/sdk/server/mcp.js';
2
2
  import { ZodRawShape } from 'zod';
3
- import { L as ListToolkit, T as Tool } from './toolkit-B8QHBdtC.mjs';
3
+ import { L as ListToolkit, T as Tool } from './toolkit-BkuqrcT_.mjs';
4
4
  import 'agentmail';
5
5
 
6
6
  interface McpTool {