@reefclaw/connect 0.1.11 → 0.1.12

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.
Files changed (397) hide show
  1. package/assets/bridge/gateway/heartbeat-cron.d.ts +27 -0
  2. package/assets/bridge/gateway/heartbeat-cron.js +85 -0
  3. package/assets/bridge/providers/gateway.d.ts +2 -0
  4. package/assets/bridge/providers/gateway.js +57 -16
  5. package/assets/bridge/setup.js +6 -51
  6. package/dist/deps.js +2 -2
  7. package/dist/plugin.js +35 -7
  8. package/package.json +1 -1
  9. package/assets/plugin/audit/mode-transition-audit.d.ts +0 -11
  10. package/assets/plugin/audit/mode-transition-audit.js +0 -29
  11. package/assets/plugin/balance-utils.d.ts +0 -36
  12. package/assets/plugin/balance-utils.js +0 -98
  13. package/assets/plugin/ccxt/binance-ban-gate.d.ts +0 -47
  14. package/assets/plugin/ccxt/binance-ban-gate.js +0 -420
  15. package/assets/plugin/ccxt/binance-private.d.ts +0 -346
  16. package/assets/plugin/ccxt/binance-private.js +0 -1525
  17. package/assets/plugin/ccxt/binance-public.d.ts +0 -34
  18. package/assets/plugin/ccxt/binance-public.js +0 -180
  19. package/assets/plugin/ccxt/intel-public.d.ts +0 -25
  20. package/assets/plugin/ccxt/intel-public.js +0 -80
  21. package/assets/plugin/ccxt/public-market-data-api.d.ts +0 -26
  22. package/assets/plugin/ccxt/public-market-data-api.js +0 -23
  23. package/assets/plugin/config/agent-config-client.d.ts +0 -77
  24. package/assets/plugin/config/agent-config-client.js +0 -188
  25. package/assets/plugin/config/agent-config-poller.d.ts +0 -32
  26. package/assets/plugin/config/agent-config-poller.js +0 -101
  27. package/assets/plugin/config/brackets-config.d.ts +0 -22
  28. package/assets/plugin/config/brackets-config.js +0 -58
  29. package/assets/plugin/config/entitlement-gate.d.ts +0 -51
  30. package/assets/plugin/config/entitlement-gate.js +0 -137
  31. package/assets/plugin/config/gate-store.d.ts +0 -18
  32. package/assets/plugin/config/gate-store.js +0 -61
  33. package/assets/plugin/config/plugin-config-io.d.ts +0 -222
  34. package/assets/plugin/config/plugin-config-io.js +0 -126
  35. package/assets/plugin/config/position-review-config.d.ts +0 -35
  36. package/assets/plugin/config/position-review-config.js +0 -105
  37. package/assets/plugin/config/tool-gate.d.ts +0 -53
  38. package/assets/plugin/config/tool-gate.js +0 -128
  39. package/assets/plugin/config/user-data-stream-config.d.ts +0 -89
  40. package/assets/plugin/config/user-data-stream-config.js +0 -239
  41. package/assets/plugin/connector-supervisor.d.ts +0 -36
  42. package/assets/plugin/connector-supervisor.js +0 -149
  43. package/assets/plugin/exchange-adapter.d.ts +0 -65
  44. package/assets/plugin/exchange-adapter.js +0 -4
  45. package/assets/plugin/index.d.ts +0 -30
  46. package/assets/plugin/index.js +0 -2756
  47. package/assets/plugin/ingest/pending-entry-metadata.d.ts +0 -74
  48. package/assets/plugin/ingest/pending-entry-metadata.js +0 -236
  49. package/assets/plugin/ingest/position-auto-capture.d.ts +0 -171
  50. package/assets/plugin/ingest/position-auto-capture.js +0 -709
  51. package/assets/plugin/ingest/position-decisions-client.d.ts +0 -327
  52. package/assets/plugin/ingest/position-decisions-client.js +0 -306
  53. package/assets/plugin/ingest/readiness-reporter.d.ts +0 -42
  54. package/assets/plugin/ingest/readiness-reporter.js +0 -163
  55. package/assets/plugin/ingest/reconcile-db-vs-exchange.d.ts +0 -51
  56. package/assets/plugin/ingest/reconcile-db-vs-exchange.js +0 -170
  57. package/assets/plugin/ingest/reconciler-cleanup.d.ts +0 -37
  58. package/assets/plugin/ingest/reconciler-cleanup.js +0 -147
  59. package/assets/plugin/ingest/rest-gap-filler.d.ts +0 -191
  60. package/assets/plugin/ingest/rest-gap-filler.js +0 -565
  61. package/assets/plugin/ingest/touched-symbols-store.d.ts +0 -25
  62. package/assets/plugin/ingest/touched-symbols-store.js +0 -96
  63. package/assets/plugin/ingest/trade-store-client.d.ts +0 -40
  64. package/assets/plugin/ingest/trade-store-client.js +0 -125
  65. package/assets/plugin/ingest/ws-ingest.d.ts +0 -43
  66. package/assets/plugin/ingest/ws-ingest.js +0 -126
  67. package/assets/plugin/learning/setup-family.d.ts +0 -21
  68. package/assets/plugin/learning/setup-family.js +0 -103
  69. package/assets/plugin/lifecycle/install-signal-handlers.d.ts +0 -33
  70. package/assets/plugin/lifecycle/install-signal-handlers.js +0 -112
  71. package/assets/plugin/lifecycle/shutdown-coordinator.d.ts +0 -43
  72. package/assets/plugin/lifecycle/shutdown-coordinator.js +0 -131
  73. package/assets/plugin/lifecycle/trading-operation-lock.d.ts +0 -17
  74. package/assets/plugin/lifecycle/trading-operation-lock.js +0 -14
  75. package/assets/plugin/live/bracket-id.d.ts +0 -26
  76. package/assets/plugin/live/bracket-id.js +0 -112
  77. package/assets/plugin/live/bracket-ledger.d.ts +0 -54
  78. package/assets/plugin/live/bracket-ledger.js +0 -267
  79. package/assets/plugin/live/bracket-manager.d.ts +0 -82
  80. package/assets/plugin/live/bracket-manager.js +0 -478
  81. package/assets/plugin/live/bracket-params.d.ts +0 -22
  82. package/assets/plugin/live/bracket-params.js +0 -124
  83. package/assets/plugin/live/bracket-reconciler.d.ts +0 -95
  84. package/assets/plugin/live/bracket-reconciler.js +0 -573
  85. package/assets/plugin/live/bracket-types.d.ts +0 -102
  86. package/assets/plugin/live/bracket-types.js +0 -8
  87. package/assets/plugin/live/deposit-tracker.d.ts +0 -62
  88. package/assets/plugin/live/deposit-tracker.js +0 -97
  89. package/assets/plugin/live/emergency-controls.d.ts +0 -32
  90. package/assets/plugin/live/emergency-controls.js +0 -226
  91. package/assets/plugin/live/exchange-errors.d.ts +0 -12
  92. package/assets/plugin/live/exchange-errors.js +0 -130
  93. package/assets/plugin/live/exchange-info-cache.d.ts +0 -37
  94. package/assets/plugin/live/exchange-info-cache.js +0 -134
  95. package/assets/plugin/live/fact-subscriber.d.ts +0 -78
  96. package/assets/plugin/live/fact-subscriber.js +0 -182
  97. package/assets/plugin/live/fill-price.d.ts +0 -13
  98. package/assets/plugin/live/fill-price.js +0 -37
  99. package/assets/plugin/live/intent-journal.d.ts +0 -42
  100. package/assets/plugin/live/intent-journal.js +0 -122
  101. package/assets/plugin/live/listen-key-manager.d.ts +0 -70
  102. package/assets/plugin/live/listen-key-manager.js +0 -169
  103. package/assets/plugin/live/live-adapter.d.ts +0 -319
  104. package/assets/plugin/live/live-adapter.js +0 -1906
  105. package/assets/plugin/live/live-balance-enricher.d.ts +0 -32
  106. package/assets/plugin/live/live-balance-enricher.js +0 -104
  107. package/assets/plugin/live/live-bracket-api.d.ts +0 -13
  108. package/assets/plugin/live/live-bracket-api.js +0 -20
  109. package/assets/plugin/live/live-state-store.d.ts +0 -194
  110. package/assets/plugin/live/live-state-store.js +0 -450
  111. package/assets/plugin/live/local-signal-service.d.ts +0 -57
  112. package/assets/plugin/live/local-signal-service.js +0 -151
  113. package/assets/plugin/live/local-strategy-evaluator.d.ts +0 -62
  114. package/assets/plugin/live/local-strategy-evaluator.js +0 -131
  115. package/assets/plugin/live/microstructure-assembler.d.ts +0 -54
  116. package/assets/plugin/live/microstructure-assembler.js +0 -148
  117. package/assets/plugin/live/order-poller.d.ts +0 -29
  118. package/assets/plugin/live/order-poller.js +0 -125
  119. package/assets/plugin/live/position-state-store.d.ts +0 -87
  120. package/assets/plugin/live/position-state-store.js +0 -237
  121. package/assets/plugin/live/proposal-decision-listener.d.ts +0 -70
  122. package/assets/plugin/live/proposal-decision-listener.js +0 -292
  123. package/assets/plugin/live/proposal-manager.d.ts +0 -76
  124. package/assets/plugin/live/proposal-manager.js +0 -140
  125. package/assets/plugin/live/rate-limiter.d.ts +0 -47
  126. package/assets/plugin/live/rate-limiter.js +0 -159
  127. package/assets/plugin/live/reconciler.d.ts +0 -39
  128. package/assets/plugin/live/reconciler.js +0 -175
  129. package/assets/plugin/live/setup-buckets.d.ts +0 -7
  130. package/assets/plugin/live/setup-buckets.js +0 -33
  131. package/assets/plugin/live/slippage-tracker.d.ts +0 -45
  132. package/assets/plugin/live/slippage-tracker.js +0 -78
  133. package/assets/plugin/live/stop-watcher.d.ts +0 -67
  134. package/assets/plugin/live/stop-watcher.js +0 -218
  135. package/assets/plugin/live/user-data-active-probe.d.ts +0 -54
  136. package/assets/plugin/live/user-data-active-probe.js +0 -180
  137. package/assets/plugin/live/user-data-stream-controller.d.ts +0 -200
  138. package/assets/plugin/live/user-data-stream-controller.js +0 -579
  139. package/assets/plugin/live/user-data-stream-ws.d.ts +0 -22
  140. package/assets/plugin/live/user-data-stream-ws.js +0 -63
  141. package/assets/plugin/live/user-data-stream.d.ts +0 -243
  142. package/assets/plugin/live/user-data-stream.js +0 -704
  143. package/assets/plugin/logger.d.ts +0 -2
  144. package/assets/plugin/logger.js +0 -2
  145. package/assets/plugin/mfe.d.ts +0 -21
  146. package/assets/plugin/mfe.js +0 -68
  147. package/assets/plugin/onboarding/mode-ladder.d.ts +0 -1
  148. package/assets/plugin/onboarding/mode-ladder.js +0 -3
  149. package/assets/plugin/onboarding/runtime.d.ts +0 -90
  150. package/assets/plugin/onboarding/runtime.js +0 -184
  151. package/assets/plugin/openclaw.plugin.json +0 -92
  152. package/assets/plugin/paper-adapter.d.ts +0 -24
  153. package/assets/plugin/paper-adapter.js +0 -91
  154. package/assets/plugin/persistence/state-manager.d.ts +0 -66
  155. package/assets/plugin/persistence/state-manager.js +0 -222
  156. package/assets/plugin/pinned-plan.d.ts +0 -9
  157. package/assets/plugin/pinned-plan.js +0 -23
  158. package/assets/plugin/portfolio/reentry-tracker.d.ts +0 -36
  159. package/assets/plugin/portfolio/reentry-tracker.js +0 -127
  160. package/assets/plugin/portfolio/wave9-admission.d.ts +0 -67
  161. package/assets/plugin/portfolio/wave9-admission.js +0 -262
  162. package/assets/plugin/portfolio/wave9-policy.d.ts +0 -36
  163. package/assets/plugin/portfolio/wave9-policy.js +0 -183
  164. package/assets/plugin/risk/pre-trade-check.d.ts +0 -38
  165. package/assets/plugin/risk/pre-trade-check.js +0 -345
  166. package/assets/plugin/risk/pre-trade-types.d.ts +0 -60
  167. package/assets/plugin/risk/pre-trade-types.js +0 -3
  168. package/assets/plugin/shadow/shadow-tracker.d.ts +0 -36
  169. package/assets/plugin/shadow/shadow-tracker.js +0 -151
  170. package/assets/plugin/shadow/types.d.ts +0 -42
  171. package/assets/plugin/shadow/types.js +0 -20
  172. package/assets/plugin/shared/indicators-extended.d.ts +0 -52
  173. package/assets/plugin/shared/indicators-extended.js +0 -291
  174. package/assets/plugin/shared/indicators.d.ts +0 -15
  175. package/assets/plugin/shared/indicators.js +0 -114
  176. package/assets/plugin/signals/conditions/registry.d.ts +0 -16
  177. package/assets/plugin/signals/conditions/registry.js +0 -1333
  178. package/assets/plugin/signals/conditions/types.d.ts +0 -1
  179. package/assets/plugin/signals/conditions/types.js +0 -4
  180. package/assets/plugin/signals/direction-rules.d.ts +0 -3
  181. package/assets/plugin/signals/direction-rules.js +0 -24
  182. package/assets/plugin/signals/entry-rules.d.ts +0 -6
  183. package/assets/plugin/signals/entry-rules.js +0 -33
  184. package/assets/plugin/signals/serialize-context.d.ts +0 -4
  185. package/assets/plugin/signals/serialize-context.js +0 -39
  186. package/assets/plugin/signals/stop-rules.d.ts +0 -3
  187. package/assets/plugin/signals/stop-rules.js +0 -48
  188. package/assets/plugin/signals/strategy-adapter.d.ts +0 -47
  189. package/assets/plugin/signals/strategy-adapter.js +0 -209
  190. package/assets/plugin/signals/types.d.ts +0 -1
  191. package/assets/plugin/signals/types.js +0 -8
  192. package/assets/plugin/simulator/exchange-simulator.d.ts +0 -105
  193. package/assets/plugin/simulator/exchange-simulator.js +0 -759
  194. package/assets/plugin/simulator/fill-engine.d.ts +0 -53
  195. package/assets/plugin/simulator/fill-engine.js +0 -280
  196. package/assets/plugin/simulator/paper-market-feed.d.ts +0 -26
  197. package/assets/plugin/simulator/paper-market-feed.js +0 -104
  198. package/assets/plugin/simulator/realistic-fills.d.ts +0 -59
  199. package/assets/plugin/simulator/realistic-fills.js +0 -175
  200. package/assets/plugin/simulator/types.d.ts +0 -228
  201. package/assets/plugin/simulator/types.js +0 -43
  202. package/assets/plugin/strategy/builtin-strategies.d.ts +0 -2
  203. package/assets/plugin/strategy/builtin-strategies.js +0 -113
  204. package/assets/plugin/strategy/condition-registry.d.ts +0 -3
  205. package/assets/plugin/strategy/condition-registry.js +0 -153
  206. package/assets/plugin/strategy/evaluator.d.ts +0 -70
  207. package/assets/plugin/strategy/evaluator.js +0 -98
  208. package/assets/plugin/tools/assessment-validation.d.ts +0 -141
  209. package/assets/plugin/tools/assessment-validation.js +0 -473
  210. package/assets/plugin/tools/attach-brackets.d.ts +0 -39
  211. package/assets/plugin/tools/attach-brackets.js +0 -564
  212. package/assets/plugin/tools/audit-bracket-protection.d.ts +0 -49
  213. package/assets/plugin/tools/audit-bracket-protection.js +0 -683
  214. package/assets/plugin/tools/bracket-control.d.ts +0 -12
  215. package/assets/plugin/tools/bracket-control.js +0 -35
  216. package/assets/plugin/tools/cancel-all-orders.d.ts +0 -9
  217. package/assets/plugin/tools/cancel-all-orders.js +0 -8
  218. package/assets/plugin/tools/cancel-order.d.ts +0 -14
  219. package/assets/plugin/tools/cancel-order.js +0 -60
  220. package/assets/plugin/tools/check-position-health.d.ts +0 -46
  221. package/assets/plugin/tools/check-position-health.js +0 -194
  222. package/assets/plugin/tools/clear-exchange-credentials.d.ts +0 -24
  223. package/assets/plugin/tools/clear-exchange-credentials.js +0 -70
  224. package/assets/plugin/tools/close-position.d.ts +0 -45
  225. package/assets/plugin/tools/close-position.js +0 -722
  226. package/assets/plugin/tools/create-order.d.ts +0 -82
  227. package/assets/plugin/tools/create-order.js +0 -1544
  228. package/assets/plugin/tools/exit-gate.d.ts +0 -58
  229. package/assets/plugin/tools/exit-gate.js +0 -162
  230. package/assets/plugin/tools/fetch-balance.d.ts +0 -5
  231. package/assets/plugin/tools/fetch-balance.js +0 -4
  232. package/assets/plugin/tools/fetch-ohlcv.d.ts +0 -11
  233. package/assets/plugin/tools/fetch-ohlcv.js +0 -8
  234. package/assets/plugin/tools/fetch-open-orders.d.ts +0 -7
  235. package/assets/plugin/tools/fetch-open-orders.js +0 -4
  236. package/assets/plugin/tools/fetch-positions.d.ts +0 -7
  237. package/assets/plugin/tools/fetch-positions.js +0 -4
  238. package/assets/plugin/tools/fetch-ticker.d.ts +0 -11
  239. package/assets/plugin/tools/fetch-ticker.js +0 -5
  240. package/assets/plugin/tools/get-agent-profile.d.ts +0 -4
  241. package/assets/plugin/tools/get-agent-profile.js +0 -6
  242. package/assets/plugin/tools/get-analytics.d.ts +0 -6
  243. package/assets/plugin/tools/get-analytics.js +0 -7
  244. package/assets/plugin/tools/get-backtest.d.ts +0 -12
  245. package/assets/plugin/tools/get-backtest.js +0 -91
  246. package/assets/plugin/tools/get-basis.d.ts +0 -7
  247. package/assets/plugin/tools/get-basis.js +0 -7
  248. package/assets/plugin/tools/get-bracket-config.d.ts +0 -11
  249. package/assets/plugin/tools/get-bracket-config.js +0 -24
  250. package/assets/plugin/tools/get-cascade-risk.d.ts +0 -7
  251. package/assets/plugin/tools/get-cascade-risk.js +0 -8
  252. package/assets/plugin/tools/get-crypto-metrics.d.ts +0 -18
  253. package/assets/plugin/tools/get-crypto-metrics.js +0 -62
  254. package/assets/plugin/tools/get-cvd.d.ts +0 -6
  255. package/assets/plugin/tools/get-cvd.js +0 -6
  256. package/assets/plugin/tools/get-divergences.d.ts +0 -6
  257. package/assets/plugin/tools/get-divergences.js +0 -6
  258. package/assets/plugin/tools/get-funding-context.d.ts +0 -6
  259. package/assets/plugin/tools/get-funding-context.js +0 -16
  260. package/assets/plugin/tools/get-liquidation-levels.d.ts +0 -7
  261. package/assets/plugin/tools/get-liquidation-levels.js +0 -7
  262. package/assets/plugin/tools/get-liquidation-pulse.d.ts +0 -9
  263. package/assets/plugin/tools/get-liquidation-pulse.js +0 -22
  264. package/assets/plugin/tools/get-market-breadth.d.ts +0 -6
  265. package/assets/plugin/tools/get-market-breadth.js +0 -8
  266. package/assets/plugin/tools/get-market-intel.d.ts +0 -19
  267. package/assets/plugin/tools/get-market-intel.js +0 -116
  268. package/assets/plugin/tools/get-market-structure.d.ts +0 -47
  269. package/assets/plugin/tools/get-market-structure.js +0 -198
  270. package/assets/plugin/tools/get-my-mined-patterns.d.ts +0 -20
  271. package/assets/plugin/tools/get-my-mined-patterns.js +0 -61
  272. package/assets/plugin/tools/get-my-proposed-learnings.d.ts +0 -20
  273. package/assets/plugin/tools/get-my-proposed-learnings.js +0 -55
  274. package/assets/plugin/tools/get-my-recent-reviews.d.ts +0 -22
  275. package/assets/plugin/tools/get-my-recent-reviews.js +0 -66
  276. package/assets/plugin/tools/get-orderbook.d.ts +0 -21
  277. package/assets/plugin/tools/get-orderbook.js +0 -32
  278. package/assets/plugin/tools/get-pattern-scan.d.ts +0 -7
  279. package/assets/plugin/tools/get-pattern-scan.js +0 -8
  280. package/assets/plugin/tools/get-regime.d.ts +0 -6
  281. package/assets/plugin/tools/get-regime.js +0 -7
  282. package/assets/plugin/tools/get-relevant-learnings.d.ts +0 -21
  283. package/assets/plugin/tools/get-relevant-learnings.js +0 -65
  284. package/assets/plugin/tools/get-resting-liquidity.d.ts +0 -6
  285. package/assets/plugin/tools/get-resting-liquidity.js +0 -11
  286. package/assets/plugin/tools/get-risk-scenario.d.ts +0 -29
  287. package/assets/plugin/tools/get-risk-scenario.js +0 -47
  288. package/assets/plugin/tools/get-risk-summary.d.ts +0 -51
  289. package/assets/plugin/tools/get-risk-summary.js +0 -118
  290. package/assets/plugin/tools/get-sentiment.d.ts +0 -4
  291. package/assets/plugin/tools/get-sentiment.js +0 -6
  292. package/assets/plugin/tools/get-session-review.d.ts +0 -7
  293. package/assets/plugin/tools/get-session-review.js +0 -8
  294. package/assets/plugin/tools/get-setup-detail.d.ts +0 -7
  295. package/assets/plugin/tools/get-setup-detail.js +0 -322
  296. package/assets/plugin/tools/get-signals.d.ts +0 -15
  297. package/assets/plugin/tools/get-signals.js +0 -54
  298. package/assets/plugin/tools/get-sizing.d.ts +0 -6
  299. package/assets/plugin/tools/get-sizing.js +0 -6
  300. package/assets/plugin/tools/get-trade-feedback.d.ts +0 -7
  301. package/assets/plugin/tools/get-trade-feedback.js +0 -8
  302. package/assets/plugin/tools/get-trade-flow.d.ts +0 -7
  303. package/assets/plugin/tools/get-trade-flow.js +0 -7
  304. package/assets/plugin/tools/get-volume-analysis.d.ts +0 -21
  305. package/assets/plugin/tools/get-volume-analysis.js +0 -74
  306. package/assets/plugin/tools/get-volume-profile.d.ts +0 -7
  307. package/assets/plugin/tools/get-volume-profile.js +0 -7
  308. package/assets/plugin/tools/get-wave9-status.d.ts +0 -127
  309. package/assets/plugin/tools/get-wave9-status.js +0 -796
  310. package/assets/plugin/tools/helpers.d.ts +0 -26
  311. package/assets/plugin/tools/helpers.js +0 -39
  312. package/assets/plugin/tools/intel-api.d.ts +0 -34
  313. package/assets/plugin/tools/intel-api.js +0 -119
  314. package/assets/plugin/tools/intel-cache.d.ts +0 -25
  315. package/assets/plugin/tools/intel-cache.js +0 -148
  316. package/assets/plugin/tools/list-strategies.d.ts +0 -17
  317. package/assets/plugin/tools/list-strategies.js +0 -23
  318. package/assets/plugin/tools/modify-stop.d.ts +0 -21
  319. package/assets/plugin/tools/modify-stop.js +0 -120
  320. package/assets/plugin/tools/modify-target.d.ts +0 -21
  321. package/assets/plugin/tools/modify-target.js +0 -110
  322. package/assets/plugin/tools/propose-learning.d.ts +0 -22
  323. package/assets/plugin/tools/propose-learning.js +0 -65
  324. package/assets/plugin/tools/query-review-outcomes.d.ts +0 -30
  325. package/assets/plugin/tools/query-review-outcomes.js +0 -64
  326. package/assets/plugin/tools/query-trades.d.ts +0 -21
  327. package/assets/plugin/tools/query-trades.js +0 -37
  328. package/assets/plugin/tools/record-position-reviews.d.ts +0 -38
  329. package/assets/plugin/tools/record-position-reviews.js +0 -147
  330. package/assets/plugin/tools/save-strategy.d.ts +0 -16
  331. package/assets/plugin/tools/save-strategy.js +0 -46
  332. package/assets/plugin/tools/scan-pairs.d.ts +0 -22
  333. package/assets/plugin/tools/scan-pairs.js +0 -234
  334. package/assets/plugin/tools/score-setup.d.ts +0 -31
  335. package/assets/plugin/tools/score-setup.js +0 -268
  336. package/assets/plugin/tools/set-bracket-requirement.d.ts +0 -18
  337. package/assets/plugin/tools/set-bracket-requirement.js +0 -81
  338. package/assets/plugin/tools/set-exchange-credentials.d.ts +0 -25
  339. package/assets/plugin/tools/set-exchange-credentials.js +0 -80
  340. package/assets/plugin/tools/set-trading-mode.d.ts +0 -26
  341. package/assets/plugin/tools/set-trading-mode.js +0 -135
  342. package/assets/plugin/tools/test-exchange-credentials.d.ts +0 -16
  343. package/assets/plugin/tools/test-exchange-credentials.js +0 -100
  344. package/assets/plugin/tools/toggle-strategy.d.ts +0 -8
  345. package/assets/plugin/tools/toggle-strategy.js +0 -15
  346. package/assets/plugin/trading-params-cache.d.ts +0 -26
  347. package/assets/plugin/trading-params-cache.js +0 -52
  348. package/assets/plugin/types.d.ts +0 -134
  349. package/assets/plugin/types.js +0 -7
  350. package/assets/plugin/util/plugin-paths.d.ts +0 -3
  351. package/assets/plugin/util/plugin-paths.js +0 -15
  352. package/assets/plugin/venues/hyperliquid/hl-balance.d.ts +0 -116
  353. package/assets/plugin/venues/hyperliquid/hl-balance.js +0 -145
  354. package/assets/plugin/venues/hyperliquid/hl-bracket-coordinator.d.ts +0 -123
  355. package/assets/plugin/venues/hyperliquid/hl-bracket-coordinator.js +0 -533
  356. package/assets/plugin/venues/hyperliquid/hl-brackets.d.ts +0 -102
  357. package/assets/plugin/venues/hyperliquid/hl-brackets.js +0 -172
  358. package/assets/plugin/venues/hyperliquid/hl-cloid.d.ts +0 -22
  359. package/assets/plugin/venues/hyperliquid/hl-cloid.js +0 -82
  360. package/assets/plugin/venues/hyperliquid/hl-info-cache.d.ts +0 -46
  361. package/assets/plugin/venues/hyperliquid/hl-info-cache.js +0 -125
  362. package/assets/plugin/venues/hyperliquid/hl-live-adapter.d.ts +0 -146
  363. package/assets/plugin/venues/hyperliquid/hl-live-adapter.js +0 -728
  364. package/assets/plugin/venues/hyperliquid/hl-precision.d.ts +0 -61
  365. package/assets/plugin/venues/hyperliquid/hl-precision.js +0 -176
  366. package/assets/plugin/venues/hyperliquid/hl-private.d.ts +0 -88
  367. package/assets/plugin/venues/hyperliquid/hl-private.js +0 -357
  368. package/assets/plugin/venues/hyperliquid/hl-public.d.ts +0 -79
  369. package/assets/plugin/venues/hyperliquid/hl-public.js +0 -436
  370. package/assets/plugin/venues/hyperliquid/hl-rate-gate.d.ts +0 -57
  371. package/assets/plugin/venues/hyperliquid/hl-rate-gate.js +0 -220
  372. package/assets/plugin/venues/hyperliquid/hl-user-stream.d.ts +0 -90
  373. package/assets/plugin/venues/hyperliquid/hl-user-stream.js +0 -220
  374. package/assets/plugin/venues/registry.d.ts +0 -38
  375. package/assets/plugin/venues/registry.js +0 -46
  376. package/assets/plugin/venues/symbols.d.ts +0 -43
  377. package/assets/plugin/venues/symbols.js +0 -107
  378. package/assets/plugin/wave9/live-account-capture.d.ts +0 -67
  379. package/assets/plugin/wave9/live-account-capture.js +0 -435
  380. package/assets/plugin/wave9/live-autonomous-protection.d.ts +0 -39
  381. package/assets/plugin/wave9/live-autonomous-protection.js +0 -112
  382. package/assets/plugin/wave9/live-durable-reconciliation-scheduler.d.ts +0 -33
  383. package/assets/plugin/wave9/live-durable-reconciliation-scheduler.js +0 -115
  384. package/assets/plugin/wave9/live-execution-ledger.d.ts +0 -107
  385. package/assets/plugin/wave9/live-execution-ledger.js +0 -498
  386. package/assets/plugin/wave9/live-position-confirmation.d.ts +0 -18
  387. package/assets/plugin/wave9/live-position-confirmation.js +0 -111
  388. package/assets/plugin/wave9/live-residual-protection.d.ts +0 -18
  389. package/assets/plugin/wave9/live-residual-protection.js +0 -250
  390. package/assets/plugin/wave9/live-startup-reconciliation.d.ts +0 -38
  391. package/assets/plugin/wave9/live-startup-reconciliation.js +0 -454
  392. package/assets/plugin/wave9/live-symbol-ownership.d.ts +0 -20
  393. package/assets/plugin/wave9/live-symbol-ownership.js +0 -132
  394. package/assets/plugin/wave9/paper-admission-guard.d.ts +0 -199
  395. package/assets/plugin/wave9/paper-admission-guard.js +0 -650
  396. package/assets/plugin/wave9/usdm-evidence-provider.d.ts +0 -42
  397. package/assets/plugin/wave9/usdm-evidence-provider.js +0 -133
