UNPKG

@barfinex/types

Version:

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

185 lines 5.11 kB
import { ConnectorType, MarketType } from './connector.interface'; import { SignalDirection } from './signal.interface'; import { CalibrationDecisionMeta } from './calibration/conviction-calibration.interface'; import { DetectorStrategySignalAttribution } from './detector-strategy.interface'; export declare enum AdvisorWorkflowState { PLAN = "PLAN", DECIDE = "DECIDE", VALIDATE = "VALIDATE", EXECUTE = "EXECUTE", REVIEW = "REVIEW" } export declare enum AdvisorDecision { TRADE = "TRADE", NO_TRADE = "NO_TRADE" } export interface TradeIntent { intentId: string; symbol: string; connectorType: ConnectorType; marketType: MarketType; decision: AdvisorDecision; direction?: SignalDirection; confidence: number; entryPrice?: number; stopPrice?: number; targets?: number[]; rationale: string; issuedAt: number; expiresAt: number; } export interface ExecutionCommand { commandId: string; idempotencyKey: string; intentId: string; symbol: string; connectorType: ConnectorType; marketType: MarketType; side: 'BUY' | 'SELL'; type: 'MARKET' | 'LIMIT' | 'STOP_MARKET' | 'TAKE_PROFIT_MARKET'; quantity: number; price?: number; sourceKey: string; sourceRestApiUrl?: string; issuedAt: number; } export interface ReviewResult { intentId: string; symbol: string; isWin: boolean; entryPrice: number; exitPrice: number; realizedRr?: number; winRate: number; feedback: string; reviewedAt: number; } export interface PolicyDecision { accepted: boolean; reasons: string[]; } export interface RiskGateDecision { accepted: boolean; reasons: string[]; } export interface PromptPolicyVersion { version: number; policyText: string; source: 'baseline' | 'controller' | 'manual'; createdAt: number; } export interface AdvisorLlmDecision { decision: AdvisorDecision; symbol: string; direction?: SignalDirection; confidence: number; intent?: 'ENTER' | 'HOLD' | 'EXIT' | 'STAND_DOWN'; cooldownMs?: number; riskBoost?: number; trend: string; entryPrice?: number; stopPrice?: number; targets?: number[]; rationale: string; validUntil?: number; constraints?: string[]; horizonClass?: 'scalp' | 'intraday' | 'swing'; reasoningCode?: string; windowSec: number; generatedAt: number; conviction?: AdvisorConvictionSnapshot; capitalMultiplier?: number; calibratedConfidence?: number; } export interface AdvisorConvictionComponents { confidenceScore: number; regimeScore: number; volatilityScore: number; liquidityScore: number; healthScore?: number; } export interface AdvisorConvictionSnapshot { finalScore: number; baseScore: number; riskFloor: number; capitalMultiplier: number; allocatedMultiplier?: number; multiplierRaw: number; multiplierCapped: number; components: AdvisorConvictionComponents; } export declare enum AdvisorMarketRegime { TREND = "TREND", RANGE = "RANGE", BREAKOUT = "BREAKOUT", REVERSAL = "REVERSAL", MIXED = "MIXED", UNKNOWN = "UNKNOWN" } export interface AdvisorRiskBudget { maxPositionUsd?: number; maxLeverage?: number; maxDrawdownPct?: number; maxSpreadPct?: number; } export interface AdvisorLlmDecisionRequest { requestId: string; sessionId: string; idempotencyKey: string; symbol: string; modelProfile?: 'coding' | 'ml'; connectorType: ConnectorType; marketType: MarketType; marketRegime: AdvisorMarketRegime; riskBudget?: AdvisorRiskBudget; issuedAt: number; decisionWindow?: { triggerEvents: string[]; triggerCount: number; decisionWindowMs: number; }; detectorStrategy?: DetectorStrategySignalAttribution; } export interface AdvisorDecisionValidation { accepted: boolean; reasons: string[]; featureValidationStatus?: 'valid' | 'invalid' | 'unknown'; missingFeatureCount?: number; nanFeatureCount?: number; decisionBlockReason?: string; strategyRequirementFailure?: string; } export interface AdvisorLlmUsage { promptTokens?: number; completionTokens?: number; totalTokens?: number; } export interface AdvisorLlmTransportMeta { provider: 'openai' | 'glm' | 'claude-cli'; model: string; modelProfile?: 'coding' | 'ml'; latencyMs: number; usage?: AdvisorLlmUsage; calibration?: CalibrationDecisionMeta; } export interface AdvisorLlmDecisionResponse { requestId: string; sessionId: string; approvedDecision: AdvisorLlmDecision; validation: AdvisorDecisionValidation; policyFlags: string[]; latencyMs: number; generatedAt: number; meta?: AdvisorLlmTransportMeta; } export interface AdvisorHistoricalSetup { symbol: string; regime: AdvisorMarketRegime; decision: AdvisorDecision; confidence: number; realizedRr?: number; slippageBps?: number; timeToFillMs?: number; ts: number; } //# sourceMappingURL=advisor-agent.interface.d.ts.map