Skip to content
← Public packages

@kody/agent-mail

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

src/get-message.ts

31 lines · 978 B · TypeScript
import { agentMailRequest, clean, encodePathSegment } from './core.ts'

export type GetMessageInput = {
	inboxId: string
	messageId: string
}

/**
 * Get one message from an AgentMail inbox.
 * Read-only; uses GET /v0/inboxes/{inbox_id}/messages/{message_id}.
 *
 * @param input.inboxId - AgentMail inbox id (required)
 * @param input.messageId - Message id (required)
 * @returns Message object from AgentMail
 *
 * @example
 * import getMessage from 'kody:@kody/agent-mail/get-message'
 * const { message } = await getMessage({
 *   inboxId: 'inbox_123',
 *   messageId: 'msg_456',
 * })
 */
export default async function getMessage(input: GetMessageInput) {
	const inboxId = encodePathSegment(input.inboxId, 'inboxId')
	const messageId = encodePathSegment(input.messageId, 'messageId')
	const message = await agentMailRequest({
		path: `/v0/inboxes/${inboxId}/messages/${messageId}`,
		label: 'AgentMail get message',
	})
	return { inboxId: clean(input.inboxId), message }
}