agentmail-toolkit 0.1.28 → 0.1.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,218 +1,20 @@
1
1
  import { z } from 'zod';
2
- export { T as Tool, t as tools } from './tools-Dzp_FZN_.js';
2
+ import { L as ListToolkit, T as Tool$1 } from './toolkit-DZJYuMdN.js';
3
+ import 'agentmail';
3
4
 
4
- declare const ListItemsParams: z.ZodObject<{
5
- limit: z.ZodOptional<z.ZodNumber>;
6
- page_token: z.ZodOptional<z.ZodString>;
7
- }, "strip", z.ZodTypeAny, {
8
- limit?: number | undefined;
9
- page_token?: string | undefined;
10
- }, {
11
- limit?: number | undefined;
12
- page_token?: string | undefined;
13
- }>;
14
- declare const ListInboxItemsParams: z.ZodObject<{
15
- limit: z.ZodOptional<z.ZodNumber>;
16
- page_token: z.ZodOptional<z.ZodString>;
17
- } & {
18
- labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
19
- ascending: z.ZodOptional<z.ZodBoolean>;
20
- }, "strip", z.ZodTypeAny, {
21
- limit?: number | undefined;
22
- page_token?: string | undefined;
23
- labels?: string[] | undefined;
24
- ascending?: boolean | undefined;
25
- }, {
26
- limit?: number | undefined;
27
- page_token?: string | undefined;
28
- labels?: string[] | undefined;
29
- ascending?: boolean | undefined;
30
- }>;
31
- declare const GetInboxParams: z.ZodObject<{
32
- inbox_id: z.ZodString;
33
- }, "strip", z.ZodTypeAny, {
34
- inbox_id: string;
35
- }, {
36
- inbox_id: string;
37
- }>;
38
- declare const CreateInboxParams: z.ZodObject<{
39
- username: z.ZodOptional<z.ZodString>;
40
- domain: z.ZodOptional<z.ZodString>;
41
- display_name: z.ZodOptional<z.ZodString>;
42
- }, "strip", z.ZodTypeAny, {
43
- username?: string | undefined;
44
- domain?: string | undefined;
45
- display_name?: string | undefined;
46
- }, {
47
- username?: string | undefined;
48
- domain?: string | undefined;
49
- display_name?: string | undefined;
50
- }>;
51
- declare const ListThreadsParams: z.ZodObject<{
52
- limit: z.ZodOptional<z.ZodNumber>;
53
- page_token: z.ZodOptional<z.ZodString>;
54
- } & {
55
- labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
56
- ascending: z.ZodOptional<z.ZodBoolean>;
57
- } & {
58
- inbox_id: z.ZodString;
59
- }, "strip", z.ZodTypeAny, {
60
- inbox_id: string;
61
- limit?: number | undefined;
62
- page_token?: string | undefined;
63
- labels?: string[] | undefined;
64
- ascending?: boolean | undefined;
65
- }, {
66
- inbox_id: string;
67
- limit?: number | undefined;
68
- page_token?: string | undefined;
69
- labels?: string[] | undefined;
70
- ascending?: boolean | undefined;
71
- }>;
72
- declare const GetThreadParams: z.ZodObject<{
73
- thread_id: z.ZodString;
74
- }, "strip", z.ZodTypeAny, {
75
- thread_id: string;
76
- }, {
77
- thread_id: string;
78
- }>;
79
- declare const SendMessageParams: z.ZodObject<{
80
- inbox_id: z.ZodString;
81
- to: z.ZodArray<z.ZodString, "many">;
82
- cc: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
83
- bcc: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
84
- subject: z.ZodOptional<z.ZodString>;
85
- text: z.ZodOptional<z.ZodString>;
86
- html: z.ZodOptional<z.ZodString>;
87
- labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
88
- }, "strip", z.ZodTypeAny, {
89
- inbox_id: string;
90
- to: string[];
91
- labels?: string[] | undefined;
92
- cc?: string[] | undefined;
93
- bcc?: string[] | undefined;
94
- subject?: string | undefined;
95
- text?: string | undefined;
96
- html?: string | undefined;
97
- }, {
98
- inbox_id: string;
99
- to: string[];
100
- labels?: string[] | undefined;
101
- cc?: string[] | undefined;
102
- bcc?: string[] | undefined;
103
- subject?: string | undefined;
104
- text?: string | undefined;
105
- html?: string | undefined;
106
- }>;
107
- declare const ReplyToMessageParams: z.ZodObject<{
108
- inbox_id: z.ZodString;
109
- message_id: z.ZodString;
110
- text: z.ZodOptional<z.ZodString>;
111
- html: z.ZodOptional<z.ZodString>;
112
- labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
113
- }, "strip", z.ZodTypeAny, {
114
- inbox_id: string;
115
- message_id: string;
116
- labels?: string[] | undefined;
117
- text?: string | undefined;
118
- html?: string | undefined;
119
- }, {
120
- inbox_id: string;
121
- message_id: string;
122
- labels?: string[] | undefined;
123
- text?: string | undefined;
124
- html?: string | undefined;
125
- }>;
126
- declare const UpdateMessageParams: z.ZodObject<{
127
- inbox_id: z.ZodString;
128
- message_id: z.ZodString;
129
- add_labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
130
- remove_labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
131
- }, "strip", z.ZodTypeAny, {
132
- inbox_id: string;
133
- message_id: string;
134
- add_labels?: string[] | undefined;
135
- remove_labels?: string[] | undefined;
136
- }, {
137
- inbox_id: string;
138
- message_id: string;
139
- add_labels?: string[] | undefined;
140
- remove_labels?: string[] | undefined;
141
- }>;
142
- declare const ListDraftsParams: z.ZodObject<{
143
- limit: z.ZodOptional<z.ZodNumber>;
144
- page_token: z.ZodOptional<z.ZodString>;
145
- } & {
146
- labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
147
- ascending: z.ZodOptional<z.ZodBoolean>;
148
- } & {
149
- inbox_id: z.ZodString;
150
- }, "strip", z.ZodTypeAny, {
151
- inbox_id: string;
152
- limit?: number | undefined;
153
- page_token?: string | undefined;
154
- labels?: string[] | undefined;
155
- ascending?: boolean | undefined;
156
- }, {
157
- inbox_id: string;
158
- limit?: number | undefined;
159
- page_token?: string | undefined;
160
- labels?: string[] | undefined;
161
- ascending?: boolean | undefined;
162
- }>;
163
- declare const GetDraftParams: z.ZodObject<{
164
- inbox_id: z.ZodString;
165
- draft_id: z.ZodString;
166
- }, "strip", z.ZodTypeAny, {
167
- inbox_id: string;
168
- draft_id: string;
169
- }, {
170
- inbox_id: string;
171
- draft_id: string;
172
- }>;
173
- declare const CreateDraftParams: z.ZodObject<{
174
- inbox_id: z.ZodString;
175
- to: z.ZodArray<z.ZodString, "many">;
176
- cc: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
177
- bcc: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
178
- subject: z.ZodOptional<z.ZodString>;
179
- text: z.ZodOptional<z.ZodString>;
180
- html: z.ZodOptional<z.ZodString>;
181
- labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
182
- }, "strip", z.ZodTypeAny, {
183
- inbox_id: string;
184
- to: string[];
185
- labels?: string[] | undefined;
186
- cc?: string[] | undefined;
187
- bcc?: string[] | undefined;
188
- subject?: string | undefined;
189
- text?: string | undefined;
190
- html?: string | undefined;
191
- }, {
192
- inbox_id: string;
193
- to: string[];
194
- labels?: string[] | undefined;
195
- cc?: string[] | undefined;
196
- bcc?: string[] | undefined;
197
- subject?: string | undefined;
198
- text?: string | undefined;
199
- html?: string | undefined;
200
- }>;
201
- declare const SendDraftParams: z.ZodObject<{
202
- inbox_id: z.ZodString;
203
- draft_id: z.ZodString;
204
- add_labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
205
- remove_labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
206
- }, "strip", z.ZodTypeAny, {
207
- inbox_id: string;
208
- draft_id: string;
209
- add_labels?: string[] | undefined;
210
- remove_labels?: string[] | undefined;
211
- }, {
212
- inbox_id: string;
213
- draft_id: string;
214
- add_labels?: string[] | undefined;
215
- remove_labels?: string[] | undefined;
216
- }>;
5
+ type Tool = {
6
+ name: string;
7
+ description: string;
8
+ params_schema: z.AnyZodObject;
9
+ fn: (args: any) => Promise<any>;
10
+ };
11
+ declare class AgentMailToolkit extends ListToolkit<Tool> {
12
+ protected buildTool(tool: Tool$1): {
13
+ name: string;
14
+ description: string;
15
+ params_schema: z.AnyZodObject;
16
+ fn: (args: z.infer<typeof tool.params_schema>) => Promise<any>;
17
+ };
18
+ }
217
19
 
