Skip to main content
Glama
UnityClientFactory.js2.2 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.UnityClientFactory = void 0; const UnityClient_1 = require("./UnityClient"); const ResilientUnityClient_1 = require("./ResilientUnityClient"); const MockUnityClient_1 = require("./MockUnityClient"); const logger_1 = __importDefault(require("../utils/logger")); /** * Factory for creating Unity clients */ class UnityClientFactory { /** * Create a Unity client * @param config Client configuration * @returns A Unity client instance */ static createClient(config = {}) { const { host = 'localhost', port = 8082, resilient = true } = config; // Check if we should use a mock client if (process.env.UNITY_MOCK === 'true') { logger_1.default.info('Using mock Unity client'); return this.createMockClient({ connected: true, executionDelay: parseInt(process.env.UNITY_MOCK_DELAY || '50'), failureRate: parseFloat(process.env.UNITY_MOCK_FAILURE_RATE || '0') }); } // Create a real client if (resilient) { logger_1.default.info(`Creating resilient Unity client for ${host}:${port}`); return new ResilientUnityClient_1.ResilientUnityClient(host, port, config.resilientOptions); } else { logger_1.default.info(`Creating standard Unity client for ${host}:${port}`); return new UnityClient_1.UnityClient(host, port); } } /** * Create a mock Unity client for testing * @param options Mock options * @returns A mock Unity client */ static createMockClient(options = {}) { logger_1.default.info('Creating mock Unity client for testing'); return new MockUnityClient_1.MockUnityClient({ connected: options.connected ?? true, executionDelay: options.executionDelay ?? 50, failureRate: options.failureRate ?? 0 }); } } exports.UnityClientFactory = UnityClientFactory;

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TSavo/Unity-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server