UNPKG

@airwallex/developer-mcp

Version:

MCP server for AI agents that assist developers integrating with the Airwallex platform

43 lines (42 loc) 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.simulateTransferUpdateToolConfig = exports.simulateTransferUpdateSchema = void 0; exports.executeSimulateTransferUpdate = executeSimulateTransferUpdate; const zod_1 = require("zod"); const descriptions_1 = require("../constants/descriptions"); exports.simulateTransferUpdateSchema = zod_1.z.object({ next_status: zod_1.z .enum(["OVERDUE", "PROCESSING", "SENT", "PAID", "FAILED", "CANCELLED"]) .describe("The next status of the transfer. One of the following: OVERDUE, PROCESSING, SENT, PAID, FAILED, CANCELLED."), transfer_id: zod_1.z.string().min(1).describe("The ID of the transfer to update."), }); async function executeSimulateTransferUpdate(airwallex, args) { try { const response = (await airwallex.post(`/api/v1/simulation/transfers/${args.transfer_id}/transition`, { next_status: args.next_status, })); return { content: [ { text: JSON.stringify(response, null, 2), type: "text", }, ], }; } catch (error) { const statusCode = error?.status || error?.statusCode || 500; const errorMessage = error?.message || "Unknown error occurred"; throw new Error(`Failed to simulate transfer update (${statusCode}): ${errorMessage}`); } } exports.simulateTransferUpdateToolConfig = { annotations: { openWorldHint: true, readOnlyHint: false, title: "Simulate transfer result", }, description: descriptions_1.TOOL_DESCRIPTIONS.SIMULATE_TRANSFER_UPDATE, inputSchema: exports.simulateTransferUpdateSchema, name: "simulate_transfer_result", };