218
- export { CreateDraftParams, CreateInboxParams, GetDraftParams, GetInboxParams, GetThreadParams, ListDraftsParams, ListInboxItemsParams, ListItemsParams, ListThreadsParams, ReplyToMessageParams, SendDraftParams, SendMessageParams, UpdateMessageParams };
20
+ export { AgentMailToolkit };
package/dist/index.js CHANGED
@@ -20,23 +20,36 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  // src/index.ts
21
21
  var index_exports = {};
22
22
  __export(index_exports, {
23
- CreateDraftParams: () => CreateDraftParams,
24
- CreateInboxParams: () => CreateInboxParams,
25
- GetDraftParams: () => GetDraftParams,
26
- GetInboxParams: () => GetInboxParams,
27
- GetThreadParams: () => GetThreadParams,
28
- ListDraftsParams: () => ListDraftsParams,
29
- ListInboxItemsParams: () => ListInboxItemsParams,
30
- ListItemsParams: () => ListItemsParams,
31
- ListThreadsParams: () => ListThreadsParams,
32
- ReplyToMessageParams: () => ReplyToMessageParams,
33
- SendDraftParams: () => SendDraftParams,
34
- SendMessageParams: () => SendMessageParams,
35
- UpdateMessageParams: () => UpdateMessageParams,
36
- tools: () => tools
23
+ AgentMailToolkit: () => AgentMailToolkit
37
24
  });
