@senpi/runtime 3.0.74 → 3.0.76
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.
- package/README.md +4 -1
- package/dist/dsl/events/handlers.d.ts +6 -4
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +29 -17
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/events/initial-state.d.ts +21 -11
- package/dist/dsl/events/initial-state.d.ts.map +1 -1
- package/dist/dsl/events/initial-state.js +6 -0
- package/dist/dsl/events/initial-state.js.map +1 -1
- package/dist/dsl/notifications/formatter.d.ts.map +1 -1
- package/dist/dsl/notifications/formatter.js +13 -5
- package/dist/dsl/notifications/formatter.js.map +1 -1
- package/dist/dsl/notifications/index.d.ts.map +1 -1
- package/dist/dsl/notifications/index.js +5 -3
- package/dist/dsl/notifications/index.js.map +1 -1
- package/dist/dsl/notifications/stop-raise-debounce.d.ts +9 -8
- package/dist/dsl/notifications/stop-raise-debounce.d.ts.map +1 -1
- package/dist/dsl/notifications/stop-raise-debounce.js +41 -17
- package/dist/dsl/notifications/stop-raise-debounce.js.map +1 -1
- package/dist/universe/package-universe.d.ts.map +1 -1
- package/dist/universe/package-universe.js +32 -3
- package/dist/universe/package-universe.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -206,7 +206,10 @@ error at runtime — the scan skips it and the strategy silently trades nothing
|
|
|
206
206
|
enumerates *every* dead name with the exact file and key path it appears in (`catalog.assets`, or an
|
|
207
207
|
instance's `scanners[].inputs`), plus the read-only re-check command and the re-run. A bare ticker
|
|
208
208
|
counts as live if either `T` or `xyz:T` is; a package that hardcodes nothing (a derived universe)
|
|
209
|
-
never reads the instrument list at all.
|
|
209
|
+
never reads the instrument list at all. Names under an **exclusion** key (`excludeAssets`, `deny…`,
|
|
210
|
+
`skip…`) are not hardcoded instruments in this sense and are never checked: the package is naming
|
|
211
|
+
what it will *not* trade, and such a list routinely names things the venue does not carry — which is
|
|
212
|
+
usually the reason they are on it. When the live instrument list **cannot be read**, the deploy
|
|
210
213
|
fails closed — the step reports the read failure with no refusal code and names no instrument dead,
|
|
211
214
|
because unknown is never "not live", and nothing is created either way.
|
|
212
215
|
|
|
@@ -7,17 +7,19 @@ import type { SenpiEventBus } from "./bus-types.js";
|
|
|
7
7
|
import type { StrategyState } from "../../types/strategy.js";
|
|
8
8
|
import type { DslPluginConfig, DslCreatedTriggerReason, PositionOpenedEvent } from "../../types/dsl/index.js";
|
|
9
9
|
import type { StateManager } from "../../state/index.js";
|
|
10
|
+
import type { NotifiedStopCarry } from "./initial-state.js";
|
|
10
11
|
export interface HandlePositionOpenedOpts {
|
|
11
12
|
/** When false, skip the initial editPosition SL placement; slOrderId stays null. Default true. */
|
|
12
13
|
placeSl?: boolean;
|
|
13
14
|
/**
|
|
14
|
-
*
|
|
15
|
+
* Announced-stop state to carry into the rebuilt state
|
|
15
16
|
* (increase/decrease/resize/adopt). Threaded through to {@link buildInitialState}
|
|
16
17
|
* so a mid-trading rebuild — which mints a fresh correlationId and resets the
|
|
17
|
-
* in-memory ratchet — cannot re-announce a lower stop
|
|
18
|
-
*
|
|
18
|
+
* in-memory ratchet — cannot re-announce a lower stop, re-announce breakeven, or
|
|
19
|
+
* re-open the trail cooldown. Omitted for a fresh open and deliberately NOT set
|
|
20
|
+
* on a flip (favorable polarity inverts).
|
|
19
21
|
*/
|
|
20
|
-
|
|
22
|
+
carryNotifiedStop?: NotifiedStopCarry;
|
|
21
23
|
}
|
|
22
24
|
export declare function createEventHandlers(config: DslPluginConfig, stateManager: StateManager, strategyStates: Map<string, StrategyState>, bus: SenpiEventBus, _baseDir: string): {
|
|
23
25
|
handlePositionOpened: (payload: unknown, triggerReason?: DslCreatedTriggerReason, opts?: HandlePositionOpenedOpts) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/dsl/events/handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EAGf,uBAAuB,EACvB,mBAAmB,EAGpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/dsl/events/handlers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EAGf,uBAAuB,EACvB,mBAAmB,EAGpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAqBzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAsC5D,MAAM,WAAW,wBAAwB;IACvC,kGAAkG;IAClG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC1C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,MAAM,GACf;IACD,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,uBAAuB,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpI,oBAAoB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,qBAAqB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,uBAAuB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,uBAAuB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,2FAA2F;IAC3F,qBAAqB,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5D,uBAAuB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD;;;;OAIG;IACH,aAAa,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChG;;;;OAIG;IACH,cAAc,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,wBAAwB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAClG,CAmmBA"}
|
|
@@ -104,9 +104,7 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
104
104
|
const leverage = event.leverage ?? 1;
|
|
105
105
|
const phase1Floor = phase1FloorFromPreset(entryPrice, direction, preset.maxLossPct, leverage);
|
|
106
106
|
const resolvedTrigger = triggerReason ?? "position_opened";
|
|
107
|
-
const state = buildInitialState(event, preset, phase1Floor, resolvedTrigger,
|
|
108
|
-
lastNotifiedStopFloor: opts?.carryLastNotifiedStopFloor,
|
|
109
|
-
});
|
|
107
|
+
const state = buildInitialState(event, preset, phase1Floor, resolvedTrigger, opts?.carryNotifiedStop);
|
|
110
108
|
const floor = state.floorPrice;
|
|
111
109
|
logger.info("[dsl] position.opened handling", {
|
|
112
110
|
address: event.address,
|
|
@@ -331,11 +329,13 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
331
329
|
preset: event.preset ?? config.preset,
|
|
332
330
|
...(event.positionId != null ? { positionId: event.positionId } : {}),
|
|
333
331
|
};
|
|
334
|
-
// Deliberately NO
|
|
335
|
-
//
|
|
336
|
-
//
|
|
337
|
-
//
|
|
338
|
-
//
|
|
332
|
+
// Deliberately NO carryNotifiedStop here: a flip inverts the trade direction,
|
|
333
|
+
// so the favorable polarity of the announced-floor baseline inverts too (an
|
|
334
|
+
// old LONG floor is meaningless — and would misjudge favorability — against a
|
|
335
|
+
// new SHORT, and vice-versa). The breakeven latch and cooldown anchor go with
|
|
336
|
+
// it: the new direction is a different trade whose breakeven has not been
|
|
337
|
+
// crossed. The rebuild resets all three and the first raise in the new
|
|
338
|
+
// direction re-establishes them from scratch.
|
|
339
339
|
await handlePositionOpened(openedPayload, "flipped");
|
|
340
340
|
}
|
|
341
341
|
async function handlePositionIncreased(payload) {
|
|
@@ -355,12 +355,16 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
355
355
|
// Carry the persisted announced-floor baseline across the rebuild so a lower
|
|
356
356
|
// stop cannot re-announce (the rebuild mints a fresh correlationId, resetting
|
|
357
357
|
// the in-memory ratchet). Same direction after an increase, so it stays valid.
|
|
358
|
-
let
|
|
358
|
+
let carryNotifiedStop;
|
|
359
359
|
await stateManager.withKeyLock(archiveKey, async () => {
|
|
360
360
|
const oldState = await stateManager.getDslStateByAsset(event.address, event.coin, event.dex);
|
|
361
361
|
if (!oldState?.active)
|
|
362
362
|
return;
|
|
363
|
-
|
|
363
|
+
carryNotifiedStop = {
|
|
364
|
+
lastNotifiedStopFloor: oldState.lastNotifiedStopFloor,
|
|
365
|
+
lastNotifiedStopAtMs: oldState.lastNotifiedStopAtMs,
|
|
366
|
+
stopBreakevenAnnounced: oldState.stopBreakevenAnnounced,
|
|
367
|
+
};
|
|
364
368
|
const closedState = {
|
|
365
369
|
...oldState,
|
|
366
370
|
active: false,
|
|
@@ -375,7 +379,7 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
375
379
|
}
|
|
376
380
|
});
|
|
377
381
|
// archiveKey lock is released; handlePositionOpened re-acquires it safely.
|
|
378
|
-
await handlePositionOpened(event, "position_increased", {
|
|
382
|
+
await handlePositionOpened(event, "position_increased", { carryNotifiedStop });
|
|
379
383
|
}
|
|
380
384
|
async function handlePositionDecreased(payload) {
|
|
381
385
|
let raw = null;
|
|
@@ -393,12 +397,16 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
393
397
|
const archiveKey = stateKey(event.address, event.coin, event.dex ?? "");
|
|
394
398
|
// Carry the persisted announced-floor baseline across the rebuild (same
|
|
395
399
|
// direction after a decrease) so a lower stop cannot re-announce.
|
|
396
|
-
let
|
|
400
|
+
let carryNotifiedStop;
|
|
397
401
|
await stateManager.withKeyLock(archiveKey, async () => {
|
|
398
402
|
const oldState = await stateManager.getDslStateByAsset(event.address, event.coin, event.dex);
|
|
399
403
|
if (!oldState?.active)
|
|
400
404
|
return;
|
|
401
|
-
|
|
405
|
+
carryNotifiedStop = {
|
|
406
|
+
lastNotifiedStopFloor: oldState.lastNotifiedStopFloor,
|
|
407
|
+
lastNotifiedStopAtMs: oldState.lastNotifiedStopAtMs,
|
|
408
|
+
stopBreakevenAnnounced: oldState.stopBreakevenAnnounced,
|
|
409
|
+
};
|
|
402
410
|
const closedState = {
|
|
403
411
|
...oldState,
|
|
404
412
|
active: false,
|
|
@@ -413,7 +421,7 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
413
421
|
}
|
|
414
422
|
});
|
|
415
423
|
// archiveKey lock is released; handlePositionOpened re-acquires it safely.
|
|
416
|
-
await handlePositionOpened(event, "position_decreased", {
|
|
424
|
+
await handlePositionOpened(event, "position_decreased", { carryNotifiedStop });
|
|
417
425
|
}
|
|
418
426
|
async function deleteDslsForStrategy(address) {
|
|
419
427
|
const keys = await stateManager.listDslKeys(`${address}/`);
|
|
@@ -513,12 +521,16 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
513
521
|
// A resize is a same-direction size drift, so the persisted announced-floor
|
|
514
522
|
// baseline stays valid: carry it across so the rebuild can't re-announce a
|
|
515
523
|
// lower stop (a direction change comes through the flip path, which resets it).
|
|
516
|
-
let
|
|
524
|
+
let carryNotifiedStop;
|
|
517
525
|
await stateManager.withKeyLock(archiveKey, async () => {
|
|
518
526
|
const oldState = await stateManager.getDslStateByAsset(payload.address, payload.coin, dexKey);
|
|
519
527
|
if (!oldState?.active)
|
|
520
528
|
return;
|
|
521
|
-
|
|
529
|
+
carryNotifiedStop = {
|
|
530
|
+
lastNotifiedStopFloor: oldState.lastNotifiedStopFloor,
|
|
531
|
+
lastNotifiedStopAtMs: oldState.lastNotifiedStopAtMs,
|
|
532
|
+
stopBreakevenAnnounced: oldState.stopBreakevenAnnounced,
|
|
533
|
+
};
|
|
522
534
|
const closedState = {
|
|
523
535
|
...oldState,
|
|
524
536
|
active: false,
|
|
@@ -531,7 +543,7 @@ export function createEventHandlers(config, stateManager, strategyStates, bus, _
|
|
|
531
543
|
}
|
|
532
544
|
});
|
|
533
545
|
// archiveKey lock released above; adoptPosition (via handlePositionOpened) re-acquires it safely.
|
|
534
|
-
await adoptPosition(payload, { ...opts,
|
|
546
|
+
await adoptPosition(payload, { ...opts, carryNotifiedStop });
|
|
535
547
|
}
|
|
536
548
|
function fireAndForgetBackendDelete(state, trigger) {
|
|
537
549
|
const resolveAndDelete = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/dsl/events/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/dsl/events/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,26 @@
|
|
|
2
2
|
* Build initial DslState from position.opened event and resolved preset.
|
|
3
3
|
*/
|
|
4
4
|
import type { DslCreatedTriggerReason, DslPluginConfig, DslState, PositionOpenedEvent } from "../../types/dsl/index.js";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The announced-stop state carried over from the state being rebuilt
|
|
7
|
+
* (increase / decrease / resize / adopt). All three fields move together and are
|
|
8
|
+
* omitted together — they are one logical unit describing "what the user has
|
|
9
|
+
* already been told about this stop", and carrying a subset is worse than
|
|
10
|
+
* carrying none: a floor without its latch re-announces breakeven on the next
|
|
11
|
+
* raise, and a floor without its timestamp re-opens the cooldown.
|
|
12
|
+
*
|
|
13
|
+
* Omitted for a fresh open, and for a direction FLIP — the favorable polarity
|
|
14
|
+
* inverts, so an old LONG floor is meaningless to a new SHORT, and the flip is a
|
|
15
|
+
* different trade whose breakeven has not been crossed yet.
|
|
16
|
+
*/
|
|
17
|
+
export interface NotifiedStopCarry {
|
|
18
|
+
/** Last ANNOUNCED stop floor; suppresses a re-announce after a retreat. */
|
|
15
19
|
lastNotifiedStopFloor?: number;
|
|
16
|
-
|
|
20
|
+
/** Wall-clock of the last announcement; anchors the trail cooldown. */
|
|
21
|
+
lastNotifiedStopAtMs?: number;
|
|
22
|
+
/** Breakeven latch; once true the "you can no longer lose" push is spent. */
|
|
23
|
+
stopBreakevenAnnounced?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export declare function phase1FloorFromPreset(entryPrice: number, direction: string, maxLossPct: number, leverage: number): number;
|
|
26
|
+
export declare function buildInitialState(event: PositionOpenedEvent, preset: DslPluginConfig["presets"][string], phase1Floor: number, triggerReason: DslCreatedTriggerReason, carry?: NotifiedStopCarry): DslState;
|
|
17
27
|
//# sourceMappingURL=initial-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-state.d.ts","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAYlC,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAIR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,uBAAuB,EACtC,KAAK,CAAC,EAAE
|
|
1
|
+
{"version":3,"file":"initial-state.d.ts","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,uBAAuB,EACvB,eAAe,EACf,QAAQ,EACR,mBAAmB,EACpB,MAAM,0BAA0B,CAAC;AAYlC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,6EAA6E;IAC7E,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,MAAM,CAIR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,EAC1C,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,uBAAuB,EACtC,KAAK,CAAC,EAAE,iBAAiB,GACxB,QAAQ,CA8FV"}
|
|
@@ -103,6 +103,12 @@ export function buildInitialState(event, preset, phase1Floor, triggerReason, car
|
|
|
103
103
|
...(carry?.lastNotifiedStopFloor !== undefined
|
|
104
104
|
? { lastNotifiedStopFloor: carry.lastNotifiedStopFloor }
|
|
105
105
|
: {}),
|
|
106
|
+
...(carry?.lastNotifiedStopAtMs !== undefined
|
|
107
|
+
? { lastNotifiedStopAtMs: carry.lastNotifiedStopAtMs }
|
|
108
|
+
: {}),
|
|
109
|
+
...(carry?.stopBreakevenAnnounced !== undefined
|
|
110
|
+
? { stopBreakevenAnnounced: carry.stopBreakevenAnnounced }
|
|
111
|
+
: {}),
|
|
106
112
|
};
|
|
107
113
|
}
|
|
108
114
|
//# sourceMappingURL=initial-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initial-state.js","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEjF,SAAS,GAAG;IACV,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,KAAK,CAAC,CAAS,EAAE,CAAS;IACjC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;
|
|
1
|
+
{"version":3,"file":"initial-state.js","sourceRoot":"","sources":["../../../src/dsl/events/initial-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,CAkDzE"}
|
|
@@ -48,7 +48,7 @@ export function formatDslTierAdvanced(e) {
|
|
|
48
48
|
const direction = e.direction ?? "LONG";
|
|
49
49
|
const position = fmtPosition(asset, direction, e.leverage);
|
|
50
50
|
return {
|
|
51
|
-
pushBody: `🔒 DSL locked ${fmtUsdPnl(lockedUsd)} on ${position}`,
|
|
51
|
+
pushBody: `🔒 DSL locked ${fmtUsdPnl(lockedUsd)} (${fmtRoe(lockedPct)} locked) on ${position}`,
|
|
52
52
|
inApp: `🔒 <b>${position} — DSL locked in ${fmtUsdPnl(lockedUsd)} (${fmtRoe(lockedPct)})</b><br>` +
|
|
53
53
|
`New peak ${fmtRoe(hw)}, stop now ${fmtUsdPrice(e.newFloorPrice, asset)} — ` +
|
|
54
54
|
`you keep at least ${fmtUsdPnl(lockedUsd)} even on a reversal. ` +
|
|
@@ -88,17 +88,25 @@ export function formatDslSlUpdated(e) {
|
|
|
88
88
|
leverage > 0 &&
|
|
89
89
|
Number.isFinite(e.newSLPrice) &&
|
|
90
90
|
e.newSLPrice > 0;
|
|
91
|
-
let
|
|
91
|
+
let roeClause = "";
|
|
92
|
+
let pushLocked = "";
|
|
92
93
|
if (canCompute) {
|
|
93
94
|
const sign = e.direction === "SHORT" ? -1 : 1;
|
|
94
95
|
const roeAtStop = sign * ((e.newSLPrice - entryPrice) / entryPrice) * leverage * 100;
|
|
95
96
|
if (roeAtStop < 0) {
|
|
96
|
-
|
|
97
|
+
roeClause = `. Max. loss is now ${fmtRoe(roeAtStop)}.`;
|
|
98
|
+
}
|
|
99
|
+
else if (roeAtStop > 0) {
|
|
100
|
+
// Stop above entry: the number is a GUARANTEED gain, not a remaining risk.
|
|
101
|
+
// Wording per the 2.6 spec ("stop trailed to $X (+Y% locked)"), confirmed by
|
|
102
|
+
// Jason 2026-08-13 — this decides 2.2's open positive-case question.
|
|
103
|
+
roeClause = `. ${fmtRoe(roeAtStop)} locked.`;
|
|
104
|
+
pushLocked = ` (${fmtRoe(roeAtStop)} locked)`;
|
|
97
105
|
}
|
|
98
106
|
}
|
|
99
107
|
return {
|
|
100
|
-
pushBody: `${position} stop → ${newSL}`,
|
|
101
|
-
inApp: `<b>${position}</b> — ${hw}DSL stop raised to ${newSL}${
|
|
108
|
+
pushBody: `${position} stop → ${newSL}${pushLocked}`,
|
|
109
|
+
inApp: `<b>${position}</b> — ${hw}DSL stop raised to ${newSL}${roeClause}<br>` +
|
|
102
110
|
`Less at risk now if price pulls back.`,
|
|
103
111
|
};
|
|
104
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/dsl/notifications/formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,OAAO,EACL,WAAW,EACX,SAAS,EACT,MAAM,EACN,WAAW,EACX,cAAc,GACf,MAAM,mBAAmB,CAAC;AAE3B;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,CAAkB;IACjD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7D,gFAAgF;IAChF,+DAA+D;IAC/D,MAAM,OAAO,GACX,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC;QACjD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG;QAC9D,CAAC,CAAC,CAAC,CAAC;IACR,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,OAAO;QACL,QAAQ,EAAE,oBAAoB,QAAQ,EAAE;QACxC,KAAK,EACH,2BAA2B,QAAQ,KAAK;YACxC,WAAW,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,wCAAwC;KAC/F,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,CAAuB;IAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC;IACjC,MAAM,EAAE,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC;IACxC,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3D,OAAO;QACL,QAAQ,EAAE,iBAAiB,SAAS,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"formatter.js","sourceRoot":"","sources":["../../../src/dsl/notifications/formatter.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;AAgB9G,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAelC,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;;;;;;;OAOG;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,EAC3B,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GACrD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACrG;AAqCD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,CAAC,EAAE,qBAAqB,GAC5B,yBAAyB,
|
|
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;AAgB9G,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAelC,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;;;;;;;OAOG;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,EAC3B,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,GACrD,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB;;;;OAIG;IACH,mBAAmB,CAAC,CAAC,EAAE,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACrG;AAqCD,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,aAAa,EAClB,QAAQ,EAAE,mBAAmB,EAC7B,KAAK,CAAC,EAAE,qBAAqB,GAC5B,yBAAyB,CAoO3B"}
|
|
@@ -162,9 +162,11 @@ export function createDslNotificationSubscriber(bus, notifier, store) {
|
|
|
162
162
|
// Gate 4 (notifications 2.6): materiality + cooldown on top of the genuine-raise
|
|
163
163
|
// gates. On a trending winner every 30s re-quote is a GENUINE raise, so gates
|
|
164
164
|
// 1–3 alone let a push through per re-quote (~120/hour worst case). This gate
|
|
165
|
-
// announces
|
|
166
|
-
//
|
|
167
|
-
//
|
|
165
|
+
// announces a breakeven cross (once, immediately, cooldown-exempt) or a ≥threshold
|
|
166
|
+
// ROE step that is ALSO past the cooldown; the first raise seeds the baseline
|
|
167
|
+
// silently and sub-threshold drift never announces. ON by default —
|
|
168
|
+
// DSL_STOP_RAISE_DEBOUNCE is the kill switch (false/0/off/no/disabled), and with it
|
|
169
|
+
// set this gate is never consulted and behaviour is byte-identical to pre-2.6.
|
|
168
170
|
const stopRaiseDebounce = new StopRaiseDebounce();
|
|
169
171
|
// DSL attached at position open → "DSL activated". Gated to fresh opens only:
|
|
170
172
|
// resize/flip/rebuild (position_increased/decreased/flipped/adopted) re-emit
|
|
@@ -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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"}
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* (latched), immediately — it is its own whitelist entry, so the cooldown
|
|
20
20
|
* does not apply to it.
|
|
21
21
|
* 2. MATERIAL STEP, RATE-LIMITED — ROE-at-stop improved by
|
|
22
|
-
* ≥ DSL_STOP_RAISE_MIN_ROE_STEP_PCT (default
|
|
23
|
-
* margin locked") since the last announced floor, AND
|
|
22
|
+
* ≥ DSL_STOP_RAISE_MIN_ROE_STEP_PCT (default 10 ROE points ≈ "another 10% of
|
|
23
|
+
* margin locked" — Jason's number, 2026-08-13) since the last announced floor, AND
|
|
24
24
|
* ≥ DSL_STOP_RAISE_COOLDOWN_S (default 900s) since the last announcement.
|
|
25
25
|
* The threshold defines material; the cooldown hard-caps the rate at one
|
|
26
26
|
* trail push per position per window (worst case 4/hour). ROE-based so
|
|
@@ -37,12 +37,13 @@
|
|
|
37
37
|
* (mirroring the stamp-on-send semantics of the persisted floor store). That is
|
|
38
38
|
* what makes accumulated micro-steps eventually cross the threshold.
|
|
39
39
|
*
|
|
40
|
-
* The gate is ON by default; DSL_STOP_RAISE_DEBOUNCE
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
40
|
+
* The gate is ON by default; DSL_STOP_RAISE_DEBOUNCE is the kill switch, and it
|
|
41
|
+
* accepts any of false/0/off/no/disabled (case- and space-insensitive) — see
|
|
42
|
+
* {@link KILL_SWITCH_OFF_VALUES}. Flipping per-agent env on the fleet is
|
|
43
|
+
* operationally painful and the storm is a live prod bug, so the useful
|
|
44
|
+
* direction for a flag here is emergency-off. With the switch off, `evaluate`
|
|
45
|
+
* is never called and behaviour is byte-identical to pre-2.6. Env is read
|
|
46
|
+
* call-time so tests and fleet config can flip it without re-imports.
|
|
46
47
|
*/
|
|
47
48
|
/** Call-time env config (mirrors the whyLine/enrichment convention). */
|
|
48
49
|
export declare function debounceConfig(): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-raise-debounce.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/stop-raise-debounce.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stop-raise-debounce.d.ts","sourceRoot":"","sources":["../../../src/dsl/notifications/stop-raise-debounce.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAqBH,wEAAwE;AACxE,wBAAgB,cAAc,IAAI;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB,CAaA;AAED,gFAAgF;AAChF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,eAAe,CAAC;AAE3D,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oFAAoF;IACpF,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAWD,MAAM,WAAW,wBAAwB;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,IAAI,CAAC,EAAE,wBAAwB;IAM3C;;;;;OAKG;IACH,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,EAAE,EAAE;QACF,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,EACD,SAAS,EAAE,gBAAgB,GAAG,SAAS,GACtC,eAAe;IAuFlB;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,OAAO,GAAG,IAAI;IAU9E,iCAAiC;IACjC,IAAI,IAAI,MAAM;IAId,mFAAmF;IACnF,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,KAAK;CAQd;AAED,mFAAmF;AACnF,eAAO,MAAM,cAAc,wCAAS,CAAC"}
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* (latched), immediately — it is its own whitelist entry, so the cooldown
|
|
20
20
|
* does not apply to it.
|
|
21
21
|
* 2. MATERIAL STEP, RATE-LIMITED — ROE-at-stop improved by
|
|
22
|
-
* ≥ DSL_STOP_RAISE_MIN_ROE_STEP_PCT (default
|
|
23
|
-
* margin locked") since the last announced floor, AND
|
|
22
|
+
* ≥ DSL_STOP_RAISE_MIN_ROE_STEP_PCT (default 10 ROE points ≈ "another 10% of
|
|
23
|
+
* margin locked" — Jason's number, 2026-08-13) since the last announced floor, AND
|
|
24
24
|
* ≥ DSL_STOP_RAISE_COOLDOWN_S (default 900s) since the last announcement.
|
|
25
25
|
* The threshold defines material; the cooldown hard-caps the rate at one
|
|
26
26
|
* trail push per position per window (worst case 4/hour). ROE-based so
|
|
@@ -37,16 +37,30 @@
|
|
|
37
37
|
* (mirroring the stamp-on-send semantics of the persisted floor store). That is
|
|
38
38
|
* what makes accumulated micro-steps eventually cross the threshold.
|
|
39
39
|
*
|
|
40
|
-
* The gate is ON by default; DSL_STOP_RAISE_DEBOUNCE
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
40
|
+
* The gate is ON by default; DSL_STOP_RAISE_DEBOUNCE is the kill switch, and it
|
|
41
|
+
* accepts any of false/0/off/no/disabled (case- and space-insensitive) — see
|
|
42
|
+
* {@link KILL_SWITCH_OFF_VALUES}. Flipping per-agent env on the fleet is
|
|
43
|
+
* operationally painful and the storm is a live prod bug, so the useful
|
|
44
|
+
* direction for a flag here is emergency-off. With the switch off, `evaluate`
|
|
45
|
+
* is never called and behaviour is byte-identical to pre-2.6. Env is read
|
|
46
|
+
* call-time so tests and fleet config can flip it without re-imports.
|
|
46
47
|
*/
|
|
47
48
|
import { createLogger } from "../../utils/logger.js";
|
|
48
49
|
import { RATCHET_IDLE_TTL_MS, RATCHET_MAX_ENTRIES } from "./stop-raise-ratchet.js";
|
|
49
50
|
const logger = createLogger("[senpi-core][dsl-notifications]");
|
|
51
|
+
/**
|
|
52
|
+
* Spellings of "off" the kill switch honours.
|
|
53
|
+
*
|
|
54
|
+
* Deliberately wider than the exact string `"false"`. This flag exists to be
|
|
55
|
+
* flipped during an incident, by whoever is holding the pager, into a hosting
|
|
56
|
+
* console — and `0` / `off` / `FALSE` are all things a person types under that
|
|
57
|
+
* pressure. Matching only `"false"` would leave the gate fully armed while
|
|
58
|
+
* looking disabled, which is the worst possible outcome for an emergency switch.
|
|
59
|
+
* Anything unrecognised (including empty and unset) leaves the gate ON, so the
|
|
60
|
+
* failure direction of a typo is "storm suppression stays on", never "silently
|
|
61
|
+
* disabled".
|
|
62
|
+
*/
|
|
63
|
+
const KILL_SWITCH_OFF_VALUES = new Set(["false", "0", "off", "no", "disabled"]);
|
|
50
64
|
/** Call-time env config (mirrors the whyLine/enrichment convention). */
|
|
51
65
|
export function debounceConfig() {
|
|
52
66
|
const num = (raw, fallback) => {
|
|
@@ -54,8 +68,8 @@ export function debounceConfig() {
|
|
|
54
68
|
return Number.isFinite(v) && v > 0 ? v : fallback;
|
|
55
69
|
};
|
|
56
70
|
return {
|
|
57
|
-
enabled: process.env.DSL_STOP_RAISE_DEBOUNCE
|
|
58
|
-
minRoeStepPct: num(process.env.DSL_STOP_RAISE_MIN_ROE_STEP_PCT,
|
|
71
|
+
enabled: !KILL_SWITCH_OFF_VALUES.has((process.env.DSL_STOP_RAISE_DEBOUNCE ?? "").trim().toLowerCase()),
|
|
72
|
+
minRoeStepPct: num(process.env.DSL_STOP_RAISE_MIN_ROE_STEP_PCT, 10),
|
|
59
73
|
minPriceStepPct: num(process.env.DSL_STOP_RAISE_MIN_PRICE_STEP_PCT, 1),
|
|
60
74
|
cooldownMs: num(process.env.DSL_STOP_RAISE_COOLDOWN_S, 900) * 1_000,
|
|
61
75
|
};
|
|
@@ -96,13 +110,28 @@ export class StopRaiseDebounce {
|
|
|
96
110
|
: ev.newSLPrice < ev.entryPrice
|
|
97
111
|
: false;
|
|
98
112
|
const breakevenNext = latched || stopAboveEntry;
|
|
113
|
+
// 1. Breakeven cross: its own whitelist entry — fires once, immediately,
|
|
114
|
+
// regardless of step size or cooldown.
|
|
115
|
+
//
|
|
116
|
+
// Checked BEFORE the baseline seed below. A missing baseline is NOT evidence
|
|
117
|
+
// that the stop has never been under water: the initial placement is eaten by
|
|
118
|
+
// the genuine-raise ratchet and never reaches this gate, so the first raise we
|
|
119
|
+
// observe can already be the crossing one (stop placed below entry → price
|
|
120
|
+
// gaps up → the next SL_UPDATED sits above entry; an adopted position whose
|
|
121
|
+
// first post-adoption raise is above entry behaves the same). Seeding first
|
|
122
|
+
// would swallow that push AND latch it as spent, so "you can no longer lose"
|
|
123
|
+
// would never arrive for that position.
|
|
124
|
+
if (!latched && stopAboveEntry) {
|
|
125
|
+
return { announce: true, reason: "breakeven", breakevenAnnounced: true };
|
|
126
|
+
}
|
|
99
127
|
// First raise of a fresh instance: seed the measuring baseline SILENTLY.
|
|
100
128
|
// The ticket's whitelist has no "trailing started" event — the armed
|
|
101
129
|
// notification already said a stop exists — so the first raise anchors the
|
|
102
130
|
// threshold and says nothing. (In-memory until the first announcement
|
|
103
131
|
// persists a floor; after a restart the seed re-anchors on the next raise,
|
|
104
|
-
// which can only delay a push, never duplicate one.)
|
|
105
|
-
//
|
|
132
|
+
// which can only delay a push, never duplicate one.) Reaching here means the
|
|
133
|
+
// stop is at or below entry, or the latch is already spent, so `breakevenNext`
|
|
134
|
+
// carries the existing latch forward rather than pre-spending a fresh one.
|
|
106
135
|
if (baselineFloor === undefined) {
|
|
107
136
|
this.write(key, {
|
|
108
137
|
floor: ev.newSLPrice,
|
|
@@ -117,11 +146,6 @@ export class StopRaiseDebounce {
|
|
|
117
146
|
breakevenAnnounced: breakevenNext,
|
|
118
147
|
};
|
|
119
148
|
}
|
|
120
|
-
// 1. Breakeven cross: its own whitelist entry — fires once, immediately,
|
|
121
|
-
// regardless of step size or cooldown.
|
|
122
|
-
if (!latched && stopAboveEntry) {
|
|
123
|
-
return { announce: true, reason: "breakeven", breakevenAnnounced: true };
|
|
124
|
-
}
|
|
125
149
|
// 2. Material step AND cooldown elapsed. The threshold defines material,
|
|
126
150
|
// the cooldown hard-caps the rate; sub-threshold drift never announces.
|
|
127
151
|
const leverageUsable = typeof ev.leverage === "number" && Number.isFinite(ev.leverage) && ev.leverage > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop-raise-debounce.js","sourceRoot":"","sources":["../../../src/dsl/notifications/stop-raise-debounce.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stop-raise-debounce.js","sourceRoot":"","sources":["../../../src/dsl/notifications/stop-raise-debounce.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-universe.d.ts","sourceRoot":"","sources":["../../src/universe/package-universe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"package-universe.d.ts","sourceRoot":"","sources":["../../src/universe/package-universe.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAsD3E,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;CACjB;AAwCD,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,EAAE,CAkB9E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,gBAAgB,EAAE,EAC/B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAWjC;AAED,sGAAsG;AACtG,MAAM,WAAW,iBAAiB;IAChC,iGAAiG;IACjG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,MAAM,MAAM,mBAAmB;AAC7B,uEAAuE;AACrE;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAC1B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAC9E,8FAA8F;GAC5F;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAqB9B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAiBlF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AAuBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EACrC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAgBR;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAazF"}
|
|
@@ -30,7 +30,9 @@
|
|
|
30
30
|
* SCOPE (deliberate): `strategy.yaml` `catalog.assets` plus each deploy INSTANCE's runtime.yaml
|
|
31
31
|
* `scanners[].inputs` — the set the verb installs. Dynamically-discovered tickers (derived
|
|
32
32
|
* universes) are out of scope by design: they are chosen at scan time from live data and cannot
|
|
33
|
-
* be dead-on-arrival the way a hardcoded name can.
|
|
33
|
+
* be dead-on-arrival the way a hardcoded name can. Names under an EXCLUSION key are out of scope
|
|
34
|
+
* for the same reason read backwards — the package is naming what it will not trade, and a name it
|
|
35
|
+
* refuses to trade has no obligation to be live (see `EXCLUSION_KEY_RE`).
|
|
34
36
|
*/
|
|
35
37
|
import { join } from "node:path";
|
|
36
38
|
import { parse as parseYaml } from "yaml";
|
|
@@ -46,6 +48,27 @@ import { readRuntimeYaml } from "../deploy/package.js";
|
|
|
46
48
|
const TICKER_RE = /^(xyz:)?[A-Z][A-Z0-9]{0,11}$/;
|
|
47
49
|
/** Mirror of KEY_HINT: only values under keys that suggest an asset list are ticker candidates. */
|
|
48
50
|
const KEY_HINT_RE = /(asset|universe|basket|coin|symbol|market|whitelist|sleeve|defensiv|equit|probe|allowed|watch|class|volume|metal|energ|indice|long|short)/i;
|
|
51
|
+
/**
|
|
52
|
+
* POLARITY (lockstep with validate_universe.py `EXCLUSION_KEY` — change neither side alone): a key
|
|
53
|
+
* that reads as an EXCLUSION names what the strategy will not trade, and `KEY_HINT_RE` cannot tell
|
|
54
|
+
* the two apart because the hint is a substring of both (`excludeAssets` matches on `asset`).
|
|
55
|
+
* Demanding those names be live asks the exact inverse of the question this file exists to ask, and
|
|
56
|
+
* `bloodhound`/`ibis` — derived-universe packages that hardcode no universe at all — were refused on
|
|
57
|
+
* `excludeAssets: ["USDC", "USDT"]`, stablecoins listed there precisely BECAUSE the venue does not
|
|
58
|
+
* carry them as instruments.
|
|
59
|
+
*
|
|
60
|
+
* Matched over the WHOLE key path, not the leaf, so `exclude: { assets: [...] }` is covered too.
|
|
61
|
+
* `KEY_HINT_RE` stays leaf-only: it asks "is this value an instrument name", which the nearest key
|
|
62
|
+
* answers, while polarity is set by any ancestor.
|
|
63
|
+
*
|
|
64
|
+
* THE RULE FOR EDITING THIS PATTERN — the two failure modes are not symmetric. A MISS (an exclusion
|
|
65
|
+
* key whose name carries no stem here, e.g. `notAssets`) produces the loud refusal we already have,
|
|
66
|
+
* and an author can act on it. An OVER-MATCH (a REQUIRED universe key read as an exclusion, e.g. a
|
|
67
|
+
* bare `block` alternation swallowing `blockchainAssets`) lets a dead name through the money gate to
|
|
68
|
+
* fail silently at scan time — the failure this whole check exists to prevent. So keep the stems
|
|
69
|
+
* narrow and specific, and prefer a miss to a reach: `non`/`not` are deliberately absent.
|
|
70
|
+
*/
|
|
71
|
+
const EXCLUSION_KEY_RE = /(exclud|deny|blacklist|blocklist|blocked|banned|forbidden|ignor|skip|omit)/i;
|
|
49
72
|
/** Mirror of NOT_TICKERS: uppercase enum-ish values that are never tickers. */
|
|
50
73
|
const NOT_TICKERS = new Set([
|
|
51
74
|
"WEEK",
|
|
@@ -68,8 +91,9 @@ const NOT_TICKERS = new Set([
|
|
|
68
91
|
]);
|
|
69
92
|
/**
|
|
70
93
|
* Mirror of validate_universe.py `_collect`: walk the value, remembering the key path, and take a
|
|
71
|
-
* string that is ticker-shaped, is not an enum-ish non-ticker,
|
|
72
|
-
* suggests an asset list
|
|
94
|
+
* string that is ticker-shaped, is not an enum-ish non-ticker, sits under a key whose LEAF name
|
|
95
|
+
* suggests an asset list, and is not under an exclusion key anywhere in its path. A list keeps its
|
|
96
|
+
* parent's key path (its elements are the asset names).
|
|
73
97
|
*
|
|
74
98
|
* TRAILING-NEWLINE RULE (both sides, in lockstep — change neither alone): a YAML block scalar
|
|
75
99
|
* (`- |`) clip-chomps to `"BTC\n"`, so exactly ONE trailing newline is tolerated and the ticker is
|
|
@@ -93,6 +117,11 @@ function collect(node, keyPath, file, out) {
|
|
|
93
117
|
}
|
|
94
118
|
if (typeof node !== "string")
|
|
95
119
|
return;
|
|
120
|
+
// Polarity first: nothing under an exclusion key is a name this package intends to trade, so it
|
|
121
|
+
// is not a candidate at all — see EXCLUSION_KEY_RE for why this is path-wide and why the stems
|
|
122
|
+
// stay narrow.
|
|
123
|
+
if (EXCLUSION_KEY_RE.test(keyPath))
|
|
124
|
+
return;
|
|
96
125
|
const leaf = keyPath.split(".").pop() ?? keyPath;
|
|
97
126
|
// Exactly one trailing newline is stripped before every predicate — see the rule above.
|
|
98
127
|
const ticker = node.endsWith("\n") ? node.slice(0, -1) : node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-universe.js","sourceRoot":"","sources":["../../src/universe/package-universe.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"package-universe.js","sourceRoot":"","sources":["../../src/universe/package-universe.ts"],"names":[],"mappings":"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"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "runtime",
|
|
3
3
|
"name": "Senpi Runtime",
|
|
4
4
|
"description": "Senpi runtime plugin for OpenClaw. Orchestrates scanners, LLM-based trade decisions, and a DSL trailing stop-loss exit engine.",
|
|
5
|
-
"version": "3.0.
|
|
5
|
+
"version": "3.0.76",
|
|
6
6
|
"commandAliases": [
|
|
7
7
|
{
|
|
8
8
|
"name": "senpi"
|