@senpi/runtime 3.0.37 → 3.0.39

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 (53) hide show
  1. package/dist/dsl/engine-client/event-mapping.d.ts +2 -0
  2. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  3. package/dist/dsl/engine-client/event-mapping.js +4 -1
  4. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  5. package/dist/dsl/events/handlers.d.ts +8 -0
  6. package/dist/dsl/events/handlers.d.ts.map +1 -1
  7. package/dist/dsl/events/handlers.js +25 -4
  8. package/dist/dsl/events/handlers.js.map +1 -1
  9. package/dist/dsl/events/initial-state.d.ts +11 -1
  10. package/dist/dsl/events/initial-state.d.ts.map +1 -1
  11. package/dist/dsl/events/initial-state.js +4 -1
  12. package/dist/dsl/events/initial-state.js.map +1 -1
  13. package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
  14. package/dist/dsl/monitor/process-one-position.js +5 -0
  15. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  16. package/dist/dsl/notifications/floor-store.d.ts +16 -0
  17. package/dist/dsl/notifications/floor-store.d.ts.map +1 -0
  18. package/dist/dsl/notifications/floor-store.js +57 -0
  19. package/dist/dsl/notifications/floor-store.js.map +1 -0
  20. package/dist/dsl/notifications/format-utils.d.ts +15 -4
  21. package/dist/dsl/notifications/format-utils.d.ts.map +1 -1
  22. package/dist/dsl/notifications/format-utils.js +24 -5
  23. package/dist/dsl/notifications/format-utils.js.map +1 -1
  24. package/dist/dsl/notifications/formatter.d.ts +5 -2
  25. package/dist/dsl/notifications/formatter.d.ts.map +1 -1
  26. package/dist/dsl/notifications/formatter.js +15 -7
  27. package/dist/dsl/notifications/formatter.js.map +1 -1
  28. package/dist/dsl/notifications/index.d.ts +23 -1
  29. package/dist/dsl/notifications/index.d.ts.map +1 -1
  30. package/dist/dsl/notifications/index.js +100 -7
  31. package/dist/dsl/notifications/index.js.map +1 -1
  32. package/dist/dsl/plugin/index.d.ts.map +1 -1
  33. package/dist/dsl/plugin/index.js +5 -1
  34. package/dist/dsl/plugin/index.js.map +1 -1
  35. package/dist/runtime/decision-errors.d.ts +3 -2
  36. package/dist/runtime/decision-errors.d.ts.map +1 -1
  37. package/dist/runtime/decision-errors.js +7 -6
  38. package/dist/runtime/decision-errors.js.map +1 -1
  39. package/dist/runtime/notifications.d.ts.map +1 -1
  40. package/dist/runtime/notifications.js +16 -4
  41. package/dist/runtime/notifications.js.map +1 -1
  42. package/dist/runtime/runtime.js +1 -1
  43. package/dist/runtime/runtime.js.map +1 -1
  44. package/dist/runtime/strategy-lifecycle.d.ts.map +1 -1
  45. package/dist/runtime/strategy-lifecycle.js +20 -16
  46. package/dist/runtime/strategy-lifecycle.js.map +1 -1
  47. package/dist/types/dsl/index.d.ts +22 -0
  48. package/dist/types/dsl/index.d.ts.map +1 -1
  49. package/dist/types/notification.d.ts +17 -1
  50. package/dist/types/notification.d.ts.map +1 -1
  51. package/dist/types/notification.js.map +1 -1
  52. package/openclaw.plugin.json +1 -1
  53. package/package.json +1 -1
