@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
JavaScript
;
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