agentmail-toolkit 0.1.30 → 0.1.32

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 (104) 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.mts → ai-sdk.d.cts} +1 -1
  4. package/dist/ai-sdk.d.ts +1 -1
  5. package/dist/ai-sdk.js +10 -242
  6. package/dist/ai-sdk.js.map +1 -1
  7. package/dist/chunk-4RMN5TYL.js +225 -0
  8. package/dist/chunk-4RMN5TYL.js.map +1 -0
  9. package/dist/chunk-C26Y3CI4.js +14 -0
  10. package/dist/chunk-C26Y3CI4.js.map +1 -0
  11. package/dist/index.cjs +260 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/{index.d.mts → index.d.cts} +5 -5
  14. package/dist/index.d.ts +5 -5
  15. package/dist/index.js +6 -238
  16. package/dist/index.js.map +1 -1
  17. package/dist/langchain.cjs +270 -0
  18. package/dist/langchain.cjs.map +1 -0
  19. package/dist/{langchain.d.mts → langchain.d.cts} +1 -1
  20. package/dist/langchain.d.ts +1 -1
  21. package/dist/langchain.js +10 -239
  22. package/dist/langchain.js.map +1 -1
  23. package/dist/mcp.cjs +273 -0
  24. package/dist/mcp.cjs.map +1 -0
  25. package/dist/mcp.d.cts +16 -0
  26. package/dist/mcp.d.ts +5 -5
  27. package/dist/mcp.js +9 -238
  28. package/dist/mcp.js.map +1 -1
  29. package/dist/{toolkit-B8QHBdtC.d.ts → toolkit--KYFOIry.d.cts} +6 -13
  30. package/dist/{toolkit-B8QHBdtC.d.mts → toolkit--KYFOIry.d.ts} +6 -13
  31. package/package.json +19 -16
  32. package/dist/ai-sdk.mjs +0 -18
  33. package/dist/ai-sdk.mjs.map +0 -1
  34. package/dist/chunk-2QQE6LPN.mjs +0 -38
  35. package/dist/chunk-2QQE6LPN.mjs.map +0 -1
  36. package/dist/chunk-3TR24M4E.mjs +0 -29
  37. package/dist/chunk-3TR24M4E.mjs.map +0 -1
  38. package/dist/chunk-4F4JVYOE.mjs +0 -40
  39. package/dist/chunk-4F4JVYOE.mjs.map +0 -1
  40. package/dist/chunk-4RC3NT5Y.mjs +0 -71
  41. package/dist/chunk-4RC3NT5Y.mjs.map +0 -1
  42. package/dist/chunk-CIU3KR25.mjs +0 -117
  43. package/dist/chunk-CIU3KR25.mjs.map +0 -1
  44. package/dist/chunk-DNXRYZOH.mjs +0 -129
  45. package/dist/chunk-DNXRYZOH.mjs.map +0 -1
  46. package/dist/chunk-EZFSHUCP.mjs +0 -71
  47. package/dist/chunk-EZFSHUCP.mjs.map +0 -1
  48. package/dist/chunk-GWFZG2RN.mjs +0 -117
  49. package/dist/chunk-GWFZG2RN.mjs.map +0 -1
  50. package/dist/chunk-GZAAHMW6.mjs +0 -145
  51. package/dist/chunk-GZAAHMW6.mjs.map +0 -1
  52. package/dist/chunk-H3V5ORVZ.mjs +0 -40
  53. package/dist/chunk-H3V5ORVZ.mjs.map +0 -1
  54. package/dist/chunk-HKK5SMM3.mjs +0 -197
  55. package/dist/chunk-HKK5SMM3.mjs.map +0 -1
  56. package/dist/chunk-IDOYVQL3.mjs +0 -176
  57. package/dist/chunk-IDOYVQL3.mjs.map +0 -1
  58. package/dist/chunk-J3WQCRO3.mjs +0 -226
  59. package/dist/chunk-J3WQCRO3.mjs.map +0 -1
  60. package/dist/chunk-NXBM2DQE.mjs +0 -226
  61. package/dist/chunk-NXBM2DQE.mjs.map +0 -1
  62. package/dist/chunk-ODPS3RJ3.mjs +0 -71
  63. package/dist/chunk-ODPS3RJ3.mjs.map +0 -1
  64. package/dist/chunk-QBOE34GE.mjs +0 -129
  65. package/dist/chunk-QBOE34GE.mjs.map +0 -1
  66. package/dist/chunk-UCWHGUXO.mjs +0 -38
  67. package/dist/chunk-UCWHGUXO.mjs.map +0 -1
  68. package/dist/chunk-UODX72KA.mjs +0 -40
  69. package/dist/chunk-UODX72KA.mjs.map +0 -1
  70. package/dist/chunk-VI3J3SMQ.mjs +0 -71
  71. package/dist/chunk-VI3J3SMQ.mjs.map +0 -1
  72. package/dist/chunk-VRB6MXGP.mjs +0 -203
  73. package/dist/chunk-VRB6MXGP.mjs.map +0 -1
  74. package/dist/chunk-W2LJOBDV.mjs +0 -71
  75. package/dist/chunk-W2LJOBDV.mjs.map +0 -1
  76. package/dist/chunk-WEXYSRNX.mjs +0 -40
  77. package/dist/chunk-WEXYSRNX.mjs.map +0 -1
  78. package/dist/chunk-XAJA2AYA.mjs +0 -31
  79. package/dist/chunk-XAJA2AYA.mjs.map +0 -1
  80. package/dist/chunk-ZRECFCU2.mjs +0 -137
  81. package/dist/chunk-ZRECFCU2.mjs.map +0 -1
  82. package/dist/index.mjs +0 -19
  83. package/dist/index.mjs.map +0 -1
  84. package/dist/langchain.mjs +0 -19
  85. package/dist/langchain.mjs.map +0 -1
  86. package/dist/mcp.d.mts +0 -16
  87. package/dist/mcp.mjs +0 -22
  88. package/dist/mcp.mjs.map +0 -1
  89. package/dist/toolkit-3F468CU6.d.ts +0 -26
  90. package/dist/toolkit-BLAprE02.d.mts +0 -26
  91. package/dist/toolkit-BMavPn6k.d.mts +0 -27
  92. package/dist/toolkit-Cbpp0Kix.d.ts +0 -27
  93. package/dist/toolkit-DZJYuMdN.d.mts +0 -33
  94. package/dist/toolkit-DZJYuMdN.d.ts +0 -33
  95. package/dist/toolkit-Dc7siZcx.d.ts +0 -24
  96. package/dist/toolkit-DicBg_sN.d.mts +0 -30
  97. package/dist/toolkit-DicBg_sN.d.ts +0 -30
  98. package/dist/toolkit-DtDXApKD.d.mts +0 -24
  99. package/dist/toolkit-oWNeOd1D.d.mts +0 -31
  100. package/dist/toolkit-oWNeOd1D.d.ts +0 -31
  101. package/dist/tools-DFoMkoW0.d.mts +0 -11
  102. package/dist/tools-DFoMkoW0.d.ts +0 -11
  103. package/dist/tools-Dzp_FZN_.d.mts +0 -11
  104. package/dist/tools-Dzp_FZN_.d.ts +0 -11