38
25
  module.exports = __toCommonJS(index_exports);
39
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
+
40
53
  // src/schemas.ts
41
54
  var import_zod = require("zod");
42
55
  var ListItemsParams = import_zod.z.object({
@@ -114,102 +127,125 @@ var tools = [
114
127
  name: "list_inboxes",
115
128
  method: "inboxes.list",
116
129
  description: "List inboxes",
117
- schema: ListItemsParams
130
+ params_schema: ListItemsParams
118
131
  },
119
132
  {
120
133
  name: "get_inbox",
121
134
  method: "inboxes.get",
122
135
  description: "Get inbox",
123
- schema: GetInboxParams
136
+ params_schema: GetInboxParams
124
137
  },
125
138
  {
126
139
  name: "create_inbox",
127
140
  method: "inboxes.create",
128
141
  description: "Create inbox",
129
- schema: CreateInboxParams
142
+ params_schema: CreateInboxParams
130
143
  },
131
144
  {
132
145
  name: "list_threads",
133
146
  method: "inboxes.threads.list",
134
147
  description: "List threads in inbox",
135
- schema: ListThreadsParams
148
+ params_schema: ListThreadsParams
136
149
  },
137
150
  {
138
151
  name: "list_all_threads",
139
152
  method: "threads.list",
140
153
  description: "List threads in all inboxes",
141
- schema: ListInboxItemsParams
154
+ params_schema: ListInboxItemsParams
142
155
  },
143
156
  {
144
157
  name: "get_thread",
145
158
  method: "threads.get",
146
159
  description: "Get thread",
147
- schema: GetThreadParams
160
+ params_schema: GetThreadParams
148
161
  },
149
162
  {
150
163
  name: "send_message",
151
164
  method: "inboxes.messages.send",
152
165
  description: "Send message",
153
- schema: SendMessageParams
166
+ params_schema: SendMessageParams
154
167
  },
155
168
  {
156
169
  name: "reply_to_message",
157
170
  method: "inboxes.messages.reply",
158
171
  description: "Reply to message",
159
- schema: ReplyToMessageParams
172
+ params_schema: ReplyToMessageParams
160
173
  },
161
174
  {
162
175
  name: "update_message",
163
176
  method: "inboxes.messages.update",
164
177
  description: "Update message",
165
- schema: UpdateMessageParams
178
+ params_schema: UpdateMessageParams
166
179
  },
167
180
  {
168
181
  name: "list_drafts",
169
182
  method: "inboxes.drafts.list",
170
183
  description: "List drafts in inbox",
171
- schema: ListDraftsParams
184
+ params_schema: ListDraftsParams
172
185
  },
173
186
  {
174
187
  name: "list_all_drafts",
175
188
  method: "drafts.list",
176
189
  description: "List drafts in all inboxes",
177
- schema: ListInboxItemsParams
190
+ params_schema: ListInboxItemsParams
178
191
  },
179
192
  {
180
193
  name: "get_draft",
181
194
  method: "drafts.get",
182
195
  description: "Get draft",
183
- schema: GetDraftParams
196
+ params_schema: GetDraftParams
184
197
  },
185
198
  {
186
199
  name: "create_draft",
187
200
  method: "inboxes.drafts.create",
188
201
  description: "Create draft",
189
- schema: CreateDraftParams
202
+ params_schema: CreateDraftParams
190
203
  },
191
204
  {
192
205
  name: "send_draft",
193
206
  method: "inboxes.drafts.send",
194
207
  description: "Send draft",
195
- schema: SendDraftParams
208
+ params_schema: SendDraftParams
196
209
  }
197
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
+ };
235
+
236
+ // src/index.ts
237
+ var AgentMailToolkit = class extends ListToolkit {
238
+ buildTool(tool) {
239
+ return {
240
+ name: tool.name,
241
+ description: tool.description,
242
+ params_schema: tool.params_schema,
243
+ fn: (args) => this.call(tool.method, args)
244
+ };
245
+ }
246
+ };
198
247
  // Annotate the CommonJS export names for ESM import in node:
199
248
  0 && (module.exports = {
200
- CreateDraftParams,
201
- CreateInboxParams,
202
- GetDraftParams,
203
- GetInboxParams,
204
- GetThreadParams,
205
- ListDraftsParams,
206
- ListInboxItemsParams,
207
- ListItemsParams,
208
- ListThreadsParams,
209
- ReplyToMessageParams,
210
- SendDraftParams,
211
- SendMessageParams,
212
- UpdateMessageParams,
213
- tools
249
+ AgentMailToolkit
214
250
  });
215
251
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/schemas.ts","../src/tools.ts"],"sourcesContent":["export * from './schemas'\nexport * from './tools'\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"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.ts","../src/wrapper.ts","../src/schemas.ts","../src/tools.ts","../src/toolkit.ts"],"sourcesContent":["import { z } from 'zod'\n\nimport { ListToolkit } from './toolkit'\nimport { type Tool as BaseTool } from './tools'\n\ntype Tool = {\n name: string\n description: string\n params_schema: z.AnyZodObject\n fn: (args: any) => Promise<any>\n}\n\nexport class AgentMailToolkit extends ListToolkit<Tool> {\n protected buildTool(tool: BaseTool) {\n return {\n name: tool.name,\n description: tool.description,\n params_schema: tool.params_schema,\n fn: (args: z.infer<typeof tool.params_schema>) => this.call(tool.method, args),\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":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,uBAAgC;AAEzB,IAAM,UAAN,MAAc;AAAA,EACjB,YAA6B,SAAS,IAAI,iCAAgB,GAAG;AAAhC;AAAA,EAAiC;AAAA,EAE9D,MAAa,KAAK,QAAgB,MAA2B;AACzD,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,MAA2B;AAC7D,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;;;AC5BA,iBAAkB;AAEX,IAAM,kBAAkB,aAAE,OAAO;AAAA,EACpC,OAAO,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,+BAA+B;AAAA,EACrE,YAAY,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAC1E,CAAC;AAEM,IAAM,uBAAuB,gBAAgB,OAAO;AAAA,EACvD,QAAQ,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAAA,EAC3E,WAAW,aAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,+BAA+B;AAC9E,CAAC;AAEM,IAAM,iBAAiB,aAAE,OAAO;AAAA,EACnC,UAAU,aAAE,OAAO,EAAE,SAAS,oBAAoB;AACtD,CAAC;AAEM,IAAM,oBAAoB,aAAE,OAAO;AAAA,EACtC,UAAU,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,6BAA6B;AAAA,EACtE,QAAQ,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAAA,EAClE,cAAc,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,iCAAiC;AAClF,CAAC;AAEM,IAAM,oBAAoB,qBAAqB,OAAO;AAAA,EACzD,UAAU,aAAE,OAAO,EAAE,SAAS,kCAAkC;AACpE,CAAC;AAEM,IAAM,kBAAkB,aAAE,OAAO;AAAA,EACpC,WAAW,aAAE,OAAO,EAAE,SAAS,qBAAqB;AACxD,CAAC;AAEM,IAAM,oBAAoB,aAAE,OAAO;AAAA,EACtC,UAAU,aAAE,OAAO,EAAE,SAAS,kCAAkC;AAAA,EAChE,IAAI,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,uBAAuB;AAAA,EACxD,IAAI,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,0BAA0B;AAAA,EACtE,KAAK,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,2BAA2B;AAAA,EACxE,SAAS,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oBAAoB;AAAA,EAC5D,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,4BAA4B;AAAA,EACjE,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,sBAAsB;AAAA,EAC3D,QAAQ,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,0BAA0B;AAC9E,CAAC;AAEM,IAAM,uBAAuB,aAAE,OAAO;AAAA,EACzC,UAAU,aAAE,OAAO,EAAE,SAAS,sCAAsC;AAAA,EACpE,YAAY,aAAE,OAAO,EAAE,SAAS,2BAA2B;AAAA,EAC3D,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,0BAA0B;AAAA,EAC/D,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oBAAoB;AAAA,EACzD,QAAQ,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAC5E,CAAC;AAEM,IAAM,sBAAsB,aAAE,OAAO;AAAA,EACxC,UAAU,aAAE,OAAO,EAAE,SAAS,oCAAoC;AAAA,EAClE,YAAY,aAAE,OAAO,EAAE,SAAS,yBAAyB;AAAA,EACzD,YAAY,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,0BAA0B;AAAA,EAC9E,eAAe,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,+BAA+B;AAC1F,CAAC;AAEM,IAAM,mBAAmB,qBAAqB,OAAO;AAAA,EACxD,UAAU,aAAE,OAAO,EAAE,SAAS,iCAAiC;AACnE,CAAC;AAEM,IAAM,iBAAiB,aAAE,OAAO;AAAA,EACnC,UAAU,aAAE,OAAO,EAAE,SAAS,+BAA+B;AAAA,EAC7D,UAAU,aAAE,OAAO,EAAE,SAAS,oBAAoB;AACtD,CAAC;AAEM,IAAM,oBAAoB,aAAE,OAAO;AAAA,EACtC,UAAU,aAAE,OAAO,EAAE,SAAS,kCAAkC;AAAA,EAChE,IAAI,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,qBAAqB;AAAA,EACtD,IAAI,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAAA,EACpE,KAAK,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,yBAAyB;AAAA,EACtE,SAAS,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,kBAAkB;AAAA,EAC1D,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,0BAA0B;AAAA,EAC/D,MAAM,aAAE,OAAO,EAAE,SAAS,EAAE,SAAS,oBAAoB;AAAA,EACzD,QAAQ,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,wBAAwB;AAC5E,CAAC;AAEM,IAAM,kBAAkB,aAAE,OAAO;AAAA,EACpC,UAAU,aAAE,OAAO,EAAE,SAAS,gCAAgC;AAAA,EAC9D,UAAU,aAAE,OAAO,EAAE,SAAS,qBAAqB;AAAA,EACnD,YAAY,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,+BAA+B;AAAA,EACnF,eAAe,aAAE,MAAM,aAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,oCAAoC;AAC/F,CAAC;;;ACxDM,IAAM,QAAgB;AAAA,EACzB;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AAAA,EACA;AAAA,IACI,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,eAAe;AAAA,EACnB;AACJ;;;ACzGO,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;;;AJpBO,IAAM,mBAAN,cAA+B,YAAkB;AAAA,EAC1C,UAAU,MAAgB;AAChC,WAAO;AAAA,MACH,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,eAAe,KAAK;AAAA,MACpB,IAAI,CAAC,SAA6C,KAAK,KAAK,KAAK,QAAQ,IAAI;AAAA,IACjF;AAAA,EACJ;AACJ;","names":[]}
package/dist/index.mjs CHANGED
@@ -1,33 +1,19 @@
1
1
  import {
2
- CreateDraftParams,
3
- CreateInboxParams,
4
- GetDraftParams,
5
- GetInboxParams,
6
- GetThreadParams,
7
- ListDraftsParams,
8
- ListInboxItemsParams,
9
- ListItemsParams,
10
- ListThreadsParams,
11
- ReplyToMessageParams,
12
- SendDraftParams,
13
- SendMessageParams,
14
- UpdateMessageParams,
15
- tools
16
- } from "./chunk-IDOYVQL3.mjs";
2
+ ListToolkit
3
+ } from "./chunk-J3WQCRO3.mjs";
4
+
5
+ // src/index.ts
6
+ var AgentMailToolkit = class extends ListToolkit {
7
+ buildTool(tool) {
8
+ return {
9
+ name: tool.name,
10
+ description: tool.description,
11
+ params_schema: tool.params_schema,
12
+ fn: (args) => this.call(tool.method, args)
13
+ };
14
+ }
15
+ };
17
16
  export {
18
- CreateDraftParams,
19
- CreateInboxParams,
20
- GetDraftParams,
21
- GetInboxParams,
22
- GetThreadParams,
23
- ListDraftsParams,
24
- ListInboxItemsParams,
25
- ListItemsParams,
26
- ListThreadsParams,
27
- ReplyToMessageParams,
28
- SendDraftParams,
29
- SendMessageParams,
30
- UpdateMessageParams,
31
- tools
17
+ AgentMailToolkit
32
18
  };