@@ -0,0 +1,57 @@
1
+ /**
2
+ * State-manager-backed {@link DslNotifiedFloorStore}: the persisted per-position
3
+ * baseline the "Stop raised" / "Profit locked" subscriber reads and stamps.
4
+ *
5
+ * Kept out of the subscriber itself so the notifications module has no hard
6
+ * dependency on the state manager (a bare subscriber — dev/standalone/tests —
7
+ * simply omits the store and falls back to the in-memory ratchet).
8
+ *
9
+ * Resolution mirrors the notification events, which carry `address` + `asset`
10
+ * but NO book (`dex`): {@link StateManager.getDslStateByAsset} matches on the
11
+ * normalized coin and, when a single active row for the base exists, returns it.
12
+ */
13
+ import { stateKey } from "../../state/paths.js";
14
+ import { createLogger } from "../../utils/logger.js";
15
+ const logger = createLogger("[senpi-core][dsl-notifications]");
16
+ /** Advance a floor favorably (higher LONG / lower SHORT); establish it when absent. */
17
+ function advanceFavorably(prev, floor, direction) {
18
+ if (prev === undefined)
19
+ return floor;
20
+ return direction === "LONG" ? Math.max(prev, floor) : Math.min(prev, floor);
21
+ }
22
+ export function createDslNotifiedFloorStore(stateManager) {
23
+ return {
24
+ async getLastNotifiedStopFloor(ev) {
25
+ const state = await stateManager.getDslStateByAsset(ev.address, ev.asset);
26
+ return state?.active ? state.lastNotifiedStopFloor : undefined;
27
+ },
28
+ async stampNotifiedStopFloor(ev, floor, direction) {
29
+ if (!Number.isFinite(floor))
30
+ return;
31
+ // Resolve the row first (events carry no dex), then RMW under its own key
32
+ // lock so the stamp never races the monitor's own writes for this position.
33
+ const resolved = await stateManager.getDslStateByAsset(ev.address, ev.asset);
34
+ if (!resolved?.active)
35
+ return;
36
+ const key = stateKey(resolved.address, resolved.asset, resolved.dex ?? "");
37
+ await stateManager.withKeyLock(key, async () => {
38
+ const current = await stateManager.getOrLoad(key);
39
+ if (!current?.active)
40
+ return;
41
+ const next = advanceFavorably(current.lastNotifiedStopFloor, floor, direction);
42
+ // Skip the write when the baseline would not move (a retreat, or an equal
43
+ // floor) — avoids churning the state file on every re-anchor.
44
+ if (next === current.lastNotifiedStopFloor)
45
+ return;
46
+ await stateManager.set(key, { ...current, lastNotifiedStopFloor: next });
47
+ logger.debug("[dsl-notifications] stamped lastNotifiedStopFloor", {
48
+ address: resolved.address,
49
+ asset: resolved.asset,
50
+ floor: next,
51
+ direction,
52
+ });
53
+ });
54
+ },
55
+ };
56
+ }
57
+ //# sourceMappingURL=floor-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floor-store.js","sourceRoot":"","sources":["../../../src/dsl/notifications/floor-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,MAAM,MAAM,GAAG,YAAY,CAAC,iCAAiC,CAAC,CAAC;AAE/D,uFAAuF;AACvF,SAAS,gBAAgB,CACvB,IAAwB,EACxB,KAAa,EACb,SAA2B;IAE3B,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,YAA0B;IACpE,OAAO;QACL,KAAK,CAAC,wBAAwB,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC1E,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,CAAC;QAED,KAAK,CAAC,sBAAsB,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS;YAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO;YACpC,0EAA0E;YAC1E,4EAA4E;YAC5E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,EAAE,MAAM;gBAAE,OAAO;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YAC3E,MAAM,YAAY,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE;gBAC7C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,SAAS,CAAW,GAAG,CAAC,CAAC;gBAC5D,IAAI,CAAC,OAAO,EAAE,MAAM;oBAAE,OAAO;gBAC7B,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,qBAAqB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC/E,0EAA0E;gBAC1E,8DAA8D;gBAC9D,IAAI,IAAI,KAAK,OAAO,CAAC,qBAAqB;oBAAE,OAAO;gBACnD,MAAM,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,MAAM,CAAC,KAAK,CAAC,mDAAmD,EAAE;oBAChE,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,KAAK,EAAE,IAAI;oBACX,SAAS;iBACV,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -14,9 +14,15 @@ export declare function fmtAsset(asset: string): string;
14
14
  */
15
15
  export declare function fmtLeverage(leverage: number | undefined): string;
