agentmail-toolkit 0.1.20 → 0.1.21

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/ai-sdk.js CHANGED
@@ -54,52 +54,47 @@ var Wrapper = class {
54
54
  // src/schemas.ts
55
55
  var import_zod = require("zod");
56
56
  var ListItemsParams = import_zod.z.object({
57
- limit: import_zod.z.number().optional().describe("The maximum number of items to return"),
58
- last_key: import_zod.z.string().optional().describe("The last key to use for pagination")
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
59
  });
60
60
  var GetInboxParams = import_zod.z.object({
61
- inbox_id: import_zod.z.string().describe("The ID of the inbox to get")
61
+ inbox_id: import_zod.z.string().describe("ID of inbox to get")
62
62
  });
63
63
  var CreateInboxParams = import_zod.z.object({
64
- username: import_zod.z.string().optional().describe("The username of the inbox to create"),
65
- domain: import_zod.z.string().optional().describe("The domain of the inbox to create"),
66
- display_name: import_zod.z.string().optional().describe("The display name of the inbox to create")
64
+ username: import_zod.z.string().optional().describe("Username of inbox to create"),
65
+ domain: import_zod.z.string().optional().describe("Domain of inbox to create"),
66
+ display_name: import_zod.z.string().optional().describe("Display name of inbox to create")
67
67
  });
68
68
  var ListThreadsParams = ListItemsParams.extend({
69
- inbox_id: import_zod.z.string().describe("The ID of the inbox to list threads for"),
70
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("The labels to filter threads by")
69
+ inbox_id: import_zod.z.string().describe("ID of inbox to list threads from"),
70
+ labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to filter threads by")
71
71
  });
72
72
  var GetThreadParams = import_zod.z.object({
73
- inbox_id: import_zod.z.string().describe("The ID of the inbox to get the thread for"),
74
- thread_id: import_zod.z.string().describe("The ID of the thread to get")
73
+ inbox_id: import_zod.z.string().describe("ID of inbox to get thread from"),
74
+ thread_id: import_zod.z.string().describe("ID of thread to get")
75
75
  });
76
76
  var ListMessagesParams = ListItemsParams.extend({
77
- inbox_id: import_zod.z.string().describe("The ID of the inbox to list messages for"),
78
- labels: import_zod.z.array(import_zod.z.string()).optional().describe("The labels to filter messages by")
77
+ inbox_id: import_zod.z.string().describe("ID of inbox to list messages from"),
78
+ labels: import_zod.z.array(import_zod.z.string()).optional().describe("Labels to filter messages by")
79
79
  });
80
80
  var GetMessageParams = import_zod.z.object({
81
- inbox_id: import_zod.z.string().describe("The ID of the inbox to get the message for"),
82
- message_id: import_zod.z.string().describe("The ID of the message to get")
83
- });
84
- var GetAttachmentParams = import_zod.z.object({
85
- inbox_id: import_zod.z.string().describe("The ID of the inbox to get the attachment for"),
86
- message_id: import_zod.z.string().describe("The ID of the message to get the attachment for"),
87
- attachment_id: import_zod.z.string().describe("The ID of the attachment to get")
81
+ inbox_id: import_zod.z.string().describe("ID of inbox to get message from"),
82
+ message_id: import_zod.z.string().describe("ID of message to get")
88
83
  });
89
84
  var SendMessageParams = import_zod.z.object({
90
- inbox_id: import_zod.z.string().describe("The ID of the inbox to send the message from"),
91
- to: import_zod.z.array(import_zod.z.string()).describe("The list of recipients"),
92
- cc: import_zod.z.array(import_zod.z.string()).optional().describe("The list of CC recipients"),
93
- bcc: import_zod.z.array(import_zod.z.string()).optional().describe("The list of BCC recipients"),
94
- subject: import_zod.z.string().optional().describe("The subject of the message"),
95
- text: import_zod.z.string().optional().describe("The plain text body of the message"),
96
- html: import_zod.z.string().optional().describe("The HTML body of the message")
85
+ inbox_id: import_zod.z.string().describe("ID of inbox to send message from"),
86
+ to: import_zod.z.array(import_zod.z.string()).describe("Recipients of message"),
87
+ cc: import_zod.z.array(import_zod.z.string()).optional().describe("CC recipients of message"),
88
+ bcc: import_zod.z.array(import_zod.z.string()).optional().describe("BCC recipients of message"),
89
+ subject: import_zod.z.string().optional().describe("Subject of message"),
90
+ text: import_zod.z.string().optional().describe("Plain text body of message"),
91
+ html: import_zod.z.string().optional().describe("HTML body of message")
97
92
  });
98
93
  var ReplyToMessageParams = import_zod.z.object({
99
- inbox_id: import_zod.z.string().describe("The inbox ID of the inbox to reply to the message from"),
100
- message_id: import_zod.z.string().describe("The message ID of the message you wish to reply to"),
101
- text: import_zod.z.string().optional().describe("The plain text body of the reply"),
102
- html: import_zod.z.string().optional().describe("The HTML body of the reply")
94
+ inbox_id: import_zod.z.string().describe("ID of inbox to reply to message from"),
95
+ message_id: import_zod.z.string().describe("ID of message to reply to"),
96
+ text: import_zod.z.string().optional().describe("Plain text body of reply"),
97
+ html: import_zod.z.string().optional().describe("HTML body of reply")
103
98
  });
104
99
 
105
100
  // src/tools.ts
@@ -107,61 +102,55 @@ var tools = [
107
102
  {
108
103
  name: "list_inboxes",
109
104
  method: "inboxes.list",
110
- description: "List all inboxes",
105
+ description: "List inboxes",
111
106
  schema: ListItemsParams
112
107
  },
113
108
  {
114
109
  name: "get_inbox",
115
110
  method: "inboxes.get",
116
- description: "Get an inbox by ID",
111
+ description: "Get inbox",
117
112
  schema: GetInboxParams
118
113
  },
119
114
  {
120
115
  name: "create_inbox",
121
116
  method: "inboxes.create",
122
- description: "Create a new inbox",
117
+ description: "Create inbox. Use default username, domain, and display name unless otherwise specified.",
123
118
  schema: CreateInboxParams
124
119
  },
125
120
  {
126
121
  name: "list_threads",
127
- method: "threads.list",
128
- description: "List all threads",
122
+ method: "inboxes.threads.list",
123
+ description: "List threads in inbox",
129
124
  schema: ListThreadsParams
130
125
  },
131
126
  {
132
127
  name: "get_thread",
133
- method: "threads.get",
134
- description: "Get a thread by ID",
128
+ method: "inboxes.threads.get",
129
+ description: "Get thread",
135
130
  schema: GetThreadParams
136
131
  },
137
132
  {
138
133
  name: "list_messages",
139
- method: "messages.list",
140
- description: "List all messages",
134
+ method: "inboxes.messages.list",
135
+ description: "List messages in inbox",
141
136
  schema: ListMessagesParams
142
137
  },
143
138
  {
144
139
  name: "get_message",
145
- method: "messages.get",
146
- description: "Get a message by ID",
140
+ method: "inboxes.messages.get",
141
+ description: "Get message",
147
142
  schema: GetMessageParams
148
143
  },
149
- {
150
- name: "get_attachment",
151
- method: "attachments.get",
152
- description: "Get an attachment by ID",
153
- schema: GetAttachmentParams
154
- },
155
144
  {
156
145
  name: "send_message",
157
- method: "messages.send",
158
- description: "Send a message",
146
+ method: "inboxes.messages.send",
147
+ description: "Send message",
159
148
  schema: SendMessageParams
160
149
  },
161
150
  {
162
151
  name: "reply_to_message",
163
- method: "messages.reply",
164
- description: "Reply to a message",
152
+ method: "inboxes.messages.reply",
153
+ description: "Reply to message",
165
154
  schema: ReplyToMessageParams
166
155
  }
167
156
  ];
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ai-sdk.ts","../src/wrapper.ts","../src/schemas.ts","../src/tools.ts","../src/toolkit.ts"],"sourcesContent":["import { type Tool as AiSdkTool } from 'ai'\nimport { AgentMailClient } from 'agentmail'\n\nimport { MapToolkit } from './toolkit'\nimport { type Tool } from './tools'\n\nexport class AgentMailToolkit extends MapToolkit<AiSdkTool> {\n constructor(client?: AgentMailClient) {\n super(client)\n }\n\n protected buildTool(tool: Tool): AiSdkTool {\n return {\n description: tool.description,\n parameters: tool.schema,\n execute: async (args) => (await this.safeCall(tool.method, args)).result,\n }\n }\n}\n","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 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 { inboxId, ...options } = args\n\n if (inboxId) return await parent[methodKey].call(parent, inboxId, options)\n else return await parent[methodKey].call(parent, options)\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('The maximum number of items to return'),\n last_key: z.string().optional().describe('The last key to use for pagination'),\n})\n\nexport const GetInboxParams = z.object({\n inbox_id: z.string().describe('The ID of the inbox to get'),\n})\n\nexport const CreateInboxParams = z.object({\n username: z.string().optional().describe('The username of the inbox to create'),\n domain: z.string().optional().describe('The domain of the inbox to create'),\n display_name: z.string().optional().describe('The display name of the inbox to create'),\n})\n\nexport const ListThreadsParams = ListItemsParams.extend({\n inbox_id: z.string().describe('The ID of the inbox to list threads for'),\n labels: z.array(z.string()).optional().describe('The labels to filter threads by'),\n})\n\nexport const GetThreadParams = z.object({\n inbox_id: z.string().describe('The ID of the inbox to get the thread for'),\n thread_id: z.string().describe('The ID of the thread to get'),\n})\n\nexport const ListMessagesParams = ListItemsParams.extend({\n inbox_id: z.string().describe('The ID of the inbox to list messages for'),\n labels: z.array(z.string()).optional().describe('The labels to filter messages by'),\n})\n\nexport const GetMessageParams = z.object({\n inbox_id: z.string().describe('The ID of the inbox to get the message for'),\n message_id: z.string().describe('The ID of the message to get'),\n})\n\nexport const GetAttachmentParams = z.object({\n inbox_id: z.string().describe('The ID of the inbox to get the attachment for'),\n message_id: z.string().describe('The ID of the message to get the attachment for'),\n attachment_id: z.string().describe('The ID of the attachment to get'),\n})\n\nexport const SendMessageParams = z.object({\n inbox_id: z.string().describe('The ID of the inbox to send the message from'),\n to: z.array(z.string()).describe('The list of recipients'),\n cc: z.array(z.string()).optional().describe('The list of CC recipients'),\n bcc: z.array(z.string()).optional().describe('The list of BCC recipients'),\n subject: z.string().optional().describe('The subject of the message'),\n text: z.string().optional().describe('The plain text body of the message'),\n html: z.string().optional().describe('The HTML body of the message'),\n})\n\nexport const ReplyToMessageParams = z.object({\n inbox_id: z.string().describe('The inbox ID of the inbox to reply to the message from'),\n message_id: z.string().describe('The message ID of the message you wish to reply to'),\n text: z.string().optional().describe('The plain text body of the reply'),\n html: z.string().optional().describe('The HTML body of the reply'),\n})\n","import { AnyZodObject } from 'zod'\n\nimport {\n ListItemsParams,\n GetInboxParams,\n CreateInboxParams,\n ListThreadsParams,\n GetThreadParams,\n ListMessagesParams,\n GetMessageParams,\n GetAttachmentParams,\n SendMessageParams,\n ReplyToMessageParams,\n} from './schemas'\n\nexport type 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 all inboxes',\n schema: ListItemsParams,\n },\n {\n name: 'get_inbox',\n method: 'inboxes.get',\n description: 'Get an inbox by ID',\n schema: GetInboxParams,\n },\n {\n name: 'create_inbox',\n method: 'inboxes.create',\n description: 'Create a new inbox',\n schema: CreateInboxParams,\n },\n {\n name: 'list_threads',\n method: 'threads.list',\n description: 'List all threads',\n schema: ListThreadsParams,\n },\n {\n name: 'get_thread',\n method: 'threads.get',\n description: 'Get a thread by ID',\n schema: GetThreadParams,\n },\n {\n name: 'list_messages',\n method: 'messages.list',\n description: 'List all messages',\n schema: ListMessagesParams,\n },\n {\n name: 'get_message',\n method: 'messages.get',\n description: 'Get a message by ID',\n schema: GetMessageParams,\n },\n {\n name: 'get_attachment',\n method: 'attachments.get',\n description: 'Get an attachment by ID',\n schema: GetAttachmentParams,\n },\n {\n name: 'send_message',\n method: 'messages.send',\n description: 'Send a message',\n schema: SendMessageParams,\n },\n {\n name: 'reply_to_message',\n method: 'messages.reply',\n description: 'Reply to a message',\n schema: ReplyToMessageParams,\n },\n]\n","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":"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","names":[]}
1
+ {"version":3,"sources":["../src/ai-sdk.ts","../src/wrapper.ts","../src/schemas.ts","../src/tools.ts","../src/toolkit.ts"],"sourcesContent":["import { type Tool as AiSdkTool } from 'ai'\nimport { AgentMailClient } from 'agentmail'\n\nimport { MapToolkit } from './toolkit'\nimport { type Tool } from './tools'\n\nexport class AgentMailToolkit extends MapToolkit<AiSdkTool> {\n constructor(client?: AgentMailClient) {\n super(client)\n }\n\n protected buildTool(tool: Tool): AiSdkTool {\n return {\n description: tool.description,\n parameters: tool.schema,\n execute: async (args) => (await this.safeCall(tool.method, args)).result,\n }\n }\n}\n","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 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 { inboxId, ...options } = args\n\n if (inboxId) return await parent[methodKey].call(parent, inboxId, options)\n else return await parent[methodKey].call(parent, options)\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 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 = ListItemsParams.extend({\n inbox_id: z.string().describe('ID of inbox to list threads from'),\n labels: z.array(z.string()).optional().describe('Labels to filter threads by'),\n})\n\nexport const GetThreadParams = z.object({\n inbox_id: z.string().describe('ID of inbox to get thread from'),\n thread_id: z.string().describe('ID of thread to get'),\n})\n\nexport const ListMessagesParams = ListItemsParams.extend({\n inbox_id: z.string().describe('ID of inbox to list messages from'),\n labels: z.array(z.string()).optional().describe('Labels to filter messages by'),\n})\n\nexport const GetMessageParams = z.object({\n inbox_id: z.string().describe('ID of inbox to get message from'),\n message_id: z.string().describe('ID of message 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})\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})\n","import { AnyZodObject } from 'zod'\n\nimport {\n ListItemsParams,\n GetInboxParams,\n CreateInboxParams,\n ListThreadsParams,\n GetThreadParams,\n ListMessagesParams,\n GetMessageParams,\n SendMessageParams,\n ReplyToMessageParams,\n} from './schemas'\n\nexport type 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. Use default username, domain, and display name unless otherwise specified.',\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: 'get_thread',\n method: 'inboxes.threads.get',\n description: 'Get thread',\n schema: GetThreadParams,\n },\n {\n name: 'list_messages',\n method: 'inboxes.messages.list',\n description: 'List messages in inbox',\n schema: ListMessagesParams,\n },\n {\n name: 'get_message',\n method: 'inboxes.messages.get',\n description: 'Get message',\n schema: GetMessageParams,\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","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":"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","names":[]}
package/dist/ai-sdk.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  MapToolkit
3
- } from "./chunk-4F4JVYOE.mjs";
3
+ } from "./chunk-UODX72KA.mjs";
4
4
  import "./chunk-XAJA2AYA.mjs";
