export { CLIENT_ID_SETUP_URL, CLIENT_SECRET_SETUP_URL, DASHBOARD_APPS_URL, LIVE_API_BASE_URL, LIVE_API_HOST, PayPalApiError, SANDBOX_API_BASE_URL, SANDBOX_API_HOST, clientIdSetupUrl, clientSecretSetupUrl, mutationPreview, paypalListBalances, resolveClientIdSecretName, resolveClientSecretSecretName, } from './paypal-core.ts' export { createInvoice, findInvoice, getInvoice, listInvoices, searchInvoices, sendInvoice, summarizeInvoice, } from './invoices.ts' export { findTransaction, listTransactions, searchTransactions } from './transactions.ts' export { createPayout, getPayout, getPayoutItem } from './payouts.ts' export { searchInvoicesForReimbursement } from './reimbursements.ts' export { smokeTest } from './smoke-test.ts' export { balancesGet, invoicesCreate, invoicesGet, invoicesList, invoicesSearchInvoices, invoicesSend, payoutsCreate, payoutsGet, payoutsItemGet, searchGet, } from './openapi-client.ts' import { createInvoice, findInvoice, getInvoice, listInvoices, searchInvoices, sendInvoice, summarizeInvoice, } from './invoices.ts' import { createPayout, getPayout, getPayoutItem } from './payouts.ts' import { parseAction, paypalListBalances } from './paypal-core.ts' import { searchInvoicesForReimbursement } from './reimbursements.ts' import { smokeTest } from './smoke-test.ts' import { findTransaction, listTransactions, searchTransactions } from './transactions.ts' const actions = { 'smoke-test': smokeTest, 'list-invoices': listInvoices, 'get-invoice': getInvoice, 'search-invoices': searchInvoices, 'find-invoice': findInvoice, 'summarize-invoice': summarizeInvoice, 'create-invoice': createInvoice, 'send-invoice': sendInvoice, 'list-transactions': listTransactions, 'search-transactions': searchTransactions, 'find-transaction': findTransaction, 'list-balances': paypalListBalances, 'search-reimbursement': searchInvoicesForReimbursement, 'search-invoices-for-reimbursement': searchInvoicesForReimbursement, 'create-payout': createPayout, 'get-payout': getPayout, 'get-payout-item': getPayoutItem, } as const export type PayPalAction = keyof typeof actions const actionNames = Object.keys(actions) as PayPalAction[] /** * Root dispatcher for PayPal helpers. Defaults to the read-only smoke test. * @example * import paypal from 'kody:@kody/paypal' * const result = await paypal({ action: 'list-invoices', pageSize: 5 }) */ export default async function paypal(input: Record = {}) { const action = parseAction(input.action, actionNames, 'smoke-test', 'PayPal') const handler = actions[action] return await handler(input as never) }