16
16
  /**
17
- * Build the `$ASSET DIRECTION Nx` position label, omitting the leverage when it is
18
- * unknown/non-positive (never `0×`). E.g. `$ETH LONG 5×`, or `$ETH LONG` when the
19
- * leverage is missing.
17
+ * Title-case trade direction for display (`LONG` → `Long`, `SHORT` → `Short`);
18
+ * the spec examples never render the raw uppercase event value. Blank stays blank
19
+ * so callers can omit an unknown direction entirely.
20
+ */
21
+ export declare function fmtDirection(direction: string): string;
22
+ /**
23
+ * Build the `$ASSET Direction Nx` position label, title-casing the direction and
24
+ * omitting the leverage when it is unknown/non-positive (never `0×`). E.g.
25
+ * `$ETH Long 5×`, or `$ETH Long` when the leverage is missing.
20
26
  */
21
27
  export declare function fmtPosition(asset: string, direction: string, leverage?: number): string;
22
28
  /**
@@ -33,6 +39,11 @@ export declare function fmtUsdPrice(price: number, asset?: string): string;
33
39
  * Signed P/L in USD with two decimals (+$80.27, -$48.15).
34
40
  */
35
41
  export declare function fmtUsdPnl(amount: number): string;
36
- /** ROE percent with one decimal and sign (+6.6%, -3.5%). */
42
+ /**
43
+ * ROE percent with one decimal and sign (+6.6%, -3.5%). Never renders `±0%`
44
+ * (copy rules): a true zero is the unsigned `0.0%`, and a sub-0.1% magnitude
45
+ * uses the same `<0.1%` guard as {@link fmtDistancePct}, keeping the sign of
46
+ * the underlying value (`+<0.1%` / `-<0.1%`).
47
+ */
37
48
  export declare function fmtRoe(pct: number): string;
38
49
  //# sourceMappingURL=format-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/format-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIhE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKlD;AAWD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI1C"}
1
+ {"version":3,"file":"format-utils.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/format-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAIhE;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAGtD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGvF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKlD;AAWD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO1C"}
@@ -29,13 +29,22 @@ export function fmtLeverage(leverage) {
29
29
  : "";
30
30
  }
31
31
  /**
32
- * Build the `$ASSET DIRECTION Nx` position label, omitting the leverage when it is
33
- * unknown/non-positive (never `0×`). E.g. `$ETH LONG 5×`, or `$ETH LONG` when the
34
- * leverage is missing.
32
+ * Title-case trade direction for display (`LONG` → `Long`, `SHORT` → `Short`);
33
+ * the spec examples never render the raw uppercase event value. Blank stays blank
34
+ * so callers can omit an unknown direction entirely.
35
+ */
36
+ export function fmtDirection(direction) {
37
+ const d = (direction ?? "").trim();
38
+ return d ? d.charAt(0).toUpperCase() + d.slice(1).toLowerCase() : "";
39
+ }
40
+ /**
41
+ * Build the `$ASSET Direction Nx` position label, title-casing the direction and
42
+ * omitting the leverage when it is unknown/non-positive (never `0×`). E.g.
43
+ * `$ETH Long 5×`, or `$ETH Long` when the leverage is missing.
35
44
  */
36
45
  export function fmtPosition(asset, direction, leverage) {
37
46
  const lev = fmtLeverage(leverage);
38
- return [fmtAsset(asset), direction, lev].filter((s) => s !== "").join(" ");
47
+ return [fmtAsset(asset), fmtDirection(direction), lev].filter((s) => s !== "").join(" ");
39
48
  }
40
49
  /**
41
50
  * Unsigned percentage magnitude with one decimal, for a distance/gap that is not a
@@ -87,10 +96,20 @@ export function fmtUsdPnl(amount) {
87
96
  const sign = amount >= 0 ? "+" : "";
88
97
  return `${sign}${formatUsdWithCommas(amount, 2)}`;
89
98
  }
90
- /** ROE percent with one decimal and sign (+6.6%, -3.5%). */
99
+ /**
100
+ * ROE percent with one decimal and sign (+6.6%, -3.5%). Never renders `±0%`
101
+ * (copy rules): a true zero is the unsigned `0.0%`, and a sub-0.1% magnitude
102
+ * uses the same `<0.1%` guard as {@link fmtDistancePct}, keeping the sign of
103
+ * the underlying value (`+<0.1%` / `-<0.1%`).
104
+ */
91
105
  export function fmtRoe(pct) {
92
106
  if (!Number.isFinite(pct))
93
107
  return "0.0%";
108
+ const abs = Math.abs(pct);
109
+ if (abs === 0)
110
+ return "0.0%";
111
+ if (abs < 0.1)
112
+ return `${pct > 0 ? "+" : "-"}<0.1%`;
94
113
  const sign = pct >= 0 ? "+" : "";
95
114
  return `${sign}${pct.toFixed(1)}%`;
96
115
  }