33
19
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import { z } from 'zod'\n\nimport { ListToolkit } from './toolkit'\nimport { type Tool as BaseTool } from './tools'\n\ntype Tool = {\n name: string\n description: string\n params_schema: z.AnyZodObject\n fn: (args: any) => Promise<any>\n}\n\nexport class AgentMailToolkit extends ListToolkit<Tool> {\n protected buildTool(tool: BaseTool) {\n return {\n name: tool.name,\n description: tool.description,\n params_schema: tool.params_schema,\n fn: (args: z.infer<typeof tool.params_schema>) => this.call(tool.method, args),\n }\n }\n}\n"],"mappings":";;;;;AAYO,IAAM,mBAAN,cAA+B,YAAkB;AAAA,EAC1C,UAAU,MAAgB;AAChC,WAAO;AAAA,MACH,MAAM,KAAK;AAAA,MACX,aAAa,KAAK;AAAA,MAClB,eAAe,KAAK;AAAA,MACpB,IAAI,CAAC,SAA6C,KAAK,KAAK,KAAK,QAAQ,IAAI;AAAA,IACjF;AAAA,EACJ;AACJ;","names":[]}
@@ -1,6 +1,5 @@
1
1
  import { StructuredTool } from '@langchain/core/tools';
2
- import { L as ListToolkit } from './toolkit-BLAprE02.mjs';
3
- import { T as Tool } from './tools-Dzp_FZN_.mjs';
2
+ import { L as ListToolkit, T as Tool } from './toolkit-DZJYuMdN.mjs';
4
3
  import 'agentmail';
5
4
  import 'zod';
6
5
 
@@ -1,6 +1,5 @@
1
1
  import { StructuredTool } from '@langchain/core/tools';
2
- import { L as ListToolkit } from './toolkit-3F468CU6.js';
3
- import { T as Tool } from './tools-Dzp_FZN_.js';
2
+ import { L as ListToolkit, T as Tool } from './toolkit-DZJYuMdN.js';
4
3
  import 'agentmail';
5
4
  import 'zod';
6
5