@wrcb/cb-common 1.0.883 → 1.0.884

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -81,5 +81,6 @@ export declare enum Subjects {
81
81
  ThoOrderWalletChargeRequested = "tho:order:wallet-charge-requested",
82
82
  ThoOrderSettled = "tho:order:settled",
83
83
  TrdSessionHalted = "trd:session:halted",
84
- TrdCollectorStalled = "trd:collector:stalled"
84
+ TrdCollectorStalled = "trd:collector:stalled",
85
+ TrdAutopilotActed = "trd:autopilot:acted"
85
86
  }
@@ -98,4 +98,5 @@ var Subjects;
98
98
  // bot-trader (simulação de estratégias na MEXC spot)
99
99
  Subjects["TrdSessionHalted"] = "trd:session:halted";
100
100
  Subjects["TrdCollectorStalled"] = "trd:collector:stalled";
101
+ Subjects["TrdAutopilotActed"] = "trd:autopilot:acted";
101
102
  })(Subjects || (exports.Subjects = Subjects = {}));
@@ -0,0 +1,13 @@
1
+ import { Subjects } from '../subjects';
2
+ import { TraderAutopilotAction, TraderStrategy } from '../../types/trader';
3
+ export interface TrdAutopilotActedEvent {
4
+ subject: Subjects.TrdAutopilotActed;
5
+ data: {
6
+ action: TraderAutopilotAction;
7
+ symbol: string;
8
+ strategy: TraderStrategy | null;
9
+ sessionId: string | null;
10
+ reason: string;
11
+ at: string;
12
+ };
13
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import { Publisher } from '../basePublisher';
2
+ import { TrdAutopilotActedEvent } from './autopilotActedEvent';
3
+ import { Subjects } from '../subjects';
4
+ export declare class TrdAutopilotActedPublisher extends Publisher<TrdAutopilotActedEvent> {
5
+ subject: Subjects.TrdAutopilotActed;
6
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TrdAutopilotActedPublisher = void 0;
4
+ const basePublisher_1 = require("../basePublisher");
5
+ const subjects_1 = require("../subjects");
6
+ class TrdAutopilotActedPublisher extends basePublisher_1.Publisher {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.subject = subjects_1.Subjects.TrdAutopilotActed;
10
+ }
11
+ }
12
+ exports.TrdAutopilotActedPublisher = TrdAutopilotActedPublisher;
@@ -2,3 +2,5 @@ export * from './sessionHaltedEvent';
2
2
  export * from './sessionHaltedPublisher';
3
3
  export * from './collectorStalledEvent';
4
4
  export * from './collectorStalledPublisher';
5
+ export * from './autopilotActedEvent';
6
+ export * from './autopilotActedPublisher';
@@ -18,3 +18,5 @@ __exportStar(require("./sessionHaltedEvent"), exports);
18
18
  __exportStar(require("./sessionHaltedPublisher"), exports);
19
19
  __exportStar(require("./collectorStalledEvent"), exports);
20
20
  __exportStar(require("./collectorStalledPublisher"), exports);
21
+ __exportStar(require("./autopilotActedEvent"), exports);
22
+ __exportStar(require("./autopilotActedPublisher"), exports);
@@ -141,3 +141,47 @@ export interface TraderComparisonRowDTO {
141
141
  metrics: TraderSessionMetrics;
142
142
  hoursRunning: number;
143
143
  }
144
+ export declare enum TraderRiskProfile {
145
+ Conservative = "Conservative",
146
+ Moderate = "Moderate",
147
+ Aggressive = "Aggressive"
148
+ }
149
+ export declare enum TraderAutopilotAction {
150
+ SessionOpened = "SessionOpened",
151
+ SessionClosed = "SessionClosed",
152
+ Skipped = "Skipped"
153
+ }
154
+ export interface TraderAutopilotConfig {
155
+ enabled: boolean;
156
+ riskProfile: TraderRiskProfile;
157
+ capitalQuote: number;
158
+ maxPairs: number;
159
+ evaluationHours: number;
160
+ lastRunAt: string | null;
161
+ nextRunAt: string | null;
162
+ }
163
+ export interface TraderAutopilotDecisionDTO {
164
+ id: string;
165
+ at: string;
166
+ action: TraderAutopilotAction;
167
+ symbol: string;
168
+ strategy: TraderStrategy | null;
169
+ sessionId: string | null;
170
+ reason: string;
171
+ metrics: {
172
+ medianSpreadBps?: number;
173
+ tradesPerHour?: number;
174
+ score?: number;
175
+ spreadPnlQuote?: number;
176
+ feesQuote?: number;
177
+ hoursRunning?: number;
178
+ };
179
+ }
180
+ export interface TraderCandidateDTO {
181
+ symbol: string;
182
+ medianSpreadBps: number;
183
+ tradesPerHour: number;
184
+ score: number;
185
+ eligible: boolean;
186
+ rejection: string | null;
187
+ }
@@ -5,7 +5,7 @@
5
5
  // preço é em basis points (1 bps = 0,01%), nunca em percentual solto — é o
6
6
  // que evita confundir "0,5" de 0,5% com 0,5 bps na hora de calibrar.
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
- exports.TraderMarketRegime = exports.TraderPairStatus = exports.TraderHaltReason = exports.TraderOrderStatus = exports.TraderSide = exports.TraderSessionStatus = exports.TraderExecutionMode = exports.TraderStrategy = void 0;
8
+ exports.TraderAutopilotAction = exports.TraderRiskProfile = exports.TraderMarketRegime = exports.TraderPairStatus = exports.TraderHaltReason = exports.TraderOrderStatus = exports.TraderSide = exports.TraderSessionStatus = exports.TraderExecutionMode = exports.TraderStrategy = void 0;
9
9
  var TraderStrategy;
10
10
  (function (TraderStrategy) {
11
11
  TraderStrategy["MarketMaking"] = "MarketMaking";
@@ -58,3 +58,21 @@ var TraderMarketRegime;
58
58
  TraderMarketRegime["Trending"] = "Trending";
59
59
  TraderMarketRegime["Volatile"] = "Volatile";
60
60
  })(TraderMarketRegime || (exports.TraderMarketRegime = TraderMarketRegime = {}));
61
+ // ---------------------------------------------------------------- piloto
62
+ //
63
+ // O piloto automático existe porque preencher spread, skew e teto de
64
+ // inventário à mão exige já saber a resposta. Ele traduz uma escolha de
65
+ // apetite a risco nos números, escolhe os pares com o dado que o coletor
66
+ // gravou e mata o que não está capturando spread.
67
+ var TraderRiskProfile;
68
+ (function (TraderRiskProfile) {
69
+ TraderRiskProfile["Conservative"] = "Conservative";
70
+ TraderRiskProfile["Moderate"] = "Moderate";
71
+ TraderRiskProfile["Aggressive"] = "Aggressive";
72
+ })(TraderRiskProfile || (exports.TraderRiskProfile = TraderRiskProfile = {}));
73
+ var TraderAutopilotAction;
74
+ (function (TraderAutopilotAction) {
75
+ TraderAutopilotAction["SessionOpened"] = "SessionOpened";
76
+ TraderAutopilotAction["SessionClosed"] = "SessionClosed";
77
+ TraderAutopilotAction["Skipped"] = "Skipped";
78
+ })(TraderAutopilotAction || (exports.TraderAutopilotAction = TraderAutopilotAction = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wrcb/cb-common",
3
- "version": "1.0.883",
3
+ "version": "1.0.884",
4
4
  "description": "Common resources between services",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",