← Public packages
@kody/agent-mail
AgentMail inboxes for agents: create/list inboxes, messages, threads, and Svix webhook ingress.
src/list-webhooks.ts
36 lines · 1.1 KB · TypeScriptimport { agentMailRequest, clean } from './core.ts'
export type ListWebhooksInput = {
limit?: number
pageToken?: string
}
/**
* List AgentMail organization webhooks.
* Read-only; uses GET /v0/webhooks.
*
* @param input.limit - Max items to return
* @param input.pageToken - Pagination cursor
* @returns Webhook list payload from AgentMail
*
* @example
* import listWebhooks from 'kody:@kody/agent-mail/list-webhooks'
* const { webhooks } = await listWebhooks()
*/
export default async function listWebhooks(input: ListWebhooksInput = {}) {
const query: Record<string, unknown> = {}
if (input.limit !== undefined && input.limit !== null) query.limit = Number(input.limit)
if (clean(input.pageToken)) query.page_token = clean(input.pageToken)
const result = (await agentMailRequest({
path: '/v0/webhooks',
query,
label: 'AgentMail list webhooks',
})) as { webhooks?: unknown[]; count?: number; next_page_token?: string }
return {
count: result.count ?? (Array.isArray(result.webhooks) ? result.webhooks.length : 0),
webhooks: Array.isArray(result.webhooks) ? result.webhooks : [],
nextPageToken: result.next_page_token ?? null,
}
}