@@ -1 +1 @@
1
- {"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../../../src/dsl/notifications/format-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format-utils.js","sourceRoot":"","sources":["../../../src/dsl/notifications/format-utils.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * In-app text carries lightweight display markup the front-end renders:
5
5
  * - `<b>…</b>` bold span
6
6
  * - `<pnl>${x}</pnl>` a P&L value the FE colors green/red by sign
7
+ * - `<br>` a literal line break (the FE renders it as a newline)
7
8
  * The push body is ALWAYS plain text (no markup) and carries no strategy label:
8
9
  * there is no push title here at all — the notification service sets it to the
9
10
  * strategy/skill name it resolves from `strategyWalletAddress`, so repeating the
@@ -26,8 +27,10 @@ export declare function formatDslCreated(e: DslCreatedEvent): NotificationCopy;
26
27
  export declare function formatDslTierAdvanced(e: DslTierAdvancedEvent): NotificationCopy;
27
28
  /**
28
29
  * Stop-raised notification — the DSL raised the stop but locked no
29
- * profit yet. The event carries no leverage/high-water price, so the copy uses what
30
- * it has (asset, optional direction, new stop). The push body carries no label.
30
+ * profit yet. Both emit sites (local monitor and the backend-mapped path) carry
31
+ * leverage and the high-water price today; each is optional on the event, so the
32
+ * copy omits the `N×` / `new high` fragment cleanly rather than fabricating a
33
+ * value when a legacy emitter leaves it out. The push body carries no label.
31
34
  */
32
35
  export declare function formatDslSlUpdated(e: DslSlUpdatedEvent): NotificationCopy;
33
36
  //# sourceMappingURL=formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AASpE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAgBrE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,oBAAoB,GAAG,gBAAgB,CAkB/E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CASzE"}
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AASpE;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,eAAe,GAAG,gBAAgB,CAgBrE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,oBAAoB,GAAG,gBAAgB,CAkB/E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAezE"}
@@ -4,6 +4,7 @@
4
4
  * In-app text carries lightweight display markup the front-end renders:
5
5
  * - `<b>…</b>` bold span
6
6
  * - `<pnl>${x}</pnl>` a P&L value the FE colors green/red by sign
7
+ * - `<br>` a literal line break (the FE renders it as a newline)
7
8
  * The push body is ALWAYS plain text (no markup) and carries no strategy label:
8
9
  * there is no push title here at all — the notification service sets it to the
9
10
  * strategy/skill name it resolves from `strategyWalletAddress`, so repeating the
@@ -28,7 +29,7 @@ export function formatDslCreated(e) {
28
29
  return {
29
30
  pushBody: `DSL activated on ${position}`,
30
31
  inApp: `<b>DSL activated on</b> ${position} — ` +
31
- `stop at ${fmtUsdPrice(e.floorPrice, asset)} (${dist} away)`,
32
+ `stop at ${fmtUsdPrice(e.floorPrice, asset)} (${dist} away) — trails up as the trade gains.`,
32
33
  };
33
34
  }
34
35
  /**
@@ -48,7 +49,7 @@ export function formatDslTierAdvanced(e) {
48
49
  const position = fmtPosition(asset, direction, e.leverage);
49
50
  return {
50
51
  pushBody: `🔒 DSL locked ${fmtUsdPnl(lockedUsd)} on ${position}`,
51
- inApp: `🔒 <b>${position} — DSL locked in ${fmtUsdPnl(lockedUsd)} (${fmtRoe(lockedPct)})</b> ` +
52
+ inApp: `🔒 <b>${position} — DSL locked in ${fmtUsdPnl(lockedUsd)} (${fmtRoe(lockedPct)})</b><br>` +
52
53
  `New peak ${fmtRoe(hw)}, stop now ${fmtUsdPrice(e.newFloorPrice, asset)} — ` +
53
54
  `you keep at least ${fmtUsdPnl(lockedUsd)} even on a reversal. ` +
54
55
  `Now <pnl>${fmtUsdPnl(currentPnl)} (${fmtRoe(curRoe)})</pnl>, still running.`,
@@ -56,15 +57,22 @@ export function formatDslTierAdvanced(e) {
56
57
  }
57
58
  /**
58
59
  * Stop-raised notification — the DSL raised the stop but locked no
59
- * profit yet. The event carries no leverage/high-water price, so the copy uses what
60
- * it has (asset, optional direction, new stop). The push body carries no label.
60
+ * profit yet. Both emit sites (local monitor and the backend-mapped path) carry
61
+ * leverage and the high-water price today; each is optional on the event, so the
62
+ * copy omits the `N×` / `new high` fragment cleanly rather than fabricating a
63
+ * value when a legacy emitter leaves it out. The push body carries no label.
61
64
  */
62
65
  export function formatDslSlUpdated(e) {
63
66
  const asset = e.asset;
64
- const position = fmtPosition(asset, e.direction ?? "", undefined);
67
+ const position = fmtPosition(asset, e.direction ?? "", e.leverage);
68
+ const newSL = fmtUsdPrice(e.newSLPrice, asset);
69
+ const hwPrice = e.highWaterPrice;
70
+ const hw = typeof hwPrice === "number" && Number.isFinite(hwPrice) && hwPrice > 0
71
+ ? `new high ${fmtUsdPrice(hwPrice, asset)}, `
72
+ : "";
65
73
  return {
66
- pushBody: `${position} stop → ${fmtUsdPrice(e.newSLPrice, asset)}`,
67
- inApp: `<b>${position}</b> — DSL stop raised to ${fmtUsdPrice(e.newSLPrice, asset)} ` +
74
+ pushBody: `${position} stop → ${newSL}`,
75
+ inApp: `<b>${position}</b> — ${hw}DSL stop raised to ${newSL}<br>` +
68
76
  `Less at risk now if price pulls back.`,
69
77
  };
70
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/dsl/notifications/formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/dsl/notifications/formatter.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,27 @@ export interface DslNotificationSubscriber {
7
7
  dispose(): void;
8
8
  }
9
9
  export declare function safeNotify(notifier: NotificationService, input: string | NotificationPayload): void;
10
- export declare function createDslNotificationSubscriber(bus: SenpiEventBus, notifier: NotificationService): DslNotificationSubscriber;
10
+ /**
11
+ * Persisted per-position notification baseline, backed by the DSL state manager.
12
+ * Optional: when absent (e.g. standalone/dev wiring or a bare test), the
13
+ * subscriber falls back to the in-memory ratchet alone and behaves exactly as
14
+ * before. When present it makes a retreat impossible to re-announce across a
15
+ * rebuild (fresh correlationId) or a process restart.
16
+ */
17
+ export interface DslNotifiedFloorStore {
18
+ /** Most-favorable floor already announced for this position, or undefined if none. */
19
+ getLastNotifiedStopFloor(ev: {
20
+ address: string;
21
+ asset: string;
22
+ }): Promise<number | undefined>;
23
+ /**
24
+ * Record `floor` as announced, advancing the persisted baseline favorably only
25
+ * (higher LONG / lower SHORT). A no-op when it would retreat the baseline.
26
+ */
27
+ stampNotifiedStopFloor(ev: {
28
+ address: string;
29
+ asset: string;
30
+ }, floor: number, direction: "LONG" | "SHORT"): Promise<void>;
31
+ }
32
+ export declare function createDslNotificationSubscriber(bus: SenpiEventBus, notifier: NotificationService, store?: DslNotifiedFloorStore): DslNotificationSubscriber;
11
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAoB,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AA8B9G,MAAM,WAAW,yBAAyB;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAClC,IAAI,CAWN;AA8DD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,mBAAmB,GAC5B,yBAAyB,CAqG3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAoB,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AA8B9G,MAAM,WAAW,yBAAyB;IACxC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,wBAAgB,UAAU,CACxB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,EAAE,MAAM,GAAG,mBAAmB,GAClC,IAAI,CAWN;AAoFD;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,sFAAsF;IACtF,wBAAwB,CAAC,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9F;;;OAGG;IACH,sBAAsB,CACpB,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EACtC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,OAAO,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AA4BD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,CAAC,EAAE,qBAAqB,GAC5B,yBAAyB,CAiK3B"}
@@ -45,8 +45,15 @@ export function safeNotify(notifier, input) {
45
45
  * Fail-safe: without a strategy address the chat has nothing to key on (a dead
46
46
  * tap), so we WARN and ship the message non-openable rather than an empty seed.
47
47
  */
48
- function buildOpenablePayload(copy, subtype, address, createdAt, asset, dex) {
48
+ function buildOpenablePayload(copy, subtype, address, createdAt, asset, dex, dedupe) {
49
49
  const message = copy.inApp;
50
+ // Content-derived dedupe (DSL trailing-stop family): forwarded verbatim so the
51
+ // ingest collapses near-duplicate alerts for the same real-world raise. Applied
52
+ // on BOTH the openable and non-openable paths — dedupe is orthogonal to whether
53
+ // the notification can open a chat.
54
+ const dedupeFields = dedupe
55
+ ? { uniqueKeys: dedupe.uniqueKeys, idempotencyKey: dedupe.idempotencyKey }
56
+ : {};
50
57
  const strategyWalletAddress = address?.trim() ? address.trim() : undefined;
51
58
  // A blank (empty or whitespace-only) address is as unusable a chat key as a
52
59
  // missing one, so it takes the same non-openable path.
@@ -54,7 +61,7 @@ function buildOpenablePayload(copy, subtype, address, createdAt, asset, dex) {
54
61
  logger.warn("[dsl-notifications] openable notification missing strategy address; delivering non-openable", {
55
62
  subtype,
56
63
  });
57
- return { message, canOpenAgentChat: false, subtype, copy };
64
+ return { message, canOpenAgentChat: false, subtype, copy, ...dedupeFields };
58
65
  }
59
66
  return {
60
67
  message,
@@ -62,6 +69,7 @@ function buildOpenablePayload(copy, subtype, address, createdAt, asset, dex) {
62
69
  subtype,
63
70
  copy,
64
71
  strategyWalletAddress,
72
+ ...dedupeFields,
65
73
  context: {
66
74
  notificationId: randomUUID(),
67
75
  subtype,
@@ -73,6 +81,41 @@ function buildOpenablePayload(copy, subtype, address, createdAt, asset, dex) {
73
81
  },
74
82
  };
75
83
  }
84
+ /**
85
+ * Content-derived dedupe key for the "Stop raised" family. Two runtime processes
86
+ * monitoring the same wallet (or a mid-trading rebuild) each mint their own
87
+ * `notificationId`, so the row id can never collapse a semantic duplicate — this
88
+ * key can. The `newSLPrice` component is stringified WITHOUT rounding: two
89
+ * genuinely different raises differ in price and must stay distinct.
90
+ */
91
+ function stopRaiseUniqueKey(ev) {
92
+ // The SL-updated event carries no book, so the `dex` slot is always empty here
93
+ // (kept in the key shape for symmetry with the profit-lock key).
94
+ return `dsl-stop-raise:${ev.address}:${ev.asset}::${ev.direction ?? ""}:${ev.newSLPrice}`;
95
+ }
96
+ /**
97
+ * Content-derived dedupe key for the "Profit locked" family, keyed on the locked
98
+ * floor (price). Same rationale as {@link stopRaiseUniqueKey}; the floor is
99
+ * stringified without rounding so distinct locks stay distinct.
100
+ */
101
+ function profitLockUniqueKey(ev) {
102
+ return `dsl-profit-lock:${ev.address}:${ev.asset}:${ev.dex ?? ""}:${ev.direction ?? ""}:${ev.newFloorPrice}`;
103
+ }
104
+ /**
105
+ * Is `floor` strictly more favorable than a persisted baseline (higher for LONG,
106
+ * lower for SHORT)? A missing baseline or an unjudgeable direction is permissive
107
+ * (returns true) — the in-memory ratchet remains the primary gate; this only ADDS
108
+ * cross-rebuild/restart suppression.
109
+ */
110
+ function beatsPersistedFloor(floor, baseline, direction) {
111
+ if (baseline === undefined)
112
+ return true;
113
+ if (direction === "LONG")
114
+ return floor > baseline;
115
+ if (direction === "SHORT")
116
+ return floor < baseline;
117
+ return true;
118
+ }
76
119
  /** Ensures formatter + notify never throw back into `bus.emit` (would break DSL callers). */
77
120
  function runNotificationHandler(fn) {
78
121
  try {
@@ -82,10 +125,18 @@ function runNotificationHandler(fn) {
82
125
  logger.warn("[dsl-notifications] handler error (isolated from DSL)", { err });
83
126
  }
84
127
  }
85
- export function createDslNotificationSubscriber(bus, notifier) {
128
+ export function createDslNotificationSubscriber(bus, notifier, store) {
86
129
  function notify(input) {
87
130
  safeNotify(notifier, input);
88
131
  }
132
+ /** Fire-and-forget persisted-baseline stamp; never throws back into a handler. */
133
+ function stampFloor(ev, floor, direction) {
134
+ if (store === undefined || (direction !== "LONG" && direction !== "SHORT"))
135
+ return;
136
+ void store
137
+ .stampNotifiedStopFloor(ev, floor, direction)
138
+ .catch((err) => logger.warn("[dsl-notifications] failed to stamp lastNotifiedStopFloor", { err }));
139
+ }
89
140
  // PF-2: a single DSL raise must yield EITHER "Profit locked" OR "Stop raised",
90
141
  // never both. When a tier advance locks profit (lockedProfitPct > 0) it emits
91
142
  // Profit locked and records intent here; the paired SL_UPDATED for the same
@@ -124,7 +175,14 @@ export function createDslNotificationSubscriber(bus, notifier) {
124
175
  if ((ev.lockedProfitPct ?? 0) > 0) {
125
176
  correlator.recordProfitLock(key, ev.timestamp);
126
177
  const copy = formatDslTierAdvanced(ev);
127
- notify(buildOpenablePayload(copy, "DSL_PROFIT_LOCK", ev.address, ev.timestamp, ev.asset, ev.dex));
178
+ notify(buildOpenablePayload(copy, "DSL_PROFIT_LOCK", ev.address, ev.timestamp, ev.asset, ev.dex, {
179
+ uniqueKeys: [profitLockUniqueKey(ev)],
180
+ idempotencyKey: profitLockUniqueKey(ev),
181
+ }));
182
+ // Announcing this locked floor advances the persisted baseline, so the
183
+ // paired (correlator-suppressed) SL and any later re-anchor at/below it
184
+ // cannot re-fire as a fresh raise across a rebuild or restart.
185
+ stampFloor({ address: ev.address, asset: ev.asset }, ev.newFloorPrice, ev.direction);
128
186
  }
129
187
  else {
130
188
  // Else branch: nothing locked ("+$0.00"). Suppress the Profit-locked
@@ -136,6 +194,16 @@ export function createDslNotificationSubscriber(bus, notifier) {
136
194
  }
137
195
  });
138
196
  };
197
+ /** Emit the "Stop raised" notification and stamp the persisted announced floor. */
198
+ function sendStopRaise(ev) {
199
+ const copy = formatDslSlUpdated(ev);
200
+ // The SL-updated event carries no book, so the seed omits `dex`.
201
+ notify(buildOpenablePayload(copy, "DSL_STOP_RAISE", ev.address, ev.timestamp, ev.asset, undefined, {
202
+ uniqueKeys: [stopRaiseUniqueKey(ev)],
203
+ idempotencyKey: stopRaiseUniqueKey(ev),
204
+ }));
205
+ stampFloor({ address: ev.address, asset: ev.asset }, ev.newSLPrice, ev.direction);
206
+ }
139
207
  const onSlUpdated = (e) => {
140
208
  runNotificationHandler(() => {
141
209
  const ev = e;
@@ -158,9 +226,34 @@ export function createDslNotificationSubscriber(bus, notifier) {
158
226
  });
159
227
  return;
160
228
  }
161
- const copy = formatDslSlUpdated(ev);
162
- // The SL-updated event carries no book, so the seed omits `dex`.
163
- notify(buildOpenablePayload(copy, "DSL_STOP_RAISE", ev.address, ev.timestamp, ev.asset));
229
+ // The in-memory ratchet passed. Without a persisted store, deliver now —
230
+ // identical to the pre-baseline behavior (fully synchronous).
231
+ if (store === undefined) {
232
+ sendStopRaise(ev);
233
+ return;
234
+ }
235
+ // With a store, add a cross-rebuild/restart gate: the in-memory ratchet
236
+ // resets on every rebuild (fresh correlationId) and on restart, so a LOWER
237
+ // stop could otherwise re-fire. Suppress unless the new floor is strictly
238
+ // MORE favorable than the last floor we actually ANNOUNCED (persisted).
239
+ void (async () => {
240
+ try {
241
+ const baseline = await store.getLastNotifiedStopFloor({ address: ev.address, asset: ev.asset });
242
+ if (!beatsPersistedFloor(ev.newSLPrice, baseline, ev.direction)) {
243
+ logger.debug("[dsl-notifications] stop-raise suppressed: not beyond persisted announced floor", {
244
+ asset: ev.asset,
245
+ newSLPrice: ev.newSLPrice,
246
+ baseline,
247
+ direction: ev.direction,
248
+ });
249
+ return;
250
+ }
251
+ sendStopRaise(ev);
252
+ }
253
+ catch (err) {
254
+ logger.warn("[dsl-notifications] persisted stop-raise gate error (delivering isolated)", { err });
255
+ }
256
+ })();
164
257
  });
165
258
  };
166
259
  // DSL_EVENTS.DELETED and DSL_EVENTS.HEARTBEAT are intentionally not
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsl/notifications/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsl/notifications/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsl/plugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/dsl/plugin/index.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import { logger } from "../../utils/logger/dsl.js";
14
14
  import { trackingContext } from "../../telemetry/context.js";
15
15
  import { identityTraceAttributes } from "../../telemetry/trace-identity.js";
16
16
  import { createDslNotificationSubscriber } from "../notifications/index.js";
17
+ import { createDslNotifiedFloorStore } from "../notifications/floor-store.js";
17
18
  /** Latest plugin instance for SIGINT/SIGTERM cleanup (single-runtime assumption). */
18
19
  let registeredShutdownPlugin = null;
19
20
  let shutdownSignalsHooked = false;
@@ -162,7 +163,10 @@ export class DslPlugin {
162
163
  const handlers = createEventHandlers(config, stateManager, strategyStates, options.bus, baseDir);
163
164
  DslPlugin.wirePositionEventHandlers(options.bus, handlers);
164
165
  const notificationSubscriber = options.notifications != null
165
- ? createDslNotificationSubscriber(options.bus, options.notifications)
166
+ ? createDslNotificationSubscriber(options.bus, options.notifications,
167
+ // Persisted announced-floor baseline: makes a retreat impossible to
168
+ // re-announce across a rebuild (fresh correlationId) or a restart.
169
+ createDslNotifiedFloorStore(stateManager))
166
170
  : null;
167
171
  const placeSlOnAdopt = options.placeSlOnAdopt ?? false;
168
172
  const plugin = new DslPlugin(config, options.bus, stateManager, senpiClient, ownSenpiClient, baseDir, handlers.deleteDslsForStrategy, handlers.isSlPlacementInProgress, notificationSubscriber, handlers.adoptPosition, handlers.resizePosition, placeSlOnAdopt, options.identity);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsl/plugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/dsl/plugin/index.ts"],"names":[],"mappings":"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"}