Skip to content
← Public packages

@kody/agent-mail

AgentMail inboxes for agents: create/list inboxes, messages, threads, and Svix webhook ingress.

src/index.ts

50 lines · 1.6 KB · TypeScript
/**
 * AgentMail helpers for agent inboxes via agentmailApiKey.
 * Prefer smoke-test / list-inboxes for auth checks; guard sends with confirm or dryRun.
 *
 * @example
 * import agentMail from 'kody:@kody/agent-mail'
 * const overview = await agentMail()
 */

import listInboxes from './list-inboxes.ts'

export { default as smokeTest } from './smoke-test.ts'
export { default as listInboxes } from './list-inboxes.ts'
export { default as createInbox } from './create-inbox.ts'
export { default as getInbox } from './get-inbox.ts'
export { default as listMessages } from './list-messages.ts'
export { default as getMessage } from './get-message.ts'
export { default as sendMessage } from './send-message.ts'
export { default as replyToMessage } from './reply-to-message.ts'
export { default as listThreads } from './list-threads.ts'
export { default as getThread } from './get-thread.ts'
export { default as listWebhooks } from './list-webhooks.ts'
export { default as createWebhook } from './create-webhook.ts'
export { default as handleWebhook } from './handle-webhook.ts'
export { agentMailRequest } from './core.ts'

export default async function agentMailOverview() {
	const { inboxes, count } = await listInboxes({ limit: 5 })
	return {
		name: '@kody/agent-mail',
		secret: 'agentmailApiKey',
		inboxCount: count,
		inboxesSample: inboxes.slice(0, 5),
		exports: [
			'./smoke-test',
			'./list-inboxes',
			'./create-inbox',
			'./get-inbox',
			'./list-messages',
			'./get-message',
			'./send-message',
			'./reply-to-message',
			'./list-threads',
			'./get-thread',
			'./list-webhooks',
			'./create-webhook',
			'./handle-webhook',
		],
	}
}