@senpi/trading-recipe 1.0.52 → 1.0.53

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.
Files changed (27) hide show
  1. package/dist/actions/position-tracker/position-tracker.action.js +1 -1
  2. package/dist/cli/guide-commands.js +2 -2
  3. package/dist/runtime/scanner-registry.d.ts.map +1 -1
  4. package/dist/runtime/scanner-registry.js +3 -6
  5. package/dist/runtime/scanner-registry.js.map +1 -1
  6. package/dist/runtime/validate-dsl-position-tracking.d.ts.map +1 -1
  7. package/dist/runtime/validate-dsl-position-tracking.js +11 -7
  8. package/dist/runtime/validate-dsl-position-tracking.js.map +1 -1
  9. package/dist/scanners/__tests__/fixtures/position-tracker-scenarios.d.ts +21 -0
  10. package/dist/scanners/__tests__/fixtures/{strategy-monitor-scenarios.d.ts.map → position-tracker-scenarios.d.ts.map} +1 -1
  11. package/dist/scanners/__tests__/fixtures/{strategy-monitor-scenarios.js → position-tracker-scenarios.js} +44 -44
  12. package/dist/scanners/__tests__/fixtures/{strategy-monitor-scenarios.js.map → position-tracker-scenarios.js.map} +1 -1
  13. package/dist/scanners/implementations/index.d.ts +1 -1
  14. package/dist/scanners/implementations/index.d.ts.map +1 -1
  15. package/dist/scanners/implementations/index.js +1 -1
  16. package/dist/scanners/implementations/index.js.map +1 -1
  17. package/dist/scanners/implementations/{strategy-monitor.d.ts → position-tracker.d.ts} +22 -22
  18. package/dist/scanners/implementations/{strategy-monitor.d.ts.map → position-tracker.d.ts.map} +1 -1
  19. package/dist/scanners/implementations/{strategy-monitor.js → position-tracker.js} +17 -17
  20. package/dist/scanners/implementations/{strategy-monitor.js.map → position-tracker.js.map} +1 -1
  21. package/dist/scanners/index.d.ts +1 -1
  22. package/dist/scanners/index.d.ts.map +1 -1
  23. package/dist/scanners/index.js +1 -1
  24. package/dist/scanners/index.js.map +1 -1
  25. package/openclaw.plugin.json +1 -1
  26. package/package.json +1 -1
  27. package/dist/scanners/__tests__/fixtures/strategy-monitor-scenarios.d.ts +0 -21
