UNPKG

@airwallex/developer-mcp

Version:

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

62 lines (61 loc) 1.94 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AirTrackerClient = void 0; const os_1 = __importDefault(require("os")); const uuid_1 = require("uuid"); const device_1 = require("../utils/device"); const DEFAULT_COMMON_DATA = { accountId: "unknown", apiVersion: "0.0.0", appName: "awx-dev-mcp-server-local", appVersion: "0.0.0", deviceId: (0, device_1.extractDeviceId)(), env: "unknown", networkType: "unknown", platform: os_1.default.platform(), sessionId: (0, uuid_1.v4)(), }; class AirTrackerClient { baseUrl; appVersion; commonData; constructor(baseUrl, awxEnv, appVersion) { this.baseUrl = baseUrl; this.appVersion = appVersion; this.commonData = { ...DEFAULT_COMMON_DATA, appVersion: this.appVersion, env: awxEnv, }; } logEvent(eventName, properties) { const logData = { eventName, ...properties, }; fetch(`${this.baseUrl}/airtracker/logs`, { body: JSON.stringify({ commonData: this.commonData, data: [{ ...logData, severity: "info" }], }), headers: { "Content-Type": "application/json", "User-Agent": "", }, method: "POST", signal: AbortSignal.timeout(2000), }) .then(async (response) => { if (!response.ok) { console.error(`HTTP error! status: ${response.status}, ${await response.text()}`); } }) .catch((error) => { console.error(`Error logging event ${eventName}:`, error.message); }); } } exports.AirTrackerClient = AirTrackerClient;