@senpi/trading-recipe 1.0.67 → 1.0.69
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/dist/dsl/events/handlers.d.ts +2 -2
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +35 -27
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/notifications/formatter.d.ts.map +1 -1
- package/dist/dsl/notifications/formatter.js +20 -1
- package/dist/dsl/notifications/formatter.js.map +1 -1
- package/dist/dsl/notifications/index.d.ts +5 -0
- package/dist/dsl/notifications/index.d.ts.map +1 -1
- package/dist/dsl/notifications/index.js +11 -7
- package/dist/dsl/notifications/index.js.map +1 -1
- package/dist/dsl/plugin/index.d.ts +1 -1
- package/dist/dsl/plugin/index.d.ts.map +1 -1
- package/dist/dsl/plugin/index.js +2 -1
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/dsl/plugin/options.d.ts +2 -0
- package/dist/dsl/plugin/options.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +116 -16
- package/dist/index.js.map +1 -1
- package/dist/runtime/notifications.d.ts +7 -0
- package/dist/runtime/notifications.d.ts.map +1 -1
- package/dist/runtime/notifications.js +7 -0
- package/dist/runtime/notifications.js.map +1 -1
- package/dist/runtime/run.d.ts +2 -0
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +3 -0
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime.d.ts +7 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +21 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/types/dsl/index.d.ts +9 -0
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/utils/logger.d.ts +10 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +32 -0
- package/dist/utils/logger.js.map +1 -1
- package/examples/strategies/dsl-showcase.yaml +4 -6
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/utils/logger.js
CHANGED
|
@@ -8,12 +8,37 @@ const levelOrder = {
|
|
|
8
8
|
error: 3,
|
|
9
9
|
};
|
|
10
10
|
let minLevel = "info";
|
|
11
|
+
let errorNotifier = null;
|
|
12
|
+
let notifyingError = false;
|
|
11
13
|
export function setLogLevel(level) {
|
|
12
14
|
minLevel = level;
|
|
13
15
|
}
|
|
16
|
+
export function setErrorNotifier(notifier) {
|
|
17
|
+
errorNotifier = notifier;
|
|
18
|
+
}
|
|
19
|
+
export function clearErrorNotifier() {
|
|
20
|
+
errorNotifier = null;
|
|
21
|
+
}
|
|
14
22
|
function shouldLog(level) {
|
|
15
23
|
return levelOrder[level] >= levelOrder[minLevel];
|
|
16
24
|
}
|
|
25
|
+
function dispatchErrorNotification(payload) {
|
|
26
|
+
const notifier = errorNotifier;
|
|
27
|
+
if (notifier == null || notifyingError)
|
|
28
|
+
return;
|
|
29
|
+
void (async () => {
|
|
30
|
+
notifyingError = true;
|
|
31
|
+
try {
|
|
32
|
+
await notifier(payload);
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Intentionally swallow notifier failures to keep error logging safe.
|
|
36
|
+
}
|
|
37
|
+
finally {
|
|
38
|
+
notifyingError = false;
|
|
39
|
+
}
|
|
40
|
+
})();
|
|
41
|
+
}
|
|
17
42
|
export function createLogger(namespace) {
|
|
18
43
|
return {
|
|
19
44
|
debug(message, meta) {
|
|
@@ -59,6 +84,13 @@ export function createLogger(namespace) {
|
|
|
59
84
|
else {
|
|
60
85
|
console.error(prefix, message);
|
|
61
86
|
}
|
|
87
|
+
dispatchErrorNotification({
|
|
88
|
+
namespace,
|
|
89
|
+
level: "error",
|
|
90
|
+
message,
|
|
91
|
+
meta,
|
|
92
|
+
timestamp: new Date().toISOString(),
|
|
93
|
+
});
|
|
62
94
|
},
|
|
63
95
|
};
|
|
64
96
|
}
|
package/dist/utils/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,GAA6B;IAC3C,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,IAAI,QAAQ,GAAa,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,15 +7,13 @@ description: >
|
|
|
7
7
|
Onchain position tracker — monitors the strategy wallet on Hyperliquid
|
|
8
8
|
for position lifecycle events (open, close, edit, flip) and wires them
|
|
9
9
|
into the DSL exit engine for automated trailing stop-loss management.
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
notifications:
|
|
12
|
+
telegram_chat_id: "${TELEGRAM_CHAT_ID}"
|
|
13
|
+
|
|
11
14
|
strategies:
|
|
12
15
|
ref:
|
|
13
16
|
wallet: "${WALLET_ADDRESS}"
|
|
14
|
-
budget: 100
|
|
15
|
-
slots: 2
|
|
16
|
-
margin_per_slot: 50
|
|
17
|
-
trading_risk: conservative
|
|
18
|
-
enabled: true
|
|
19
17
|
|
|
20
18
|
# ── SCANNERS ──
|
|
21
19
|
scanners:
|
package/openclaw.plugin.json
CHANGED