@@ -187,7 +187,7 @@ export const positionTrackerFactory = (config, context) => new PositionTrackerAc
187
187
  export const positionTrackerManifest = {
188
188
  type: 'action/POSITION_TRACKER',
189
189
  name: 'Position Tracker',
190
- description: 'Translates strategy-monitor position deltas into DSL hook events',
190
+ description: 'Translates position-tracker position deltas into DSL hook events',
191
191
  eventsConsumed: [HOOK_EVENT.ON_SIGNAL_DETECTED],
192
192
  eventsEmitted: [
193
193
  HOOK_EVENT.ON_POSITION_OPENED,
@@ -107,12 +107,12 @@ oi_tracker
107
107
 
108
108
  ──────────────────────────────────────────────────────────────────────────────
109
109
 
110
- strategy_monitor
110
+ position_tracker
111
111
  Wallet position monitor: compares clearing-house snapshots and emits lifecycle deltas.
112
112
  Use with action POSITION_TRACKER to feed the DSL exit engine.
113
113
  Typical interval: 10s–60s
114
114
 
115
- Type aliases (same scanner): strategy-monitor, position_tracker, position-tracker
115
+ Type aliases (same scanner): position-tracker
116
116
 
117
117
  Scanner signal types (signalType per result — not YAML action_type values):
118
118
  POSITION_OPENED, POSITION_CLOSED, POSITION_INCREASED,
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAc/D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAIrD,gEAAgE;AAChE,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE7D;AAED,oFAAoF;AACpF,iBAAS,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAErD;AAED;;;;GAIG;AACH,iBAAS,aAAa,CACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,OAAO,EACzB,SAAS,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC,CAAC,GACD,cAAc,CAqBhB;AAuFD,eAAO,MAAM,eAAe;;;;CAI3B,CAAC"}
1
+ {"version":3,"file":"scanner-registry.d.ts","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAc/D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAIrD,gEAAgE;AAChE,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,CAE7D;AAED,oFAAoF;AACpF,iBAAS,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAErD;AAED;;;;GAIG;AACH,iBAAS,aAAa,CACpB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,OAAO,EACzB,SAAS,CAAC,EAAE,KAAK,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACxC,CAAC,GACD,cAAc,CAqBhB;AAoFD,eAAO,MAAM,eAAe;;;;CAI3B,CAAC"}
@@ -9,7 +9,7 @@ import { liquidationWatchdogScanner } from "../scanners/implementations/liquidat
9
9
  import { marketRegimeScanner } from "../scanners/implementations/market-regime.js";
10
10
  import { smFlipScanner } from "../scanners/implementations/sm-flip.js";
11
11
  import { opportunityScanner } from "../scanners/implementations/opportunity.js";
12
- import { strategyMonitorScanner } from "../scanners/implementations/strategy-monitor.js";
12
+ import { positionTrackerScanner } from "../scanners/implementations/position-tracker.js";
13
13
  import { parseInterval } from "./parse-interval.js";
14
14
  const registry = new Map();
15
15
  /** Registers one scanner factory under a runtime type alias. */
@@ -104,11 +104,8 @@ register("market-regime", marketRegimeScanner);
104
104
  register("sm_flip", smFlipScanner);
105
105
  register("sm-flip", smFlipScanner);
106
106
  register("opportunity", opportunityScanner);
107
- register("strategy_monitor", strategyMonitorScanner);
108
- register("strategy-monitor", strategyMonitorScanner);
109
- /** Aliases documented for POSITION_TRACKER recipes — same implementation as strategy_monitor. */
110
- register("position_tracker", strategyMonitorScanner);
111
- register("position-tracker", strategyMonitorScanner);
107
+ register("position_tracker", positionTrackerScanner);
108
+ register("position-tracker", positionTrackerScanner);
112
109
  export const ScannerRegistry = {
113
110
  register,
114
111
  get,
@@ -1 +1 @@
1
- {"version":3,"file":"scanner-registry.js","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scanner-registry.js","sourceRoot":"","sources":["../../src/runtime/scanner-registry.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-dsl-position-tracking.d.ts","sourceRoot":"","sources":["../../src/runtime/validate-dsl-position-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAgC9F"}
1
+ {"version":3,"file":"validate-dsl-position-tracking.d.ts","sourceRoot":"","sources":["../../src/runtime/validate-dsl-position-tracking.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOtE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAgC9F"}
@@ -1,23 +1,27 @@
1
+ const POSITION_TRACKER_TYPES = new Set([
2
+ "position-tracker",
3
+ "position_tracker",
4
+ ]);
1
5
  export function validateDslPositionTracking(config, hasDsl) {
2
6
  if (!hasDsl)
3
7
  return;
4
- const strategyMonitorScanners = (config.scanners ?? []).filter((scanner) => scanner.type === "strategy-monitor" || scanner.type === "strategy_monitor");
5
- if (strategyMonitorScanners.length === 0) {
6
- throw new Error("DSL requires at least one strategy-monitor scanner so position openings are confirmed from clearing-house state.");
8
+ const positionTrackerScanners = (config.scanners ?? []).filter((scanner) => POSITION_TRACKER_TYPES.has(scanner.type));
9
+ if (positionTrackerScanners.length === 0) {
10
+ throw new Error("DSL requires at least one position-tracker scanner so position openings are confirmed from clearing-house state.");
7
11
  }
8
- const strategyMonitorNames = new Set(strategyMonitorScanners.map((scanner) => scanner.name));
12
+ const positionTrackerNames = new Set(positionTrackerScanners.map((scanner) => scanner.name));
9
13
  const trackerActions = (config.actions ?? []).filter((action) => action.action_type === "POSITION_TRACKER");
10
14
  if (trackerActions.length === 0) {
11
- throw new Error("DSL requires a POSITION_TRACKER action wired to a strategy-monitor scanner.");
15
+ throw new Error("DSL requires a POSITION_TRACKER action wired to a position-tracker scanner.");
12
16
  }
13
17
  const hasWiredTracker = trackerActions.some((action) => {
14
18
  if (!Array.isArray(action.scanners) || action.scanners.length === 0) {
15
19
  return true;
16
20
  }
17
- return action.scanners.some((scannerName) => strategyMonitorNames.has(scannerName));
21
+ return action.scanners.some((scannerName) => positionTrackerNames.has(scannerName));
18
22
  });
19
23
  if (!hasWiredTracker) {
20
- throw new Error("DSL requires at least one POSITION_TRACKER action subscribed to a configured strategy-monitor scanner.");
24
+ throw new Error("DSL requires at least one POSITION_TRACKER action subscribed to a configured position-tracker scanner.");
21
25
  }
22
26
  }
23
27
  //# sourceMappingURL=validate-dsl-position-tracking.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-dsl-position-tracking.js","sourceRoot":"","sources":["../../src/runtime/validate-dsl-position-tracking.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,2BAA2B,CAAC,MAA2B,EAAE,MAAe;IACtF,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,uBAAuB,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,CACxF,CAAC;IACF,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC;IAC5G,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validate-dsl-position-tracking.js","sourceRoot":"","sources":["../../src/runtime/validate-dsl-position-tracking.ts"],"names":[],"mappings":"AAEA,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,kBAAkB;IAClB,kBAAkB;CACnB,CAAC,CAAC;AAEH,MAAM,UAAU,2BAA2B,CAAC,MAA2B,EAAE,MAAe;IACtF,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,MAAM,uBAAuB,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAC5D,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CACtD,CAAC;IACF,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CACb,kHAAkH,CACnH,CAAC;IACJ,CAAC;IAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7F,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC;IAC5G,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IAED,MAAM,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,wGAAwG,CACzG,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { ClearingHousePosition, ClearingHouseState } from "../../implementations/liquidation-watchdog.js";
2
+ import type { PositionTrackerDeltaType } from "../../implementations/position-tracker.js";
3
+ export interface PositionTrackerExpectedSignal {
4
+ signalType: PositionTrackerDeltaType;
5
+ asset: string;
6
+ dex: string;
7
+ }
8
+ export interface PositionTrackerScenarioRun {
9
+ state: ClearingHouseState;
10
+ expectedSignals: PositionTrackerExpectedSignal[];
11
+ }
12
+ export interface PositionTrackerScenario {
13
+ name: string;
14
+ runs: PositionTrackerScenarioRun[];
15
+ }
16
+ export declare function positionTrackerPosition(overrides: Partial<ClearingHousePosition> & {
17
+ coin: string;
18
+ }): ClearingHousePosition;
19
+ export declare function positionTrackerState(positions: ClearingHousePosition[]): ClearingHouseState;
20
+ export declare const positionTrackerScenarios: PositionTrackerScenario[];
21
+ //# sourceMappingURL=position-tracker-scenarios.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-monitor-scenarios.d.ts","sourceRoot":"","sources":["../../../../src/scanners/__tests__/fixtures/strategy-monitor-scenarios.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAC/G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAE1F,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,wBAAwB,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,eAAe,EAAE,6BAA6B,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,0BAA0B,EAAE,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3D,qBAAqB,CAavB;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,qBAAqB,EAAE,GACjC,kBAAkB,CASpB;AAED,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EA4K7D,CAAC"}
1
+ {"version":3,"file":"position-tracker-scenarios.d.ts","sourceRoot":"","sources":["../../../../src/scanners/__tests__/fixtures/position-tracker-scenarios.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAC/G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAE1F,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,wBAAwB,CAAC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,eAAe,EAAE,6BAA6B,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,0BAA0B,EAAE,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3D,qBAAqB,CAavB;AAED,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,qBAAqB,EAAE,GACjC,kBAAkB,CASpB;AAED,eAAO,MAAM,wBAAwB,EAAE,uBAAuB,EA4K7D,CAAC"}
@@ -1,4 +1,4 @@
1
- export function strategyMonitorPosition(overrides) {
1
+ export function positionTrackerPosition(overrides) {
2
2
  return {
3
3
  dex: "main",
4
4
  szi: 1,
@@ -12,7 +12,7 @@ export function strategyMonitorPosition(overrides) {
12
12
  ...overrides,
13
13
  };
14
14
  }
15
- export function strategyMonitorState(positions) {
15
+ export function positionTrackerState(positions) {
16
16
  return {
17
17
  accountValue: 10_000,
18
18
  totalMarginUsed: 3_000,
@@ -22,15 +22,15 @@ export function strategyMonitorState(positions) {
22
22
  positions,
23
23
  };
24
24
  }
25
- export const strategyMonitorScenarios = [
25
+ export const positionTrackerScenarios = [
26
26
  {
27
27
  name: "treats the first observed snapshot as opened positions",
28
28
  runs: [
29
29
  {
30
- state: strategyMonitorState([
31
- strategyMonitorPosition({ coin: "BTC", szi: 1 }),
32
- strategyMonitorPosition({ coin: "ETH", szi: -2 }),
33
- strategyMonitorPosition({ coin: "SOL", szi: 3 }),
30
+ state: positionTrackerState([
31
+ positionTrackerPosition({ coin: "BTC", szi: 1 }),
32
+ positionTrackerPosition({ coin: "ETH", szi: -2 }),
33
+ positionTrackerPosition({ coin: "SOL", szi: 3 }),
34
34
  ]),
35
35
  expectedSignals: [
36
36
  { signalType: "POSITION_OPENED", asset: "BTC", dex: "main" },
@@ -44,10 +44,10 @@ export const strategyMonitorScenarios = [
44
44
  name: "detects closes after the initial scan",
45
45
  runs: [
46
46
  {
47
- state: strategyMonitorState([
48
- strategyMonitorPosition({ coin: "BTC", szi: 1 }),
49
- strategyMonitorPosition({ coin: "ETH", szi: -2 }),
50
- strategyMonitorPosition({ coin: "SOL", szi: 3 }),
47
+ state: positionTrackerState([
48
+ positionTrackerPosition({ coin: "BTC", szi: 1 }),
49
+ positionTrackerPosition({ coin: "ETH", szi: -2 }),
50
+ positionTrackerPosition({ coin: "SOL", szi: 3 }),
51
51
  ]),
52
52
  expectedSignals: [
53
53
  { signalType: "POSITION_OPENED", asset: "BTC", dex: "main" },
@@ -56,9 +56,9 @@ export const strategyMonitorScenarios = [
56
56
  ],
57
57
  },
58
58
  {
59
- state: strategyMonitorState([
60
- strategyMonitorPosition({ coin: "BTC", szi: 1 }),
61
- strategyMonitorPosition({ coin: "ETH", szi: -2 }),
59
+ state: positionTrackerState([
60
+ positionTrackerPosition({ coin: "BTC", szi: 1 }),
61
+ positionTrackerPosition({ coin: "ETH", szi: -2 }),
62
62
  ]),
63
63
  expectedSignals: [{ signalType: "POSITION_CLOSED", asset: "SOL", dex: "main" }],
64
64
  },
@@ -68,10 +68,10 @@ export const strategyMonitorScenarios = [
68
68
  name: "detects increases, decreases, and flips in one sequence",
69
69
  runs: [
70
70
  {
71
- state: strategyMonitorState([
72
- strategyMonitorPosition({ coin: "BTC", szi: 1 }),
73
- strategyMonitorPosition({ coin: "ETH", szi: -4 }),
74
- strategyMonitorPosition({ coin: "SOL", szi: 2 }),
71
+ state: positionTrackerState([
72
+ positionTrackerPosition({ coin: "BTC", szi: 1 }),
73
+ positionTrackerPosition({ coin: "ETH", szi: -4 }),
74
+ positionTrackerPosition({ coin: "SOL", szi: 2 }),
75
75
  ]),
76
76
  expectedSignals: [
77
77
  { signalType: "POSITION_OPENED", asset: "BTC", dex: "main" },
@@ -80,10 +80,10 @@ export const strategyMonitorScenarios = [
80
80
  ],
81
81
  },
82
82
  {
83
- state: strategyMonitorState([
84
- strategyMonitorPosition({ coin: "BTC", szi: 2 }),
85
- strategyMonitorPosition({ coin: "ETH", szi: -3 }),
86
- strategyMonitorPosition({ coin: "SOL", szi: -1 }),
83
+ state: positionTrackerState([
84
+ positionTrackerPosition({ coin: "BTC", szi: 2 }),
85
+ positionTrackerPosition({ coin: "ETH", szi: -3 }),
86
+ positionTrackerPosition({ coin: "SOL", szi: -1 }),
87
87
  ]),
88
88
  expectedSignals: [
89
89
  { signalType: "POSITION_INCREASED", asset: "BTC", dex: "main" },
@@ -97,9 +97,9 @@ export const strategyMonitorScenarios = [
97
97
  name: "handles mixed opened, closed, and unchanged positions",
98
98
  runs: [
99
99
  {
100
- state: strategyMonitorState([
101
- strategyMonitorPosition({ coin: "BTC", szi: 1 }),
102
- strategyMonitorPosition({ coin: "ETH", szi: 1 }),
100
+ state: positionTrackerState([
101
+ positionTrackerPosition({ coin: "BTC", szi: 1 }),
102
+ positionTrackerPosition({ coin: "ETH", szi: 1 }),
103
103
  ]),
104
104
  expectedSignals: [
105
105
  { signalType: "POSITION_OPENED", asset: "BTC", dex: "main" },
@@ -107,9 +107,9 @@ export const strategyMonitorScenarios = [
107
107
  ],
108
108
  },
109
109
  {
110
- state: strategyMonitorState([
111
- strategyMonitorPosition({ coin: "ETH", szi: 1 }),
112
- strategyMonitorPosition({ coin: "SOL", szi: -2 }),
110
+ state: positionTrackerState([
111
+ positionTrackerPosition({ coin: "ETH", szi: 1 }),
112
+ positionTrackerPosition({ coin: "SOL", szi: -2 }),
113
113
  ]),
114
114
  expectedSignals: [
115
115
  { signalType: "POSITION_CLOSED", asset: "BTC", dex: "main" },
@@ -122,7 +122,7 @@ export const strategyMonitorScenarios = [
122
122
  name: "produces no deltas on an empty first run",
123
123
  runs: [
124
124
  {
125
- state: strategyMonitorState([]),
125
+ state: positionTrackerState([]),
126
126
  expectedSignals: [],
127
127
  },
128
128
  ],
@@ -131,10 +131,10 @@ export const strategyMonitorScenarios = [
131
131
  name: "closes all positions when the snapshot becomes empty",
132
132
  runs: [
133
133
  {
134
- state: strategyMonitorState([
135
- strategyMonitorPosition({ coin: "BTC", szi: 1 }),
136
- strategyMonitorPosition({ coin: "ETH", szi: -2 }),
137
- strategyMonitorPosition({ coin: "SOL", szi: 3 }),
134
+ state: positionTrackerState([
135
+ positionTrackerPosition({ coin: "BTC", szi: 1 }),
136
+ positionTrackerPosition({ coin: "ETH", szi: -2 }),
137
+ positionTrackerPosition({ coin: "SOL", szi: 3 }),
138
138
  ]),
139
139
  expectedSignals: [
140
140
  { signalType: "POSITION_OPENED", asset: "BTC", dex: "main" },
@@ -143,7 +143,7 @@ export const strategyMonitorScenarios = [
143
143
  ],
144
144
  },
145
145
  {
146
- state: strategyMonitorState([]),
146
+ state: positionTrackerState([]),
147
147
  expectedSignals: [
148
148
  { signalType: "POSITION_CLOSED", asset: "BTC", dex: "main" },
149
149
  { signalType: "POSITION_CLOSED", asset: "ETH", dex: "main" },
@@ -156,16 +156,16 @@ export const strategyMonitorScenarios = [
156
156
  name: "ignores entry-price-only changes when size and direction stay the same",
157
157
  runs: [
158
158
  {
159
- state: strategyMonitorState([
160
- strategyMonitorPosition({ coin: "BTC", szi: 1, entryPx: 100 }),
159
+ state: positionTrackerState([
160
+ positionTrackerPosition({ coin: "BTC", szi: 1, entryPx: 100 }),
161
161
  ]),
162
162
  expectedSignals: [
163
163
  { signalType: "POSITION_OPENED", asset: "BTC", dex: "main" },
164
164
  ],
165
165
  },
166
166
  {
167
- state: strategyMonitorState([
168
- strategyMonitorPosition({ coin: "BTC", szi: 1, entryPx: 110 }),
167
+ state: positionTrackerState([
168
+ positionTrackerPosition({ coin: "BTC", szi: 1, entryPx: 110 }),
169
169
  ]),
170
170
  expectedSignals: [],
171
171
  },
@@ -175,9 +175,9 @@ export const strategyMonitorScenarios = [
175
175
  name: "tracks same-asset positions independently across dexs",
176
176
  runs: [
177
177
  {
178
- state: strategyMonitorState([
179
- strategyMonitorPosition({ coin: "BTC", dex: "main", szi: 1 }),
180
- strategyMonitorPosition({ coin: "BTC", dex: "xyz", szi: -2 }),
178
+ state: positionTrackerState([
179
+ positionTrackerPosition({ coin: "BTC", dex: "main", szi: 1 }),
180
+ positionTrackerPosition({ coin: "BTC", dex: "xyz", szi: -2 }),
181
181
  ]),
182
182
  expectedSignals: [
183
183
  { signalType: "POSITION_OPENED", asset: "BTC", dex: "main" },
@@ -185,8 +185,8 @@ export const strategyMonitorScenarios = [
185
185
  ],
186
186
  },
187
187
  {
188
- state: strategyMonitorState([
189
- strategyMonitorPosition({ coin: "BTC", dex: "xyz", szi: -2 }),
188
+ state: positionTrackerState([
189
+ positionTrackerPosition({ coin: "BTC", dex: "xyz", szi: -2 }),
190
190
  ]),
191
191
  expectedSignals: [
192
192
  { signalType: "POSITION_CLOSED", asset: "BTC", dex: "main" },
@@ -195,4 +195,4 @@ export const strategyMonitorScenarios = [
195
195
  ],
196
196
  },
197
197
  ];
198
- //# sourceMappingURL=strategy-monitor-scenarios.js.map
198
+ //# sourceMappingURL=position-tracker-scenarios.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-monitor-scenarios.js","sourceRoot":"","sources":["../../../../src/scanners/__tests__/fixtures/strategy-monitor-scenarios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"position-tracker-scenarios.js","sourceRoot":"","sources":["../../../../src/scanners/__tests__/fixtures/position-tracker-scenarios.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,5 @@ export { emergingMoversScanner, type EmergingMoversConfig, type EmergingMoversSt
5
5
  export { marketRegimeScanner, type MarketRegimeConfig, type MarketRegimeState, } from "./market-regime.js";
6
6
  export { smFlipScanner, type SmFlipConfig, type SmFlipState, } from "./sm-flip.js";
7
7
  export { opportunityScanner, type OpportunityConfig, type OpportunityState, } from "./opportunity.js";
8
- export { strategyMonitorScanner, type StrategyMonitorConfig, type StrategyMonitorDelta, type StrategyMonitorDeltaType, type StrategyMonitorPositionSnapshot, type StrategyMonitorState, } from "./strategy-monitor.js";
8
+ export { positionTrackerScanner, type PositionTrackerConfig, type PositionTrackerDelta, type PositionTrackerDeltaType, type PositionTrackerPositionSnapshot, type PositionTrackerState, normalizePositionTrackerPositions, diffPositionTrackerPositions, applyPositionTrackerDelta, } from "./position-tracker.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scanners/implementations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,GAC1B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/scanners/implementations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,EAChB,KAAK,eAAe,EACpB,KAAK,iBAAiB,GACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,oBAAoB,EACzB,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC"}
@@ -5,5 +5,5 @@ export { emergingMoversScanner, } from "./emerging-movers.js";
5
5
  export { marketRegimeScanner, } from "./market-regime.js";
6
6
  export { smFlipScanner, } from "./sm-flip.js";
7
7
  export { opportunityScanner, } from "./opportunity.js";
8
- export { strategyMonitorScanner, } from "./strategy-monitor.js";
8
+ export { positionTrackerScanner, normalizePositionTrackerPositions, diffPositionTrackerPositions, applyPositionTrackerDelta, } from "./position-tracker.js";
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scanners/implementations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,qBAAqB,GAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAGpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,GAMvB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scanners/implementations/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,GAInB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gBAAgB,GAGjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,eAAe,EAAuB,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,qBAAqB,GAGtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,GAGpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,GAGnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EAMtB,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { type Static } from "@sinclair/typebox";
2
2
  import type { ClearingHousePosition } from "./liquidation-watchdog.js";
3
- declare const strategyMonitorConfigSchema: import("@sinclair/typebox").TObject<{
3
+ declare const positionTrackerConfigSchema: import("@sinclair/typebox").TObject<{
4
4
  sizeChangeEpsilon: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
5
5
  }>;
6
6
  /**
7
- * Scanner config for `strategy-monitor`.
7
+ * Scanner config for `position-tracker`.
8
8
  *
9
9
  * @property sizeChangeEpsilon — Absolute threshold below which position size
10
10
  * differences are treated as unchanged. Prevents false INCREASED/DECREASED
@@ -12,24 +12,24 @@ declare const strategyMonitorConfigSchema: import("@sinclair/typebox").TObject<{
12
12
  * snapshots (e.g. `1.0` → `1.0000000001`).
13
13
  *
14
14
  * Used in two places:
15
- * - {@link normalizeStrategyMonitorPositions}: positions with absolute size
15
+ * - {@link normalizePositionTrackerPositions}: positions with absolute size
16
16
  * at or below epsilon are discarded (treated as "no position").
17
- * - {@link diffStrategyMonitorPositions}: same-key, same-direction positions
17
+ * - {@link diffPositionTrackerPositions}: same-key, same-direction positions
18
18
  * whose size difference falls within epsilon are treated as unchanged.
19
19
  *
20
20
  * Default `1e-9` is small enough to suppress float noise without masking
21
21
  * real sub-unit size changes on any major perpetual venue.
22
22
  */
23
- export type StrategyMonitorConfig = Static<typeof strategyMonitorConfigSchema>;
23
+ export type PositionTrackerConfig = Static<typeof positionTrackerConfigSchema>;
24
24
  /**
25
- * Supported position delta categories emitted by the strategy monitor.
25
+ * Supported position delta categories emitted by the position tracker.
26
26
  *
27
27
  * Assumption:
28
28
  * one state transition for one position key maps to exactly one delta type per
29
29
  * run. A flipped position does not also emit increased/decreased in the same
30
30
  * iteration.
31
31
  */
32
- export type StrategyMonitorDeltaType = "POSITION_OPENED" | "POSITION_CLOSED" | "POSITION_INCREASED" | "POSITION_DECREASED" | "POSITION_FLIPPED";
32
+ export type PositionTrackerDeltaType = "POSITION_OPENED" | "POSITION_CLOSED" | "POSITION_INCREASED" | "POSITION_DECREASED" | "POSITION_FLIPPED";
33
33
  /**
34
34
  * Canonical in-memory snapshot for one open strategy position.
35
35
  *
@@ -37,7 +37,7 @@ export type StrategyMonitorDeltaType = "POSITION_OPENED" | "POSITION_CLOSED" | "
37
37
  * position identity is tracked by the composite `(dex, asset)` pair so the
38
38
  * same base asset can be monitored independently across multiple venues.
39
39
  */
40
- export interface StrategyMonitorPositionSnapshot {
40
+ export interface PositionTrackerPositionSnapshot {
41
41
  key: string;
42
42
  asset: string;
43
43
  dex: string;
@@ -58,25 +58,25 @@ export interface StrategyMonitorPositionSnapshot {
58
58
  * `previous` and `current` are both carried so the delta stream can later be
59
59
  * replayed without re-fetching clearing house state.
60
60
  */
61
- export interface StrategyMonitorDelta {
62
- type: StrategyMonitorDeltaType;
61
+ export interface PositionTrackerDelta {
62
+ type: PositionTrackerDeltaType;
63
63
  asset: string;
64
64
  dex: string;
65
65
  positionKey: string;
66
- previous: StrategyMonitorPositionSnapshot | null;
67
- current: StrategyMonitorPositionSnapshot | null;
66
+ previous: PositionTrackerPositionSnapshot | null;
67
+ current: PositionTrackerPositionSnapshot | null;
68
68
  sizeDelta: number | null;
69
69
  }
70
70
  /**
71
- * Persisted scanner-local state for `strategy-monitor`.
71
+ * Persisted scanner-local state for `position-tracker`.
72
72
  *
73
73
  * Only the latest canonical snapshot is stored here. The historical delta
74
74
  * series lives in persisted scan results.
75
75
  */
76
- export interface StrategyMonitorState {
76
+ export interface PositionTrackerState {
77
77
  iteration: number;
78
78
  lastObservedAt: number;
79
- currentPositions: Record<string, StrategyMonitorPositionSnapshot>;
79
+ currentPositions: Record<string, PositionTrackerPositionSnapshot>;
80
80
  }
81
81
  /**
82
82
  * Normalizes clearing-house positions into a canonical snapshot keyed by
@@ -89,7 +89,7 @@ export interface StrategyMonitorState {
89
89
  * - position size is stored as an absolute value; direction is tracked
90
90
  * separately
91
91
  */
92
- export declare function normalizeStrategyMonitorPositions(positions: readonly ClearingHousePosition[], sizeChangeEpsilon?: number): Record<string, StrategyMonitorPositionSnapshot>;
92
+ export declare function normalizePositionTrackerPositions(positions: readonly ClearingHousePosition[], sizeChangeEpsilon?: number): Record<string, PositionTrackerPositionSnapshot>;
93
93
  /**
94
94
  * Compares two canonical snapshot maps and returns the position deltas needed
95
95
  * to move from `previous` to `current`.
@@ -97,15 +97,15 @@ export declare function normalizeStrategyMonitorPositions(positions: readonly Cl
97
97
  * Precedence:
98
98
  * flipped > opened/closed > increased/decreased
99
99
  */
100
- export declare function diffStrategyMonitorPositions(previous: Record<string, StrategyMonitorPositionSnapshot>, current: Record<string, StrategyMonitorPositionSnapshot>, sizeChangeEpsilon?: number): StrategyMonitorDelta[];
100
+ export declare function diffPositionTrackerPositions(previous: Record<string, PositionTrackerPositionSnapshot>, current: Record<string, PositionTrackerPositionSnapshot>, sizeChangeEpsilon?: number): PositionTrackerDelta[];
101
101
  /**
102
102
  * Applies one emitted delta to a snapshot map.
103
103
  *
104
104
  * This is primarily intended for tests and future replay support.
105
105
  */
106
- export declare function applyStrategyMonitorDelta(snapshot: Record<string, StrategyMonitorPositionSnapshot>, delta: StrategyMonitorDelta): Record<string, StrategyMonitorPositionSnapshot>;
106
+ export declare function applyPositionTrackerDelta(snapshot: Record<string, PositionTrackerPositionSnapshot>, delta: PositionTrackerDelta): Record<string, PositionTrackerPositionSnapshot>;
107
107
  /**
108
- * Creates the strategy-monitor scanner.
108
+ * Creates the position-tracker scanner.
109
109
  *
110
110
  * Behavior:
111
111
  * - reads the latest clearing-house snapshot for the registered strategy wallet
@@ -113,8 +113,8 @@ export declare function applyStrategyMonitorDelta(snapshot: Record<string, Strat
113
113
  * - persists the new canonical snapshot
114
114
  * - emits one non-actionable signal per detected delta
115
115
  */
116
- export declare function strategyMonitorScanner(): import("../index.js").Scanner<{
116
+ export declare function positionTrackerScanner(): import("../index.js").Scanner<{
117
117
  sizeChangeEpsilon?: number | undefined;
118
- }, StrategyMonitorState>;
118
+ }, PositionTrackerState>;
119
119
  export {};
120
- //# sourceMappingURL=strategy-monitor.d.ts.map
120
+ //# sourceMappingURL=position-tracker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-monitor.d.ts","sourceRoot":"","sources":["../../../src/scanners/implementations/strategy-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,QAAA,MAAM,2BAA2B;;EAE/B,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAG/E;;;;;;;GAOG;AACH,MAAM,MAAM,wBAAwB,GAChC,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,WAAW,+BAA+B;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;CACnE;AAyFD;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,iBAAiB,SAA8B,GAC9C,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAoCjD;AAkED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,EACzD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,EACxD,iBAAiB,SAA8B,GAC9C,oBAAoB,EAAE,CAyCxB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,EACzD,KAAK,EAAE,oBAAoB,GAC1B,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAcjD;AAmFD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB;;yBAuErC"}
1
+ {"version":3,"file":"position-tracker.d.ts","sourceRoot":"","sources":["../../../src/scanners/implementations/position-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAKtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAEvE,QAAA,MAAM,2BAA2B;;EAE/B,CAAC;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAG/E;;;;;;;GAOG;AACH,MAAM,MAAM,wBAAwB,GAChC,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB;;;;;;GAMG;AACH,MAAM,WAAW,+BAA+B;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,wBAAwB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,+BAA+B,GAAG,IAAI,CAAC;IACjD,OAAO,EAAE,+BAA+B,GAAG,IAAI,CAAC;IAChD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAAC;CACnE;AAyFD;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,SAAS,EAAE,SAAS,qBAAqB,EAAE,EAC3C,iBAAiB,SAA8B,GAC9C,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAoCjD;AAkED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,EACzD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,EACxD,iBAAiB,SAA8B,GAC9C,oBAAoB,EAAE,CAyCxB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,EACzD,KAAK,EAAE,oBAAoB,GAC1B,MAAM,CAAC,MAAM,EAAE,+BAA+B,CAAC,CAcjD;AAmFD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB;;yBAuErC"}
@@ -2,7 +2,7 @@ import { Type } from "@sinclair/typebox";
2
2
  import { createScanner } from "../create-scanner.js";
3
3
  import { providerInput } from "../input-descriptors.js";
4
4
  import { PersistencePolicy, RetentionPolicy } from "../scanner-definition.js";
5
- const strategyMonitorConfigSchema = Type.Object({
5
+ const positionTrackerConfigSchema = Type.Object({
6
6
  sizeChangeEpsilon: Type.Optional(Type.Number({ minimum: 0, default: 1e-9 })),
7
7
  });
8
8
  const DEFAULT_SIZE_CHANGE_EPSILON = 1e-9;
@@ -28,7 +28,7 @@ const positionSnapshotSchema = Type.Object({
28
28
  unrealizedPnl: Type.Number(),
29
29
  roe: Type.Number(),
30
30
  });
31
- const strategyMonitorStateSchema = Type.Object({
31
+ const positionTrackerStateSchema = Type.Object({
32
32
  iteration: Type.Number({ minimum: 0 }),
33
33
  lastObservedAt: Type.Number({ minimum: 0 }),
34
34
  currentPositions: Type.Record(Type.String(), positionSnapshotSchema),
@@ -82,7 +82,7 @@ function cloneSnapshotMap(snapshots) {
82
82
  * - position size is stored as an absolute value; direction is tracked
83
83
  * separately
84
84
  */
85
- export function normalizeStrategyMonitorPositions(positions, sizeChangeEpsilon = DEFAULT_SIZE_CHANGE_EPSILON) {
85
+ export function normalizePositionTrackerPositions(positions, sizeChangeEpsilon = DEFAULT_SIZE_CHANGE_EPSILON) {
86
86
  const normalized = {};
87
87
  for (const position of positions) {
88
88
  const asset = position.coin.trim();
@@ -131,7 +131,7 @@ function computeDeltaSize(previous, current) {
131
131
  function resolveDeltaSnapshot(previous, current) {
132
132
  const snapshot = current ?? previous;
133
133
  if (!snapshot) {
134
- throw new Error("Strategy monitor delta requires previous or current snapshot.");
134
+ throw new Error("Position tracker delta requires previous or current snapshot.");
135
135
  }
136
136
  return snapshot;
137
137
  }
@@ -164,7 +164,7 @@ function collectComparableKeys(previous, current) {
164
164
  * Precedence:
165
165
  * flipped > opened/closed > increased/decreased
166
166
  */
167
- export function diffStrategyMonitorPositions(previous, current, sizeChangeEpsilon = DEFAULT_SIZE_CHANGE_EPSILON) {
167
+ export function diffPositionTrackerPositions(previous, current, sizeChangeEpsilon = DEFAULT_SIZE_CHANGE_EPSILON) {
168
168
  const keys = collectComparableKeys(previous, current);
169
169
  const deltas = [];
170
170
  for (const key of keys) {
@@ -203,14 +203,14 @@ export function diffStrategyMonitorPositions(previous, current, sizeChangeEpsilo
203
203
  *
204
204
  * This is primarily intended for tests and future replay support.
205
205
  */
206
- export function applyStrategyMonitorDelta(snapshot, delta) {
206
+ export function applyPositionTrackerDelta(snapshot, delta) {
207
207
  const next = cloneSnapshotMap(snapshot);
208
208
  if (delta.type === "POSITION_CLOSED") {
209
209
  delete next[delta.positionKey];
210
210
  return next;
211
211
  }
212
212
  if (!delta.current) {
213
- throw new Error(`Strategy monitor delta '${delta.type}' is missing current snapshot.`);
213
+ throw new Error(`Position tracker delta '${delta.type}' is missing current snapshot.`);
214
214
  }
215
215
  next[delta.positionKey] = cloneSnapshot(delta.current);
216
216
  return next;
@@ -281,7 +281,7 @@ function summarizeDeltas(deltas) {
281
281
  return summary;
282
282
  }
283
283
  /**
284
- * Creates the strategy-monitor scanner.
284
+ * Creates the position-tracker scanner.
285
285
  *
286
286
  * Behavior:
287
287
  * - reads the latest clearing-house snapshot for the registered strategy wallet
@@ -289,10 +289,10 @@ function summarizeDeltas(deltas) {
289
289
  * - persists the new canonical snapshot
290
290
  * - emits one non-actionable signal per detected delta
291
291
  */
292
- export function strategyMonitorScanner() {
292
+ export function positionTrackerScanner() {
293
293
  return createScanner({
294
- id: "strategy-monitor",
295
- signalType: "STRATEGY_MONITOR",
294
+ id: "position-tracker",
295
+ signalType: "POSITION_TRACKER",
296
296
  outputs: {
297
297
  signals: true,
298
298
  context: false,
@@ -303,9 +303,9 @@ export function strategyMonitorScanner() {
303
303
  retentionMaxRuns: 200,
304
304
  persistence: PersistencePolicy.ALWAYS,
305
305
  inputs: [providerInput.clearingHouseState()],
306
- configSchema: strategyMonitorConfigSchema,
306
+ configSchema: positionTrackerConfigSchema,
307
307
  defaultConfig,
308
- stateSchema: strategyMonitorStateSchema,
308
+ stateSchema: positionTrackerStateSchema,
309
309
  defaultState,
310
310
  hooks: {
311
311
  isActionable: () => false,
@@ -315,11 +315,11 @@ export function strategyMonitorScanner() {
315
315
  const config = resolveConfig(ctx.config);
316
316
  const clearingHouseState = ctx.inputs.clearingHouseState;
317
317
  if (!clearingHouseState) {
318
- throw new Error("Strategy monitor requires clearing house state.");
318
+ throw new Error("Position tracker requires clearing house state.");
319
319
  }
320
- const currentPositions = normalizeStrategyMonitorPositions(clearingHouseState.positions, config.sizeChangeEpsilon);
320
+ const currentPositions = normalizePositionTrackerPositions(clearingHouseState.positions, config.sizeChangeEpsilon);
321
321
  const previousPositions = ctx.state.currentPositions ?? {};
322
- const deltas = diffStrategyMonitorPositions(previousPositions, currentPositions, config.sizeChangeEpsilon);
322
+ const deltas = diffPositionTrackerPositions(previousPositions, currentPositions, config.sizeChangeEpsilon);
323
323
  const nextState = {
324
324
  iteration: ctx.state.iteration + 1,
325
325
  lastObservedAt: now,
@@ -346,4 +346,4 @@ export function strategyMonitorScanner() {
346
346
  },
347
347
  });
348
348
  }
349
- //# sourceMappingURL=strategy-monitor.js.map
349
+ //# sourceMappingURL=position-tracker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy-monitor.js","sourceRoot":"","sources":["../../../src/scanners/implementations/strategy-monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"position-tracker.js","sourceRoot":"","sources":["../../../src/scanners/implementations/position-tracker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAI9E,MAAM,2BAA2B,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9C,iBAAiB,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;CAC7E,CAAC,CAAC;AAoBH,MAAM,2BAA2B,GAAG,IAAI,CAAC;AAoEzC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;CACtB,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACrB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IACzC,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,eAAe;IAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;IACzB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;IACvB,YAAY,EAAE,kBAAkB;IAChC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE;IAC5B,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACtC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC3C,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC;CACrE,CAAC,CAAC;AAEH,MAAM,aAAa,GAA0B;IAC3C,iBAAiB,EAAE,2BAA2B;CAC/C,CAAC;AAEF,MAAM,YAAY,GAAyB;IACzC,SAAS,EAAE,CAAC;IACZ,cAAc,EAAE,CAAC;IACjB,gBAAgB,EAAE,EAAE;CACrB,CAAC;AAEF,6EAA6E;AAC7E,SAAS,aAAa,CACpB,MAA6B;IAE7B,OAAO;QACL,GAAG,aAAa;QAChB,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAClE;KACiC,CAAC;AACvC,CAAC;AAED,2DAA2D;AAC3D,SAAS,cAAc,CAAC,KAAa;IACnC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAY;IACpC,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,cAAsB;IAC1C,OAAO,cAAc,GAAG,GAAG,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,KAAa,EAAE,GAAW;IAClD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC;IAC3C,OAAO,GAAG,aAAa,IAAI,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,iEAAiE;AACjE,SAAS,aAAa,CACpB,QAAyC;IAEzC,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;AACzB,CAAC;AAED,2EAA2E;AAC3E,SAAS,gBAAgB,CACvB,SAA0D;IAE1D,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iCAAiC,CAC/C,SAA2C,EAC3C,iBAAiB,GAAG,2BAA2B;IAE/C,MAAM,UAAU,GAAoD,EAAE,CAAC;IAEvE,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC;QAE1C,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,iBAAiB,EAAE,CAAC;YACvE,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEzC,UAAU,CAAC,GAAG,CAAC,GAAG;YAChB,GAAG;YACH,KAAK;YACL,GAAG;YACH,SAAS,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC;YACzC,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,QAAQ,CAAC,OAAO;YAC5B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,MAAM,EAAE,QAAQ,CAAC,UAAU;YAC3B,gBAAgB,EAAE,QAAQ,CAAC,aAAa;YACxC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,oEAAoE;AACpE,SAAS,gBAAgB,CACvB,QAAgD,EAChD,OAA+C;IAE/C,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,SAAS,oBAAoB,CAC3B,QAAgD,EAChD,OAA+C;IAE/C,MAAM,QAAQ,GAAG,OAAO,IAAI,QAAQ,CAAC;IACrC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CACjB,IAA8B,EAC9B,QAAgD,EAChD,OAA+C;IAE/C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEzD,OAAO;QACL,IAAI;QACJ,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,GAAG,EAAE,QAAQ,CAAC,GAAG;QACjB,WAAW,EAAE,QAAQ,CAAC,GAAG;QACzB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;QACnD,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI;QAChD,SAAS,EAAE,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED,8FAA8F;AAC9F,SAAS,qBAAqB,CAC5B,QAAyD,EACzD,OAAwD;IAExD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAyD,EACzD,OAAwD,EACxD,iBAAiB,GAAG,2BAA2B;IAE/C,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAC/C,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAE7C,IAAI,CAAC,gBAAgB,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;YAClE,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,IAAI,CAAC,eAAe,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;YACnE,SAAS;QACX,CAAC;QAED,IAAI,CAAC,gBAAgB,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,SAAS;QACX,CAAC;QAED,IAAI,gBAAgB,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QAED,oEAAoE;QACpE,sEAAsE;QACtE,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC;QAC/D,IAAI,SAAS,GAAG,iBAAiB,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAAyD,EACzD,KAA2B;IAE3B,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,IAAI,gCAAgC,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mFAAmF;AACnF,SAAS,YAAY,CAAC,IAA8B;IAClD,OAAO;QACL,MAAM,EAAE,IAAI,KAAK,iBAAiB;QAClC,MAAM,EAAE,IAAI,KAAK,iBAAiB;QAClC,SAAS,EAAE,IAAI,KAAK,oBAAoB;QACxC,SAAS,EAAE,IAAI,KAAK,oBAAoB;QACxC,OAAO,EAAE,IAAI,KAAK,kBAAkB;KACrC,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,cAAc,CAAC,KAA2B;IACjD,OAAO,KAAK,CAAC,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC;AACvE,CAAC;AAED,oFAAoF;AACpF,SAAS,aAAa,CACpB,KAA2B,EAC3B,MAKC;IAED,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,UAAU,EAAE,KAAK,CAAC,IAAI;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC;QAChC,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;QACjC,IAAI,EAAE;YACJ,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,SAAS,eAAe,CACtB,MAAuC;IAEvC,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,CAAC;QACT,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;KACX,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,iBAAiB;gBACpB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;gBACpB,MAAM;YACR,KAAK,iBAAiB;gBACpB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;gBACpB,MAAM;YACR,KAAK,oBAAoB;gBACvB,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,oBAAoB;gBACvB,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC;gBACvB,MAAM;YACR,KAAK,kBAAkB;gBACrB,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrB,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,aAAa,CAA8C;QAChE,EAAE,EAAE,kBAAkB;QACtB,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;SACf;QACD,WAAW,EACT,sEAAsE;QACxE,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,eAAe,CAAC,cAAc;QACzC,gBAAgB,EAAE,GAAG;QACrB,WAAW,EAAE,iBAAiB,CAAC,MAAM;QACrC,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;QAC5C,YAAY,EAAE,2BAA2B;QACzC,aAAa;QACb,WAAW,EAAE,0BAA0B;QACvC,YAAY;QACZ,KAAK,EAAE;YACL,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK;SAC1B;QACD,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,kBAAkB,GAAG,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAEzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;YACrE,CAAC;YAED,MAAM,gBAAgB,GAAG,iCAAiC,CACxD,kBAAkB,CAAC,SAAS,EAC5B,MAAM,CAAC,iBAAiB,CACzB,CAAC;YACF,MAAM,iBAAiB,GAAG,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC3D,MAAM,MAAM,GAAG,4BAA4B,CACzC,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,CAAC,iBAAiB,CACzB,CAAC;YAEF,MAAM,SAAS,GAAyB;gBACtC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;gBAClC,cAAc,EAAE,GAAG;gBACnB,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;aACrD,CAAC;YACF,MAAM,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAE9B,MAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAE7C,OAAO;gBACL,SAAS,EAAE,GAAG;gBACd,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM;gBAClD,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC5B,aAAa,CAAC,KAAK,EAAE;oBACnB,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,SAAS,EAAE,GAAG;iBACf,CAAC,CACH;gBACD,OAAO,EAAE;oBACP,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM;oBACnD,UAAU,EAAE,MAAM,CAAC,MAAM;oBACzB,GAAG,YAAY;iBAChB;aACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -20,7 +20,7 @@ export { prescreenerScanner } from "./implementations/prescreener.js";
20
20
  export { marketRegimeScanner } from "./implementations/market-regime.js";
21
21
  export { smFlipScanner } from "./implementations/sm-flip.js";
22
22
  export { opportunityScanner } from "./implementations/opportunity.js";
23
- export { strategyMonitorScanner, type StrategyMonitorConfig, type StrategyMonitorDelta, type StrategyMonitorDeltaType, type StrategyMonitorPositionSnapshot, type StrategyMonitorState, } from "./implementations/strategy-monitor.js";
23
+ export { positionTrackerScanner, type PositionTrackerConfig, type PositionTrackerDelta, type PositionTrackerDeltaType, type PositionTrackerPositionSnapshot, type PositionTrackerState, normalizePositionTrackerPositions, diffPositionTrackerPositions, applyPositionTrackerDelta, } from "./implementations/position-tracker.js";
24
24
  export { liquidationWatchdogScanner, type ClearingHouseState, type ClearingHousePosition, type WatchdogConfig, type WatchdogAlert, } from "./implementations/liquidation-watchdog.js";
25
25
  export { marketRegimeArtifact, MarketRegime, type MarketRegimeArtifact, } from "./artifacts.js";
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ export { prescreenerScanner } from "./implementations/prescreener.js";
13
13
  export { marketRegimeScanner } from "./implementations/market-regime.js";
14
14
  export { smFlipScanner } from "./implementations/sm-flip.js";
15
15
  export { opportunityScanner } from "./implementations/opportunity.js";
16
- export { strategyMonitorScanner, } from "./implementations/strategy-monitor.js";
16
+ export { positionTrackerScanner, normalizePositionTrackerPositions, diffPositionTrackerPositions, applyPositionTrackerDelta, } from "./implementations/position-tracker.js";
17
17
  export { liquidationWatchdogScanner, } from "./implementations/liquidation-watchdog.js";
18
18
  export { marketRegimeArtifact, MarketRegime, } from "./artifacts.js";
19
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAK3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EACL,aAAa,GASd,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GAUpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAML,UAAU,GAKX,MAAM,YAAY,CAAC;AAQpB,OAAO,EACL,2BAA2B,GAK5B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,sBAAsB,GAMvB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,0BAA0B,GAK3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,YAAY,GAEb,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanners/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,4BAA4B,EAC5B,0BAA0B,GAK3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EACL,aAAa,GASd,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,GAUpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAML,UAAU,GAKX,MAAM,YAAY,CAAC;AAQpB,OAAO,EACL,2BAA2B,GAK5B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,sBAAsB,EAMtB,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,0BAA0B,GAK3B,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,YAAY,GAEb,MAAM,gBAAgB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  "id": "trading-recipe",
3
3
  "name": "Senpi Trading Recipe",
4
4
  "description": "Senpi trading recipe plugin for OpenClaw",
5
- "version": "1.0.52",
5
+ "version": "1.0.53",
6
6
  "configSchema": {
7
7
  "type": "object",
8
8
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@senpi/trading-recipe",
3
- "version": "1.0.52",
3
+ "version": "1.0.53",
4
4
  "description": "Trading recipe plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,21 +0,0 @@
1
- import type { ClearingHousePosition, ClearingHouseState } from "../../implementations/liquidation-watchdog.js";
2
- import type { StrategyMonitorDeltaType } from "../../implementations/strategy-monitor.js";
3
- export interface StrategyMonitorExpectedSignal {
4
- signalType: StrategyMonitorDeltaType;
5
- asset: string;
6
- dex: string;
7
- }
8
- export interface StrategyMonitorScenarioRun {
9
- state: ClearingHouseState;
10
- expectedSignals: StrategyMonitorExpectedSignal[];
11
- }
12
- export interface StrategyMonitorScenario {
13
- name: string;
14
- runs: StrategyMonitorScenarioRun[];
15
- }
16
- export declare function strategyMonitorPosition(overrides: Partial<ClearingHousePosition> & {
17
- coin: string;
18
- }): ClearingHousePosition;
19
- export declare function strategyMonitorState(positions: ClearingHousePosition[]): ClearingHouseState;
20
- export declare const strategyMonitorScenarios: StrategyMonitorScenario[];
21
- //# sourceMappingURL=strategy-monitor-scenarios.d.ts.map