UNPKG

@barfinex/types

Version:

Core TypeScript type definitions and shared interfaces for the Barfinex ecosystem. Provides strongly-typed contracts for modules, services, and plugins.

78 lines 2.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildDetectorConfig = buildDetectorConfig; const DEFAULT_ADVISOR = { key: '', restApiUrl: '', providerApi: '', connectorTypes: [], marketTypes: [], takeProfitPercent: 0, stopLossPercent: 0, commisions: [], aiIntegration: { apiKey: '', defaultModel: 'gpt-4', responseTemperature: 0.7, maxTokens: 2000, supportedFeatures: [], }, cacheSettings: { cacheHost: 'localhost', cachePort: 6379, defaultTTL: 60, }, scenarioAnalysis: { enabled: false, predefinedScenarios: [], maxAnalysisDepth: 1, customScenarios: [], }, logging: { verbose: false, logFilePath: './logs/advisor.log', externalMonitoring: false, }, portfolioOptimization: { enabled: false, riskTolerance: 'medium', strategies: [], }, }; /** * Унифицированный билдер конфигурации детектора. * Гарантирует, что все обязательные поля Detector будут заполнены. */ function buildDetectorConfig(config) { return { key: config.key ?? '', sysname: config.sysname ?? 'DefaultDetector', logLevel: config.logLevel ?? 'info', currency: config.currency ?? 'USDT', restApiUrl: config.restApiUrl ?? '', providers: config.providers ?? [], instruments: config.instruments ?? [], orders: config.orders ?? [], intervals: config.intervals ?? [], indicators: config.indicators ?? [], subscriptions: config.subscriptions ?? [], useSandbox: config.useSandbox ?? false, useScratch: config.useScratch ?? false, isBlocked: config.isBlocked ?? false, isActive: config.isActive ?? true, useNotifications: config.useNotifications ?? { telegram: { token: '', chatId: '', messageFormat: '', isActive: false, }, }, advisor: config.advisor ?? DEFAULT_ADVISOR, plugins: config.plugins ?? { modules: [], metas: [] }, qualityGate: config.qualityGate, performance: config.performance, customConfig: config.customConfig, }; } //# sourceMappingURL=detector-config.utils.js.map