UNPKG

@copytrade/unified-broker

Version:

Unified broker interface library for Indian stock market brokers with plugin architecture

137 lines 5.14 kB
"use strict"; /** * @copytrade/unified-broker * Unified broker interface library for Indian stock market brokers */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.LIBRARY_INFO = exports.VERSION = exports.BrokerFactory = exports.BrokerRegistry = void 0; exports.initializeUnifiedBroker = initializeUnifiedBroker; exports.getBrokerSystemStatus = getBrokerSystemStatus; exports.getLibraryInfo = getLibraryInfo; exports.healthCheck = healthCheck; exports.createBroker = createBroker; exports.getSupportedBrokers = getSupportedBrokers; // Core interfaces and types __exportStar(require("./interfaces/IBrokerService"), exports); // New unified interfaces for standardized broker responses __exportStar(require("./interfaces/UnifiedBrokerResponse"), exports); // Unified broker factory __exportStar(require("./factories/UnifiedBrokerFactory"), exports); // Registry system for plugin management const BrokerRegistry_1 = require("./registry/BrokerRegistry"); Object.defineProperty(exports, "BrokerRegistry", { enumerable: true, get: function () { return BrokerRegistry_1.BrokerRegistry; } }); // Factory for creating broker instances const BrokerFactory_1 = require("./factories/BrokerFactory"); Object.defineProperty(exports, "BrokerFactory", { enumerable: true, get: function () { return BrokerFactory_1.BrokerFactory; } }); // Note: Broker plugins are now separate packages // Import @copytrade/broker-shoonya, @copytrade/broker-fyers, etc. to register brokers // Version information exports.VERSION = '1.1.0'; // Library metadata exports.LIBRARY_INFO = { name: '@copytrade/unified-broker', version: exports.VERSION, description: 'Unified broker interface library for Indian stock market brokers', author: 'CopyTrade Team', license: 'MIT', repository: 'https://github.com/ravitejakamalapuram/copytradepro' }; /** * Initialize the unified broker library with explicit control */ function initializeUnifiedBroker() { console.log(`🚀 Initializing ${exports.LIBRARY_INFO.name} v${exports.VERSION}`); const registry = BrokerRegistry_1.BrokerRegistry.getInstance(); console.log(`✅ Unified broker library initialized - ready for broker registration`); return registry; } /** * Get the current status of the unified broker system */ function getBrokerSystemStatus() { const registry = BrokerRegistry_1.BrokerRegistry.getInstance(); const availableBrokers = registry.getAvailableBrokers(); return { initialized: true, availableBrokers, totalBrokers: availableBrokers.length }; } /** * Get library information including available brokers */ function getLibraryInfo() { const registry = BrokerRegistry_1.BrokerRegistry.getInstance(); return { ...exports.LIBRARY_INFO, availableBrokers: registry.getAvailableBrokers(), registeredPlugins: registry.getRegisteredPlugins() }; } /** * Health check for the library */ function healthCheck() { try { const registry = BrokerRegistry_1.BrokerRegistry.getInstance(); const availableBrokers = registry.getAvailableBrokers(); if (availableBrokers.length === 0) { return { status: 'warning', message: 'No broker plugins registered', details: { availableBrokers: [], suggestion: 'Make sure broker plugins are properly loaded' } }; } return { status: 'healthy', message: `Library is healthy with ${availableBrokers.length} broker(s) available`, details: { availableBrokers, version: exports.VERSION } }; } catch (error) { return { status: 'error', message: 'Library health check failed', details: { error: error.message } }; } } /** * Quick start helper - creates a broker instance */ function createBroker(brokerName) { const factory = BrokerFactory_1.BrokerFactory.getInstance(); return factory.createBroker(brokerName); } /** * Get list of all supported brokers */ function getSupportedBrokers() { const factory = BrokerFactory_1.BrokerFactory.getInstance(); return factory.getSupportedBrokers(); } // Auto-initialize when the library is imported initializeUnifiedBroker(); //# sourceMappingURL=index.js.map