@reefclaw/connect 0.1.12 → 0.1.14
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/assets/plugin/audit/mode-transition-audit.d.ts +11 -0
- package/assets/plugin/audit/mode-transition-audit.js +29 -0
- package/assets/plugin/balance-utils.d.ts +36 -0
- package/assets/plugin/balance-utils.js +98 -0
- package/assets/plugin/ccxt/binance-ban-gate.d.ts +47 -0
- package/assets/plugin/ccxt/binance-ban-gate.js +420 -0
- package/assets/plugin/ccxt/binance-private.d.ts +346 -0
- package/assets/plugin/ccxt/binance-private.js +1525 -0
- package/assets/plugin/ccxt/binance-public.d.ts +34 -0
- package/assets/plugin/ccxt/binance-public.js +180 -0
- package/assets/plugin/ccxt/intel-public.d.ts +25 -0
- package/assets/plugin/ccxt/intel-public.js +80 -0
- package/assets/plugin/ccxt/public-market-data-api.d.ts +26 -0
- package/assets/plugin/ccxt/public-market-data-api.js +23 -0
- package/assets/plugin/config/agent-config-client.d.ts +77 -0
- package/assets/plugin/config/agent-config-client.js +188 -0
- package/assets/plugin/config/agent-config-poller.d.ts +32 -0
- package/assets/plugin/config/agent-config-poller.js +101 -0
- package/assets/plugin/config/brackets-config.d.ts +22 -0
- package/assets/plugin/config/brackets-config.js +58 -0
- package/assets/plugin/config/entitlement-gate.d.ts +51 -0
- package/assets/plugin/config/entitlement-gate.js +137 -0
- package/assets/plugin/config/gate-store.d.ts +18 -0
- package/assets/plugin/config/gate-store.js +61 -0
- package/assets/plugin/config/plugin-config-io.d.ts +222 -0
- package/assets/plugin/config/plugin-config-io.js +126 -0
- package/assets/plugin/config/position-review-config.d.ts +35 -0
- package/assets/plugin/config/position-review-config.js +105 -0
- package/assets/plugin/config/tool-gate.d.ts +53 -0
- package/assets/plugin/config/tool-gate.js +128 -0
- package/assets/plugin/config/user-data-stream-config.d.ts +89 -0
- package/assets/plugin/config/user-data-stream-config.js +239 -0
- package/assets/plugin/connector-supervisor.d.ts +36 -0
- package/assets/plugin/connector-supervisor.js +149 -0
- package/assets/plugin/exchange-adapter.d.ts +65 -0
- package/assets/plugin/exchange-adapter.js +4 -0
- package/assets/plugin/index.d.ts +30 -0
- package/assets/plugin/index.js +2763 -0
- package/assets/plugin/ingest/pending-entry-metadata.d.ts +74 -0
- package/assets/plugin/ingest/pending-entry-metadata.js +236 -0
- package/assets/plugin/ingest/position-auto-capture.d.ts +171 -0
- package/assets/plugin/ingest/position-auto-capture.js +709 -0
- package/assets/plugin/ingest/position-decisions-client.d.ts +327 -0
- package/assets/plugin/ingest/position-decisions-client.js +306 -0
- package/assets/plugin/ingest/readiness-reporter.d.ts +42 -0
- package/assets/plugin/ingest/readiness-reporter.js +163 -0
- package/assets/plugin/ingest/reconcile-db-vs-exchange.d.ts +51 -0
- package/assets/plugin/ingest/reconcile-db-vs-exchange.js +170 -0
- package/assets/plugin/ingest/reconciler-cleanup.d.ts +37 -0
- package/assets/plugin/ingest/reconciler-cleanup.js +147 -0
- package/assets/plugin/ingest/rest-gap-filler.d.ts +191 -0
- package/assets/plugin/ingest/rest-gap-filler.js +565 -0
- package/assets/plugin/ingest/touched-symbols-store.d.ts +25 -0
- package/assets/plugin/ingest/touched-symbols-store.js +96 -0
- package/assets/plugin/ingest/trade-store-client.d.ts +40 -0
- package/assets/plugin/ingest/trade-store-client.js +125 -0
- package/assets/plugin/ingest/ws-ingest.d.ts +43 -0
- package/assets/plugin/ingest/ws-ingest.js +126 -0
- package/assets/plugin/learning/setup-family.d.ts +21 -0
- package/assets/plugin/learning/setup-family.js +103 -0
- package/assets/plugin/lifecycle/install-signal-handlers.d.ts +33 -0
- package/assets/plugin/lifecycle/install-signal-handlers.js +112 -0
- package/assets/plugin/lifecycle/shutdown-coordinator.d.ts +43 -0
- package/assets/plugin/lifecycle/shutdown-coordinator.js +131 -0
- package/assets/plugin/lifecycle/trading-operation-lock.d.ts +17 -0
- package/assets/plugin/lifecycle/trading-operation-lock.js +14 -0
- package/assets/plugin/live/bracket-id.d.ts +26 -0
- package/assets/plugin/live/bracket-id.js +112 -0
- package/assets/plugin/live/bracket-ledger.d.ts +54 -0
- package/assets/plugin/live/bracket-ledger.js +267 -0
- package/assets/plugin/live/bracket-manager.d.ts +82 -0
- package/assets/plugin/live/bracket-manager.js +478 -0
- package/assets/plugin/live/bracket-params.d.ts +22 -0
- package/assets/plugin/live/bracket-params.js +124 -0
- package/assets/plugin/live/bracket-reconciler.d.ts +95 -0
- package/assets/plugin/live/bracket-reconciler.js +573 -0
- package/assets/plugin/live/bracket-types.d.ts +102 -0
- package/assets/plugin/live/bracket-types.js +8 -0
- package/assets/plugin/live/deposit-tracker.d.ts +62 -0
- package/assets/plugin/live/deposit-tracker.js +97 -0
- package/assets/plugin/live/emergency-controls.d.ts +32 -0
- package/assets/plugin/live/emergency-controls.js +226 -0
- package/assets/plugin/live/exchange-errors.d.ts +12 -0
- package/assets/plugin/live/exchange-errors.js +130 -0
- package/assets/plugin/live/exchange-info-cache.d.ts +37 -0
- package/assets/plugin/live/exchange-info-cache.js +134 -0
- package/assets/plugin/live/fact-subscriber.d.ts +78 -0
- package/assets/plugin/live/fact-subscriber.js +182 -0
- package/assets/plugin/live/fill-price.d.ts +13 -0
- package/assets/plugin/live/fill-price.js +37 -0
- package/assets/plugin/live/intent-journal.d.ts +42 -0
- package/assets/plugin/live/intent-journal.js +122 -0
- package/assets/plugin/live/listen-key-manager.d.ts +70 -0
- package/assets/plugin/live/listen-key-manager.js +169 -0
- package/assets/plugin/live/live-adapter.d.ts +319 -0
- package/assets/plugin/live/live-adapter.js +1906 -0
- package/assets/plugin/live/live-balance-enricher.d.ts +32 -0
- package/assets/plugin/live/live-balance-enricher.js +104 -0
- package/assets/plugin/live/live-bracket-api.d.ts +13 -0
- package/assets/plugin/live/live-bracket-api.js +20 -0
- package/assets/plugin/live/live-state-store.d.ts +194 -0
- package/assets/plugin/live/live-state-store.js +450 -0
- package/assets/plugin/live/local-signal-service.d.ts +57 -0
- package/assets/plugin/live/local-signal-service.js +151 -0
- package/assets/plugin/live/local-strategy-evaluator.d.ts +62 -0
- package/assets/plugin/live/local-strategy-evaluator.js +131 -0
- package/assets/plugin/live/microstructure-assembler.d.ts +54 -0
- package/assets/plugin/live/microstructure-assembler.js +148 -0
- package/assets/plugin/live/order-poller.d.ts +29 -0
- package/assets/plugin/live/order-poller.js +125 -0
- package/assets/plugin/live/position-state-store.d.ts +87 -0
- package/assets/plugin/live/position-state-store.js +237 -0
- package/assets/plugin/live/proposal-decision-listener.d.ts +70 -0
- package/assets/plugin/live/proposal-decision-listener.js +292 -0
- package/assets/plugin/live/proposal-manager.d.ts +76 -0
- package/assets/plugin/live/proposal-manager.js +140 -0
- package/assets/plugin/live/rate-limiter.d.ts +47 -0
- package/assets/plugin/live/rate-limiter.js +159 -0
- package/assets/plugin/live/reconciler.d.ts +39 -0
- package/assets/plugin/live/reconciler.js +175 -0
- package/assets/plugin/live/setup-buckets.d.ts +7 -0
- package/assets/plugin/live/setup-buckets.js +33 -0
- package/assets/plugin/live/slippage-tracker.d.ts +45 -0
- package/assets/plugin/live/slippage-tracker.js +78 -0
- package/assets/plugin/live/stop-watcher.d.ts +67 -0
- package/assets/plugin/live/stop-watcher.js +218 -0
- package/assets/plugin/live/user-data-active-probe.d.ts +54 -0
- package/assets/plugin/live/user-data-active-probe.js +180 -0
- package/assets/plugin/live/user-data-stream-controller.d.ts +200 -0
- package/assets/plugin/live/user-data-stream-controller.js +579 -0
- package/assets/plugin/live/user-data-stream-ws.d.ts +22 -0
- package/assets/plugin/live/user-data-stream-ws.js +63 -0
- package/assets/plugin/live/user-data-stream.d.ts +243 -0
- package/assets/plugin/live/user-data-stream.js +704 -0
- package/assets/plugin/logger.d.ts +2 -0
- package/assets/plugin/logger.js +2 -0
- package/assets/plugin/mfe.d.ts +21 -0
- package/assets/plugin/mfe.js +68 -0
- package/assets/plugin/onboarding/mode-ladder.d.ts +1 -0
- package/assets/plugin/onboarding/mode-ladder.js +3 -0
- package/assets/plugin/onboarding/runtime.d.ts +102 -0
- package/assets/plugin/onboarding/runtime.js +215 -0
- package/assets/plugin/openclaw.plugin.json +92 -0
- package/assets/plugin/paper-adapter.d.ts +24 -0
- package/assets/plugin/paper-adapter.js +91 -0
- package/assets/plugin/persistence/state-manager.d.ts +66 -0
- package/assets/plugin/persistence/state-manager.js +222 -0
- package/assets/plugin/pinned-plan.d.ts +9 -0
- package/assets/plugin/pinned-plan.js +23 -0
- package/assets/plugin/portfolio/reentry-tracker.d.ts +36 -0
- package/assets/plugin/portfolio/reentry-tracker.js +127 -0
- package/assets/plugin/portfolio/wave9-admission.d.ts +67 -0
- package/assets/plugin/portfolio/wave9-admission.js +262 -0
- package/assets/plugin/portfolio/wave9-policy.d.ts +36 -0
- package/assets/plugin/portfolio/wave9-policy.js +183 -0
- package/assets/plugin/risk/pre-trade-check.d.ts +38 -0
- package/assets/plugin/risk/pre-trade-check.js +345 -0
- package/assets/plugin/risk/pre-trade-types.d.ts +60 -0
- package/assets/plugin/risk/pre-trade-types.js +3 -0
- package/assets/plugin/shadow/shadow-tracker.d.ts +36 -0
- package/assets/plugin/shadow/shadow-tracker.js +151 -0
- package/assets/plugin/shadow/types.d.ts +42 -0
- package/assets/plugin/shadow/types.js +20 -0
- package/assets/plugin/shared/indicators-extended.d.ts +52 -0
- package/assets/plugin/shared/indicators-extended.js +291 -0
- package/assets/plugin/shared/indicators.d.ts +15 -0
- package/assets/plugin/shared/indicators.js +114 -0
- package/assets/plugin/signals/conditions/registry.d.ts +16 -0
- package/assets/plugin/signals/conditions/registry.js +1333 -0
- package/assets/plugin/signals/conditions/types.d.ts +1 -0
- package/assets/plugin/signals/conditions/types.js +4 -0
- package/assets/plugin/signals/direction-rules.d.ts +3 -0
- package/assets/plugin/signals/direction-rules.js +24 -0
- package/assets/plugin/signals/entry-rules.d.ts +6 -0
- package/assets/plugin/signals/entry-rules.js +33 -0
- package/assets/plugin/signals/serialize-context.d.ts +4 -0
- package/assets/plugin/signals/serialize-context.js +39 -0
- package/assets/plugin/signals/stop-rules.d.ts +3 -0
- package/assets/plugin/signals/stop-rules.js +48 -0
- package/assets/plugin/signals/strategy-adapter.d.ts +47 -0
- package/assets/plugin/signals/strategy-adapter.js +209 -0
- package/assets/plugin/signals/types.d.ts +1 -0
- package/assets/plugin/signals/types.js +8 -0
- package/assets/plugin/simulator/exchange-simulator.d.ts +105 -0
- package/assets/plugin/simulator/exchange-simulator.js +759 -0
- package/assets/plugin/simulator/fill-engine.d.ts +53 -0
- package/assets/plugin/simulator/fill-engine.js +280 -0
- package/assets/plugin/simulator/paper-market-feed.d.ts +26 -0
- package/assets/plugin/simulator/paper-market-feed.js +104 -0
- package/assets/plugin/simulator/realistic-fills.d.ts +59 -0
- package/assets/plugin/simulator/realistic-fills.js +175 -0
- package/assets/plugin/simulator/types.d.ts +228 -0
- package/assets/plugin/simulator/types.js +43 -0
- package/assets/plugin/strategy/builtin-strategies.d.ts +2 -0
- package/assets/plugin/strategy/builtin-strategies.js +113 -0
- package/assets/plugin/strategy/condition-registry.d.ts +3 -0
- package/assets/plugin/strategy/condition-registry.js +153 -0
- package/assets/plugin/strategy/evaluator.d.ts +70 -0
- package/assets/plugin/strategy/evaluator.js +98 -0
- package/assets/plugin/tools/assessment-validation.d.ts +141 -0
- package/assets/plugin/tools/assessment-validation.js +473 -0
- package/assets/plugin/tools/attach-brackets.d.ts +39 -0
- package/assets/plugin/tools/attach-brackets.js +564 -0
- package/assets/plugin/tools/audit-bracket-protection.d.ts +49 -0
- package/assets/plugin/tools/audit-bracket-protection.js +683 -0
- package/assets/plugin/tools/bracket-control.d.ts +12 -0
- package/assets/plugin/tools/bracket-control.js +35 -0
- package/assets/plugin/tools/cancel-all-orders.d.ts +9 -0
- package/assets/plugin/tools/cancel-all-orders.js +8 -0
- package/assets/plugin/tools/cancel-order.d.ts +14 -0
- package/assets/plugin/tools/cancel-order.js +60 -0
- package/assets/plugin/tools/check-position-health.d.ts +46 -0
- package/assets/plugin/tools/check-position-health.js +194 -0
- package/assets/plugin/tools/clear-exchange-credentials.d.ts +24 -0
- package/assets/plugin/tools/clear-exchange-credentials.js +70 -0
- package/assets/plugin/tools/close-position.d.ts +45 -0
- package/assets/plugin/tools/close-position.js +722 -0
- package/assets/plugin/tools/create-order.d.ts +89 -0
- package/assets/plugin/tools/create-order.js +1555 -0
- package/assets/plugin/tools/exit-gate.d.ts +58 -0
- package/assets/plugin/tools/exit-gate.js +162 -0
- package/assets/plugin/tools/fetch-balance.d.ts +5 -0
- package/assets/plugin/tools/fetch-balance.js +4 -0
- package/assets/plugin/tools/fetch-ohlcv.d.ts +11 -0
- package/assets/plugin/tools/fetch-ohlcv.js +8 -0
- package/assets/plugin/tools/fetch-open-orders.d.ts +7 -0
- package/assets/plugin/tools/fetch-open-orders.js +4 -0
- package/assets/plugin/tools/fetch-positions.d.ts +7 -0
- package/assets/plugin/tools/fetch-positions.js +4 -0
- package/assets/plugin/tools/fetch-ticker.d.ts +11 -0
- package/assets/plugin/tools/fetch-ticker.js +5 -0
- package/assets/plugin/tools/get-agent-profile.d.ts +4 -0
- package/assets/plugin/tools/get-agent-profile.js +6 -0
- package/assets/plugin/tools/get-analytics.d.ts +6 -0
- package/assets/plugin/tools/get-analytics.js +7 -0
- package/assets/plugin/tools/get-backtest.d.ts +12 -0
- package/assets/plugin/tools/get-backtest.js +91 -0
- package/assets/plugin/tools/get-basis.d.ts +7 -0
- package/assets/plugin/tools/get-basis.js +7 -0
- package/assets/plugin/tools/get-bracket-config.d.ts +11 -0
- package/assets/plugin/tools/get-bracket-config.js +24 -0
- package/assets/plugin/tools/get-cascade-risk.d.ts +7 -0
- package/assets/plugin/tools/get-cascade-risk.js +8 -0
- package/assets/plugin/tools/get-crypto-metrics.d.ts +18 -0
- package/assets/plugin/tools/get-crypto-metrics.js +62 -0
- package/assets/plugin/tools/get-cvd.d.ts +6 -0
- package/assets/plugin/tools/get-cvd.js +6 -0
- package/assets/plugin/tools/get-divergences.d.ts +6 -0
- package/assets/plugin/tools/get-divergences.js +6 -0
- package/assets/plugin/tools/get-funding-context.d.ts +6 -0
- package/assets/plugin/tools/get-funding-context.js +16 -0
- package/assets/plugin/tools/get-liquidation-levels.d.ts +7 -0
- package/assets/plugin/tools/get-liquidation-levels.js +7 -0
- package/assets/plugin/tools/get-liquidation-pulse.d.ts +9 -0
- package/assets/plugin/tools/get-liquidation-pulse.js +22 -0
- package/assets/plugin/tools/get-market-breadth.d.ts +6 -0
- package/assets/plugin/tools/get-market-breadth.js +8 -0
- package/assets/plugin/tools/get-market-intel.d.ts +19 -0
- package/assets/plugin/tools/get-market-intel.js +116 -0
- package/assets/plugin/tools/get-market-structure.d.ts +47 -0
- package/assets/plugin/tools/get-market-structure.js +198 -0
- package/assets/plugin/tools/get-my-mined-patterns.d.ts +20 -0
- package/assets/plugin/tools/get-my-mined-patterns.js +61 -0
- package/assets/plugin/tools/get-my-proposed-learnings.d.ts +20 -0
- package/assets/plugin/tools/get-my-proposed-learnings.js +55 -0
- package/assets/plugin/tools/get-my-recent-reviews.d.ts +22 -0
- package/assets/plugin/tools/get-my-recent-reviews.js +66 -0
- package/assets/plugin/tools/get-orderbook.d.ts +21 -0
- package/assets/plugin/tools/get-orderbook.js +32 -0
- package/assets/plugin/tools/get-pattern-scan.d.ts +7 -0
- package/assets/plugin/tools/get-pattern-scan.js +8 -0
- package/assets/plugin/tools/get-regime.d.ts +6 -0
- package/assets/plugin/tools/get-regime.js +7 -0
- package/assets/plugin/tools/get-relevant-learnings.d.ts +21 -0
- package/assets/plugin/tools/get-relevant-learnings.js +65 -0
- package/assets/plugin/tools/get-resting-liquidity.d.ts +6 -0
- package/assets/plugin/tools/get-resting-liquidity.js +11 -0
- package/assets/plugin/tools/get-risk-scenario.d.ts +29 -0
- package/assets/plugin/tools/get-risk-scenario.js +47 -0
- package/assets/plugin/tools/get-risk-summary.d.ts +51 -0
- package/assets/plugin/tools/get-risk-summary.js +118 -0
- package/assets/plugin/tools/get-sentiment.d.ts +4 -0
- package/assets/plugin/tools/get-sentiment.js +6 -0
- package/assets/plugin/tools/get-session-review.d.ts +7 -0
- package/assets/plugin/tools/get-session-review.js +8 -0
- package/assets/plugin/tools/get-setup-detail.d.ts +7 -0
- package/assets/plugin/tools/get-setup-detail.js +322 -0
- package/assets/plugin/tools/get-signals.d.ts +15 -0
- package/assets/plugin/tools/get-signals.js +54 -0
- package/assets/plugin/tools/get-sizing.d.ts +6 -0
- package/assets/plugin/tools/get-sizing.js +6 -0
- package/assets/plugin/tools/get-trade-feedback.d.ts +7 -0
- package/assets/plugin/tools/get-trade-feedback.js +8 -0
- package/assets/plugin/tools/get-trade-flow.d.ts +7 -0
- package/assets/plugin/tools/get-trade-flow.js +7 -0
- package/assets/plugin/tools/get-volume-analysis.d.ts +21 -0
- package/assets/plugin/tools/get-volume-analysis.js +74 -0
- package/assets/plugin/tools/get-volume-profile.d.ts +7 -0
- package/assets/plugin/tools/get-volume-profile.js +7 -0
- package/assets/plugin/tools/get-wave9-status.d.ts +127 -0
- package/assets/plugin/tools/get-wave9-status.js +796 -0
- package/assets/plugin/tools/helpers.d.ts +26 -0
- package/assets/plugin/tools/helpers.js +39 -0
- package/assets/plugin/tools/intel-api.d.ts +34 -0
- package/assets/plugin/tools/intel-api.js +119 -0
- package/assets/plugin/tools/intel-cache.d.ts +25 -0
- package/assets/plugin/tools/intel-cache.js +148 -0
- package/assets/plugin/tools/list-strategies.d.ts +17 -0
- package/assets/plugin/tools/list-strategies.js +23 -0
- package/assets/plugin/tools/modify-stop.d.ts +21 -0
- package/assets/plugin/tools/modify-stop.js +120 -0
- package/assets/plugin/tools/modify-target.d.ts +21 -0
- package/assets/plugin/tools/modify-target.js +110 -0
- package/assets/plugin/tools/propose-learning.d.ts +22 -0
- package/assets/plugin/tools/propose-learning.js +65 -0
- package/assets/plugin/tools/query-review-outcomes.d.ts +30 -0
- package/assets/plugin/tools/query-review-outcomes.js +64 -0
- package/assets/plugin/tools/query-trades.d.ts +21 -0
- package/assets/plugin/tools/query-trades.js +37 -0
- package/assets/plugin/tools/record-position-reviews.d.ts +38 -0
- package/assets/plugin/tools/record-position-reviews.js +147 -0
- package/assets/plugin/tools/save-strategy.d.ts +16 -0
- package/assets/plugin/tools/save-strategy.js +46 -0
- package/assets/plugin/tools/scan-pairs.d.ts +22 -0
- package/assets/plugin/tools/scan-pairs.js +234 -0
- package/assets/plugin/tools/score-setup.d.ts +31 -0
- package/assets/plugin/tools/score-setup.js +268 -0
- package/assets/plugin/tools/set-bracket-requirement.d.ts +18 -0
- package/assets/plugin/tools/set-bracket-requirement.js +81 -0
- package/assets/plugin/tools/set-exchange-credentials.d.ts +25 -0
- package/assets/plugin/tools/set-exchange-credentials.js +80 -0
- package/assets/plugin/tools/set-trading-mode.d.ts +26 -0
- package/assets/plugin/tools/set-trading-mode.js +152 -0
- package/assets/plugin/tools/test-exchange-credentials.d.ts +16 -0
- package/assets/plugin/tools/test-exchange-credentials.js +100 -0
- package/assets/plugin/tools/toggle-strategy.d.ts +8 -0
- package/assets/plugin/tools/toggle-strategy.js +15 -0
- package/assets/plugin/trading-params-cache.d.ts +26 -0
- package/assets/plugin/trading-params-cache.js +52 -0
- package/assets/plugin/types.d.ts +134 -0
- package/assets/plugin/types.js +7 -0
- package/assets/plugin/util/plugin-paths.d.ts +3 -0
- package/assets/plugin/util/plugin-paths.js +15 -0
- package/assets/plugin/venues/hyperliquid/hl-balance.d.ts +116 -0
- package/assets/plugin/venues/hyperliquid/hl-balance.js +145 -0
- package/assets/plugin/venues/hyperliquid/hl-bracket-coordinator.d.ts +123 -0
- package/assets/plugin/venues/hyperliquid/hl-bracket-coordinator.js +533 -0
- package/assets/plugin/venues/hyperliquid/hl-brackets.d.ts +102 -0
- package/assets/plugin/venues/hyperliquid/hl-brackets.js +172 -0
- package/assets/plugin/venues/hyperliquid/hl-cloid.d.ts +22 -0
- package/assets/plugin/venues/hyperliquid/hl-cloid.js +82 -0
- package/assets/plugin/venues/hyperliquid/hl-info-cache.d.ts +46 -0
- package/assets/plugin/venues/hyperliquid/hl-info-cache.js +125 -0
- package/assets/plugin/venues/hyperliquid/hl-live-adapter.d.ts +146 -0
- package/assets/plugin/venues/hyperliquid/hl-live-adapter.js +728 -0
- package/assets/plugin/venues/hyperliquid/hl-precision.d.ts +61 -0
- package/assets/plugin/venues/hyperliquid/hl-precision.js +176 -0
- package/assets/plugin/venues/hyperliquid/hl-private.d.ts +88 -0
- package/assets/plugin/venues/hyperliquid/hl-private.js +357 -0
- package/assets/plugin/venues/hyperliquid/hl-public.d.ts +79 -0
- package/assets/plugin/venues/hyperliquid/hl-public.js +436 -0
- package/assets/plugin/venues/hyperliquid/hl-rate-gate.d.ts +57 -0
- package/assets/plugin/venues/hyperliquid/hl-rate-gate.js +220 -0
- package/assets/plugin/venues/hyperliquid/hl-user-stream.d.ts +90 -0
- package/assets/plugin/venues/hyperliquid/hl-user-stream.js +220 -0
- package/assets/plugin/venues/registry.d.ts +38 -0
- package/assets/plugin/venues/registry.js +46 -0
- package/assets/plugin/venues/symbols.d.ts +43 -0
- package/assets/plugin/venues/symbols.js +107 -0
- package/assets/plugin/wave9/live-account-capture.d.ts +67 -0
- package/assets/plugin/wave9/live-account-capture.js +435 -0
- package/assets/plugin/wave9/live-autonomous-protection.d.ts +39 -0
- package/assets/plugin/wave9/live-autonomous-protection.js +112 -0
- package/assets/plugin/wave9/live-durable-reconciliation-scheduler.d.ts +33 -0
- package/assets/plugin/wave9/live-durable-reconciliation-scheduler.js +115 -0
- package/assets/plugin/wave9/live-execution-ledger.d.ts +107 -0
- package/assets/plugin/wave9/live-execution-ledger.js +498 -0
- package/assets/plugin/wave9/live-position-confirmation.d.ts +18 -0
- package/assets/plugin/wave9/live-position-confirmation.js +111 -0
- package/assets/plugin/wave9/live-residual-protection.d.ts +18 -0
- package/assets/plugin/wave9/live-residual-protection.js +250 -0
- package/assets/plugin/wave9/live-startup-reconciliation.d.ts +38 -0
- package/assets/plugin/wave9/live-startup-reconciliation.js +454 -0
- package/assets/plugin/wave9/live-symbol-ownership.d.ts +20 -0
- package/assets/plugin/wave9/live-symbol-ownership.js +132 -0
- package/assets/plugin/wave9/paper-admission-guard.d.ts +199 -0
- package/assets/plugin/wave9/paper-admission-guard.js +650 -0
- package/assets/plugin/wave9/usdm-evidence-provider.d.ts +42 -0
- package/assets/plugin/wave9/usdm-evidence-provider.js +133 -0
- package/dist/plugin.js +24 -15
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { OhlcvBar } from '../signals/types.js';
|
|
2
|
+
export declare const FOUR_HOURS_MS: number;
|
|
3
|
+
export declare const FUNDING_INTERVAL_MS: number;
|
|
4
|
+
/** Binance has emitted historical funding timestamps three milliseconds after
|
|
5
|
+
* the nominal settlement boundary. Accept only tightly bounded source jitter,
|
|
6
|
+
* then canonicalize back to the exact research event identity. */
|
|
7
|
+
export declare const FUNDING_TIME_TOLERANCE_MS = 10;
|
|
8
|
+
export interface Wave9FundingSettlement {
|
|
9
|
+
time: Date;
|
|
10
|
+
rate: number;
|
|
11
|
+
}
|
|
12
|
+
export interface Wave9SymbolEvidence {
|
|
13
|
+
symbol: string;
|
|
14
|
+
venueSymbol: string;
|
|
15
|
+
dailyBars: OhlcvBar[];
|
|
16
|
+
fourHourBars: OhlcvBar[];
|
|
17
|
+
fundingSettlements: Wave9FundingSettlement[];
|
|
18
|
+
}
|
|
19
|
+
export interface Wave9EvidenceBatch {
|
|
20
|
+
venue: 'binance_usdm';
|
|
21
|
+
marketType: 'future';
|
|
22
|
+
eventTime: Date;
|
|
23
|
+
evidenceFromExclusive: Date;
|
|
24
|
+
symbols: Wave9SymbolEvidence[];
|
|
25
|
+
}
|
|
26
|
+
interface UsdmExchange {
|
|
27
|
+
id?: string;
|
|
28
|
+
options?: Record<string, unknown>;
|
|
29
|
+
fetchOHLCV(symbol: string, timeframe: string, since?: number, limit?: number): Promise<unknown[]>;
|
|
30
|
+
fetchFundingRateHistory(symbol: string, since?: number, limit?: number): Promise<unknown[]>;
|
|
31
|
+
}
|
|
32
|
+
export interface Wave9EvidenceProvider {
|
|
33
|
+
fetchAtomicBatch(eventTime: Date): Promise<Wave9EvidenceBatch>;
|
|
34
|
+
}
|
|
35
|
+
export declare class BinanceUsdmWave9EvidenceProvider implements Wave9EvidenceProvider {
|
|
36
|
+
private readonly exchange;
|
|
37
|
+
constructor(exchange: UsdmExchange);
|
|
38
|
+
fetchAtomicBatch(eventTime: Date): Promise<Wave9EvidenceBatch>;
|
|
39
|
+
}
|
|
40
|
+
/** Deliberately lazy: off mode imports this module but never loads/creates CCXT. */
|
|
41
|
+
export declare function createWave9UsdmEvidenceProvider(): Wave9EvidenceProvider;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { DAY_MS, WAVE9_CONTEXT_BARS, WAVE9_SYMBOL_PRIORITY, } from '../portfolio/wave9-policy.js';
|
|
3
|
+
export const FOUR_HOURS_MS = 4 * 60 * 60 * 1_000;
|
|
4
|
+
export const FUNDING_INTERVAL_MS = 8 * 60 * 60 * 1_000;
|
|
5
|
+
/** Binance has emitted historical funding timestamps three milliseconds after
|
|
6
|
+
* the nominal settlement boundary. Accept only tightly bounded source jitter,
|
|
7
|
+
* then canonicalize back to the exact research event identity. */
|
|
8
|
+
export const FUNDING_TIME_TOLERANCE_MS = 10;
|
|
9
|
+
function venueSymbol(symbol) {
|
|
10
|
+
if (!symbol.endsWith('USDT'))
|
|
11
|
+
throw new Error(`unsupported Wave 9 symbol ${symbol}`);
|
|
12
|
+
return `${symbol.slice(0, -4)}/USDT:USDT`;
|
|
13
|
+
}
|
|
14
|
+
function ohlcvRows(rows, label) {
|
|
15
|
+
return rows.map((raw, index) => {
|
|
16
|
+
if (!Array.isArray(raw) || raw.length < 6) {
|
|
17
|
+
throw new Error(`${label} row ${index} is not a complete OHLCV tuple`);
|
|
18
|
+
}
|
|
19
|
+
const values = raw.slice(0, 6).map(Number);
|
|
20
|
+
if (!values.every(Number.isFinite)) {
|
|
21
|
+
throw new Error(`${label} row ${index} contains a non-finite value`);
|
|
22
|
+
}
|
|
23
|
+
const [time, open, high, low, close, volume] = values;
|
|
24
|
+
if (open <= 0 || high <= 0 || low <= 0 || close <= 0 || volume < 0) {
|
|
25
|
+
throw new Error(`${label} row ${index} has invalid market values`);
|
|
26
|
+
}
|
|
27
|
+
if (high < Math.max(open, close) || low > Math.min(open, close)) {
|
|
28
|
+
throw new Error(`${label} row ${index} has invalid OHLC geometry`);
|
|
29
|
+
}
|
|
30
|
+
return { time: new Date(time), open, high, low, close, volume };
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function fundingRows(rows, label) {
|
|
34
|
+
return rows.map((raw, index) => {
|
|
35
|
+
const row = raw;
|
|
36
|
+
const info = row?.info;
|
|
37
|
+
const time = Number(row?.timestamp ?? info?.fundingTime);
|
|
38
|
+
const rate = Number(row?.fundingRate ?? info?.fundingRate);
|
|
39
|
+
if (!Number.isFinite(time) || !Number.isFinite(rate)) {
|
|
40
|
+
throw new Error(`${label} funding row ${index} is incomplete`);
|
|
41
|
+
}
|
|
42
|
+
return { time: new Date(time), rate };
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
function requireExactTimes(actual, expected, label) {
|
|
46
|
+
const times = actual.map((row) => row.time.getTime());
|
|
47
|
+
if (times.length !== expected.length || times.some((time, index) => time !== expected[index])) {
|
|
48
|
+
throw new Error(`${label} is partial or stale: expected [${expected.map((time) => new Date(time).toISOString()).join(', ')}], got [${times.map((time) => new Date(time).toISOString()).join(', ')}]`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function canonicalizeFundingTimes(actual, expected, label) {
|
|
52
|
+
const times = actual.map((row) => row.time.getTime());
|
|
53
|
+
const mismatched = times.length !== expected.length
|
|
54
|
+
|| times.some((time, index) => Math.abs(time - expected[index]) > FUNDING_TIME_TOLERANCE_MS);
|
|
55
|
+
if (mismatched) {
|
|
56
|
+
throw new Error(`${label} is partial or stale: expected [${expected.map((time) => new Date(time).toISOString()).join(', ')}] `
|
|
57
|
+
+ `within ${FUNDING_TIME_TOLERANCE_MS}ms, got [${times.map((time) => new Date(time).toISOString()).join(', ')}]`);
|
|
58
|
+
}
|
|
59
|
+
return actual.map((row, index) => ({ ...row, time: new Date(expected[index]) }));
|
|
60
|
+
}
|
|
61
|
+
export class BinanceUsdmWave9EvidenceProvider {
|
|
62
|
+
exchange;
|
|
63
|
+
constructor(exchange) {
|
|
64
|
+
this.exchange = exchange;
|
|
65
|
+
if (exchange.id !== 'binanceusdm' || exchange.options?.defaultType !== 'future') {
|
|
66
|
+
throw new Error('Wave 9 evidence provider requires Binance USD-M futures (binanceusdm/defaultType=future)');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async fetchAtomicBatch(eventTime) {
|
|
70
|
+
const eventMs = eventTime.getTime();
|
|
71
|
+
if (!Number.isFinite(eventMs) || eventMs % DAY_MS !== 0) {
|
|
72
|
+
throw new Error('Wave 9 event must be a UTC daily boundary');
|
|
73
|
+
}
|
|
74
|
+
const fromMs = eventMs - DAY_MS;
|
|
75
|
+
const expectedDaily = Array.from({ length: WAVE9_CONTEXT_BARS }, (_, index) => eventMs - (WAVE9_CONTEXT_BARS - index) * DAY_MS);
|
|
76
|
+
const expected4h = Array.from({ length: 7 }, (_, index) => fromMs + index * FOUR_HOURS_MS);
|
|
77
|
+
const expectedFunding = [fromMs + FUNDING_INTERVAL_MS, fromMs + 2 * FUNDING_INTERVAL_MS, eventMs];
|
|
78
|
+
// Promise.all is only a transport optimization. No caller sees a batch
|
|
79
|
+
// unless every one of the eight frozen symbols validates in full.
|
|
80
|
+
const symbols = await Promise.all(WAVE9_SYMBOL_PRIORITY.map(async (symbol) => {
|
|
81
|
+
const ccxtSymbol = venueSymbol(symbol);
|
|
82
|
+
const [dailyRaw, fourHourRaw, fundingRaw] = await Promise.all([
|
|
83
|
+
this.exchange.fetchOHLCV(ccxtSymbol, '1d', eventMs - (WAVE9_CONTEXT_BARS + 2) * DAY_MS, WAVE9_CONTEXT_BARS + 2),
|
|
84
|
+
this.exchange.fetchOHLCV(ccxtSymbol, '4h', fromMs, 7),
|
|
85
|
+
this.exchange.fetchFundingRateHistory(ccxtSymbol, fromMs + 1, 16),
|
|
86
|
+
]);
|
|
87
|
+
const dailyBars = ohlcvRows(dailyRaw, `${symbol} 1d`)
|
|
88
|
+
.filter((bar) => bar.time.getTime() + DAY_MS <= eventMs)
|
|
89
|
+
.slice(-WAVE9_CONTEXT_BARS);
|
|
90
|
+
const fourHourBars = ohlcvRows(fourHourRaw, `${symbol} 4h`)
|
|
91
|
+
.filter((bar) => bar.time.getTime() >= fromMs && bar.time.getTime() <= eventMs)
|
|
92
|
+
.sort((left, right) => left.time.getTime() - right.time.getTime());
|
|
93
|
+
const fundingRowsInWindow = fundingRows(fundingRaw, symbol)
|
|
94
|
+
.filter((row) => row.time.getTime() > fromMs
|
|
95
|
+
&& row.time.getTime() <= eventMs + FUNDING_TIME_TOLERANCE_MS)
|
|
96
|
+
.sort((left, right) => left.time.getTime() - right.time.getTime());
|
|
97
|
+
requireExactTimes(dailyBars, expectedDaily, `${symbol} completed 1d evidence`);
|
|
98
|
+
requireExactTimes(fourHourBars, expected4h, `${symbol} 4h evidence`);
|
|
99
|
+
const fundingSettlements = canonicalizeFundingTimes(fundingRowsInWindow, expectedFunding, `${symbol} funding evidence`);
|
|
100
|
+
return {
|
|
101
|
+
symbol,
|
|
102
|
+
venueSymbol: ccxtSymbol,
|
|
103
|
+
dailyBars,
|
|
104
|
+
fourHourBars,
|
|
105
|
+
fundingSettlements,
|
|
106
|
+
};
|
|
107
|
+
}));
|
|
108
|
+
if (symbols.some((row, index) => row.symbol !== WAVE9_SYMBOL_PRIORITY[index])) {
|
|
109
|
+
throw new Error('Wave 9 evidence universe/order mismatch');
|
|
110
|
+
}
|
|
111
|
+
return {
|
|
112
|
+
venue: 'binance_usdm',
|
|
113
|
+
marketType: 'future',
|
|
114
|
+
eventTime: new Date(eventMs),
|
|
115
|
+
evidenceFromExclusive: new Date(fromMs),
|
|
116
|
+
symbols,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/** Deliberately lazy: off mode imports this module but never loads/creates CCXT. */
|
|
121
|
+
export function createWave9UsdmEvidenceProvider() {
|
|
122
|
+
const require = createRequire(import.meta.url);
|
|
123
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
124
|
+
const ccxt = require('ccxt');
|
|
125
|
+
const BinanceUsdm = ccxt.binanceusdm ?? ccxt.default?.binanceusdm;
|
|
126
|
+
if (!BinanceUsdm)
|
|
127
|
+
throw new Error('CCXT binanceusdm class is unavailable');
|
|
128
|
+
const exchange = new BinanceUsdm({
|
|
129
|
+
enableRateLimit: true,
|
|
130
|
+
options: { defaultType: 'future' },
|
|
131
|
+
});
|
|
132
|
+
return new BinanceUsdmWave9EvidenceProvider(exchange);
|
|
133
|
+
}
|
package/dist/plugin.js
CHANGED
|
@@ -48,27 +48,36 @@ export function installPlugin() {
|
|
|
48
48
|
const cli = which('openclaw');
|
|
49
49
|
if (!cli) {
|
|
50
50
|
fail('the `openclaw` CLI is not on your PATH — cannot register the plugin.');
|
|
51
|
-
info(`Once OpenClaw is on PATH, run: openclaw plugins install --
|
|
51
|
+
info(`Once OpenClaw is on PATH, run: openclaw plugins install --link ${PLUGIN_DIR}`);
|
|
52
|
+
info('(if OpenClaw asks you to rerun with --force, add --force before --link)');
|
|
52
53
|
return { registered: false };
|
|
53
54
|
}
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
//
|
|
55
|
+
// Two OpenClaw generations have MUTUALLY EXCLUSIVE requirements here
|
|
56
|
+
// (issue #216, verified against both npm dists):
|
|
57
|
+
// - <= 2026.7.1 hard-REJECTS --force with --link ("--force is not
|
|
58
|
+
// supported with --link", plugins-install-command guard);
|
|
59
|
+
// - >= 2026.7.2 REQUIRES --force for non-ClawHub sources in a non-TTY
|
|
60
|
+
// context (confirmNonClawHubInstall cancels with "rerun with --force").
|
|
61
|
+
// So: try plain --link first (correct on every version that doesn't gate),
|
|
62
|
+
// and only when the CLI's own output asks for --force, retry with it.
|
|
63
|
+
// Acknowledging is correct here — the "source" is our own bundled plugin the
|
|
64
|
+
// user explicitly chose to install by running this installer. The first
|
|
65
|
+
// attempt never passes --force, so any mention of --force in its output is
|
|
66
|
+
// the CLI requesting it, not an echo of our own arguments.
|
|
63
67
|
info('registering the plugin with OpenClaw…');
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
let r = run('openclaw', ['plugins', 'install', '--link', PLUGIN_DIR], { timeoutMs: 300_000 });
|
|
69
|
+
if (!r.ok && `${r.stderr}\n${r.stdout}`.includes('--force')) {
|
|
70
|
+
info('this OpenClaw requires acknowledging non-ClawHub sources — retrying with --force…');
|
|
71
|
+
r = run('openclaw', ['plugins', 'install', '--force', '--link', PLUGIN_DIR], {
|
|
72
|
+
timeoutMs: 300_000,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
67
75
|
if (!r.ok) {
|
|
68
|
-
warn('`openclaw plugins install --
|
|
76
|
+
warn('`openclaw plugins install --link` returned non-zero:');
|
|
69
77
|
if (r.stderr.trim())
|
|
70
78
|
info(r.stderr.trim().split('\n').slice(-3).join('\n'));
|
|
71
|
-
info(`Retry manually: openclaw plugins install --
|
|
79
|
+
info(`Retry manually: openclaw plugins install --link ${PLUGIN_DIR}`);
|
|
80
|
+
info('(if OpenClaw asks you to rerun with --force, add --force before --link)');
|
|
72
81
|
return { registered: false };
|
|
73
82
|
}
|
|
74
83
|
ok('plugin registered with OpenClaw');
|