@senpi/runtime 3.0.0-dev.openclaw-upgrade-mai.20260623210452 → 3.0.0-dev.runtime-phase-2.20260623210537
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 +9 -10
- package/dist/actions/decision-engine.d.ts.map +1 -1
- package/dist/actions/decision-engine.js +0 -3
- package/dist/actions/decision-engine.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +2 -6
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +56 -43
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +108 -0
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/constants/dsl/index.d.ts +0 -2
- package/dist/constants/dsl/index.d.ts.map +1 -1
- package/dist/constants/dsl/index.js +0 -2
- package/dist/constants/dsl/index.js.map +1 -1
- package/dist/dsl/engine-client/config-mapping.d.ts +0 -7
- package/dist/dsl/engine-client/config-mapping.d.ts.map +1 -1
- package/dist/dsl/engine-client/config-mapping.js +2 -16
- package/dist/dsl/engine-client/config-mapping.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts +2 -18
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +213 -302
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts +0 -15
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +9 -44
- package/dist/dsl/monitor/create-monitor.js.map +1 -1
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +1 -24
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/plugin/index.d.ts +1 -16
- package/dist/dsl/plugin/index.d.ts.map +1 -1
- package/dist/dsl/plugin/index.js +4 -35
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/dsl/plugin/options.d.ts +0 -18
- package/dist/dsl/plugin/options.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +3 -4
- package/dist/runtime/create-scanner-module.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.js +5 -14
- package/dist/runtime/create-scanner-module.js.map +1 -1
- package/dist/runtime/create-scanner-providers-for-run.d.ts.map +1 -1
- package/dist/runtime/create-scanner-providers-for-run.js +1 -12
- package/dist/runtime/create-scanner-providers-for-run.js.map +1 -1
- package/dist/runtime/load-runtime-config.js +1 -1
- package/dist/runtime/load-runtime-config.js.map +1 -1
- package/dist/runtime/map-strategies-registration.js +8 -7
- package/dist/runtime/map-strategies-registration.js.map +1 -1
- package/dist/runtime/map-strategies.d.ts.map +1 -1
- package/dist/runtime/map-strategies.js +3 -12
- package/dist/runtime/map-strategies.js.map +1 -1
- package/dist/runtime/reconcile-state.d.ts +0 -44
- package/dist/runtime/reconcile-state.d.ts.map +1 -1
- package/dist/runtime/reconcile-state.js +44 -80
- package/dist/runtime/reconcile-state.js.map +1 -1
- package/dist/runtime/risk-guard.d.ts.map +1 -1
- package/dist/runtime/risk-guard.js +12 -17
- package/dist/runtime/risk-guard.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +995 -2855
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +40 -133
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +0 -26
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +5 -233
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/scanner-registry.d.ts +1 -1
- package/dist/runtime/scanner-registry.d.ts.map +1 -1
- package/dist/runtime/scanner-registry.js +12 -3
- package/dist/runtime/scanner-registry.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime/supervisor/orphan-sweep.js +1 -1
- package/dist/runtime/supervisor/orphan-sweep.js.map +1 -1
- package/dist/runtime/supervisor/supervisor-utils.d.ts +1 -1
- package/dist/runtime/supervisor/supervisor-utils.d.ts.map +1 -1
- package/dist/runtime/supervisor/supervisor-utils.js +1 -1
- package/dist/runtime/supervisor/supervisor-utils.js.map +1 -1
- package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-mount.js +36 -28
- package/dist/runtime-api/intake/intake-mount.js.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.js +0 -0
- package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.d.ts +4 -18
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +3 -24
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/types.d.ts +0 -6
- package/dist/runtime-api/intake/types.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.d.ts +0 -1
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.js +0 -5
- package/dist/runtime-api/routes/signals.schema.js.map +1 -1
- package/dist/scanners/external/liquidation-watchdog/README.md +107 -0
- package/dist/scanners/external/liquidation-watchdog/liquidation-watchdog.yaml +48 -0
- package/dist/scanners/external/liquidation-watchdog/producer.mjs +336 -0
- package/dist/scanners/external/momentum/README.md +148 -0
- package/dist/scanners/external/momentum/momentum.yaml +116 -0
- package/dist/scanners/external/momentum/producer.mjs +251 -0
- package/dist/scanners/external/scaffold/__main__.py +24 -65
- package/dist/scanners/external/scaffold/delivery.py +22 -56
- package/dist/scanners/external/scaffold/entrypoint_loader.py +48 -42
- package/dist/scanners/external/scaffold/journal.py +2 -13
- package/dist/scanners/external/scaffold/scaffold.py +128 -159
- package/dist/scanners/external/scaffold/signal_envelope.py +34 -177
- package/dist/scanners/external/shared/ingest.mjs +112 -0
- package/dist/scanners/external-scanner-receiver.d.ts +0 -6
- package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
- package/dist/scanners/external-scanner-receiver.js +1 -14
- package/dist/scanners/external-scanner-receiver.js.map +1 -1
- package/dist/scripts/run-dsl-standalone-live.d.ts +1 -1
- package/dist/scripts/run-dsl-standalone-live.js +3 -5
- package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
- package/dist/senpi/client.d.ts +0 -12
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +2 -31
- package/dist/senpi/client.js.map +1 -1
- package/dist/state/state-manager.d.ts +0 -17
- package/dist/state/state-manager.d.ts.map +1 -1
- package/dist/state/state-manager.js +0 -28
- package/dist/state/state-manager.js.map +1 -1
- package/dist/strategy/strategy-state.d.ts.map +1 -1
- package/dist/strategy/strategy-state.js +1 -7
- package/dist/strategy/strategy-state.js.map +1 -1
- package/dist/tracking/constants.d.ts.map +1 -1
- package/dist/tracking/constants.js +0 -2
- package/dist/tracking/constants.js.map +1 -1
- package/dist/types/dsl/index.d.ts +1 -1
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/types/scanner.d.ts +0 -7
- package/dist/types/scanner.d.ts.map +1 -1
- package/examples/README.md +89 -0
- package/examples/scanners-consumer-quickstart.mjs +134 -0
- package/examples/scanners-emerging-movers-v4.mjs +287 -0
- package/examples/scanners-liquidation-watchdog.mjs +341 -0
- package/examples/scanners-live-mcp.mjs +208 -0
- package/examples/scanners-multi-strategy.mjs +165 -0
- package/examples/scanners-position-tracker-e2e.mjs +225 -0
- package/examples/scanners-scheduled-events.mjs +96 -0
- package/examples/scanners-senpi-provider-client.mjs +182 -0
- package/examples/scanners-single-strategy.mjs +198 -0
- package/examples/strategies/README.md +12 -17
- package/examples/strategies/dsl-showcase.yaml +68 -0
- package/examples/strategies/dsl.yaml +51 -0
- package/examples/strategies/fox-minimal-loosened.yaml +240 -0
- package/examples/strategies/fox-minimal.yaml +242 -0
- package/examples/strategies/minimal.yaml +46 -0
- package/examples/strategies/momentum/how-it-works.md +48 -0
- package/examples/strategies/momentum/momentum-guarded.yaml +161 -0
- package/examples/strategies/risk-showcase.yaml +93 -0
- package/examples/strategies/viper.yaml +67 -0
- package/examples/strategies/wolf.yaml +72 -0
- package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +123 -0
- package/package.json +1 -1
- package/dist/runtime/reconcile-decide.d.ts +0 -73
- package/dist/runtime/reconcile-decide.d.ts.map +0 -1
- package/dist/runtime/reconcile-decide.js +0 -166
- package/dist/runtime/reconcile-decide.js.map +0 -1
- package/dist/runtime/reconcile-run.d.ts +0 -62
- package/dist/runtime/reconcile-run.d.ts.map +0 -1
- package/dist/runtime/reconcile-run.js +0 -173
- package/dist/runtime/reconcile-run.js.map +0 -1
- package/dist/scanners/external/scaffold/ctx.py +0 -78
- package/dist/scanners/external/scaffold/requirements.txt +0 -11
- package/dist/scanners/external/scaffold/senpi_mcp.py +0 -250
- package/dist/scanners/external/scaffold/state_manager.py +0 -175
- package/dist/utils/keyed-mutex.d.ts +0 -37
- package/dist/utils/keyed-mutex.d.ts.map +0 -1
- package/dist/utils/keyed-mutex.js +0 -77
- package/dist/utils/keyed-mutex.js.map +0 -1
- package/examples/strategies/iguana/README.md +0 -135
- package/examples/strategies/iguana/recipe.yaml +0 -137
- package/examples/strategies/iguana/scanners/scan.py +0 -243
- package/examples/strategies/iguana/scanners/scoring.py +0 -152
- package/examples/strategies/raptor/README.md +0 -156
- package/examples/strategies/raptor/recipe.yaml +0 -154
- package/examples/strategies/raptor/scanners/scan.py +0 -349
- package/examples/strategies/raptor/scanners/scoring.py +0 -452
- package/examples/strategies/spider/README.md +0 -97
- package/examples/strategies/spider/scalp/recipe.yaml +0 -129
- package/examples/strategies/spider/scalp/scanners/scan.py +0 -219
- package/examples/strategies/spider/scalp/scanners/scoring.py +0 -179
- package/examples/strategies/spider/swing/recipe.yaml +0 -141
- package/examples/strategies/spider/swing/scanners/scan.py +0 -334
- package/examples/strategies/spider/swing/scanners/scoring.py +0 -184
- package/examples/strategies/turbine/README.md +0 -167
- package/examples/strategies/turbine/recipe-runners.yaml +0 -123
- package/examples/strategies/turbine/recipe-volume.yaml +0 -129
- package/examples/strategies/turbine/scanners/scan.py +0 -283
- package/examples/strategies/turbine/scanners/scoring.py +0 -190
|
@@ -1,218 +1,75 @@
|
|
|
1
|
-
"""Pure candidate -> wire-signal mapping
|
|
2
|
-
|
|
3
|
-
candidate_to_signal(
|
|
4
|
-
candidate,
|
|
5
|
-
produced_at_ms,
|
|
6
|
-
*,
|
|
7
|
-
signal_id=None, # stable production id (journal eid); minted if absent
|
|
8
|
-
signal_data_schema, # dict {key: {type, required?}} | None
|
|
9
|
-
default_signal_validity_seconds, # int REQUIRED fallback TTL (seconds)
|
|
10
|
-
on_reject=None, # callback(reason_dict) on reject -> /errors
|
|
11
|
-
) -> dict | None
|
|
12
|
-
|
|
13
|
-
Returns the wire dict on success:
|
|
14
|
-
{signal_id, asset, direction, produced_at, valid_until, data}
|
|
15
|
-
plus signal_type only when the author set a non-empty string, and the canonical
|
|
16
|
-
sizing fields `marginUsd` (USD margin, not a percent) and/or `leverage` at the
|
|
17
|
-
TOP LEVEL (not inside `data`) when the candidate sets them — the runtime reads
|
|
18
|
-
signal.marginUsd / signal.leverage directly. A present-but-non-positive-number
|
|
19
|
-
marginUsd/leverage is a LOUD reject.
|
|
20
|
-
|
|
21
|
-
Returns None (never raises for a bad CANDIDATE) when the candidate is invalid,
|
|
22
|
-
and — when on_reject is supplied — calls on_reject(reason) so the rejection is
|
|
23
|
-
LOUD (logged AND posted to /errors), never a silent drop.
|
|
24
|
-
|
|
25
|
-
v2 contract (design §4):
|
|
26
|
-
- direction is NORMALIZED case: "long"/"LONG"/"Long" -> "LONG"; "short"/.. -> "SHORT".
|
|
27
|
-
Surrounding whitespace is stripped. "buy"/"sell"/""/non-string -> REJECT.
|
|
28
|
-
- asset + direction are MANDATORY (non-empty string asset).
|
|
29
|
-
- `data` is VALIDATED against signal_data_schema (when a dict is supplied):
|
|
30
|
-
missing-required / wrong-type / extra (unknown) keys all REJECT. A None schema
|
|
31
|
-
means "no validation" (passthrough — used when no schema is threaded in).
|
|
32
|
-
- valid_until = produced_at_ms + (valid_for_seconds else
|
|
33
|
-
default_signal_validity_seconds) * 1000. The v1 produced_at + 2*interval default
|
|
34
|
-
is GONE; there is no interval_ms arg. A non-positive / non-int valid_for_seconds
|
|
35
|
-
is REJECTED. A MISSING default_signal_validity_seconds (None) when it is NEEDED
|
|
36
|
-
fails LOUD (raises) — no magic fallback.
|
|
37
|
-
- author absolute `valid_until` is DROPPED (never honored, never leaks).
|
|
38
|
-
- The keys on the wire are {signal_id, asset, direction, produced_at,
|
|
39
|
-
valid_until, data} (+ optional signal_type, marginUsd, leverage). `marginUsd`/
|
|
40
|
-
`leverage` are the canonical top-level sizing fields (validated positive numbers
|
|
41
|
-
when present; `marginUsd` is a USD value, not a percent). `signal_id` is the
|
|
42
|
-
scaffold-minted
|
|
43
|
-
stable production id (the journal eid), threaded in by the delivery sink — it is
|
|
44
|
-
the intake dedup key. An author-supplied `signal_id` in the candidate dict is
|
|
45
|
-
IGNORED: the scaffold owns the dedup key, an author cannot spoof it. Apart from
|
|
46
|
-
signal_id/signal_type, author bookkeeping never leaks.
|
|
47
|
-
"""
|
|
48
|
-
|
|
49
|
-
from __future__ import annotations
|
|
50
|
-
|
|
51
|
-
import uuid
|
|
52
|
-
from typing import Any, Optional
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
# JSON type name -> Python type(s) for schema validation. `bool` is excluded from
|
|
56
|
-
# "number" because a bool is an int subclass in Python but is not a numeric value.
|
|
57
|
-
def _is_number(value: Any) -> bool:
|
|
58
|
-
return isinstance(value, (int, float)) and not isinstance(value, bool)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
def _is_string(value: Any) -> bool:
|
|
62
|
-
return isinstance(value, str)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
def _is_boolean(value: Any) -> bool:
|
|
66
|
-
return isinstance(value, bool)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
def _is_object(value: Any) -> bool:
|
|
70
|
-
return isinstance(value, dict)
|
|
1
|
+
"""Pure candidate -> wire-signal mapping.
|
|
71
2
|
|
|
3
|
+
candidate_to_signal(candidate, produced_at_ms, interval_ms) -> dict | None
|
|
72
4
|
|
|
73
|
-
|
|
74
|
-
|
|
5
|
+
Returns the six-key wire dict on success:
|
|
6
|
+
{asset, direction, produced_at, valid_until, data}
|
|
7
|
+
plus signal_type only when the author set a non-empty string.
|
|
75
8
|
|
|
9
|
+
Returns None (never raises) when the candidate is invalid:
|
|
10
|
+
- non-mapping candidate
|
|
11
|
+
- missing / blank / non-string asset
|
|
12
|
+
- missing / non-LONG/SHORT direction (no case coercion)
|
|
76
13
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
def _validate_data_against_schema(data: dict, schema: dict) -> Optional[str]:
|
|
87
|
-
"""Validate `data` against `schema`. Returns a reason string on violation,
|
|
88
|
-
or None when valid. additionalProperties:false — unknown keys reject."""
|
|
89
|
-
allowed = set(schema.keys())
|
|
14
|
+
Wire rules (TS intake: additionalProperties:false):
|
|
15
|
+
- direction must be exactly "LONG" or "SHORT"
|
|
16
|
+
- produced_at / valid_until are int epoch ms
|
|
17
|
+
- valid_until = author override verbatim when present, else produced_at + 2*interval_ms
|
|
18
|
+
- data is the author's open record passed through as-is (missing -> {})
|
|
19
|
+
- NO extra keys on the wire
|
|
20
|
+
"""
|
|
90
21
|
|
|
91
|
-
|
|
92
|
-
for key in data:
|
|
93
|
-
if key not in allowed:
|
|
94
|
-
return f"data has unknown key {key!r} (not in signal_data_schema)"
|
|
22
|
+
from __future__ import annotations
|
|
95
23
|
|
|
96
|
-
|
|
97
|
-
for key, spec in schema.items():
|
|
98
|
-
spec = spec if isinstance(spec, dict) else {}
|
|
99
|
-
required = spec.get("required", True) # required unless explicitly False
|
|
100
|
-
if key not in data:
|
|
101
|
-
if required:
|
|
102
|
-
return f"data missing required key {key!r}"
|
|
103
|
-
continue
|
|
104
|
-
declared_type = spec.get("type")
|
|
105
|
-
check = _TYPE_CHECKS.get(declared_type)
|
|
106
|
-
if check is not None and not check(data[key]):
|
|
107
|
-
return (
|
|
108
|
-
f"data key {key!r} has wrong type "
|
|
109
|
-
f"(expected {declared_type}, got {type(data[key]).__name__})"
|
|
110
|
-
)
|
|
111
|
-
return None
|
|
24
|
+
from typing import Any
|
|
112
25
|
|
|
113
26
|
|
|
114
27
|
def candidate_to_signal(
|
|
115
28
|
candidate: Any,
|
|
116
29
|
produced_at_ms: int,
|
|
117
|
-
|
|
118
|
-
signal_id: Optional[str] = None,
|
|
119
|
-
signal_data_schema: Optional[dict],
|
|
120
|
-
default_signal_validity_seconds: Optional[int],
|
|
121
|
-
on_reject=None,
|
|
30
|
+
interval_ms: int,
|
|
122
31
|
) -> dict | None:
|
|
123
|
-
"""Wrap a scan() candidate into a wire signal dict
|
|
32
|
+
"""Wrap a scan() candidate into a wire signal dict.
|
|
124
33
|
|
|
125
|
-
Returns the signal dict on success, None when the candidate is invalid
|
|
126
|
-
|
|
127
|
-
OPERATOR config is wrong (missing default_signal_validity_seconds when needed).
|
|
34
|
+
Returns the signal dict on success, None when the candidate is invalid.
|
|
35
|
+
Never raises.
|
|
128
36
|
"""
|
|
129
|
-
|
|
130
|
-
def _reject(reason: str) -> None:
|
|
131
|
-
if on_reject is not None:
|
|
132
|
-
on_reject({"reason": reason, "candidate": repr(candidate)})
|
|
133
|
-
|
|
134
37
|
if not isinstance(candidate, dict):
|
|
135
|
-
_reject(f"candidate is not a mapping (got {type(candidate).__name__})")
|
|
136
38
|
return None
|
|
137
39
|
|
|
138
|
-
# -- asset: mandatory, non-empty string --------------------------------
|
|
139
40
|
asset = candidate.get("asset")
|
|
140
41
|
if not isinstance(asset, str) or not asset.strip():
|
|
141
|
-
_reject(f"asset missing/blank/non-string (got {asset!r})")
|
|
142
42
|
return None
|
|
143
43
|
|
|
144
|
-
# -- direction: mandatory string, case-normalized to LONG / SHORT ------
|
|
145
44
|
direction = candidate.get("direction")
|
|
146
|
-
if
|
|
147
|
-
_reject(f"direction is not a string (got {direction!r})")
|
|
148
|
-
return None
|
|
149
|
-
normalized = direction.strip().upper()
|
|
150
|
-
if normalized not in ("LONG", "SHORT"):
|
|
151
|
-
_reject(f"direction must be long/short (got {direction!r})")
|
|
45
|
+
if direction not in ("LONG", "SHORT"):
|
|
152
46
|
return None
|
|
153
47
|
|
|
154
|
-
#
|
|
155
|
-
#
|
|
156
|
-
if "
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
48
|
+
# valid_until: author override verbatim when a real number, or default.
|
|
49
|
+
# bool is a subclass of int in Python, but is not a valid epoch ms value.
|
|
50
|
+
if "valid_until" in candidate:
|
|
51
|
+
valid_until = candidate["valid_until"]
|
|
52
|
+
if not isinstance(valid_until, (int, float)) or isinstance(valid_until, bool):
|
|
53
|
+
from .loop_primitives import log_event
|
|
54
|
+
log_event("delivery_candidate_invalid",
|
|
55
|
+
reason="valid_until_not_numeric",
|
|
56
|
+
candidate=repr(candidate))
|
|
161
57
|
return None
|
|
162
|
-
validity_seconds = vfs
|
|
163
58
|
else:
|
|
164
|
-
|
|
165
|
-
# OPERATOR error, not a candidate bug — fail LOUD (no magic fallback).
|
|
166
|
-
raise ValueError(
|
|
167
|
-
"default_signal_validity_seconds is required when a candidate has "
|
|
168
|
-
"no valid_for_seconds; got None (no magic fallback in v2)."
|
|
169
|
-
)
|
|
170
|
-
validity_seconds = default_signal_validity_seconds
|
|
171
|
-
|
|
172
|
-
valid_until = produced_at_ms + validity_seconds * 1000
|
|
59
|
+
valid_until = produced_at_ms + 2 * interval_ms
|
|
173
60
|
|
|
174
|
-
# -- data: validate against schema (when supplied) ---------------------
|
|
175
61
|
data = candidate.get("data", {})
|
|
176
62
|
if not isinstance(data, dict):
|
|
177
63
|
data = {}
|
|
178
|
-
if signal_data_schema is not None:
|
|
179
|
-
violation = _validate_data_against_schema(data, signal_data_schema)
|
|
180
|
-
if violation is not None:
|
|
181
|
-
_reject(violation)
|
|
182
|
-
return None
|
|
183
|
-
|
|
184
|
-
# -- canonical sizing: marginUsd + leverage ride at the TOP LEVEL of the wire
|
|
185
|
-
# signal, NOT inside `data`. `marginUsd` is the USD margin (not a percent);
|
|
186
|
-
# the runtime consumes signal.marginUsd / signal.leverage directly (data is
|
|
187
|
-
# freeform context only), so per-signal sizing/leverage from the producer is
|
|
188
|
-
# honored instead of silently dropped. Present-but-invalid is a LOUD reject —
|
|
189
|
-
# sizing must never fall back silently.
|
|
190
|
-
sizing: dict = {}
|
|
191
|
-
for field in ("marginUsd", "leverage"):
|
|
192
|
-
if candidate.get(field) is None:
|
|
193
|
-
continue
|
|
194
|
-
value = candidate[field]
|
|
195
|
-
if not _is_number(value) or value <= 0:
|
|
196
|
-
_reject(f"{field} must be a positive number when set (got {value!r})")
|
|
197
|
-
return None
|
|
198
|
-
sizing[field] = value
|
|
199
64
|
|
|
200
65
|
sig: dict = {
|
|
201
|
-
# scaffold-minted stable production id (journal eid); the author cannot
|
|
202
|
-
# override it via the candidate dict — the kwarg is authoritative. The
|
|
203
|
-
# delivery sink threads the eid in; when no id is supplied a stable one is
|
|
204
|
-
# minted so the wire ALWAYS carries a signal_id (required end-to-end).
|
|
205
|
-
"signal_id": signal_id if (isinstance(signal_id, str) and signal_id) else uuid.uuid4().hex,
|
|
206
66
|
"asset": asset,
|
|
207
|
-
"direction":
|
|
67
|
+
"direction": direction,
|
|
208
68
|
"produced_at": produced_at_ms,
|
|
209
69
|
"valid_until": valid_until,
|
|
210
70
|
"data": data,
|
|
211
71
|
}
|
|
212
72
|
|
|
213
|
-
# Lift the validated sizing fields onto the wire signal at the top level.
|
|
214
|
-
sig.update(sizing)
|
|
215
|
-
|
|
216
73
|
signal_type = candidate.get("signal_type")
|
|
217
74
|
if signal_type and isinstance(signal_type, str):
|
|
218
75
|
sig["signal_type"] = signal_type
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared ingest helpers for external-scanner producers under
|
|
3
|
+
* `src/scanners/external/`.
|
|
4
|
+
*
|
|
5
|
+
* Producers all need the same two things:
|
|
6
|
+
* 1. Normalize an in-producer signal into the external batch item shape
|
|
7
|
+
* expected by `senpi.ingestExternalScannerData`.
|
|
8
|
+
* 2. Shell out to the openclaw CLI to actually push the batch and parse the
|
|
9
|
+
* response.
|
|
10
|
+
*
|
|
11
|
+
* Keeping this in one place means producers never diverge on the wire format
|
|
12
|
+
* or response-validation rules, and a future CLI contract change only needs to
|
|
13
|
+
* be made here.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { execFile } from "node:child_process";
|
|
17
|
+
import { promisify } from "node:util";
|
|
18
|
+
|
|
19
|
+
const execFileAsync = promisify(execFile);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Convert a producer-native signal object into the batch item shape consumed
|
|
23
|
+
* by the external-scanner ingest CLI/RPC.
|
|
24
|
+
*
|
|
25
|
+
* Producers emit richer signal objects (scannerId/factors/meta/timestamp) but
|
|
26
|
+
* the runtime only needs the top-level routing fields plus an opaque `data`
|
|
27
|
+
* blob — everything else is preserved under `data.source*` so downstream
|
|
28
|
+
* consumers can reconstruct the original context.
|
|
29
|
+
*/
|
|
30
|
+
export function toExternalBatchItem(signal) {
|
|
31
|
+
return {
|
|
32
|
+
asset: signal.asset,
|
|
33
|
+
direction: signal.direction,
|
|
34
|
+
score: signal.score,
|
|
35
|
+
signal_type: signal.signalType,
|
|
36
|
+
data: {
|
|
37
|
+
sourceScannerId: signal.scannerId,
|
|
38
|
+
sourceSignalType: signal.signalType,
|
|
39
|
+
sourceTimestamp: signal.timestamp,
|
|
40
|
+
sourceFactors: signal.factors,
|
|
41
|
+
sourceMeta: signal.meta,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Push a batch of scanner signals from an external producer into a running
|
|
48
|
+
* runtime via the `openclaw senpi external-scanner ingest` CLI command.
|
|
49
|
+
*
|
|
50
|
+
* Named from the producer's point of view: the scanner executing this code
|
|
51
|
+
* is pushing its signals out to the senpi-trading-runtime service.
|
|
52
|
+
*
|
|
53
|
+
* The CLI emits pure JSON on stdout:
|
|
54
|
+
* - success: { ok: true, result: { accepted, signalCount, ... } }
|
|
55
|
+
* - failure: { ok: false, error: { code, message } }
|
|
56
|
+
*
|
|
57
|
+
* @param {object} opts
|
|
58
|
+
* @param {string} opts.address Strategy wallet address.
|
|
59
|
+
* @param {string} opts.scanner Configured external_scanner name.
|
|
60
|
+
* @param {Array<object>} opts.signals Producer-native signals (will be
|
|
61
|
+
* normalized via `toExternalBatchItem`).
|
|
62
|
+
* @param {string} [opts.openclawBin] Path or name of the openclaw CLI
|
|
63
|
+
* (defaults to `"openclaw"`).
|
|
64
|
+
* @returns {Promise<object>} The inner `result` payload from the
|
|
65
|
+
* gateway on success.
|
|
66
|
+
*/
|
|
67
|
+
export async function pushScannerSignals({
|
|
68
|
+
address,
|
|
69
|
+
scanner,
|
|
70
|
+
signals,
|
|
71
|
+
openclawBin = "openclaw",
|
|
72
|
+
}) {
|
|
73
|
+
const payload = {
|
|
74
|
+
signals: signals.map(toExternalBatchItem),
|
|
75
|
+
};
|
|
76
|
+
const { stdout } = await execFileAsync(openclawBin, [
|
|
77
|
+
"senpi",
|
|
78
|
+
"external-scanner",
|
|
79
|
+
"ingest",
|
|
80
|
+
"--address",
|
|
81
|
+
address,
|
|
82
|
+
"--scanner",
|
|
83
|
+
scanner,
|
|
84
|
+
"--payload",
|
|
85
|
+
JSON.stringify(payload),
|
|
86
|
+
]);
|
|
87
|
+
|
|
88
|
+
let response;
|
|
89
|
+
try {
|
|
90
|
+
response = JSON.parse(stdout);
|
|
91
|
+
} catch {
|
|
92
|
+
throw new Error(`CLI returned non-JSON response:\n${stdout}`);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (response?.ok !== true) {
|
|
96
|
+
const err = response?.error ?? {};
|
|
97
|
+
const code = err.code ?? "UNKNOWN";
|
|
98
|
+
const message = err.message ?? JSON.stringify(response);
|
|
99
|
+
throw new Error(`CLI rejected ingest (${code}): ${message}`);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
const result = response.result ?? {};
|
|
103
|
+
if (!result.accepted) {
|
|
104
|
+
throw new Error(`CLI did not accept ingest: ${JSON.stringify(result)}`);
|
|
105
|
+
}
|
|
106
|
+
if (result.signalCount !== signals.length) {
|
|
107
|
+
throw new Error(
|
|
108
|
+
`Expected signalCount=${signals.length}, got ${result.signalCount}`,
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
@@ -20,10 +20,6 @@ export interface ExternalScannerIngestRequest {
|
|
|
20
20
|
score?: number;
|
|
21
21
|
/** Optional single-signal classification override. */
|
|
22
22
|
signal_type?: string;
|
|
23
|
-
/** Optional canonical per-signal USD margin (overrides config sizing). */
|
|
24
|
-
marginUsd?: number;
|
|
25
|
-
/** Optional per-signal leverage override (overrides config default). */
|
|
26
|
-
leverage?: number;
|
|
27
23
|
/**
|
|
28
24
|
* Single ingest payload validated against `config.fields`.
|
|
29
25
|
*
|
|
@@ -50,8 +46,6 @@ export interface ExternalScannerIngestSignalItem {
|
|
|
50
46
|
direction?: Signal["direction"];
|
|
51
47
|
score?: number;
|
|
52
48
|
signal_type?: string;
|
|
53
|
-
marginUsd?: number;
|
|
54
|
-
leverage?: number;
|
|
55
49
|
data: Record<string, unknown>;
|
|
56
50
|
}
|
|
57
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-scanner-receiver.d.ts","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA4B;IAC3C,uCAAuC;IACvC,OAAO,EAAE,SAAS,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAChC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB
|
|
1
|
+
{"version":3,"file":"external-scanner-receiver.d.ts","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,WAAW,4BAA4B;IAC3C,uCAAuC;IACvC,OAAO,EAAE,SAAS,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAChC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,+BAA+B,EAAE,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,WAAW,+BAA+B;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,+EAA+E;AAC/E,MAAM,MAAM,8BAA8B,GACtC,iBAAiB,GACjB,WAAW,GACX,aAAa,CAAC;AAElB;;;;;;GAMG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,IAAI,EAAE,8BAA8B,CAAC;gBAElC,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,MAAM;CAKlE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAChD,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,4BAA4B,CAAC;IACtC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,EAAE,cAAc,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB,GAAG,6BAA6B,CAsDhC;AAuKD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,GAC9C,IAAI,CA6BN;AA8BD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAWlG"}
|
|
@@ -83,8 +83,6 @@ function prepareSingleSignalIngest(options) {
|
|
|
83
83
|
direction: request.direction,
|
|
84
84
|
score: request.score,
|
|
85
85
|
signalType: request.signal_type,
|
|
86
|
-
marginUsd: request.marginUsd,
|
|
87
|
-
leverage: request.leverage,
|
|
88
86
|
data: request.data,
|
|
89
87
|
defaultSignalType: options.defaultSignalType,
|
|
90
88
|
timestamp: options.timestamp,
|
|
@@ -137,8 +135,6 @@ function prepareBatchSignalIngest(options) {
|
|
|
137
135
|
direction: item.direction,
|
|
138
136
|
score: item.score,
|
|
139
137
|
signalType: item.signal_type,
|
|
140
|
-
marginUsd: item.marginUsd,
|
|
141
|
-
leverage: item.leverage,
|
|
142
138
|
data: item.data,
|
|
143
139
|
defaultSignalType: options.defaultSignalType,
|
|
144
140
|
timestamp: options.timestamp,
|
|
@@ -213,7 +209,7 @@ export function validateDataAgainstFieldSchema(scannerId, data, fields) {
|
|
|
213
209
|
* shape used by the runtime before score normalization and persistence.
|
|
214
210
|
*/
|
|
215
211
|
function buildNormalizedSignal(options) {
|
|
216
|
-
|
|
212
|
+
return {
|
|
217
213
|
address: options.address,
|
|
218
214
|
scannerId: options.scannerId,
|
|
219
215
|
signalType: options.signalType ?? options.defaultSignalType,
|
|
@@ -224,15 +220,6 @@ function buildNormalizedSignal(options) {
|
|
|
224
220
|
factors: {},
|
|
225
221
|
meta: structuredClone(options.data),
|
|
226
222
|
};
|
|
227
|
-
// Canonical per-signal sizing/leverage ride at the top level (not in meta),
|
|
228
|
-
// so the open action consumes them directly. Only positive numbers are kept.
|
|
229
|
-
if (typeof options.marginUsd === "number" && options.marginUsd > 0) {
|
|
230
|
-
signal.marginUsd = options.marginUsd;
|
|
231
|
-
}
|
|
232
|
-
if (typeof options.leverage === "number" && options.leverage > 0) {
|
|
233
|
-
signal.leverage = options.leverage;
|
|
234
|
-
}
|
|
235
|
-
return signal;
|
|
236
223
|
}
|
|
237
224
|
export function normalizeDirection(direction) {
|
|
238
225
|
if (direction === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"external-scanner-receiver.js","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"external-scanner-receiver.js","sourceRoot":"","sources":["../../src/scanners/external-scanner-receiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* Usage (after build):
|
|
39
39
|
* npm run run:dsl:live
|
|
40
40
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 3600
|
|
41
|
-
* node dist/scripts/run-dsl-standalone-live.js --config examples/strategies/
|
|
41
|
+
* node dist/scripts/run-dsl-standalone-live.js --config examples/strategies/dsl-showcase.yaml
|
|
42
42
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 120 --close-after 30 # emit position.closed for each asset
|
|
43
43
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 120 --flip-after 30 # single asset + DSL_NEW_*
|
|
44
44
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 300 --increase-after 60 # single asset + DSL_INCREASE_*
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* Usage (after build):
|
|
39
39
|
* npm run run:dsl:live
|
|
40
40
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 3600
|
|
41
|
-
* node dist/scripts/run-dsl-standalone-live.js --config examples/strategies/
|
|
41
|
+
* node dist/scripts/run-dsl-standalone-live.js --config examples/strategies/dsl-showcase.yaml
|
|
42
42
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 120 --close-after 30 # emit position.closed for each asset
|
|
43
43
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 120 --flip-after 30 # single asset + DSL_NEW_*
|
|
44
44
|
* node dist/scripts/run-dsl-standalone-live.js --seconds 300 --increase-after 60 # single asset + DSL_INCREASE_*
|
|
@@ -77,7 +77,7 @@ const decreaseAfterSeconds = parseArg("--decrease-after");
|
|
|
77
77
|
const configIdx = args.indexOf("--config");
|
|
78
78
|
const configPathArg = configIdx >= 0 && args[configIdx + 1]
|
|
79
79
|
? args[configIdx + 1]
|
|
80
|
-
: "examples/strategies/
|
|
80
|
+
: "examples/strategies/dsl-showcase.yaml";
|
|
81
81
|
const fallbackExitConfig = {
|
|
82
82
|
engine: "dsl",
|
|
83
83
|
interval_seconds: 15,
|
|
@@ -105,10 +105,8 @@ async function loadExitConfigAndNotifications() {
|
|
|
105
105
|
return { exitConfig: fallbackExitConfig };
|
|
106
106
|
}
|
|
107
107
|
try {
|
|
108
|
-
//
|
|
108
|
+
// dsl-showcase.yaml uses ${WALLET_ADDRESS}; for standalone runs, mirror
|
|
109
109
|
// DSL_POSITION_WALLET so config loading doesn't fail and trigger fallback.
|
|
110
|
-
// (The default iguana recipe instead uses ${IGUANA_WALLET}; set that env
|
|
111
|
-
// var to point the standalone run at a wallet, or pass your own --config.)
|
|
112
110
|
const walletAddressWasSet = Boolean(process.env.WALLET_ADDRESS?.trim());
|
|
113
111
|
if (!walletAddressWasSet) {
|
|
114
112
|
const fallbackWallet = process.env.DSL_POSITION_WALLET?.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-dsl-standalone-live.js","sourceRoot":"","sources":["../../src/scripts/run-dsl-standalone-live.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-dsl-standalone-live.js","sourceRoot":"","sources":["../../src/scripts/run-dsl-standalone-live.ts"],"names":[],"mappings":"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"}
|
package/dist/senpi/client.d.ts
CHANGED
|
@@ -21,23 +21,11 @@ export declare class SenpiClient {
|
|
|
21
21
|
private readonly injectedTransport;
|
|
22
22
|
private readonly config;
|
|
23
23
|
private mcpClient;
|
|
24
|
-
private connectPromise;
|
|
25
24
|
private readonly clearingHouseStaleness;
|
|
26
25
|
private readonly staleRetryMaxAttempts;
|
|
27
26
|
private readonly staleRetryBaseDelayMs;
|
|
28
27
|
constructor(transportOrConfig: McpTransport | SenpiClientConfig);
|
|
29
28
|
connect(): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Lazily (re)connect the self-managed client on demand (R7 boot resilience).
|
|
32
|
-
*
|
|
33
|
-
* - Injected mode or already-connected → no-op.
|
|
34
|
-
* - Otherwise connect once, de-duping concurrent callers onto a single in-flight
|
|
35
|
-
* promise. On success `mcpClient` is set; on failure the in-flight promise is
|
|
36
|
-
* cleared and the error is rethrown, so the NEXT call retries. This is what lets
|
|
37
|
-
* the runtime start with MCP unreachable (the eager connect no longer has to
|
|
38
|
-
* succeed) and resume the moment MCP returns — no process restart required.
|
|
39
|
-
*/
|
|
40
|
-
private ensureConnected;
|
|
41
29
|
disconnect(): Promise<void>;
|
|
42
30
|
private callTool;
|
|
43
31
|
private callToolInner;
|