package/dist/mcp.js CHANGED
@@ -1,237 +1,9 @@
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/mcp.ts
21
- var mcp_exports = {};
22
- __export(mcp_exports, {
23
- AgentMailToolkit: () => AgentMailToolkit
24
- });
25
- module.exports = __toCommonJS(mcp_exports);
26
-
27
- // src/wrapper.ts
28
- var import_agentmail = require("agentmail");
29
- var Wrapper = class {
30
- constructor(client = new import_agentmail.AgentMailClient()) {
31
- this.client = client;
32
- }
33
- async call(method, args) {
34
- const parts = method.split(".");
35
- const methodKey = parts.pop();
36
- if (!methodKey) throw new Error("Method name empty");
37
- let parent = this.client;
38
- for (const part of parts) parent = parent[part];
39
- const { inbox_id, thread_id, message_id, draft_id, attachment_id, ...options } = args;
40
- const methodArgs = [inbox_id, thread_id, message_id, draft_id, attachment_id, options].filter(Boolean);
41
- return await parent[methodKey].call(parent, ...methodArgs);
42
- }
43
- async safeCall(method, args) {
44
- try {
45
- return { isError: false, result: await this.call(method, args) };
46
- } catch (error) {
47
- if (error instanceof Error) return { isError: true, result: error.message };
48
- else return { isError: true, result: "Unknown error" };
49
- }
50
- }
51
- };
52
-
53
- // src/schemas.ts
54
- var import_zod = require("zod");
55
- var ListItemsParams = import_zod.z.object({
56
- limit: import_zod.z.number().optional().describe("Max number of items to return"),
57
- page_token: import_zod.z.string().optional().describe("Page token for pagination")
58
- });
59
- var ListInboxItemsParams = ListItemsParams.extend({
60
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to filter items by"),
61
- ascending: import_zod.z.boolean().optional().describe("Sort items in ascending order")
62
- });
63
- var GetInboxParams = import_zod.z.object({
64
- inbox_id: import_zod.z.string().describe("ID of inbox to get")
65
- });
66
- var CreateInboxParams = import_zod.z.object({
67
- username: import_zod.z.string().optional().describe("Username of inbox to create"),
68
- domain: import_zod.z.string().optional().describe("Domain of inbox to create"),
69
- display_name: import_zod.z.string().optional().describe("Display name of inbox to create")
70
- });
71
- var ListThreadsParams = ListInboxItemsParams.extend({
72
- inbox_id: import_zod.z.string().describe("ID of inbox to list threads from")
73
- });
74
- var GetThreadParams = import_zod.z.object({
75
- thread_id: import_zod.z.string().describe("ID of thread to get")
76
- });
77
- var SendMessageParams = import_zod.z.object({
78
- inbox_id: import_zod.z.string().describe("ID of inbox to send message from"),
79
- to: import_zod.z.array(import_zod.z.string()).describe("Recipients of message"),
80
- cc: import_zod.z.array(import_zod.z.string()).optional().describe("CC recipients of message"),
81
- bcc: import_zod.z.array(import_zod.z.string()).optional().describe("BCC recipients of message"),
82
- subject: import_zod.z.string().optional().describe("Subject of message"),
83
- text: import_zod.z.string().optional().describe("Plain text body of message"),
84
- html: import_zod.z.string().optional().describe("HTML body of message"),
85
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to message")
86
- });
87
- var ReplyToMessageParams = import_zod.z.object({
88
- inbox_id: import_zod.z.string().describe("ID of inbox to reply to message from"),
89
- message_id: import_zod.z.string().describe("ID of message to reply to"),
90
- text: import_zod.z.string().optional().describe("Plain text body of reply"),
91
- html: import_zod.z.string().optional().describe("HTML body of reply"),
92
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to reply")
93
- });
94
- var UpdateMessageParams = import_zod.z.object({
95
- inbox_id: import_zod.z.string().describe("ID of inbox to update message from"),
96
- message_id: import_zod.z.string().describe("ID of message to update"),
97
- add_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to message"),
98
- remove_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to remove from message")
99
- });
100
- var ListDraftsParams = ListInboxItemsParams.extend({
101
- inbox_id: import_zod.z.string().describe("ID of inbox to list drafts from")
102
- });
103
- var GetDraftParams = import_zod.z.object({
104
- inbox_id: import_zod.z.string().describe("ID of inbox to get draft from"),
105
- draft_id: import_zod.z.string().describe("ID of draft to get")
106
- });
107
- var CreateDraftParams = import_zod.z.object({
108
- inbox_id: import_zod.z.string().describe("ID of inbox to create draft from"),
109
- to: import_zod.z.array(import_zod.z.string()).describe("Recipients of draft"),
110
- cc: import_zod.z.array(import_zod.z.string()).optional().describe("CC recipients of draft"),
111
- bcc: import_zod.z.array(import_zod.z.string()).optional().describe("BCC recipients of draft"),
112
- subject: import_zod.z.string().optional().describe("Subject of draft"),
113
- text: import_zod.z.string().optional().describe("Plain text body of draft"),
114
- html: import_zod.z.string().optional().describe("HTML body of draft"),
115
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to draft")
116
- });
117
- var SendDraftParams = import_zod.z.object({
118
- inbox_id: import_zod.z.string().describe("ID of inbox to send draft from"),
119
- draft_id: import_zod.z.string().describe("ID of draft to send"),
120
- add_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to add to sent message"),
121
- remove_labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to remove from sent message")
122
- });
123
-
124
- // src/tools.ts
125
- var tools = [
126
- {
127
- name: "list_inboxes",
128
- method: "inboxes.list",
129
- description: "List inboxes",
130
- params_schema: ListItemsParams
131
- },
132
- {
133
- name: "get_inbox",
134
- method: "inboxes.get",
135
- description: "Get inbox",
136
- params_schema: GetInboxParams
137
- },
138
- {
139
- name: "create_inbox",
140
- method: "inboxes.create",
141
- description: "Create inbox",
142
- params_schema: CreateInboxParams
143
- },
144
- {
145
- name: "list_threads",
146
- method: "inboxes.threads.list",
147
- description: "List threads in inbox",
148
- params_schema: ListThreadsParams
149
- },
150
- {
151
- name: "list_all_threads",
152
- method: "threads.list",
153
- description: "List threads in all inboxes",
154
- params_schema: ListInboxItemsParams
155
- },
156
- {
157
- name: "get_thread",
158
- method: "threads.get",
159
- description: "Get thread",
160
- params_schema: GetThreadParams
161
- },
162
- {
163
- name: "send_message",
164
- method: "inboxes.messages.send",
165
- description: "Send message",
166
- params_schema: SendMessageParams
167
- },
168
- {
169
- name: "reply_to_message",
170
- method: "inboxes.messages.reply",
171
- description: "Reply to message",
172
- params_schema: ReplyToMessageParams
173
- },
174
- {
175
- name: "update_message",
176
- method: "inboxes.messages.update",
177
- description: "Update message",
178
- params_schema: UpdateMessageParams
179
- },
180
- {
181
- name: "list_drafts",
182
- method: "inboxes.drafts.list",
183
- description: "List drafts in inbox",
184
- params_schema: ListDraftsParams
185
- },
186
- {
187
- name: "list_all_drafts",
188
- method: "drafts.list",
189
- description: "List drafts in all inboxes",
190
- params_schema: ListInboxItemsParams
191
- },
192
- {
193
- name: "get_draft",
194
- method: "drafts.get",
195
- description: "Get draft",
196
- params_schema: GetDraftParams
197
- },
198
- {
199
- name: "create_draft",
200
- method: "inboxes.drafts.create",
201
- description: "Create draft",
202
- params_schema: CreateDraftParams
203
- },
204
- {
205
- name: "send_draft",
206
- method: "inboxes.drafts.send",
207
- description: "Send draft",
208
- params_schema: SendDraftParams
209
- }
210
- ];
211
-
212
- // src/toolkit.ts
213
- var BaseToolkit = class extends Wrapper {
214
- tools = {};
215
- constructor(client) {
216
- super(client);
217
- this.tools = tools.reduce(
218
- (acc, tool) => {
219
- acc[tool.name] = this.buildTool(tool);
220
- return acc;
221
- },
222
- {}
223
- );
224
- }
225
- };
226
- var ListToolkit = class extends BaseToolkit {
227
- getTools(names) {
228
- if (!names) return Object.values(this.tools);
229
- return names.reduce((acc, name) => {
230
- if (name in this.tools) acc.push(this.tools[name]);
231
- return acc;
232
- }, []);
233
- }
234
- };
1
+ import {
2
+ safeFunc
3
+ } from "./chunk-C26Y3CI4.js";
4
+ import {
5
+ ListToolkit
6
+ } from "./chunk-4RMN5TYL.js";
235
7
 
