← Public packages
@kody/agent-mail
AgentMail inboxes for agents: create/list inboxes, messages, threads, and Svix webhook ingress.
src/smoke-test.ts
47 lines · 1.2 KB · TypeScriptimport { agentMailRequest } from './core.ts'
import listInboxes from './list-inboxes.ts'
/**
* Read-only AgentMail auth smoke test: whoami plus list inboxes.
* Use after saving agentmailApiKey (and host approval for api.agentmail.to).
*
* @returns `{ ok, whoami?, inboxCount, inboxesSample }`
*
* @example
* import smokeTest from 'kody:@kody/agent-mail/smoke-test'
* const result = await smokeTest()
* // => { ok: true, inboxCount: 2, ... }
*/
export default async function smokeTest(_input: Record<string, never> = {}) {
let whoami: unknown = null
try {
whoami = await agentMailRequest({
path: '/v0/auth/me',
label: 'AgentMail whoami',
})
} catch (error) {
whoami = {
error: error instanceof Error ? error.message.slice(0, 200) : 'whoami failed',
}
}
const listed = await listInboxes({ limit: 5 })
return {
ok: true,
whoami,
inboxCount: listed.count,
inboxesSample: listed.inboxes.slice(0, 5).map((inbox) => {
const row = inbox as {
inbox_id?: string
email?: string
display_name?: string
}
return {
inboxId: row.inbox_id ?? null,
email: row.email ?? null,
displayName: row.display_name ?? null,
}
}),
nextPageToken: listed.nextPageToken,
}
}