UNPKG

@barfinex/types

Version:

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

103 lines 6.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SubscriptionType = exports.EventSource = void 0; exports.assertEventSourceMatch = assertEventSourceMatch; /** * Strict event sources. * Only these 4 applications can emit events. */ var EventSource; (function (EventSource) { EventSource["PROVIDER"] = "PROVIDER"; EventSource["INSPECTOR"] = "INSPECTOR"; EventSource["DETECTOR"] = "DETECTOR"; EventSource["ADVISOR"] = "ADVISOR"; })(EventSource || (exports.EventSource = EventSource = {})); /** * All allowed subscription/event types. * Must always start with one of the EventSource prefixes. */ var SubscriptionType; (function (SubscriptionType) { // ========================= // PROVIDER (DATA LAYER) // ========================= SubscriptionType["PROVIDER_MARKETDATA_TRADE"] = "PROVIDER_MARKETDATA_TRADE"; SubscriptionType["PROVIDER_MARKETDATA_ORDERBOOK"] = "PROVIDER_MARKETDATA_ORDERBOOK"; SubscriptionType["PROVIDER_MARKETDATA_CANDLE"] = "PROVIDER_MARKETDATA_CANDLE"; SubscriptionType["PROVIDER_ACCOUNT_EVENT"] = "PROVIDER_ACCOUNT_EVENT"; SubscriptionType["PROVIDER_ORDER_CREATE"] = "PROVIDER_ORDER_CREATE"; SubscriptionType["PROVIDER_ORDER_CLOSE"] = "PROVIDER_ORDER_CLOSE"; SubscriptionType["PROVIDER_INSTRUMENTS"] = "PROVIDER_INSTRUMENTS"; SubscriptionType["PROVIDER_INSTRUMENT_PRICES"] = "PROVIDER_INSTRUMENT_PRICES"; // ========================= // INSPECTOR (RISK + REGIME) // ========================= SubscriptionType["INSPECTOR_TREND_DETECTED"] = "INSPECTOR_TREND_DETECTED"; SubscriptionType["INSPECTOR_RANGE_DETECTED"] = "INSPECTOR_RANGE_DETECTED"; SubscriptionType["INSPECTOR_VOLATILITY_SPIKE"] = "INSPECTOR_VOLATILITY_SPIKE"; SubscriptionType["INSPECTOR_LIQUIDITY_DROPPED"] = "INSPECTOR_LIQUIDITY_DROPPED"; SubscriptionType["INSPECTOR_DATA_GAP_DETECTED"] = "INSPECTOR_DATA_GAP_DETECTED"; SubscriptionType["INSPECTOR_DATA_OUTLIER_DETECTED"] = "INSPECTOR_DATA_OUTLIER_DETECTED"; SubscriptionType["INSPECTOR_DATA_MATURITY_UPDATE"] = "INSPECTOR_DATA_MATURITY_UPDATE"; SubscriptionType["INSPECTOR_RISK_LIMIT_BREACH"] = "INSPECTOR_RISK_LIMIT_BREACH"; SubscriptionType["INSPECTOR_RISK_MARGIN_UPDATE"] = "INSPECTOR_RISK_MARGIN_UPDATE"; SubscriptionType["INSPECTOR_RISK_KILL_SWITCH"] = "INSPECTOR_RISK_KILL_SWITCH"; SubscriptionType["INSPECTOR_TRADE_OUTCOME"] = "INSPECTOR_TRADE_OUTCOME"; // ========================= // DETECTOR (SIGNALS + INTENT) // ========================= SubscriptionType["DETECTOR_SIGNAL_GENERATED"] = "DETECTOR_SIGNAL_GENERATED"; // UI / OBSERVABILITY EVENT SubscriptionType["DETECTOR_SIGNAL_UPDATED"] = "DETECTOR_SIGNAL_UPDATED"; SubscriptionType["DETECTOR_SIGNAL_INVALIDATED"] = "DETECTOR_SIGNAL_INVALIDATED"; SubscriptionType["DETECTOR_POSITION_OPEN_REQUEST"] = "DETECTOR_POSITION_OPEN_REQUEST"; SubscriptionType["DETECTOR_POSITION_CLOSE_REQUEST"] = "DETECTOR_POSITION_CLOSE_REQUEST"; SubscriptionType["DETECTOR_POSITION_REDUCE_REQUEST"] = "DETECTOR_POSITION_REDUCE_REQUEST"; SubscriptionType["DETECTOR_POSITION_FLIP_REQUEST"] = "DETECTOR_POSITION_FLIP_REQUEST"; // ========================= // ADVISOR (AI + EXPLAINABILITY) // ========================= SubscriptionType["ADVISOR_DECISION_REQUEST"] = "ADVISOR_DECISION_REQUEST"; // UI / OBSERVABILITY EVENT SubscriptionType["ADVISOR_DECISION_RESPONSE"] = "ADVISOR_DECISION_RESPONSE"; SubscriptionType["ADVISOR_DECISION_MADE"] = "ADVISOR_DECISION_MADE"; // UI / OBSERVABILITY EVENT SubscriptionType["ADVISOR_SIGNAL_GENERATED"] = "ADVISOR_SIGNAL_GENERATED"; SubscriptionType["ADVISOR_EXECUTION_INTENT_OPEN"] = "ADVISOR_EXECUTION_INTENT_OPEN"; SubscriptionType["ADVISOR_EXECUTION_INTENT_CLOSE"] = "ADVISOR_EXECUTION_INTENT_CLOSE"; SubscriptionType["ADVISOR_EXECUTION_INTENT_REDUCE"] = "ADVISOR_EXECUTION_INTENT_REDUCE"; SubscriptionType["ADVISOR_EXECUTION_INTENT_FLIP"] = "ADVISOR_EXECUTION_INTENT_FLIP"; SubscriptionType["EXECUTION_INTENT_OPEN"] = "ADVISOR_EXECUTION_INTENT_OPEN"; SubscriptionType["EXECUTION_INTENT_CLOSE"] = "ADVISOR_EXECUTION_INTENT_CLOSE"; SubscriptionType["EXECUTION_INTENT_REDUCE"] = "ADVISOR_EXECUTION_INTENT_REDUCE"; SubscriptionType["EXECUTION_INTENT_FLIP"] = "ADVISOR_EXECUTION_INTENT_FLIP"; // TELEMETRY SubscriptionType["ADVISOR_AUTONOMOUS_CYCLE_STARTED"] = "ADVISOR_AUTONOMOUS_CYCLE_STARTED"; SubscriptionType["ADVISOR_AUTONOMOUS_CYCLE_COMPLETED"] = "ADVISOR_AUTONOMOUS_CYCLE_COMPLETED"; // TELEMETRY SubscriptionType["ADVISOR_DECISION_CONTEXT_SNAPSHOT"] = "ADVISOR_DECISION_CONTEXT_SNAPSHOT"; SubscriptionType["ADVISOR_CONVICTION_SNAPSHOT"] = "ADVISOR_CONVICTION_SNAPSHOT"; SubscriptionType["ADVISOR_CONVICTION_CALIBRATION_SNAPSHOT"] = "ADVISOR_CONVICTION_CALIBRATION_SNAPSHOT"; SubscriptionType["ADVISOR_PORTFOLIO_ALLOCATION_SNAPSHOT"] = "ADVISOR_PORTFOLIO_ALLOCATION_SNAPSHOT"; SubscriptionType["ADVISOR_PORTFOLIO_CORRELATION_SNAPSHOT"] = "ADVISOR_PORTFOLIO_CORRELATION_SNAPSHOT"; SubscriptionType["ADVISOR_REGIME_CAPITAL_ROTATION_SNAPSHOT"] = "ADVISOR_REGIME_CAPITAL_ROTATION_SNAPSHOT"; SubscriptionType["ADVISOR_NET_EXPOSURE_SNAPSHOT"] = "ADVISOR_NET_EXPOSURE_SNAPSHOT"; SubscriptionType["ADVISOR_FACTOR_EXPOSURE_SNAPSHOT"] = "ADVISOR_FACTOR_EXPOSURE_SNAPSHOT"; SubscriptionType["ADVISOR_PORTFOLIO_RISK_MODE_SNAPSHOT"] = "ADVISOR_PORTFOLIO_RISK_MODE_SNAPSHOT"; // TELEMETRY SubscriptionType["ADVISOR_PERFORMANCE_FEEDBACK_PROCESSED"] = "ADVISOR_PERFORMANCE_FEEDBACK_PROCESSED"; SubscriptionType["ADVISOR_OUTCOME_ATTRIBUTION_SNAPSHOT"] = "ADVISOR_OUTCOME_ATTRIBUTION_SNAPSHOT"; SubscriptionType["ADVISOR_CONFIDENCE_LOW"] = "ADVISOR_CONFIDENCE_LOW"; SubscriptionType["ADVISOR_MODEL_SWITCHED"] = "ADVISOR_MODEL_SWITCHED"; SubscriptionType["ADVISOR_HALLUCINATION_DETECTED"] = "ADVISOR_HALLUCINATION_DETECTED"; })(SubscriptionType || (exports.SubscriptionType = SubscriptionType = {})); /** * Compile-time source validation. */ function assertEventSourceMatch(type, source) { if (!type.startsWith(source)) { throw new Error(`Invalid event emission: ${source} cannot emit ${type}`); } } //# sourceMappingURL=subscription.interface.js.map