236
8
  // src/mcp.ts
237
9
  var AgentMailToolkit = class extends ListToolkit {
@@ -241,14 +13,13 @@ var AgentMailToolkit = class extends ListToolkit {
241
13
  description: tool.description,
242
14
  paramsSchema: tool.params_schema.shape,
243
15
  callback: async (args) => {
244
- const { isError, result } = await this.safeCall(tool.method, args);
16
+ const { isError, result } = await safeFunc(tool.func, this.client, args);
245
17
  return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }], isError };
246
18
  }
247
19
  };
248
20
  }
249
21
  };
250
- // Annotate the CommonJS export names for ESM import in node:
251
- 0 && (module.exports = {
22
+ export {
252
23
  AgentMailToolkit
253
- });
24
+ };
254
25
  //# sourceMappingURL=mcp.js.map
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/mcp.ts","../src/wrapper.ts","../src/schemas.ts","../src/tools.ts","../src/toolkit.ts"],"sourcesContent":["import { type ToolCallback } from '@modelcontextprotocol/sdk/server/mcp.js'\nimport { type ZodRawShape } from 'zod'\n\nimport { ListToolkit } from './toolkit'\nimport { type Tool } from './tools'\n\ninterface McpTool {\n name: string\n description: string\n paramsSchema: ZodRawShape\n callback: ToolCallback<ZodRawShape>\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 this.safeCall(tool.method, 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\nexport class Wrapper {\n constructor(private readonly client = new AgentMailClient()) {}\n\n public async call(method: string, args: Record<string, 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: Record<string, 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 params_schema: AnyZodObject\n}\n\nexport const tools: Tool[] = [\n {\n name: 'list_inboxes',\n method: 'inboxes.list',\n description: 'List inboxes',\n params_schema: ListItemsParams,\n },\n {\n name: 'get_inbox',\n method: 'inboxes.get',\n description: 'Get inbox',\n params_schema: GetInboxParams,\n },\n {\n name: 'create_inbox',\n method: 'inboxes.create',\n description: 'Create inbox',\n params_schema: CreateInboxParams,\n },\n {\n name: 'list_threads',\n method: 'inboxes.threads.list',\n description: 'List threads in inbox',\n params_schema: ListThreadsParams,\n },\n {\n name: 'list_all_threads',\n method: 'threads.list',\n description: 'List threads in all inboxes',\n params_schema: ListInboxItemsParams,\n },\n {\n name: 'get_thread',\n method: 'threads.get',\n description: 'Get thread',\n params_schema: GetThreadParams,\n },\n {\n name: 'send_message',\n method: 'inboxes.messages.send',\n description: 'Send message',\n params_schema: SendMessageParams,\n },\n {\n name: 'reply_to_message',\n method: 'inboxes.messages.reply',\n description: 'Reply to message',\n params_schema: ReplyToMessageParams,\n },\n {\n name: 'update_message',\n method: 'inboxes.messages.update',\n description: 'Update message',\n params_schema: UpdateMessageParams,\n },\n {\n name: 'list_drafts',\n method: 'inboxes.drafts.list',\n description: 'List drafts in inbox',\n params_schema: ListDraftsParams,\n },\n {\n name: 'list_all_drafts',\n method: 'drafts.list',\n description: 'List drafts in all inboxes',\n params_schema: ListInboxItemsParams,\n },\n {\n name: 'get_draft',\n method: 'drafts.get',\n description: 'Get draft',\n params_schema: GetDraftParams,\n },\n {\n name: 'create_draft',\n method: 'inboxes.drafts.create',\n description: 'Create draft',\n params_schema: CreateDraftParams,\n },\n {\n name: 'send_draft',\n method: 'inboxes.drafts.send',\n description: 'Send draft',\n params_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":[]}
1
+ {"version":3,"sources":["../src/mcp.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"],"mappings":";;;;;;;;AAcO,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":[]}
@@ -1,24 +1,17 @@
1
1
  import { AgentMailClient } from 'agentmail';
2
- import { AnyZodObject } from 'zod';
2
+ import { z } from 'zod';
3
3
 
4
- declare class Wrapper {
5
- private readonly client;
6
- constructor(client?: AgentMailClient);
7
- call(method: string, args: any): Promise<any>;
8
- safeCall(method: string, args: any): Promise<{
9
- isError: boolean;
10
- result: any;
11
- }>;
12
- }
4
+ type Args = Record<string, any>;
13
5
 
14
6
  interface Tool {
15
7
  name: string;
16
- method: string;
17
8
  description: string;
18
- schema: AnyZodObject;
9
+ params_schema: z.ZodObject<any>;
10
+ func: (client: AgentMailClient, args: Args) => Promise<any>;
19
11
  }
20
12
 
21
- declare abstract class BaseToolkit<T> extends Wrapper {
13
+ declare abstract class BaseToolkit<T> {
14
+ protected readonly client: AgentMailClient;
22
15
  protected readonly tools: Record<string, T>;
23
16
  constructor(client?: AgentMailClient);
24
17
  protected abstract buildTool(tool: Tool): T;
@@ -1,24 +1,17 @@
1
1
  import { AgentMailClient } from 'agentmail';
2
- import { AnyZodObject } from 'zod';
2
+ import { z } from 'zod';
3
3
 
4
- declare class Wrapper {
5
- private readonly client;
6
- constructor(client?: AgentMailClient);
7
- call(method: string, args: any): Promise<any>;
8
- safeCall(method: string, args: any): Promise<{
9
- isError: boolean;
10
- result: any;
11
- }>;
12
- }
4
+ type Args = Record<string, any>;
13
5
 
14
6
  interface Tool {
15
7
  name: string;
16
- method: string;
17
8
  description: string;
18
- schema: AnyZodObject;
9
+ params_schema: z.ZodObject<any>;
10
+ func: (client: AgentMailClient, args: Args) => Promise<any>;
19
11
  }
20
12
 
21
- declare abstract class BaseToolkit<T> extends Wrapper {
13
+ declare abstract class BaseToolkit<T> {
14
+ protected readonly client: AgentMailClient;
22
15
  protected readonly tools: Record<string, T>;
23
16
  constructor(client?: AgentMailClient);
24
17
  protected abstract buildTool(tool: Tool): T;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentmail-toolkit",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "description": "AgentMail Toolkit",
5
5
  "scripts": {
6
6
  "build": "tsup",
@@ -14,6 +14,7 @@
14
14
  ],
15
15
  "author": "AgentMail <support@agentmail.cc>",
16
16
  "license": "MIT",
17
+ "type": "module",
17
18
  "repository": {
18
19
  "type": "git",
19
20
  "url": "git+https://github.com/agentmail-to/agentmail-toolkit.git"
@@ -45,24 +46,26 @@
45
46
  }
46
47
  },
47
48
  "devDependencies": {
48
- "@eslint/js": "^9.28.0",
49
- "@types/node": "^24.0.1",
50
- "eslint": "^9.28.0",
51
- "eslint-config-prettier": "^10.1.5",
52
- "globals": "^16.2.0",
49
+ "@eslint/js": "^9.39.1",
50
+ "@types/node": "^24.10.1",
51
+ "@types/pdf-parse": "^1.1.5",
52
+ "eslint": "^9.39.1",
53
+ "eslint-config-prettier": "^10.1.8",
54
+ "globals": "^16.5.0",
53
55
  "prettier": "3.5.3",
54
56
  "ts-node": "^10.9.2",
55
- "tsup": "^8.5.0",
56
- "typescript": "^5.8.3",
57
- "typescript-eslint": "^8.34.0"
57
+ "tsup": "^8.5.1",
58
+ "typescript": "^5.9.3",
59
+ "typescript-eslint": "^8.48.1"
58
60
  },
59
61
  "dependencies": {
60
- "agentmail": "^0.0.44",
61
- "zod": "^3.25.63"
62
- },
63
- "peerDependencies": {
64
- "@langchain/core": "^0.3.58",
65
- "@modelcontextprotocol/sdk": "^1.12.1",
66
- "ai": "^4.3.16"
62
+ "@langchain/core": "^1.1.1",
63
+ "@modelcontextprotocol/sdk": "^1.24.1",
64
+ "agentmail": "^0.1.8",
65
+ "ai": "^5.0.106",
66
+ "file-type": "^21.1.1",
67
+ "mammoth": "^1.11.0",
68
+ "pdf-parse": "^2.4.5",
69
+ "zod": "^4.1.13"
67
70
  }
68
71
  }
package/dist/ai-sdk.mjs DELETED
@@ -1,18 +0,0 @@
1
- import {
2
- MapToolkit
3
- } from "./chunk-J3WQCRO3.mjs";
4
-
5
- // src/ai-sdk.ts
6
- var AgentMailToolkit = class extends MapToolkit {
7
- buildTool(tool) {
8
- return {
9
- description: tool.description,
10
- parameters: tool.params_schema,
11
- execute: async (args) => (await this.safeCall(tool.method, args)).result
12
- };
13
- }
14
- };
15
- export {
16
- AgentMailToolkit
17
- };
18
- //# sourceMappingURL=ai-sdk.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ai-sdk.ts"],"sourcesContent":["import { type Tool as AiSdkTool } from 'ai'\n\nimport { MapToolkit } from './toolkit'\nimport { type Tool } from './tools'\n\nexport class AgentMailToolkit extends MapToolkit<AiSdkTool> {\n protected buildTool(tool: Tool): AiSdkTool {\n return {\n description: tool.description,\n parameters: tool.params_schema,\n execute: async (args) => (await this.safeCall(tool.method, args)).result,\n }\n }\n}\n"],"mappings":";;;;;AAKO,IAAM,mBAAN,cAA+B,WAAsB;AAAA,EAC9C,UAAU,MAAuB;AACvC,WAAO;AAAA,MACH,aAAa,KAAK;AAAA,MAClB,YAAY,KAAK;AAAA,MACjB,SAAS,OAAO,UAAU,MAAM,KAAK,SAAS,KAAK,QAAQ,IAAI,GAAG;AAAA,IACtE;AAAA,EACJ;AACJ;","names":[]}
@@ -1,38 +0,0 @@
1
- import {
2
- Wrapper,
3
- tools
4
- } from "./chunk-ZRECFCU2.mjs";
5
-
6
- // src/toolkit.ts
7
- var ListToolkit = class extends Wrapper {
8
- tools = [];
9
- constructor(client) {
10
- super(client);
11
- this.tools = tools.map((tool) => this.buildTool(tool));
12
- }
13
- getTools() {
14
- return this.tools;
15
- }
16
- };
17
- var MapToolkit = class extends Wrapper {
18
- tools = {};
19
- constructor(client) {
20
- super(client);
21
- this.tools = tools.reduce(
22
- (acc, tool) => {
23
- acc[tool.name] = this.buildTool(tool);
24
- return acc;
25
- },
26
- {}
27
- );
28
- }
29
- getTools() {
30
- return this.tools;
31
- }
32
- };
33
-
34
- export {
35
- ListToolkit,
36
- MapToolkit
37
- };
38
- //# sourceMappingURL=chunk-2QQE6LPN.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/toolkit.ts"],"sourcesContent":["import { AgentMailClient } from 'agentmail'\n\nimport { Wrapper } from './wrapper'\nimport { type Tool, tools } from './tools'\n\nexport abstract class ListToolkit<T> extends Wrapper {\n protected readonly tools: T[] = []\n\n constructor(client?: AgentMailClient) {\n super(client)\n\n this.tools = tools.map((tool) => this.buildTool(tool))\n }\n\n protected abstract buildTool(tool: Tool): T\n\n public getTools() {\n return this.tools\n }\n}\n\nexport abstract class MapToolkit<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 public getTools() {\n return this.tools\n }\n}\n"],"mappings":";;;;;;AAKO,IAAe,cAAf,cAAsC,QAAQ;AAAA,EAC9B,QAAa,CAAC;AAAA,EAEjC,YAAY,QAA0B;AAClC,UAAM,MAAM;AAEZ,SAAK,QAAQ,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC;AAAA,EACzD;AAAA,EAIO,WAAW;AACd,WAAO,KAAK;AAAA,EAChB;AACJ;AAEO,IAAe,aAAf,cAAqC,QAAQ;AAAA,EAC7B,QAA2B,CAAC;AAAA,EAE/C,YAAY,QAA0B;AAClC,UAAM,MAAM;AAEZ,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;AAAA,EAIO,WAAW;AACd,WAAO,KAAK;AAAA,EAChB;AACJ;","names":[]}
@@ -1,29 +0,0 @@
1
- // src/wrapper.ts
2
- import { AgentMailClient } from "agentmail";
3
- var Wrapper = class {
4
- constructor(client) {
5
- this.client = client;
6
- if (!this.client) this.client = new AgentMailClient();
7
- }
8
- async callMethod(method, args) {
9
- const parts = method.split(".");
10
- const methodKey = parts.pop();
11
- if (!methodKey) throw new Error("Method name empty");
12
- let parent = this.client;
13
- for (const part of parts) parent = parent[part];
14
- return await parent[methodKey].call(parent, args);
15
- }
16
- async callMethodAndStringify(method, args) {
17
- try {
18
- const result = await this.callMethod(method, args);
19
- return JSON.stringify(result, null, 2);
20
- } catch (error) {
21
- return JSON.stringify(error, null, 2);
22
- }
23
- }
24
- };
25
-
26
- export {
27
- Wrapper
28
- };
29
- //# sourceMappingURL=chunk-3TR24M4E.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/wrapper.ts"],"sourcesContent":["import { AgentMailClient } from 'agentmail'\n\nexport class Wrapper {\n constructor(private readonly client?: AgentMailClient) {\n if (!this.client) this.client = new AgentMailClient()\n }\n\n public async callMethod(method: string, args: unknown) {\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 return await parent[methodKey].call(parent, args)\n }\n\n public async callMethodAndStringify(method: string, args: unknown) {\n try {\n const result = await this.callMethod(method, args)\n return JSON.stringify(result, null, 2)\n } catch (error) {\n return JSON.stringify(error, null, 2)\n }\n }\n}\n"],"mappings":";AAAA,SAAS,uBAAuB;AAEzB,IAAM,UAAN,MAAc;AAAA,EACjB,YAA6B,QAA0B;AAA1B;AACzB,QAAI,CAAC,KAAK,OAAQ,MAAK,SAAS,IAAI,gBAAgB;AAAA,EACxD;AAAA,EAEA,MAAa,WAAW,QAAgB,MAAe;AACnD,UAAM,QAAQ,OAAO,MAAM,GAAG;AAC9B,UAAM,YAAY,MAAM,IAAI;AAE5B,QAAI,CAAC,UAAW,OAAM,IAAI,MAAM,mBAAmB;AAEnD,QAAI,SAAc,KAAK;AACvB,eAAW,QAAQ,MAAO,UAAS,OAAO,IAAI;AAE9C,WAAO,MAAM,OAAO,SAAS,EAAE,KAAK,QAAQ,IAAI;AAAA,EACpD;AAAA,EAEA,MAAa,uBAAuB,QAAgB,MAAe;AAC/D,QAAI;AACA,YAAM,SAAS,MAAM,KAAK,WAAW,QAAQ,IAAI;AACjD,aAAO,KAAK,UAAU,QAAQ,MAAM,CAAC;AAAA,IACzC,SAAS,OAAO;AACZ,aAAO,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,IACxC;AAAA,EACJ;AACJ;","names":[]}
@@ -1,40 +0,0 @@
1
- import {
2
- Wrapper
3
- } from "./chunk-XAJA2AYA.mjs";
4
- import {
5
- tools
6
- } from "./chunk-QBOE34GE.mjs";
7
-
8
- // src/toolkit.ts
9
- var ListToolkit = class extends Wrapper {
10
- tools = [];
11
- constructor(client) {
12
- super(client);
13
- this.tools = tools.map((tool) => this.buildTool(tool));
14
- }
15
- getTools() {
16
- return this.tools;
17
- }
18
- };
19
- var MapToolkit = class extends Wrapper {
20
- tools = {};
21
- constructor(client) {
22
- super(client);
23
- this.tools = tools.reduce(
24
- (acc, tool) => {
25
- acc[tool.name] = this.buildTool(tool);
26
- return acc;
27
- },
28
- {}
29
- );
30
- }
31
- getTools() {
32
- return this.tools;
33
- }
34
- };
35
-
36
- export {
37
- ListToolkit,
38
- MapToolkit
39
- };
40
- //# sourceMappingURL=chunk-4F4JVYOE.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/toolkit.ts"],"sourcesContent":["import { AgentMailClient } from 'agentmail'\n\nimport { Wrapper } from './wrapper'\nimport { type Tool, tools } from './tools'\n\nexport abstract class ListToolkit<T> extends Wrapper {\n protected readonly tools: T[] = []\n\n constructor(client?: AgentMailClient) {\n super(client)\n\n this.tools = tools.map((tool) => this.buildTool(tool))\n }\n\n protected abstract buildTool(tool: Tool): T\n\n public getTools() {\n return this.tools\n }\n}\n\nexport abstract class MapToolkit<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 public getTools() {\n return this.tools\n }\n}\n"],"mappings":";;;;;;;;AAKO,IAAe,cAAf,cAAsC,QAAQ;AAAA,EAC9B,QAAa,CAAC;AAAA,EAEjC,YAAY,QAA0B;AAClC,UAAM,MAAM;AAEZ,SAAK,QAAQ,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,IAAI,CAAC;AAAA,EACzD;AAAA,EAIO,WAAW;AACd,WAAO,KAAK;AAAA,EAChB;AACJ;AAEO,IAAe,aAAf,cAAqC,QAAQ;AAAA,EAC7B,QAA2B,CAAC;AAAA,EAE/C,YAAY,QAA0B;AAClC,UAAM,MAAM;AAEZ,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;AAAA,EAIO,WAAW;AACd,WAAO,KAAK;AAAA,EAChB;AACJ;","names":[]}
@@ -1,71 +0,0 @@
1
- import {
2
- tools
3
- } from "./chunk-VRB6MXGP.mjs";
4
-
5
- // src/wrapper.ts
6
- import { AgentMailClient } from "agentmail";
7
- var Wrapper = class {
8
- constructor(client = new AgentMailClient()) {
9
- this.client = client;
10
- }
11
- async call(method, args) {
12
- const parts = method.split(".");
13
- const methodKey = parts.pop();
14
- if (!methodKey) throw new Error("Method name empty");
15
- let parent = this.client;
16
- for (const part of parts) parent = parent[part];
17
- const { inbox_id, thread_id, message_id, draft_id, attachment_id, ...options } = args;
18
- const methodArgs = [inbox_id, thread_id, message_id, draft_id, attachment_id, options].filter(Boolean);
19
- return await parent[methodKey].call(parent, ...methodArgs);
20
- }
21
- async safeCall(method, args) {
22
- try {
23
- return { isError: false, result: await this.call(method, args) };
24
- } catch (error) {
25
- if (error instanceof Error) return { isError: true, result: error.message };
26
- else return { isError: true, result: "Unknown error" };
27
- }
28
- }
29
- };
30
-
31
- // src/toolkit.ts
32
- var BaseToolkit = class extends Wrapper {
33
- tools = {};
34
- constructor(client) {
35
- super(client);
36
- this.tools = tools.reduce(
37
- (acc, tool) => {
38
- acc[tool.name] = this.buildTool(tool);
39
- return acc;
40
- },
41
- {}
42
- );
43
- }
44
- };
45
- var ListToolkit = class extends BaseToolkit {
46
- getTools(names) {
47
- if (!names) return Object.values(this.tools);
48
- return names.reduce((acc, name) => {
49
- if (name in this.tools) acc.push(this.tools[name]);
50
- return acc;
51
- }, []);
52
- }
53
- };
54
- var MapToolkit = class extends BaseToolkit {
55
- getTools(names) {
56
- if (!names) return this.tools;
57
- return names.reduce(
58
- (acc, name) => {
59
- if (name in this.tools) acc[name] = this.tools[name];
60
- return acc;
61
- },
62
- {}
63
- );
64
- }
65
- };
66
-
67
- export {
68
- ListToolkit,
69
- MapToolkit
70
- };
71
- //# sourceMappingURL=chunk-4RC3NT5Y.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/wrapper.ts","../src/toolkit.ts"],"sourcesContent":["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 { 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":";;;;;AAAA,SAAS,uBAAuB;AAEzB,IAAM,UAAN,MAAc;AAAA,EACjB,YAA6B,SAAS,IAAI,gBAAgB,GAAG;AAAhC;AAAA,EAAiC;AAAA,EAE9D,MAAa,KAAK,QAAgB,MAAW;AACzC,UAAM,QAAQ,OAAO,MAAM,GAAG;AAC9B,UAAM,YAAY,MAAM,IAAI;AAE5B,QAAI,CAAC,UAAW,OAAM,IAAI,MAAM,mBAAmB;AAEnD,QAAI,SAAc,KAAK;AACvB,eAAW,QAAQ,MAAO,UAAS,OAAO,IAAI;AAE9C,UAAM,EAAE,UAAU,WAAW,YAAY,UAAU,eAAe,GAAG,QAAQ,IAAI;AACjF,UAAM,aAAa,CAAC,UAAU,WAAW,YAAY,UAAU,eAAe,OAAO,EAAE,OAAO,OAAO;AAErG,WAAO,MAAM,OAAO,SAAS,EAAE,KAAK,QAAQ,GAAG,UAAU;AAAA,EAC7D;AAAA,EAEA,MAAa,SAAS,QAAgB,MAAW;AAC7C,QAAI;AACA,aAAO,EAAE,SAAS,OAAO,QAAQ,MAAM,KAAK,KAAK,QAAQ,IAAI,EAAE;AAAA,IACnE,SAAS,OAAO;AACZ,UAAI,iBAAiB,MAAO,QAAO,EAAE,SAAS,MAAM,QAAQ,MAAM,QAAQ;AAAA,UACrE,QAAO,EAAE,SAAS,MAAM,QAAQ,gBAAgB;AAAA,IACzD;AAAA,EACJ;AACJ;;;ACvBO,IAAe,cAAf,cAAsC,QAAQ;AAAA,EAC9B,QAA2B,CAAC;AAAA,EAE/C,YAAY,QAA0B;AAClC,UAAM,MAAM;AAEZ,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;AAEO,IAAe,aAAf,cAAqC,YAAe;AAAA,EAChD,SAAS,OAAkB;AAC9B,QAAI,CAAC,MAAO,QAAO,KAAK;AAExB,WAAO,MAAM;AAAA,MACT,CAAC,KAAK,SAAS;AACX,YAAI,QAAQ,KAAK,MAAO,KAAI,IAAI,IAAI,KAAK,MAAM,IAAI;AACnD,eAAO;AAAA,MACX;AAAA,MACA,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;","names":[]}