@@ -1,80 +0,0 @@
1
- // set_exchange_credentials — operator-only plugin tool.
2
- //
3
- // Writes Binance API key + secret to ~/.reefclaw/plugin-config.json and
4
- // triggers an adapter reconnect if the current mode is live. The agent
5
- // should NOT call this tool; it's registered for the skill's operator RPC
6
- // path only. PR2 will enforce that via a skill-side scope gate (operator.write).
7
- //
8
- // Security:
9
- // - The secret is NEVER logged. Only a redacted fingerprint (first 4 + last 2
10
- // chars of the apiKey) goes to logs / audit.
11
- // - If the current mode is PAPER, credentials are written but NOT activated —
12
- // the operator must explicitly call set_trading_mode to move up the ladder.
13
- import { updatePluginConfig, redactCredential } from '../config/plugin-config-io.js';
14
- import { logger } from '../logger.js';
15
- const TAG = 'set-exchange-credentials';
16
- function validate(args) {
17
- if (typeof args.apiKey !== 'string' || args.apiKey.trim().length < 8) {
18
- return 'apiKey must be a string of at least 8 characters';
19
- }
20
- if (typeof args.secret !== 'string' || args.secret.trim().length < 8) {
21
- return 'secret must be a string of at least 8 characters';
22
- }
23
- if (args.testnet !== undefined && typeof args.testnet !== 'boolean') {
24
- return 'testnet must be a boolean when provided';
25
- }
26
- return null;
27
- }
28
- export async function setExchangeCredentialsTool(args, deps) {
29
- const validationError = validate(args);
30
- if (validationError) {
31
- return {
32
- ok: false,
33
- message: validationError,
34
- fingerprint: '(not-set)',
35
- reconnected: false,
36
- mode: deps.runtime.mode,
37
- readiness: deps.runtime.adapter.readiness,
38
- };
39
- }
40
- const exchange = {
41
- apiKey: args.apiKey.trim(),
42
- secret: args.secret.trim(),
43
- testnet: args.testnet ?? false,
44
- };
45
- const fingerprint = redactCredential(exchange.apiKey);
46
- try {
47
- updatePluginConfig({ exchange }, deps.configPath);
48
- }
49
- catch (err) {
50
- const msg = err instanceof Error ? err.message : String(err);
51
- logger.error(TAG, `Failed to write credentials: ${msg}`);
52
- return {
53
- ok: false,
54
- message: `Failed to persist credentials: ${msg}`,
55
- fingerprint,
56
- reconnected: false,
57
- mode: deps.runtime.mode,
58
- readiness: deps.runtime.adapter.readiness,
59
- };
60
- }
61
- logger.info(TAG, `Stored credentials (fingerprint: ${fingerprint}, testnet: ${exchange.testnet})`);
62
- // Only reconnect if we're already in a live mode — if the operator is still
63
- // in PAPER, activating the keys is a separate deliberate step via
64
- // set_trading_mode. This prevents accidentally going live by saving keys.
65
- let reconnected = false;
66
- if (deps.runtime.mode !== 'PAPER') {
67
- await deps.runtime.reconnect({ mode: deps.runtime.mode, exchange }, { adapterDeps: deps.adapterDeps });
68
- reconnected = true;
69
- }
70
- return {
71
- ok: true,
72
- message: reconnected
73
- ? `Credentials updated and ${deps.runtime.mode} adapter reconnected`
74
- : `Credentials stored (mode is PAPER — run set_trading_mode SHADOW to activate)`,
75
- fingerprint,
76
- reconnected,
77
- mode: deps.runtime.mode,
78
- readiness: deps.runtime.adapter.readiness,
79
- };
80
- }
@@ -1,26 +0,0 @@
1
- import type { PluginRuntime } from '../onboarding/runtime.js';
2
- import type { IExchangeAdapter } from '../exchange-adapter.js';
3
- import type { TradingMode } from '../types.js';
4
- export interface SetTradingModeArgs {
5
- mode: TradingMode;
6
- /** Optional acknowledgment flag for going live. The skill layer will set
7
- * this explicitly when the operator confirms the elevated confirmation. */
8
- acknowledged?: boolean;
9
- }
10
- export interface SetTradingModeResult {
11
- ok: boolean;
12
- message: string;
13
- previousMode: TradingMode;
14
- mode: TradingMode;
15
- readiness: string;
16
- reason?: string;
17
- }
18
- export interface SetTradingModeDeps {
19
- runtime: PluginRuntime;
20
- adapterDeps: {
21
- adapter: IExchangeAdapter;
22
- };
23
- /** Override the config file path — tests use this. */
24
- configPath?: string;
25
- }
26
- export declare function setTradingModeTool(args: SetTradingModeArgs, deps: SetTradingModeDeps): Promise<SetTradingModeResult>;
@@ -1,135 +0,0 @@
1
- // set_trading_mode — operator-only plugin tool.
2
- //
3
- // Moves the plugin between PAPER / MICRO_LIVE / LIVE, enforcing
4
- // the one-rung-at-a-time ladder. Requires valid exchange credentials for
5
- // any non-PAPER target. Rebuilds the adapter via runtime.reconnect().
6
- //
7
- // The agent should NOT call this tool; PR2 will enforce operator-only scope
8
- // in the skill. PR1 leaves the plugin-side handler functional but unguarded
9
- // because the caller chain is currently controlled end-to-end by the skill.
10
- import { readPluginConfig } from '../config/plugin-config-io.js';
11
- import { validateModeTransition, modeRequiresCredentials } from '../onboarding/mode-ladder.js';
12
- import { logger } from '../logger.js';
13
- import { recordModeTransition } from '../audit/mode-transition-audit.js';
14
- const TAG = 'set-trading-mode';
15
- const VALID_MODES = ['PAPER', 'MICRO_LIVE', 'LIVE'];
16
- export async function setTradingModeTool(args, deps) {
17
- const previousMode = deps.runtime.mode;
18
- if (!args || typeof args.mode !== 'string' || !VALID_MODES.includes(args.mode)) {
19
- return {
20
- ok: false,
21
- message: `Invalid mode. Must be one of: ${VALID_MODES.join(', ')}`,
22
- previousMode,
23
- mode: previousMode,
24
- readiness: deps.runtime.adapter.readiness,
25
- };
26
- }
27
- const target = args.mode;
28
- const acknowledged = args.acknowledged === true;
29
- // 1. Ladder check.
30
- const ladder = validateModeTransition(previousMode, target);
31
- if (!ladder.allowed) {
32
- recordModeTransition({ previousMode, targetMode: target, acknowledged, ok: false, reason: 'ladder' });
33
- return {
34
- ok: false,
35
- message: ladder.reason ?? 'Mode transition not allowed',
36
- previousMode,
37
- mode: previousMode,
38
- readiness: deps.runtime.adapter.readiness,
39
- reason: 'ladder',
40
- };
41
- }
42
- // 2. If already in the target mode, no-op (no audit entry — nothing happened).
43
- if (previousMode === target) {
44
- return {
45
- ok: true,
46
- message: `Already in ${target} mode`,
47
- previousMode,
48
- mode: previousMode,
49
- readiness: deps.runtime.adapter.readiness,
50
- };
51
- }
52
- // 3. Credential requirement check.
53
- let exchange = null;
54
- if (modeRequiresCredentials(target)) {
55
- try {
56
- const cfg = readPluginConfig(deps.configPath);
57
- if (cfg.exchange?.apiKey && cfg.exchange?.secret) {
58
- exchange = {
59
- apiKey: cfg.exchange.apiKey,
60
- secret: cfg.exchange.secret,
61
- testnet: cfg.exchange.testnet ?? false,
62
- };
63
- }
64
- }
65
- catch (err) {
66
- const msg = err instanceof Error ? err.message : String(err);
67
- recordModeTransition({ previousMode, targetMode: target, acknowledged, ok: false, reason: 'config_read_error' });
68
- return {
69
- ok: false,
70
- message: `Cannot read config: ${msg}`,
71
- previousMode,
72
- mode: previousMode,
73
- readiness: deps.runtime.adapter.readiness,
74
- reason: 'config_read_error',
75
- };
76
- }
77
- if (!exchange) {
78
- recordModeTransition({ previousMode, targetMode: target, acknowledged, ok: false, reason: 'missing_credentials' });
79
- return {
80
- ok: false,
81
- message: `${target} mode requires exchange credentials. Run set_exchange_credentials first.`,
82
- previousMode,
83
- mode: previousMode,
84
- readiness: deps.runtime.adapter.readiness,
85
- reason: 'missing_credentials',
86
- };
87
- }
88
- }
89
- // 4. Elevated confirmation for full LIVE.
90
- if (target === 'LIVE' && !acknowledged) {
91
- recordModeTransition({ previousMode, targetMode: target, acknowledged, ok: false, reason: 'acknowledgment_required' });
92
- return {
93
- ok: false,
94
- message: `Transition to LIVE requires explicit acknowledgment (acknowledged: true)`,
95
- previousMode,
96
- mode: previousMode,
97
- readiness: deps.runtime.adapter.readiness,
98
- reason: 'acknowledgment_required',
99
- };
100
- }
101
- // 5. Persist the new mode.
102
- try {
103
- const { updatePluginConfig } = await import('../config/plugin-config-io.js');
104
- updatePluginConfig({ tradingMode: target }, deps.configPath);
105
- }
106
- catch (err) {
107
- const msg = err instanceof Error ? err.message : String(err);
108
- recordModeTransition({ previousMode, targetMode: target, acknowledged, ok: false, reason: 'config_write_error' });
109
- return {
110
- ok: false,
111
- message: `Failed to persist mode: ${msg}`,
112
- previousMode,
113
- mode: previousMode,
114
- readiness: deps.runtime.adapter.readiness,
115
- reason: 'config_write_error',
116
- };
117
- }
118
- // 6. Swap the adapter.
119
- await deps.runtime.reconnect({ mode: target, exchange }, { adapterDeps: deps.adapterDeps });
120
- logger.info(TAG, `Transitioned ${previousMode} → ${target}`);
121
- recordModeTransition({
122
- previousMode,
123
- targetMode: target,
124
- acknowledged,
125
- ok: true,
126
- testnet: exchange?.testnet,
127
- });
128
- return {
129
- ok: true,
130
- message: `Trading mode changed from ${previousMode} to ${target}`,
131
- previousMode,
132
- mode: deps.runtime.mode,
133
- readiness: deps.runtime.adapter.readiness,
134
- };
135
- }
@@ -1,16 +0,0 @@
1
- export interface TestExchangeCredentialsArgs {
2
- apiKey: string;
3
- secret: string;
4
- testnet?: boolean;
5
- }
6
- export interface TestExchangeCredentialsResult {
7
- ok: boolean;
8
- message: string;
9
- fingerprint: string;
10
- canReadBalance: boolean;
11
- canReadPositions: boolean;
12
- balanceUSDT: number | null;
13
- testnet: boolean;
14
- errors: string[];
15
- }
16
- export declare function testExchangeCredentialsTool(args: TestExchangeCredentialsArgs): Promise<TestExchangeCredentialsResult>;
@@ -1,100 +0,0 @@
1
- // test_exchange_credentials — operator-only plugin tool.
2
- //
3
- // Takes a candidate Binance API key + secret and verifies them with a
4
- // transient, read-only call to the exchange (fetchBalance via
5
- // validatePermissions). Nothing is written to disk. Nothing is retained
6
- // after the call returns. This is the "pre-flight" check that lets the
7
- // dashboard say "yes these keys work, you can now click Store" before
8
- // the operator commits the credentials via set_exchange_credentials.
9
- //
10
- // Security:
11
- // - Builds a throwaway BinancePrivateApi instance scoped to one call.
12
- // - Never logs the secret — only a redacted fingerprint.
13
- // - Does not touch plugin-config.json at all.
14
- import { BinancePrivateApi } from '../ccxt/binance-private.js';
15
- import { redactCredential } from '../config/plugin-config-io.js';
16
- import { logger, formatError } from '../logger.js';
17
- const TAG = 'test-exchange-credentials';
18
- function validate(args) {
19
- if (typeof args.apiKey !== 'string' || args.apiKey.trim().length < 8) {
20
- return 'apiKey must be a string of at least 8 characters';
21
- }
22
- if (typeof args.secret !== 'string' || args.secret.trim().length < 8) {
23
- return 'secret must be a string of at least 8 characters';
24
- }
25
- return null;
26
- }
27
- export async function testExchangeCredentialsTool(args) {
28
- const fingerprint = redactCredential(args.apiKey);
29
- const err = validate(args);
30
- if (err) {
31
- return {
32
- ok: false,
33
- message: err,
34
- fingerprint,
35
- canReadBalance: false,
36
- canReadPositions: false,
37
- balanceUSDT: null,
38
- testnet: args.testnet ?? false,
39
- errors: [err],
40
- };
41
- }
42
- const config = {
43
- apiKey: args.apiKey.trim(),
44
- secret: args.secret.trim(),
45
- testnet: args.testnet ?? false,
46
- };
47
- logger.info(TAG, `Testing credentials (fingerprint: ${fingerprint}, testnet: ${config.testnet})`);
48
- let api;
49
- try {
50
- api = new BinancePrivateApi(config);
51
- }
52
- catch (e) {
53
- const msg = formatError(e);
54
- return {
55
- ok: false,
56
- message: `Could not initialize exchange client: ${msg}`,
57
- fingerprint,
58
- canReadBalance: false,
59
- canReadPositions: false,
60
- balanceUSDT: null,
61
- testnet: config.testnet ?? false,
62
- errors: [msg],
63
- };
64
- }
65
- const perms = await api.validatePermissions();
66
- // Opportunistically read the balance for the result payload — if
67
- // validatePermissions already proved it works, this is a no-op second
68
- // call that gives the user confidence ("connected, $123.45").
69
- // Supports both USDT and USDC (Binance USDⓈ-M settles in either).
70
- let balanceUSDT = null;
71
- if (perms.canReadBalance) {
72
- try {
73
- const bal = await api.fetchBalance();
74
- if (bal && typeof bal.total === 'object') {
75
- const usdt = bal.total.USDT ?? 0;
76
- const usdc = bal.total.USDC ?? 0;
77
- const sum = usdt + usdc;
78
- if (Number.isFinite(sum) && sum > 0)
79
- balanceUSDT = sum;
80
- }
81
- }
82
- catch {
83
- // Ignore — we already know canReadBalance is true, so this is cosmetic.
84
- }
85
- }
86
- const ok = perms.canReadBalance && perms.canReadPositions;
87
- const message = ok
88
- ? `Connection verified — USDT balance: ${balanceUSDT != null ? balanceUSDT.toFixed(2) : 'unknown'}`
89
- : `API permission check failed: ${perms.errors.join('; ')}`;
90
- return {
91
- ok,
92
- message,
93
- fingerprint,
94
- canReadBalance: perms.canReadBalance,
95
- canReadPositions: perms.canReadPositions,
96
- balanceUSDT,
97
- testnet: config.testnet ?? false,
98
- errors: perms.errors,
99
- };
100
- }
@@ -1,8 +0,0 @@
1
- import type { IntelApiDeps } from './intel-api.js';
2
- export interface ToggleStrategyArgs {
3
- name: string;
4
- active: boolean;
5
- }
6
- export declare function toggleStrategyTool(args: ToggleStrategyArgs, deps: IntelApiDeps): Promise<Record<string, unknown> | {
7
- error: string;
8
- }>;
@@ -1,15 +0,0 @@
1
- // Tool: toggle_strategy — activate or deactivate a strategy.
2
- import { fetchIntelApi } from './intel-api.js';
3
- const WAVE9_OPERATOR_CONTROLLED_BUNDLE = 'wave9_28d_momentum_reversal';
4
- export async function toggleStrategyTool(args, deps) {
5
- if (args.name === WAVE9_OPERATOR_CONTROLLED_BUNDLE) {
6
- return {
7
- error: 'Wave 9 activation is operator-controlled. Do not change this toggle; ' +
8
- 'the operator must use the Strategies dashboard.',
9
- };
10
- }
11
- return fetchIntelApi(`/api/strategies/${encodeURIComponent(args.name)}/toggle`, deps, {
12
- method: 'PUT',
13
- body: { active: args.active },
14
- });
15
- }
@@ -1,26 +0,0 @@
1
- import { type IntelApiDeps } from './tools/intel-api.js';
2
- export interface TradingParameters {
3
- regimeConfidenceFloor: number;
4
- signalConfluenceThreshold: number;
5
- scorecardStrongGoThreshold: number;
6
- scorecardGoThreshold: number;
7
- scorecardMarginalThreshold: number;
8
- confidencePenaltyThreshold: number;
9
- unprovenSetupScore: number;
10
- rrWarningThreshold: number;
11
- lossStreakQuarterSize: number;
12
- lossStreakHalfSize: number;
13
- maxPositionSize: number;
14
- maxOpenPositions: number;
15
- maxGrossExposure: number;
16
- maxPerTradeLoss: number;
17
- drawdownYellow: number;
18
- drawdownOrange: number;
19
- drawdownRed: number;
20
- }
21
- /** Get trading parameters (from cache or fetch). Returns defaults on failure. */
22
- export declare function getTradingParams(deps: IntelApiDeps): Promise<TradingParameters>;
23
- /** Get cached params synchronously (for pure functions like preTradeRiskCheck). */
24
- export declare function getCachedTradingParams(): TradingParameters;
25
- /** Force-refresh the cache (call on plugin init). */
26
- export declare function refreshTradingParams(deps: IntelApiDeps): Promise<void>;
@@ -1,52 +0,0 @@
1
- // Trading parameters cache — fetches from intelligence API and caches locally.
2
- // Plugin tools (score-setup, pre-trade-check) read from this cache.
3
- import { fetchIntelApi } from './tools/intel-api.js';
4
- // Hardcoded defaults (same as intelligence/src/trading-params/types.ts)
5
- const DEFAULTS = {
6
- regimeConfidenceFloor: 0.35,
7
- signalConfluenceThreshold: 0.8,
8
- scorecardStrongGoThreshold: 7.5,
9
- scorecardGoThreshold: 5.5,
10
- scorecardMarginalThreshold: 4.0,
11
- confidencePenaltyThreshold: 0.35,
12
- unprovenSetupScore: 5,
13
- rrWarningThreshold: 1.5,
14
- lossStreakQuarterSize: 5,
15
- lossStreakHalfSize: 3,
16
- maxPositionSize: 10_000,
17
- maxOpenPositions: 5,
18
- maxGrossExposure: 1.5,
19
- maxPerTradeLoss: 500,
20
- drawdownYellow: -0.01,
21
- drawdownOrange: -0.02,
22
- drawdownRed: -0.025,
23
- };
24
- let cached = { ...DEFAULTS };
25
- let cacheExpiry = 0;
26
- const CACHE_TTL = 60_000; // 60s
27
- /** Get trading parameters (from cache or fetch). Returns defaults on failure. */
28
- export async function getTradingParams(deps) {
29
- const now = Date.now();
30
- if (now < cacheExpiry)
31
- return cached;
32
- try {
33
- const res = await fetchIntelApi('/api/trading-params', deps);
34
- if (!('error' in res) && res.params) {
35
- cached = { ...DEFAULTS, ...res.params };
36
- cacheExpiry = now + CACHE_TTL;
37
- }
38
- }
39
- catch {
40
- // Silently use cached/defaults on failure
41
- }
42
- return cached;
43
- }
44
- /** Get cached params synchronously (for pure functions like preTradeRiskCheck). */
45
- export function getCachedTradingParams() {
46
- return cached;
47
- }
48
- /** Force-refresh the cache (call on plugin init). */
49
- export async function refreshTradingParams(deps) {
50
- cacheExpiry = 0; // force refresh
51
- await getTradingParams(deps);
52
- }
@@ -1,134 +0,0 @@
1
- import type { RealizationRule } from './simulator/types.js';
2
- /** CCXT order — matches skill/src/gateway/event-parser.ts CcxtOrder */
3
- export interface CcxtOrder {
4
- id: string;
5
- symbol: string;
6
- side: 'buy' | 'sell';
7
- type: 'market' | 'limit';
8
- status: 'open' | 'closed' | 'canceled';
9
- amount: number;
10
- filled: number;
11
- remaining: number;
12
- average: number | null;
13
- price: number | null;
14
- cost: number;
15
- fee: {
16
- cost: number;
17
- currency: string;
18
- };
19
- timestamp: number;
20
- datetime: string;
21
- timeInForce: string;
22
- /** Client-supplied order id (Binance: `newClientOrderId`). Present on exchange
23
- * responses; used by bracket reconciliation to identify our orders on restart. */
24
- clientOrderId?: string;
25
- /** Raw upstream exchange response preserved verbatim. Binance algo endpoint
26
- * carries `orderType` (STOP_MARKET / TAKE_PROFIT_MARKET / TRAILING_STOP_MARKET)
27
- * and `algoType` (CONDITIONAL) fields that are authoritative for role
28
- * classification — more reliable than our CID-shape inference since they
29
- * also cover externally-placed stops (manual operator SL via Binance UI).
30
- * Top-level `type` stays narrow ('market'|'limit') for TS type safety;
31
- * consumers that need order subtype read `info.orderType`. */
32
- info?: Record<string, unknown>;
33
- }
34
- /** CCXT ticker — matches skill/src/gateway/event-parser.ts CcxtTicker */
35
- export interface CcxtTicker {
36
- symbol: string;
37
- last: number;
38
- bid: number;
39
- ask: number;
40
- baseVolume: number;
41
- quoteVolume: number;
42
- change: number;
43
- percentage: number;
44
- timestamp: number;
45
- datetime: string;
46
- }
47
- /** CCXT balance — compatible with skill/src/gateway/event-parser.ts CcxtBalance (stricter: named fields are required here, optional there) */
48
- export interface CcxtBalance {
49
- [currency: string]: {
50
- free: number;
51
- used: number;
52
- total: number;
53
- } | unknown;
54
- free: Record<string, number>;
55
- used: Record<string, number>;
56
- total: Record<string, number>;
57
- }
58
- /** CCXT position — returned by fetch_positions */
59
- export interface CcxtPosition {
60
- symbol: string;
61
- side: 'long' | 'short';
62
- contracts: number;
63
- contractSize: number;
64
- entryPrice: number;
65
- markPrice: number;
66
- notional: number;
67
- unrealizedPnl: number;
68
- percentage: number;
69
- timestamp: number;
70
- datetime: string;
71
- setupType?: string;
72
- missionId?: string;
73
- candidateId?: string;
74
- strategy?: 'tsmom_28d_long_flat_reversal_1d' | 'tsmom_28d_short_flat_reversal_1d';
75
- accruedFundingUsd?: number;
76
- fundingThroughTime?: string;
77
- thesis?: string;
78
- stopPrice?: number;
79
- targetPrice?: number;
80
- regime?: string;
81
- regimeConfidence?: number;
82
- scorecardVerdict?: string;
83
- confluenceScore?: number;
84
- originalStopPrice?: number;
85
- mfePeakPrice?: number;
86
- mfeR?: number;
87
- giveBackRatio?: number;
88
- invalidationPrice?: number;
89
- realizationRule?: RealizationRule;
90
- /** Derived: has the pinned invalidation price been reached at the current
91
- * mark? When false, the agent's own plan says the trade is still valid (a
92
- * salient anti-re-litigation cue). Undefined when no invalidation was pinned. */
93
- invalidationHit?: boolean;
94
- bracket?: {
95
- slPrice?: number;
96
- tpPrice?: number;
97
- state: string;
98
- };
99
- }
100
- /** CCXT OHLCV tuple: [timestamp, open, high, low, close, volume] */
101
- export type CcxtOHLCV = [number, number, number, number, number, number];
102
- /** Trading mode for the plugin. */
103
- export type TradingMode = 'PAPER' | 'SHADOW' | 'MICRO_LIVE' | 'LIVE';
104
- export interface PluginConfig {
105
- startingBalance: number;
106
- symbol: string;
107
- quoteCurrency: string;
108
- }
109
- export declare const DEFAULT_CONFIG: PluginConfig;
110
- /** Exchange credentials for shadow/live modes. Read from plugin-config.json's
111
- * `exchange` block (openclaw.json legacy fallback). Which fields matter
112
- * depends on `venue` (docs/HYPERLIQUID_INTEGRATION_PLAN.md §5.2):
113
- *
114
- * binance (default, and the only live-supported venue until Phase 3) —
115
- * apiKey + secret (HMAC pair) are required; walletAddress/agentPrivateKey
116
- * are ignored.
117
- * hyperliquid — walletAddress (MASTER wallet address, 0x…, used for
118
- * queries; never its private key) + agentPrivateKey (an approved
119
- * agent/API wallet's key — signs orders, cannot withdraw). apiKey/secret
120
- * are meaningless. Boot falls back to PAPER for this venue until the
121
- * Phase 3 adapter ships.
122
- *
123
- * apiKey/secret stay required at the type level because every constructed
124
- * instance today feeds BinancePrivateApi; the on-disk JSON is parsed, not
125
- * type-constructed, so an HL block without them is readable. Phase 3
126
- * restructures this into a per-venue discriminated union. */
127
- export interface ExchangeConfig {
128
- venue?: 'binance' | 'hyperliquid';
129
- apiKey: string;
130
- secret: string;
131
- testnet?: boolean;
132
- walletAddress?: string;
133
- agentPrivateKey?: string;
134
- }
@@ -1,7 +0,0 @@
1
- // Types for the ReefClaw Paper Trading plugin.
2
- // CCXT-compatible types that match what the GatewayProvider's event-parser expects.
3
- export const DEFAULT_CONFIG = {
4
- startingBalance: 10000,
5
- symbol: 'BTC/USDT',
6
- quoteCurrency: 'USDT',
7
- };
@@ -1,3 +0,0 @@
1
- /** Resolve the base directory where plugin state lives. The trailing
2
- * `plugins` segment is included so callers can append `<pluginId>`. */
3
- export declare function resolvePluginsBaseDir(explicitBase?: string): string;
@@ -1,15 +0,0 @@
1
- // Centralises the "where do plugin state files live" decision so test setup
2
- // can redirect every state writer with a single OPENCLAW_HOME env var.
3
- // Honors precedence: explicit override > OPENCLAW_HOME env > $HOME/.openclaw.
4
- import { homedir } from 'node:os';
5
- import { join } from 'node:path';
6
- /** Resolve the base directory where plugin state lives. The trailing
7
- * `plugins` segment is included so callers can append `<pluginId>`. */
8
- export function resolvePluginsBaseDir(explicitBase) {
9
- if (explicitBase)
10
- return explicitBase;
11
- const envBase = process.env.OPENCLAW_HOME;
12
- if (envBase)
13
- return join(envBase, 'plugins');
14
- return join(homedir(), '.openclaw', 'plugins');
15
- }