5
- import "./chunk-QBOE34GE.mjs";
5
+ import "./chunk-GWFZG2RN.mjs";
6
6
 
7
7
  // src/ai-sdk.ts
8
8
  var AgentMailToolkit = class extends MapToolkit {
@@ -0,0 +1,117 @@
1
+ // src/schemas.ts
2
+ import { z } from "zod";
3
+ var ListItemsParams = z.object({
4
+ limit: z.number().optional().describe("Max number of items to return"),
5
+ page_token: z.string().optional().describe("Page token for pagination")
6
+ });
7
+ var GetInboxParams = z.object({
8
+ inbox_id: z.string().describe("ID of inbox to get")
9
+ });
10
+ var CreateInboxParams = z.object({
11
+ username: z.string().optional().describe("Username of inbox to create"),
12
+ domain: z.string().optional().describe("Domain of inbox to create"),
13
+ display_name: z.string().optional().describe("Display name of inbox to create")
14
+ });
15
+ var ListThreadsParams = ListItemsParams.extend({
16
+ inbox_id: z.string().describe("ID of inbox to list threads from"),
17
+ labels: z.array(z.string()).optional().describe("Labels to filter threads by")
18
+ });
19
+ var GetThreadParams = z.object({
20
+ inbox_id: z.string().describe("ID of inbox to get thread from"),
21
+ thread_id: z.string().describe("ID of thread to get")
22
+ });
23
+ var ListMessagesParams = ListItemsParams.extend({
24
+ inbox_id: z.string().describe("ID of inbox to list messages from"),
25
+ labels: z.array(z.string()).optional().describe("Labels to filter messages by")
26
+ });
27
+ var GetMessageParams = z.object({
28
+ inbox_id: z.string().describe("ID of inbox to get message from"),
29
+ message_id: z.string().describe("ID of message to get")
30
+ });
31
+ var SendMessageParams = z.object({
32
+ inbox_id: z.string().describe("ID of inbox to send message from"),
33
+ to: z.array(z.string()).describe("Recipients of message"),
34
+ cc: z.array(z.string()).optional().describe("CC recipients of message"),
35
+ bcc: z.array(z.string()).optional().describe("BCC recipients of message"),
36
+ subject: z.string().optional().describe("Subject of message"),
37
+ text: z.string().optional().describe("Plain text body of message"),
38
+ html: z.string().optional().describe("HTML body of message")
39
+ });
40
+ var ReplyToMessageParams = z.object({
41
+ inbox_id: z.string().describe("ID of inbox to reply to message from"),
42
+ message_id: z.string().describe("ID of message to reply to"),
43
+ text: z.string().optional().describe("Plain text body of reply"),
44
+ html: z.string().optional().describe("HTML body of reply")
45
+ });
46
+
47
+ // src/tools.ts
48
+ var tools = [
49
+ {
50
+ name: "list_inboxes",
51
+ method: "inboxes.list",
52
+ description: "List inboxes",
53
+ schema: ListItemsParams
54
+ },
55
+ {
56
+ name: "get_inbox",
57
+ method: "inboxes.get",
58
+ description: "Get inbox",
59
+ schema: GetInboxParams
60
+ },
61
+ {
62
+ name: "create_inbox",
63
+ method: "inboxes.create",
64
+ description: "Create inbox. Use default username, domain, and display name unless otherwise specified.",
65
+ schema: CreateInboxParams
66
+ },
67
+ {
68
+ name: "list_threads",
69
+ method: "inboxes.threads.list",
70
+ description: "List threads in inbox",
71
+ schema: ListThreadsParams
72
+ },
73
+ {
74
+ name: "get_thread",
75
+ method: "inboxes.threads.get",
76
+ description: "Get thread",
77
+ schema: GetThreadParams
78
+ },
79
+ {
80
+ name: "list_messages",
81
+ method: "inboxes.messages.list",
82
+ description: "List messages in inbox",
83
+ schema: ListMessagesParams
84
+ },
85
+ {
86
+ name: "get_message",
87
+ method: "inboxes.messages.get",
88
+ description: "Get message",
89
+ schema: GetMessageParams
90
+ },
91
+ {
92
+ name: "send_message",
93
+ method: "inboxes.messages.send",
94
+ description: "Send message",
95
+ schema: SendMessageParams
96
+ },
97
+ {
98
+ name: "reply_to_message",
99
+ method: "inboxes.messages.reply",
100
+ description: "Reply to message",
101
+ schema: ReplyToMessageParams
102
+ }
103
+ ];
104
+
105
+ export {
106
+ ListItemsParams,
107
+ GetInboxParams,
108
+ CreateInboxParams,
109
+ ListThreadsParams,
110
+ GetThreadParams,
111
+ ListMessagesParams,
112
+ GetMessageParams,
113
+ SendMessageParams,
114
+ ReplyToMessageParams,
115
+ tools
116
+ };
117
+ //# sourceMappingURL=chunk-GWFZG2RN.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/schemas.ts","../src/tools.ts"],"sourcesContent":["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 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 = ListItemsParams.extend({\n inbox_id: z.string().describe('ID of inbox to list threads from'),\n labels: z.array(z.string()).optional().describe('Labels to filter threads by'),\n})\n\nexport const GetThreadParams = z.object({\n inbox_id: z.string().describe('ID of inbox to get thread from'),\n thread_id: z.string().describe('ID of thread to get'),\n})\n\nexport const ListMessagesParams = ListItemsParams.extend({\n inbox_id: z.string().describe('ID of inbox to list messages from'),\n labels: z.array(z.string()).optional().describe('Labels to filter messages by'),\n})\n\nexport const GetMessageParams = z.object({\n inbox_id: z.string().describe('ID of inbox to get message from'),\n message_id: z.string().describe('ID of message 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})\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})\n","import { AnyZodObject } from 'zod'\n\nimport {\n ListItemsParams,\n GetInboxParams,\n CreateInboxParams,\n ListThreadsParams,\n GetThreadParams,\n ListMessagesParams,\n GetMessageParams,\n SendMessageParams,\n ReplyToMessageParams,\n} from './schemas'\n\nexport type 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. Use default username, domain, and display name unless otherwise specified.',\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: 'get_thread',\n method: 'inboxes.threads.get',\n description: 'Get thread',\n schema: GetThreadParams,\n },\n {\n name: 'list_messages',\n method: 'inboxes.messages.list',\n description: 'List messages in inbox',\n schema: ListMessagesParams,\n },\n {\n name: 'get_message',\n method: 'inboxes.messages.get',\n description: 'Get message',\n schema: GetMessageParams,\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"],"mappings":"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","names":[]}
@@ -0,0 +1,40 @@
1
+ import {
2
+ Wrapper
3
+ } from "./chunk-XAJA2AYA.mjs";
4
+ import {
5
+ tools
6
+ } from "./chunk-GWFZG2RN.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-UODX72KA.mjs.map
@@ -0,0 +1 @@
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":[]}
package/dist/index.d.mts CHANGED
@@ -3,13 +3,13 @@ export { T as Tool, t as tools } from './tools-DFoMkoW0.mjs';
3
3
 
4
4
  declare const ListItemsParams: z.ZodObject<{
5
5
  limit: z.ZodOptional<z.ZodNumber>;
6
- last_key: z.ZodOptional<z.ZodString>;
6
+ page_token: z.ZodOptional<z.ZodString>;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  limit?: number | undefined;
9
- last_key?: string | undefined;
9
+ page_token?: string | undefined;
10
10
  }, {
11
11
  limit?: number | undefined;
12
- last_key?: string | undefined;
12
+ page_token?: string | undefined;
13
13
  }>;
14
14
  declare const GetInboxParams: z.ZodObject<{
15
15
  inbox_id: z.ZodString;
@@ -31,21 +31,21 @@ declare const CreateInboxParams: z.ZodObject<{
31
31
  domain?: string | undefined;
32
32
  display_name?: string | undefined;
33
33
  }>;
34
- declare const ListThreadsParams: z.ZodObject<z.objectUtil.extendShape<{
34
+ declare const ListThreadsParams: z.ZodObject<{
35
35
  limit: z.ZodOptional<z.ZodNumber>;
36
- last_key: z.ZodOptional<z.ZodString>;
37
- }, {
36
+ page_token: z.ZodOptional<z.ZodString>;
37
+ } & {
38
38
  inbox_id: z.ZodString;
39
39
  labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
40
- }>, "strip", z.ZodTypeAny, {
40
+ }, "strip", z.ZodTypeAny, {
41
41
  inbox_id: string;
42
42
  limit?: number | undefined;
43
- last_key?: string | undefined;
43
+ page_token?: string | undefined;
44
44
  labels?: string[] | undefined;
45
45
  }, {
46
46
  inbox_id: string;
47
47
  limit?: number | undefined;
48
- last_key?: string | undefined;
48
+ page_token?: string | undefined;
49
49
  labels?: string[] | undefined;
50
50
  }>;
51
51
  declare const GetThreadParams: z.ZodObject<{
@@ -58,21 +58,21 @@ declare const GetThreadParams: z.ZodObject<{
58
58
  inbox_id: string;
59
59
  thread_id: string;
60
60
  }>;
61
- declare const ListMessagesParams: z.ZodObject<z.objectUtil.extendShape<{
61
+ declare const ListMessagesParams: z.ZodObject<{
62
62
  limit: z.ZodOptional<z.ZodNumber>;
63
- last_key: z.ZodOptional<z.ZodString>;
64
- }, {
63
+ page_token: z.ZodOptional<z.ZodString>;
64
+ } & {
65
65
  inbox_id: z.ZodString;
66
66
  labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
67
- }>, "strip", z.ZodTypeAny, {
67
+ }, "strip", z.ZodTypeAny, {
68
68
  inbox_id: string;
69
69
  limit?: number | undefined;
70
- last_key?: string | undefined;
70
+ page_token?: string | undefined;
71
71
  labels?: string[] | undefined;
72
72
  }, {
73
73
  inbox_id: string;
74
74
  limit?: number | undefined;
75
- last_key?: string | undefined;
75
+ page_token?: string | undefined;
76
76
  labels?: string[] | undefined;
77
77
  }>;
78
78
  declare const GetMessageParams: z.ZodObject<{
@@ -85,19 +85,6 @@ declare const GetMessageParams: z.ZodObject<{
85
85
  inbox_id: string;
86
86
  message_id: string;
87
87
  }>;
88
- declare const GetAttachmentParams: z.ZodObject<{
89
- inbox_id: z.ZodString;
90
- message_id: z.ZodString;
91
- attachment_id: z.ZodString;
92
- }, "strip", z.ZodTypeAny, {
93
- inbox_id: string;
94
- message_id: string;
95
- attachment_id: string;
96
- }, {
97
- inbox_id: string;
98
- message_id: string;
99
- attachment_id: string;
100
- }>;
101
88
  declare const SendMessageParams: z.ZodObject<{
102
89
  inbox_id: z.ZodString;
103
90
  to: z.ZodArray<z.ZodString, "many">;
@@ -140,4 +127,4 @@ declare const ReplyToMessageParams: z.ZodObject<{
140
127
  html?: string | undefined;
141
128
  }>;
142
129
 
143
- export { CreateInboxParams, GetAttachmentParams, GetInboxParams, GetMessageParams, GetThreadParams, ListItemsParams, ListMessagesParams, ListThreadsParams, ReplyToMessageParams, SendMessageParams };
130
+ export { CreateInboxParams, GetInboxParams, GetMessageParams, GetThreadParams, ListItemsParams, ListMessagesParams, ListThreadsParams, ReplyToMessageParams, SendMessageParams };
package/dist/index.d.ts CHANGED
@@ -3,13 +3,13 @@ export { T as Tool, t as tools } from './tools-DFoMkoW0.js';
3
3
 
4
4
  declare const ListItemsParams: z.ZodObject<{
5
5
  limit: z.ZodOptional<z.ZodNumber>;
6
- last_key: z.ZodOptional<z.ZodString>;
6
+ page_token: z.ZodOptional<z.ZodString>;
7
7
  }, "strip", z.ZodTypeAny, {
8
8
  limit?: number | undefined;
9
- last_key?: string | undefined;
9
+ page_token?: string | undefined;
10
10
  }, {
11
11
  limit?: number | undefined;
12
- last_key?: string | undefined;
12
+ page_token?: string | undefined;
13
13
  }>;
14
14
  declare const GetInboxParams: z.ZodObject<{
15
15
  inbox_id: z.ZodString;
@@ -31,21 +31,21 @@ declare const CreateInboxParams: z.ZodObject<{
31
31
  domain?: string | undefined;
32
32
  display_name?: string | undefined;
33
33
  }>;
34
- declare const ListThreadsParams: z.ZodObject<z.objectUtil.extendShape<{
34
+ declare const ListThreadsParams: z.ZodObject<{
35
35
  limit: z.ZodOptional<z.ZodNumber>;
36
- last_key: z.ZodOptional<z.ZodString>;
37
- }, {
36
+ page_token: z.ZodOptional<z.ZodString>;
37
+ } & {
38
38
  inbox_id: z.ZodString;
39
39
  labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
40
- }>, "strip", z.ZodTypeAny, {
40
+ }, "strip", z.ZodTypeAny, {
41
41
  inbox_id: string;
42
42
  limit?: number | undefined;
43
- last_key?: string | undefined;
43
+ page_token?: string | undefined;
44
44
  labels?: string[] | undefined;
45
45
  }, {
46
46
  inbox_id: string;
47
47
  limit?: number | undefined;
48
- last_key?: string | undefined;
48
+ page_token?: string | undefined;
49
49
  labels?: string[] | undefined;
50
50
  }>;
51
51
  declare const GetThreadParams: z.ZodObject<{
@@ -58,21 +58,21 @@ declare const GetThreadParams: z.ZodObject<{
58
58
  inbox_id: string;
59
59
  thread_id: string;
60
60
  }>;
61
- declare const ListMessagesParams: z.ZodObject<z.objectUtil.extendShape<{
61
+ declare const ListMessagesParams: z.ZodObject<{
62
62
  limit: z.ZodOptional<z.ZodNumber>;
63
- last_key: z.ZodOptional<z.ZodString>;
64
- }, {
63
+ page_token: z.ZodOptional<z.ZodString>;
64
+ } & {
65
65
  inbox_id: z.ZodString;
66
66
  labels: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
67
- }>, "strip", z.ZodTypeAny, {
67
+ }, "strip", z.ZodTypeAny, {
68
68
  inbox_id: string;
69
69
  limit?: number | undefined;
70
- last_key?: string | undefined;
70
+ page_token?: string | undefined;
71
71
  labels?: string[] | undefined;
72
72
  }, {
73
73
  inbox_id: string;
74
74
  limit?: number | undefined;
75
- last_key?: string | undefined;
75
+ page_token?: string | undefined;
76
76
  labels?: string[] | undefined;
77
77
  }>;
78
78
  declare const GetMessageParams: z.ZodObject<{
@@ -85,19 +85,6 @@ declare const GetMessageParams: z.ZodObject<{
85
85
  inbox_id: string;
86
86
  message_id: string;
87
87
  }>;
88
- declare const GetAttachmentParams: z.ZodObject<{
89
- inbox_id: z.ZodString;
90
- message_id: z.ZodString;
91
- attachment_id: z.ZodString;
92
- }, "strip", z.ZodTypeAny, {
93
- inbox_id: string;
94
- message_id: string;
95
- attachment_id: string;
96
- }, {
97
- inbox_id: string;
98
- message_id: string;
99
- attachment_id: string;
100
- }>;
101
88
  declare const SendMessageParams: z.ZodObject<{
102
89
  inbox_id: z.ZodString;
103
90
  to: z.ZodArray<z.ZodString, "many">;
@@ -140,4 +127,4 @@ declare const ReplyToMessageParams: z.ZodObject<{
140
127
  html?: string | undefined;
141
128
  }>;
142
129
 
143
- export { CreateInboxParams, GetAttachmentParams, GetInboxParams, GetMessageParams, GetThreadParams, ListItemsParams, ListMessagesParams, ListThreadsParams, ReplyToMessageParams, SendMessageParams };
130
+ export { CreateInboxParams, GetInboxParams, GetMessageParams, GetThreadParams, ListItemsParams, ListMessagesParams, ListThreadsParams, ReplyToMessageParams, SendMessageParams };