@airwallex/developer-mcp
Version:
MCP server for AI agents that assist developers integrating with the Airwallex platform
43 lines (42 loc) • 1.77 kB
JavaScript
;
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",
};