@senpi/runtime 3.0.0-dev.runtime-phase-2.20260623210537 → 3.0.1-dev.openclaw-upgrade-mai.20260625140818
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 +10 -9
- package/dist/actions/action-runtime-module.d.ts.map +1 -1
- package/dist/actions/action-runtime-module.js +1 -1
- package/dist/actions/action-runtime-module.js.map +1 -1
- package/dist/actions/decision-engine.d.ts.map +1 -1
- package/dist/actions/decision-engine.js +3 -0
- 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 +54 -14
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/types.d.ts +10 -2
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js +8 -0
- package/dist/actions/types.js.map +1 -1
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +80 -74
- 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 +0 -108
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/constants/dsl/index.d.ts +2 -0
- package/dist/constants/dsl/index.d.ts.map +1 -1
- package/dist/constants/dsl/index.js +2 -0
- package/dist/constants/dsl/index.js.map +1 -1
- package/dist/dsl/config/parse-tiers.d.ts.map +1 -1
- package/dist/dsl/config/parse-tiers.js +6 -2
- package/dist/dsl/config/parse-tiers.js.map +1 -1
- package/dist/dsl/engine-client/config-mapping.d.ts +7 -0
- package/dist/dsl/engine-client/config-mapping.d.ts.map +1 -1
- package/dist/dsl/engine-client/config-mapping.js +16 -2
- package/dist/dsl/engine-client/config-mapping.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts +18 -2
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +302 -213
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/monitor/create-monitor.d.ts +15 -0
- package/dist/dsl/monitor/create-monitor.d.ts.map +1 -1
- package/dist/dsl/monitor/create-monitor.js +46 -9
- 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 +138 -77
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/plugin/index.d.ts +16 -1
- package/dist/dsl/plugin/index.d.ts.map +1 -1
- package/dist/dsl/plugin/index.js +35 -4
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/dsl/plugin/options.d.ts +18 -0
- package/dist/dsl/plugin/options.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +4 -3
- package/dist/runtime/create-scanner-module.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.js +14 -5
- 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 +12 -1
- 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 +7 -8
- 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 +12 -3
- package/dist/runtime/map-strategies.js.map +1 -1
- package/dist/runtime/reconcile-decide.d.ts +73 -0
- package/dist/runtime/reconcile-decide.d.ts.map +1 -0
- package/dist/runtime/reconcile-decide.js +186 -0
- package/dist/runtime/reconcile-decide.js.map +1 -0
- package/dist/runtime/reconcile-run.d.ts +62 -0
- package/dist/runtime/reconcile-run.d.ts.map +1 -0
- package/dist/runtime/reconcile-run.js +173 -0
- package/dist/runtime/reconcile-run.js.map +1 -0
- package/dist/runtime/reconcile-state.d.ts +44 -0
- package/dist/runtime/reconcile-state.d.ts.map +1 -1
- package/dist/runtime/reconcile-state.js +80 -44
- 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 +17 -12
- package/dist/runtime/risk-guard.js.map +1 -1
- package/dist/runtime/runtime-schema.d.ts +2912 -1052
- package/dist/runtime/runtime-schema.d.ts.map +1 -1
- package/dist/runtime/runtime-schema.js +136 -42
- package/dist/runtime/runtime-schema.js.map +1 -1
- package/dist/runtime/runtime.d.ts +26 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +254 -8
- 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 +3 -12
- 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/acceptance-record.d.ts +10 -0
- package/dist/runtime-api/intake/acceptance-record.d.ts.map +1 -1
- package/dist/runtime-api/intake/acceptance-record.js +28 -0
- package/dist/runtime-api/intake/acceptance-record.js.map +1 -1
- package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-mount.js +28 -36
- package/dist/runtime-api/intake/intake-mount.js.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts +20 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.js +57 -6
- package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.d.ts +18 -4
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +24 -3
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/types.d.ts +16 -0
- package/dist/runtime-api/intake/types.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.d.ts +4 -0
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.js +12 -0
- package/dist/runtime-api/routes/signals.schema.js.map +1 -1
- package/dist/scanners/external/scaffold/__main__.py +65 -24
- package/dist/scanners/external/scaffold/ctx.py +78 -0
- package/dist/scanners/external/scaffold/delivery.py +56 -22
- package/dist/scanners/external/scaffold/entrypoint_loader.py +42 -48
- package/dist/scanners/external/scaffold/journal.py +13 -2
- package/dist/scanners/external/scaffold/requirements.txt +11 -0
- package/dist/scanners/external/scaffold/scaffold.py +159 -128
- package/dist/scanners/external/scaffold/senpi_mcp.py +250 -0
- package/dist/scanners/external/scaffold/signal_envelope.py +177 -34
- package/dist/scanners/external/scaffold/state_manager.py +175 -0
- package/dist/scanners/external-scanner-receiver.d.ts +6 -0
- package/dist/scanners/external-scanner-receiver.d.ts.map +1 -1
- package/dist/scanners/external-scanner-receiver.js +14 -1
- 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 +5 -3
- package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
- package/dist/senpi/client.d.ts +37 -4
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +101 -24
- package/dist/senpi/client.js.map +1 -1
- package/dist/state/state-manager.d.ts +17 -0
- package/dist/state/state-manager.d.ts.map +1 -1
- package/dist/state/state-manager.js +50 -4
- package/dist/state/state-manager.js.map +1 -1
- package/dist/strategy/strategy-state.d.ts +9 -1
- package/dist/strategy/strategy-state.d.ts.map +1 -1
- package/dist/strategy/strategy-state.js +62 -9
- package/dist/strategy/strategy-state.js.map +1 -1
- package/dist/tracking/constants.d.ts.map +1 -1
- package/dist/tracking/constants.js +2 -0
- 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 +7 -0
- package/dist/types/scanner.d.ts.map +1 -1
- package/dist/types/strategy.d.ts +3 -1
- package/dist/types/strategy.d.ts.map +1 -1
- package/dist/utils/keyed-mutex.d.ts +37 -0
- package/dist/utils/keyed-mutex.d.ts.map +1 -0
- package/dist/utils/keyed-mutex.js +77 -0
- package/dist/utils/keyed-mutex.js.map +1 -0
- package/examples/strategies/README.md +17 -12
- package/examples/strategies/iguana/README.md +135 -0
- package/examples/strategies/iguana/recipe.yaml +137 -0
- package/examples/strategies/iguana/scanners/scan.py +243 -0
- package/examples/strategies/iguana/scanners/scoring.py +152 -0
- package/examples/strategies/raptor/README.md +156 -0
- package/examples/strategies/raptor/recipe.yaml +154 -0
- package/examples/strategies/raptor/scanners/scan.py +349 -0
- package/examples/strategies/raptor/scanners/scoring.py +452 -0
- package/examples/strategies/spider/README.md +89 -0
- package/examples/strategies/spider/scalp/recipe.yaml +129 -0
- package/examples/strategies/spider/scalp/scanners/scan.py +219 -0
- package/examples/strategies/spider/scalp/scanners/scoring.py +179 -0
- package/examples/strategies/spider/swing/recipe.yaml +137 -0
- package/examples/strategies/spider/swing/scanners/scan.py +334 -0
- package/examples/strategies/spider/swing/scanners/scoring.py +184 -0
- package/examples/strategies/turbine/README.md +166 -0
- package/examples/strategies/turbine/recipe-runners.yaml +123 -0
- package/examples/strategies/turbine/recipe-volume.yaml +129 -0
- package/examples/strategies/turbine/scanners/scan.py +283 -0
- package/examples/strategies/turbine/scanners/scoring.py +190 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/dist/scanners/external/liquidation-watchdog/README.md +0 -107
- package/dist/scanners/external/liquidation-watchdog/liquidation-watchdog.yaml +0 -48
- package/dist/scanners/external/liquidation-watchdog/producer.mjs +0 -336
- package/dist/scanners/external/momentum/README.md +0 -148
- package/dist/scanners/external/momentum/momentum.yaml +0 -116
- package/dist/scanners/external/momentum/producer.mjs +0 -251
- package/dist/scanners/external/shared/ingest.mjs +0 -112
- package/examples/README.md +0 -89
- package/examples/scanners-consumer-quickstart.mjs +0 -134
- package/examples/scanners-emerging-movers-v4.mjs +0 -287
- package/examples/scanners-liquidation-watchdog.mjs +0 -341
- package/examples/scanners-live-mcp.mjs +0 -208
- package/examples/scanners-multi-strategy.mjs +0 -165
- package/examples/scanners-position-tracker-e2e.mjs +0 -225
- package/examples/scanners-scheduled-events.mjs +0 -96
- package/examples/scanners-senpi-provider-client.mjs +0 -182
- package/examples/scanners-single-strategy.mjs +0 -198
- package/examples/strategies/dsl-showcase.yaml +0 -68
- package/examples/strategies/dsl.yaml +0 -51
- package/examples/strategies/fox-minimal-loosened.yaml +0 -240
- package/examples/strategies/fox-minimal.yaml +0 -242
- package/examples/strategies/minimal.yaml +0 -46
- package/examples/strategies/momentum/how-it-works.md +0 -48
- package/examples/strategies/momentum/momentum-guarded.yaml +0 -161
- package/examples/strategies/risk-showcase.yaml +0 -93
- package/examples/strategies/viper.yaml +0 -67
- package/examples/strategies/wolf.yaml +0 -72
- package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +0 -123
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy-state.js","sourceRoot":"","sources":["../../src/strategy/strategy-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"strategy-state.js","sourceRoot":"","sources":["../../src/strategy/strategy-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/tracking/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAC7E,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAI3D,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,eAAe,MAAM,CAAC;AAInC,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/tracking/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,eAAO,MAAM,qBAAqB,0CAA0C,CAAC;AAC7E,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAI3D,eAAO,MAAM,iBAAiB,QAAS,CAAC;AACxC,eAAO,MAAM,eAAe,KAAK,CAAC;AAClC,eAAO,MAAM,eAAe,MAAM,CAAC;AAInC,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAmC9D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,sBAAsB,CAAC;AAC/D,eAAO,MAAM,gCAAgC,2BAA2B,CAAC"}
|
|
@@ -40,6 +40,8 @@ export const BUS_EVENT_MAP = {
|
|
|
40
40
|
"tracking.runtime_deleted": { eventType: "lifecycle.runtime.deleted", category: "lifecycle" },
|
|
41
41
|
// Scanner (emitted by runtime in Phase 2)
|
|
42
42
|
"tracking.scanner_run": { eventType: "scanner.run.complete", category: "scanner" },
|
|
43
|
+
// Reconcile (emitted by runtime boot reconcile loop — T5)
|
|
44
|
+
"tracking.runtime_reconciled": { eventType: "lifecycle.runtime.reconciled", category: "lifecycle" },
|
|
43
45
|
};
|
|
44
46
|
/**
|
|
45
47
|
* Decision events require payload inspection to determine the exact eventType.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracking/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,uCAAuC,CAAC;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAE3D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AASnC;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyC;IACjE,qBAAqB;IACrB,kBAAkB,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,QAAQ,EAAE,UAAU,EAAE;IACnF,uBAAuB,EAAE,EAAE,SAAS,EAAE,+BAA+B,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC7F,kBAAkB,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC1E,kBAAkB,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC1E,mBAAmB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC5E,qBAAqB,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAChF,qBAAqB,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAEhF,MAAM;IACN,aAAa,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC5D,mBAAmB,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxE,mBAAmB,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxE,gBAAgB,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;IAClE,YAAY,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC1D,mBAAmB,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxE,aAAa,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;IAE5D,QAAQ;IACR,uBAAuB,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE;IAEpF,4CAA4C;IAC5C,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAC7F,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAC7F,wDAAwD;IACxD,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAC7F,+DAA+D;IAC/D,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAE7F,0CAA0C;IAC1C,sBAAsB,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/tracking/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,+EAA+E;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG,uCAAuC,CAAC;AAC7E,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAE3D,+EAA+E;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACxC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AASnC;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyC;IACjE,qBAAqB;IACrB,kBAAkB,EAAE,EAAE,SAAS,EAAE,0BAA0B,EAAE,QAAQ,EAAE,UAAU,EAAE;IACnF,uBAAuB,EAAE,EAAE,SAAS,EAAE,+BAA+B,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC7F,kBAAkB,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC1E,kBAAkB,EAAE,EAAE,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC1E,mBAAmB,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC5E,qBAAqB,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAChF,qBAAqB,EAAE,EAAE,SAAS,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE;IAEhF,MAAM;IACN,aAAa,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC5D,mBAAmB,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxE,mBAAmB,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxE,gBAAgB,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE;IAClE,YAAY,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE;IAC1D,mBAAmB,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE;IACxE,aAAa,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE;IAE5D,QAAQ;IACR,uBAAuB,EAAE,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE;IAEpF,4CAA4C;IAC5C,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAC7F,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAC7F,wDAAwD;IACxD,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAC7F,+DAA+D;IAC/D,0BAA0B,EAAE,EAAE,SAAS,EAAE,2BAA2B,EAAE,QAAQ,EAAE,WAAW,EAAE;IAE7F,0CAA0C;IAC1C,sBAAsB,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,SAAS,EAAE;IAElF,0DAA0D;IAC1D,6BAA6B,EAAE,EAAE,SAAS,EAAE,8BAA8B,EAAE,QAAQ,EAAE,WAAW,EAAE;CACpG,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,mBAAmB,CAAC;AAC/D,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAwB,CAAC"}
|
|
@@ -217,7 +217,7 @@ export interface PositionDecreasedEvent {
|
|
|
217
217
|
leverage: number;
|
|
218
218
|
preset?: string;
|
|
219
219
|
}
|
|
220
|
-
export type DslCreatedTriggerReason = "position_opened" | "position_increased" | "position_decreased" | "flipped";
|
|
220
|
+
export type DslCreatedTriggerReason = "position_opened" | "position_increased" | "position_decreased" | "flipped" | "adopted";
|
|
221
221
|
export interface DslCreatedEvent {
|
|
222
222
|
address: string;
|
|
223
223
|
asset: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/dsl/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/dsl/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/scanner.d.ts
CHANGED
|
@@ -34,6 +34,13 @@ export interface Signal {
|
|
|
34
34
|
factors: Record<string, boolean>;
|
|
35
35
|
/** Extra scanner-specific metadata for downstream consumers. */
|
|
36
36
|
meta: Record<string, unknown>;
|
|
37
|
+
/**
|
|
38
|
+
* Canonical per-signal USD margin (not a percent). When a producer/LLM sets it,
|
|
39
|
+
* the open action sizes the position to this value, overriding config sizing.
|
|
40
|
+
*/
|
|
41
|
+
marginUsd?: number;
|
|
42
|
+
/** Per-signal leverage override. When set, overrides config default leverage. */
|
|
43
|
+
leverage?: number;
|
|
37
44
|
}
|
|
38
45
|
/** Canonical persisted execution result produced by the engine. */
|
|
39
46
|
export interface ScanResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAIhC,uEAAuE;AACvE,oBAAY,UAAU;IACpB,EAAE,OAAO;IACT,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,SAAS,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACnC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../src/types/scanner.ts"],"names":[],"mappings":"AAEA,6EAA6E;AAC7E,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC;AAC/B,2CAA2C;AAC3C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAIhC,uEAAuE;AACvE,oBAAY,UAAU;IACpB,EAAE,OAAO;IACT,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,SAAS,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACnC,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACzB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,0DAA0D;IAC1D,MAAM,EAAE,UAAU,CAAC;IACnB,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
|
package/dist/types/strategy.d.ts
CHANGED
|
@@ -84,7 +84,9 @@ export interface StrategyState {
|
|
|
84
84
|
getAvailableSlots(): number;
|
|
85
85
|
getDetails(): StrategyDetails | undefined;
|
|
86
86
|
hasOpenPosition(coin: string, dex?: string): boolean;
|
|
87
|
-
fetchClearinghouseState(
|
|
87
|
+
fetchClearinghouseState(opts?: {
|
|
88
|
+
retryUnreadable?: boolean;
|
|
89
|
+
}): Promise<ClearinghouseState | undefined>;
|
|
88
90
|
fetchPastTrades(opts?: {
|
|
89
91
|
limit?: number;
|
|
90
92
|
offset?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KeyedMutex — per-key async serialization primitive.
|
|
3
|
+
*
|
|
4
|
+
* Concurrent calls with DIFFERENT keys run in parallel.
|
|
5
|
+
* Concurrent calls with the SAME key are queued and run strictly FIFO.
|
|
6
|
+
*
|
|
7
|
+
* NON-REENTRANT by design: calling withKeyLock(k, ...) from *inside* a fn
|
|
8
|
+
* that is already holding lock k will deadlock. Callers must not nest
|
|
9
|
+
* same-key locks. If you need reentrance, restructure the call to pass the
|
|
10
|
+
* already-computed value in or extract the critical section into a helper
|
|
11
|
+
* that runs outside the lock.
|
|
12
|
+
*
|
|
13
|
+
* Memory: once a key has no holder and no waiters its internal entry is
|
|
14
|
+
* deleted — the Map does not grow unboundedly.
|
|
15
|
+
*/
|
|
16
|
+
export declare class KeyedMutex {
|
|
17
|
+
private readonly locks;
|
|
18
|
+
/**
|
|
19
|
+
* Acquire the lock for `key`, execute `fn`, release the lock, and return
|
|
20
|
+
* the resolved value of `fn`. If `fn` throws or rejects, the error is
|
|
21
|
+
* propagated to the caller and the lock is released so the next waiter
|
|
22
|
+
* can proceed.
|
|
23
|
+
*/
|
|
24
|
+
withKeyLock<T>(key: string, fn: () => Promise<T> | T): Promise<T>;
|
|
25
|
+
/**
|
|
26
|
+
* Number of keys that currently have an active holder or at least one
|
|
27
|
+
* waiter. Returns 0 once all locks have fully drained.
|
|
28
|
+
* Exposed for testing; not part of the production surface.
|
|
29
|
+
*/
|
|
30
|
+
size(): number;
|
|
31
|
+
/**
|
|
32
|
+
* Whether an entry exists for `key` (holder or waiters present).
|
|
33
|
+
* Exposed for testing; not part of the production surface.
|
|
34
|
+
*/
|
|
35
|
+
hasKey(key: string): boolean;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=keyed-mutex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyed-mutex.d.ts","sourceRoot":"","sources":["../../src/utils/keyed-mutex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IAEtD;;;;;OAKG;IACG,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAwCvE;;;;OAIG;IACH,IAAI,IAAI,MAAM;IAId;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAG7B"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* KeyedMutex — per-key async serialization primitive.
|
|
3
|
+
*
|
|
4
|
+
* Concurrent calls with DIFFERENT keys run in parallel.
|
|
5
|
+
* Concurrent calls with the SAME key are queued and run strictly FIFO.
|
|
6
|
+
*
|
|
7
|
+
* NON-REENTRANT by design: calling withKeyLock(k, ...) from *inside* a fn
|
|
8
|
+
* that is already holding lock k will deadlock. Callers must not nest
|
|
9
|
+
* same-key locks. If you need reentrance, restructure the call to pass the
|
|
10
|
+
* already-computed value in or extract the critical section into a helper
|
|
11
|
+
* that runs outside the lock.
|
|
12
|
+
*
|
|
13
|
+
* Memory: once a key has no holder and no waiters its internal entry is
|
|
14
|
+
* deleted — the Map does not grow unboundedly.
|
|
15
|
+
*/
|
|
16
|
+
export class KeyedMutex {
|
|
17
|
+
locks = new Map();
|
|
18
|
+
/**
|
|
19
|
+
* Acquire the lock for `key`, execute `fn`, release the lock, and return
|
|
20
|
+
* the resolved value of `fn`. If `fn` throws or rejects, the error is
|
|
21
|
+
* propagated to the caller and the lock is released so the next waiter
|
|
22
|
+
* can proceed.
|
|
23
|
+
*/
|
|
24
|
+
async withKeyLock(key, fn) {
|
|
25
|
+
const existing = this.locks.get(key);
|
|
26
|
+
let releaseCurrent;
|
|
27
|
+
// A promise that the *next* waiter will chain on.
|
|
28
|
+
const current = new Promise((resolve) => {
|
|
29
|
+
releaseCurrent = resolve;
|
|
30
|
+
});
|
|
31
|
+
if (existing == null) {
|
|
32
|
+
// First caller for this key — create the entry.
|
|
33
|
+
this.locks.set(key, { tail: current, refCount: 1 });
|
|
34
|
+
// No predecessor to wait for; run immediately.
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// There is already a holder (or a queue). Chain behind the current tail.
|
|
38
|
+
existing.refCount += 1;
|
|
39
|
+
const predecessor = existing.tail;
|
|
40
|
+
// Update tail so the *next* arrival chains behind us.
|
|
41
|
+
existing.tail = current;
|
|
42
|
+
// Wait for the predecessor to finish.
|
|
43
|
+
await predecessor;
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
return await fn();
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
// Release: let the next waiter proceed.
|
|
50
|
+
releaseCurrent();
|
|
51
|
+
// Decrement refcount; if nobody remains, prune the entry.
|
|
52
|
+
const entry = this.locks.get(key);
|
|
53
|
+
if (entry != null) {
|
|
54
|
+
entry.refCount -= 1;
|
|
55
|
+
if (entry.refCount === 0) {
|
|
56
|
+
this.locks.delete(key);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Number of keys that currently have an active holder or at least one
|
|
63
|
+
* waiter. Returns 0 once all locks have fully drained.
|
|
64
|
+
* Exposed for testing; not part of the production surface.
|
|
65
|
+
*/
|
|
66
|
+
size() {
|
|
67
|
+
return this.locks.size;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Whether an entry exists for `key` (holder or waiters present).
|
|
71
|
+
* Exposed for testing; not part of the production surface.
|
|
72
|
+
*/
|
|
73
|
+
hasKey(key) {
|
|
74
|
+
return this.locks.has(key);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=keyed-mutex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyed-mutex.js","sourceRoot":"","sources":["../../src/utils/keyed-mutex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,MAAM,OAAO,UAAU;IACJ,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEtD;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAI,GAAW,EAAE,EAAwB;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErC,IAAI,cAA2B,CAAC;QAChC,kDAAkD;QAClD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,cAAc,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,gDAAgD;YAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,+CAA+C;QACjD,CAAC;aAAM,CAAC;YACN,yEAAyE;YACzE,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;YACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC;YAClC,sDAAsD;YACtD,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC;YACxB,sCAAsC;YACtC,MAAM,WAAW,CAAC;QACpB,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,wCAAwC;YACxC,cAAc,EAAE,CAAC;YAEjB,0DAA0D;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC;gBACpB,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
# Strategy
|
|
1
|
+
# Strategy Examples
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
|
3
|
+
Four supervised **runtime-v2** strategies ship as worked examples. Each is a
|
|
4
|
+
complete, validated recipe (`version: 2.0.0`) with its own supervised
|
|
5
|
+
`scanners/scan.py` (the runtime spawns a scaffold child and calls
|
|
6
|
+
`scan(inputs, ctx)` on `interval_seconds` — there is no producer/push model).
|
|
7
|
+
Each has its own README with the full thesis, scanner shape, and DSL profile.
|
|
8
|
+
|
|
9
|
+
| Strategy | Thesis | Recipe(s) | README |
|
|
10
|
+
|----------|--------|-----------|--------|
|
|
11
|
+
| **iguana** | XYZ macro index-trend — index-fund-style equity exposure on Hyperliquid, no stock-picking. Two indices, one decision per tick. | `iguana/recipe.yaml` | [iguana/README.md](iguana/README.md) |
|
|
12
|
+
| **raptor** | Whale copy-follow — takes a currently-winning quality trader's highest-conviction position when smart money agrees. | `raptor/recipe.yaml` | [raptor/README.md](raptor/README.md) |
|
|
13
|
+
| **turbine** | Funding-fade rotation — one shared signal, two recipes that differ only in sizing + DSL exit + risk (volume vs runners). | `turbine/recipe-volume.yaml`, `turbine/recipe-runners.yaml` | [turbine/README.md](turbine/README.md) |
|
|
14
|
+
| **spider** | Two genuinely different legs on separate wallets: `swing` (tech/AI multi-day momentum) + `scalp` (macro/majors fast mean-reversion). | `spider/swing/recipe.yaml`, `spider/scalp/recipe.yaml` | [spider/README.md](spider/README.md) |
|
|
10
15
|
|
|
11
16
|
## Quickstart
|
|
12
17
|
|
|
@@ -15,16 +20,16 @@
|
|
|
15
20
|
openclaw plugins install @senpi-ai/runtime
|
|
16
21
|
```
|
|
17
22
|
|
|
18
|
-
2. Copy a
|
|
23
|
+
2. Copy a recipe and fill in its wallet env var:
|
|
19
24
|
```bash
|
|
20
|
-
cp
|
|
21
|
-
# edit:
|
|
25
|
+
cp iguana/recipe.yaml my-recipe.yaml
|
|
26
|
+
# edit: set the strategy's wallet env var (iguana uses ${IGUANA_WALLET})
|
|
22
27
|
```
|
|
23
28
|
|
|
24
29
|
3. Set environment variables:
|
|
25
30
|
```bash
|
|
26
31
|
cp ../.env.example .env
|
|
27
|
-
# edit: SENPI_API_KEY
|
|
32
|
+
# edit: SENPI_API_KEY plus the recipe's wallet env var
|
|
28
33
|
source .env
|
|
29
34
|
```
|
|
30
35
|
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# IGUANA (v2 supervised demo)
|
|
2
|
+
|
|
3
|
+
Iguana is a **single-wallet, single-recipe** XYZ **macro index-trend** strategy:
|
|
4
|
+
the closest thing to an index fund, but 24/7 on Hyperliquid. It trend-follows the
|
|
5
|
+
two broad XYZ indices and trades the stronger move — **two assets, one decision
|
|
6
|
+
per tick**. No stock-picking, no commodities, no pre-IPO. Onboarding tier.
|
|
7
|
+
|
|
8
|
+
Ported from `senpi-skills/iguana` (producer v1.0.1, config v1.0.0) to the runtime
|
|
9
|
+
v2 supervised external-scanner contract. The standalone producer daemon is gone;
|
|
10
|
+
the runtime supervises `scanners/scan.py` and calls `scan()` every
|
|
11
|
+
`interval_seconds` (300s).
|
|
12
|
+
|
|
13
|
+
## The strategy (`scanners/scan.py`)
|
|
14
|
+
|
|
15
|
+
Index-trend pipeline, run once per tick:
|
|
16
|
+
|
|
17
|
+
1. **Whitelist** — the two broad XYZ indices `{xyz:SP500, xyz:XYZ100}`.
|
|
18
|
+
2. **Trend strength** — for each non-held index, fetch 4h candles
|
|
19
|
+
(`market_get_asset_data`, `candle_intervals ["4h"]`) and compute the **4-day
|
|
20
|
+
trend strength**: the % change of the latest 4h close vs the close
|
|
21
|
+
`trendLookbackBars` (**24** = 4 days) bars ago.
|
|
22
|
+
3. **Pick the strongest** — the index with the highest `|strength|` above
|
|
23
|
+
`minTrendPct` (**1.5%**).
|
|
24
|
+
4. **Score** — base **3**, **+2** if `|strength| ≥ strongTrendPct` (**4.0%**),
|
|
25
|
+
**+1** if volume is rising (> **15%** over the last 6 bars). Emit only if
|
|
26
|
+
`score ≥ minScore` (**4**).
|
|
27
|
+
5. **Direction** = sign of the trend (LONG if up, SHORT if down).
|
|
28
|
+
6. **Emit the single strongest** index trend — at most one signal per tick.
|
|
29
|
+
|
|
30
|
+
The pure trend/scoring functions (`trend_strength`, `trend_direction`,
|
|
31
|
+
`pick_strongest_trend`, `volume_trend`, `build_thesis`) were already unit-tested
|
|
32
|
+
in the source repo and are ported **verbatim** into `scoring.py`.
|
|
33
|
+
|
|
34
|
+
Sizing rides on each signal's `data{}` so the `OPEN_POSITION` rule action sizes
|
|
35
|
+
identically to the source:
|
|
36
|
+
|
|
37
|
+
- **marginUsd** = `account_value × marginPct`, `marginPct` **0.20**. Dual-DEX
|
|
38
|
+
equity is collapsed via **`max()` not `sum()`** — one cross-margined wallet,
|
|
39
|
+
two sub-DEX views (summing double-counts the shared free balance → 2x sizing).
|
|
40
|
+
- **leverage** = `min(config leverage 3, MAX_LEVERAGE 5)`.
|
|
41
|
+
|
|
42
|
+
MCP tools used (all **read-only**): `market_get_asset_data` (4h candles),
|
|
43
|
+
`strategy_get_clearinghouse_state`.
|
|
44
|
+
|
|
45
|
+
State (the per-coin **240s recent-signal** dedup map) lives in `ctx.state` (the
|
|
46
|
+
source kept it in `recent-signals.json`).
|
|
47
|
+
|
|
48
|
+
## Why iguana emits at most one signal per tick
|
|
49
|
+
|
|
50
|
+
Turbine/spider emit **all** gated candidates and let the runtime apply the slot
|
|
51
|
+
ceiling. **Iguana is deliberately different: it emits ≤ 1 signal per tick** — the
|
|
52
|
+
single strongest index trend. This is the **strategy**, not an oversight:
|
|
53
|
+
iguana's thesis is literally "two assets, **one decision per tick**," and the
|
|
54
|
+
source producer picked the single strongest trend and pushed exactly one signal.
|
|
55
|
+
`slots: 1` matches the single-position thesis.
|
|
56
|
+
|
|
57
|
+
## Layout
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
iguana/
|
|
61
|
+
├── README.md
|
|
62
|
+
├── recipe.yaml # the single recipe (path: ./scanners, entrypoint: scan.py)
|
|
63
|
+
└── scanners/
|
|
64
|
+
├── scan.py # scan(inputs, ctx) entrypoint (index-trend pipeline)
|
|
65
|
+
└── scoring.py # pure trend/scoring functions (unit-tested, ported verbatim)
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Environment variables
|
|
69
|
+
|
|
70
|
+
| Variable | Required | Purpose |
|
|
71
|
+
|--------------------|----------|---------|
|
|
72
|
+
| `IGUANA_WALLET` | yes | Iguana's strategy wallet |
|
|
73
|
+
| `SENPI_API_KEY` | yes | MCP auth for `ctx.senpi_mcp` (injected into the scaffold child) |
|
|
74
|
+
| `SENPI_MCP_URL` | yes | MCP server URL |
|
|
75
|
+
| `TELEGRAM_CHAT_ID` | optional | Notifications |
|
|
76
|
+
|
|
77
|
+
## Install / run
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
IGUANA_WALLET=0x... \
|
|
81
|
+
SENPI_API_KEY=... SENPI_MCP_URL=https://mcp.prod.senpi.ai/mcp \
|
|
82
|
+
openclaw senpi run examples/strategies/iguana/recipe.yaml
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## Fidelity notes
|
|
86
|
+
|
|
87
|
+
Source behaviors that changed (or did not map 1:1) under the v2 contract.
|
|
88
|
+
Nothing load-bearing was silently dropped.
|
|
89
|
+
|
|
90
|
+
### Dropped: the daemon loop + ingest POST
|
|
91
|
+
|
|
92
|
+
The source ran a `producer_daemon(interval_seconds=300)` that POSTed signals to
|
|
93
|
+
the ingest endpoint via `push_signal`. Under v2 the runtime **supervises** this
|
|
94
|
+
module and calls `scan()` once per `interval_seconds`; `scan()` is **single-pass
|
|
95
|
+
and synchronous** and **returns a `list[dict]`**. The scaffold owns delivery, the
|
|
96
|
+
wire envelope, and `signal_id` dedup. The source's normalized [0,1] wire score
|
|
97
|
+
(`min(score / 6, 1.0)`) is **not** recomputed in `scan()` — the raw additive
|
|
98
|
+
score rides on `data{}` and the runtime owns wire scoring. (The `6.0` divisor is
|
|
99
|
+
preserved in `scoring.py` for parity.)
|
|
100
|
+
|
|
101
|
+
### Moved to `ctx.state`: the 240s recent-signal dedup
|
|
102
|
+
|
|
103
|
+
The per-coin **240s** recent-signal dedup that the source kept in
|
|
104
|
+
`recent-signals.json` now lives in `ctx.state`: each tick reads the latest
|
|
105
|
+
`{coin: ts}` map, **prunes** it by the source window (`4 × TTL`), **skips** coins
|
|
106
|
+
signaled within the TTL, **stamps** the chosen candidate, and appends the updated
|
|
107
|
+
map for the next tick.
|
|
108
|
+
|
|
109
|
+
### Action gate: `decision_mode: llm` → `rule`
|
|
110
|
+
|
|
111
|
+
The source `OPEN_POSITION` action used `decision_mode: llm` with a pass-through
|
|
112
|
+
prompt that copied the signal's `asset`/`direction`/`leverage`/`marginUsd`
|
|
113
|
+
verbatim and pinned confidence — a rule wearing an LLM costume. This recipe uses
|
|
114
|
+
`decision_mode: rule` directly.
|
|
115
|
+
|
|
116
|
+
### DSL preset maps cleanly
|
|
117
|
+
|
|
118
|
+
The source DSL preset maps 1:1 to the v2 schema (no dropped tiers): hard_timeout
|
|
119
|
+
2880m (48h), weak_peak 480m@3, dead_weight **disabled**, phase1 max_loss 12 /
|
|
120
|
+
retrace 8, and a 5-tier phase2 (5/0 · 10/40 · 18/60 · 30/75 · 50/85), with the T0
|
|
121
|
+
`lock_hw_pct 0` in the allowed `[0, 100]` range.
|
|
122
|
+
`dead_weight_cut` is disabled (`enabled: false`) with an inert
|
|
123
|
+
`interval_in_minutes` placeholder so the parser is satisfied.
|
|
124
|
+
|
|
125
|
+
### Guard rails: minutes/hours → seconds
|
|
126
|
+
|
|
127
|
+
The v2 schema uses integer seconds everywhere. `cooldown_minutes 90` →
|
|
128
|
+
`cooldown_seconds 5400`; `per_asset_cooldown_minutes 360` →
|
|
129
|
+
`per_asset_cooldown_seconds 21600` (clears the schema's 300s floor);
|
|
130
|
+
`data_retention_hours 96` → `data_retention_seconds 345600`.
|
|
131
|
+
|
|
132
|
+
### Only read-only MCP calls
|
|
133
|
+
|
|
134
|
+
`scan.py` never opens, closes, or cancels — it produces signals. A test asserts
|
|
135
|
+
no `create_position` / `close_position` / `cancel_order` tool is ever called.
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# ── IGUANA (v2 supervised) ───────────────────────────────────────────
|
|
2
|
+
# XYZ macro index trend — the simplest possible XYZ equity exposure.
|
|
3
|
+
# SINGLE wallet, SINGLE recipe, ONE supervised scanner.
|
|
4
|
+
#
|
|
5
|
+
# Ported from senpi-skills/iguana (producer v1.0.1, config v1.0.0) to the v2
|
|
6
|
+
# supervised external-scanner contract. The producer daemon is gone: the runtime
|
|
7
|
+
# supervises ./scanners/scan.py and calls scan(inputs, ctx) every
|
|
8
|
+
# `interval_seconds` (300s). All gates + scoring preserved exactly; the pure
|
|
9
|
+
# trend/scoring functions are ported VERBATIM (they were already unit-tested in
|
|
10
|
+
# the source). See scan.py + scoring.py.
|
|
11
|
+
name: iguana-tracker
|
|
12
|
+
version: 2.0.0
|
|
13
|
+
group: iguana # agent-facing handle (harmless for single-wallet)
|
|
14
|
+
description: >
|
|
15
|
+
IGUANA — XYZ Macro Index Trend. "I want stock-market exposure on Hyperliquid
|
|
16
|
+
without picking stocks." Trend-follows the two broad XYZ indices xyz:SP500 +
|
|
17
|
+
xyz:XYZ100 — two assets, ONE decision per tick. Each tick computes a 4-day
|
|
18
|
+
trend strength (% change of the latest 4h close vs 24 bars ago) per index,
|
|
19
|
+
picks the stronger move past minTrendPct (1.5%), scores it (base 3, +2 if the
|
|
20
|
+
move is strong >= 4%, +1 if volume is rising), and emits the SINGLE strongest
|
|
21
|
+
index trend in its direction if score >= minScore (4). Conservative sizing
|
|
22
|
+
(20% margin, 3x). DSL: 48h hard_timeout (XYZ weekend pricing-gap risk),
|
|
23
|
+
weak_peak 8h@3, 5-tier phase2 ladder. ONBOARDING TIER.
|
|
24
|
+
|
|
25
|
+
strategy:
|
|
26
|
+
wallet: "${IGUANA_WALLET}"
|
|
27
|
+
slots: 1 # source slots 1 (iguana emits <=1 signal/tick — two assets, one decision)
|
|
28
|
+
margin_pct: 20 # source margin_pct 20 (% of account per slot; scan.py carries the exact marginUsd)
|
|
29
|
+
default_leverage: 3 # source leverage 3 (capped at MAX_LEVERAGE 5 in scan.py)
|
|
30
|
+
trading_risk: conservative # source trading_risk conservative
|
|
31
|
+
enabled: true
|
|
32
|
+
|
|
33
|
+
scanners:
|
|
34
|
+
- name: position_tracker # built-in: feeds DSL exit engine
|
|
35
|
+
type: position_tracker
|
|
36
|
+
interval_seconds: 10 # source position_tracker interval 10s
|
|
37
|
+
|
|
38
|
+
- name: iguana_signals # supervised external scanner
|
|
39
|
+
type: external_scanner
|
|
40
|
+
path: ./scanners
|
|
41
|
+
entrypoint: scan.py
|
|
42
|
+
interval_seconds: 300 # source producer_daemon interval_seconds 300 (5min)
|
|
43
|
+
timeout_seconds: 180 # source tick_timeout 180
|
|
44
|
+
default_signal_validity_seconds: 600 # 2x tick; pass-through gate re-scores next tick
|
|
45
|
+
state_history_max_count: 200 # holds the per-coin 240s recent-signal dedup map records
|
|
46
|
+
inputs:
|
|
47
|
+
# ── universe + trend gates (config v1.0.0) ──
|
|
48
|
+
whitelist: ["xyz:SP500", "xyz:XYZ100"] # the two broad XYZ indices
|
|
49
|
+
trendLookbackBars: 24 # 24 × 4h bars = 4 days
|
|
50
|
+
minTrendPct: 1.5 # minimum |4-day move| to call it a trend
|
|
51
|
+
strongTrendPct: 4.0 # |move| >= this scores the strong-trend bonus (+2)
|
|
52
|
+
minScore: 4 # additive-score floor to emit
|
|
53
|
+
# ── sizing (config v1.0.0) ──
|
|
54
|
+
marginPct: 0.20 # margin = account_value * 0.20
|
|
55
|
+
leverage: 3 # leverage (capped at 5 in scan.py)
|
|
56
|
+
signal_data_schema:
|
|
57
|
+
score: { type: number }
|
|
58
|
+
direction: { type: string }
|
|
59
|
+
reasons: { type: array, required: false }
|
|
60
|
+
trendPct: { type: number, required: false }
|
|
61
|
+
volumeTrendPct: { type: number, required: false }
|
|
62
|
+
heldAssets: { type: array, required: false }
|
|
63
|
+
|
|
64
|
+
actions:
|
|
65
|
+
- name: position_tracker_action # rule-based lifecycle → DSL
|
|
66
|
+
action_type: POSITION_TRACKER
|
|
67
|
+
decision_mode: rule
|
|
68
|
+
scanners: [position_tracker]
|
|
69
|
+
|
|
70
|
+
- name: iguana_entry # OPEN_POSITION, rule mode (source LLM gate was pure pass-through)
|
|
71
|
+
action_type: OPEN_POSITION
|
|
72
|
+
decision_mode: rule
|
|
73
|
+
scanners: [iguana_signals]
|
|
74
|
+
params:
|
|
75
|
+
order_type: FEE_OPTIMIZED_LIMIT
|
|
76
|
+
fee_optimized_limit_options:
|
|
77
|
+
ensure_execution_as_taker: true # source entry ensureExecutionAsTaker true — ride the trend NOW
|
|
78
|
+
execution_timeout_seconds: 30
|
|
79
|
+
context:
|
|
80
|
+
- type: signal
|
|
81
|
+
scanner: iguana_signals
|
|
82
|
+
|
|
83
|
+
# ── EXIT (DSL — balanced, XYZ-tuned; preset preserved from source v1.0.0) ──
|
|
84
|
+
#
|
|
85
|
+
# Index trends extend over days/weeks; the 48h hard_timeout accommodates the
|
|
86
|
+
# weekend pricing-gap risk on XYZ. weak_peak_cut bails from flat-but-tired
|
|
87
|
+
# positions before the weekend gap. dead_weight_cut is disabled (source).
|
|
88
|
+
exit:
|
|
89
|
+
engine: dsl
|
|
90
|
+
interval_seconds: 60 # source exit interval_seconds 60
|
|
91
|
+
order_type: FEE_OPTIMIZED_LIMIT
|
|
92
|
+
fee_optimized_limit_options:
|
|
93
|
+
ensure_execution_as_taker: true
|
|
94
|
+
execution_timeout_seconds: 30
|
|
95
|
+
dsl_preset:
|
|
96
|
+
hard_timeout:
|
|
97
|
+
enabled: true
|
|
98
|
+
interval_in_minutes: 2880 # source hard_timeout 2880min (48h — XYZ weekend pricing-gap risk)
|
|
99
|
+
weak_peak_cut:
|
|
100
|
+
enabled: true
|
|
101
|
+
interval_in_minutes: 480 # source weak_peak 480min (8h)
|
|
102
|
+
min_value: 3.0 # source weak_peak min 3.0%
|
|
103
|
+
dead_weight_cut:
|
|
104
|
+
enabled: false # source disabled
|
|
105
|
+
interval_in_minutes: 60 # inert (enabled:false) — placeholder for the parser
|
|
106
|
+
phase1:
|
|
107
|
+
enabled: true
|
|
108
|
+
max_loss_pct: 12.0 # source phase1 max_loss 12
|
|
109
|
+
retrace_threshold: 8 # source phase1 retrace 8
|
|
110
|
+
consecutive_breaches_required: 1
|
|
111
|
+
phase2:
|
|
112
|
+
enabled: true
|
|
113
|
+
tiers: # source T0..T4 — carried verbatim
|
|
114
|
+
- { trigger_pct: 5, lock_hw_pct: 0 }
|
|
115
|
+
- { trigger_pct: 10, lock_hw_pct: 40 }
|
|
116
|
+
- { trigger_pct: 18, lock_hw_pct: 60 }
|
|
117
|
+
- { trigger_pct: 30, lock_hw_pct: 75 }
|
|
118
|
+
- { trigger_pct: 50, lock_hw_pct: 85 }
|
|
119
|
+
|
|
120
|
+
# ── RISK guard rails (from source runtime.yaml; minutes/hours → seconds) ──
|
|
121
|
+
risk:
|
|
122
|
+
data_retention_seconds: 345600 # 96h (was data_retention_hours 96)
|
|
123
|
+
guard_rails:
|
|
124
|
+
daily_loss_limit_pct: 12
|
|
125
|
+
max_entries_per_day: 2
|
|
126
|
+
bypass_max_entries_per_day_on_profit: false
|
|
127
|
+
max_consecutive_losses: 3
|
|
128
|
+
cooldown_seconds: 5400 # was cooldown_minutes 90
|
|
129
|
+
drawdown_halt_pct: 20
|
|
130
|
+
drawdown_reset_on_day_rollover: false
|
|
131
|
+
per_asset_cooldown_seconds: 21600 # was per_asset_cooldown_minutes 360 (6h)
|
|
132
|
+
|
|
133
|
+
notifications:
|
|
134
|
+
telegram_chat_id: "${TELEGRAM_CHAT_ID}"
|
|
135
|
+
dsl_lifecycle: true
|
|
136
|
+
dsl_notify_sl_updates: false
|
|
137
|
+
action_lifecycle: true
|