/** * @sh-mcp/payments public API * * Exports the payments tool factory functions and the tool array builder. * The wire transport (OpenAPI / MCP) is generated from the registry; this * package only defines tools. * * Usage: * import { makePaymentsTools } from '@sh-mcp/payments'; * import { DynamoPaymentsClient } from '@sh-mcp/payments/client'; * * const tools = makePaymentsTools(new DynamoPaymentsClient()); * // register tools with the server registry */ export type { PaymentsClient, Payment, PaymentsQueryOptions } from './client.js'; export { DynamoPaymentsClient } from './client.js'; export { InMemoryPaymentsClient } from './dev-client.js'; export type { LookupByVendorInput, LookupByVendorOutput, LookupByInvoiceInput, LookupByInvoiceOutput, LookupByCheckInput, LookupByCheckOutput, } from './tools.js'; export { makeLookupByVendorTool, makeLookupByInvoiceTool, makeLookupByCheckTool } from './tools.js'; import type { PaymentsClient } from './client.js'; import { makeLookupByVendorTool, makeLookupByInvoiceTool, makeLookupByCheckTool } from './tools.js'; /** * Build the full payments tool array for a given client. * * @param client - A PaymentsClient implementation (real or mock). * @returns Array of ToolDef objects ready for registration with the server. */ export function makePaymentsTools(client: PaymentsClient) { return [ makeLookupByVendorTool(client), makeLookupByInvoiceTool(client), makeLookupByCheckTool(client), ] as const; }