@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,267 +0,0 @@
1
- // Bracket ledger — persistent record of all brackets attached to open
2
- // positions. Local JSON file is authoritative; the intelligence DB mirror
3
- // (Phase 2) is best-effort async and for disaster recovery.
4
- //
5
- // Storage pattern:
6
- // - Full JSON rewrite on every mutation (not JSONL append-only like
7
- // IntentJournal). The ledger is small (≈ N open positions) and mutates
8
- // in place, so rewrite + atomic rename is simpler than replay-on-load.
9
- // - Atomic write via temp-file-then-rename. A crash mid-write leaves either
10
- // the old file intact or the new file complete, never a torn write.
11
- //
12
- // Corruption policy:
13
- // - On load, every entry is schema-checked. Unknown/malformed file →
14
- // throw, refuse to start. Operator restores from intelligence mirror or
15
- // clears and resumes fresh (see BRACKET_ORDERS_DESIGN.md §4 row 14).
16
- //
17
- // Keying:
18
- // - Primary key is NORMALIZED `symbol` (one-way mode → one bracket per
19
- // symbol). All public methods apply `normalizeBracketSymbol` so callers
20
- // can pass either `BTC/USDT` (skill/agent form) or `BTC/USDT:USDT`
21
- // (CCXT fetchPositions form) and hit the same row.
22
- // - Pre-2026-04-21 rows written with a mix of both forms; `loadOrInit`
23
- // runs a one-shot dedup migration that collapses doubled rows by
24
- // keeping the newer (by `updatedAt`) and discarding the older, then
25
- // rewrites the file with normalized keys.
26
- // - Lookups by `bracketId` iterate; the live set is small (typically 1–10).
27
- import { existsSync, mkdirSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
28
- import { join } from 'node:path';
29
- import { resolvePluginsBaseDir } from '../util/plugin-paths.js';
30
- import { logger, formatError } from '../logger.js';
31
- const TAG = 'bracket-ledger';
32
- const DEFAULT_PLUGIN_ID = 'reefclaw-paper-trading';
33
- const LEDGER_FILENAME = 'bracket-ledger.json';
34
- const SCHEMA_VERSION = 1;
35
- /** Canonical form for a bracket-ledger symbol key.
36
- *
37
- * CCXT returns Binance Futures symbols as `BTC/USDT:USDT` (the `:USDT`
38
- * suffix is the settlement asset); the skill + agent's tool args use the
39
- * un-suffixed `BTC/USDT`. Historically we keyed the ledger by whatever the
40
- * caller passed in — which produced doubled rows per symbol and caused the
41
- * 2026-04-21 ADA audit-vs-attach deadlock (9 of 11 symbols had both keys;
42
- * see `memory/feedback_symbol_normalize_boundary.md`). This helper picks a
43
- * single canonical form (un-suffixed) and is applied at every public
44
- * BracketLedger entry point.
45
- *
46
- * Matches `user-data-stream-controller.ts` and `webapp/src/lib/symbols.ts`
47
- * `normalizeSymbol`, so the bracket path lines up with the WS store + UI. */
48
- export function normalizeBracketSymbol(s) {
49
- return s.replace(/:[A-Z]+$/, '');
50
- }
51
- const VALID_STATES = new Set([
52
- 'pending_entry',
53
- 'attaching',
54
- 'active',
55
- 'partial',
56
- 'triggered_sl',
57
- 'triggered_tp',
58
- 'cancelled',
59
- 'failed',
60
- ]);
61
- const TERMINAL_STATES = new Set([
62
- 'triggered_sl',
63
- 'triggered_tp',
64
- 'cancelled',
65
- 'failed',
66
- ]);
67
- const defaultNow = () => new Date().toISOString();
68
- export class BracketLedger {
69
- filePath;
70
- dir;
71
- now;
72
- entries = new Map();
73
- constructor(pluginId, opts) {
74
- const base = resolvePluginsBaseDir(opts?.basePath);
75
- this.dir = join(base, pluginId ?? DEFAULT_PLUGIN_ID);
76
- this.filePath = join(this.dir, LEDGER_FILENAME);
77
- this.now = opts?.now ?? defaultNow;
78
- if (!existsSync(this.dir)) {
79
- mkdirSync(this.dir, { recursive: true });
80
- }
81
- this.loadOrInit();
82
- }
83
- /** Insert or replace the entry for a symbol. Persists synchronously.
84
- * Symbol is normalized; the stored entry carries the canonical form so
85
- * later readers see it regardless of whether the caller passed suffixed
86
- * or un-suffixed input. */
87
- upsert(entry) {
88
- const ts = this.now();
89
- const symbol = normalizeBracketSymbol(entry.symbol);
90
- const existing = this.entries.get(symbol);
91
- const full = {
92
- ...entry,
93
- symbol, // always store the canonical form
94
- createdAt: existing?.createdAt ?? entry.createdAt ?? ts,
95
- updatedAt: ts,
96
- };
97
- this.entries.set(full.symbol, full);
98
- this.persist();
99
- return full;
100
- }
101
- /** Mutate the state of an existing entry. Throws if entry not found. */
102
- markState(symbol, nextState, extras) {
103
- const key = normalizeBracketSymbol(symbol);
104
- const current = this.entries.get(key);
105
- if (!current)
106
- throw new Error(`No ledger entry for ${symbol}`);
107
- const ts = this.now();
108
- const nextEntry = {
109
- ...current,
110
- ...extras,
111
- state: nextState,
112
- updatedAt: ts,
113
- closedAt: TERMINAL_STATES.has(nextState) ? (current.closedAt ?? ts) : current.closedAt,
114
- };
115
- this.entries.set(key, nextEntry);
116
- this.persist();
117
- return nextEntry;
118
- }
119
- getBySymbol(symbol) {
120
- return this.entries.get(normalizeBracketSymbol(symbol));
121
- }
122
- getByBracketId(bracketId) {
123
- for (const e of this.entries.values()) {
124
- if (e.bracketId === bracketId)
125
- return e;
126
- }
127
- return undefined;
128
- }
129
- /** All active (non-terminal) entries. Used by reconciler + telemetry. */
130
- getActive() {
131
- return Array.from(this.entries.values()).filter(e => !TERMINAL_STATES.has(e.state));
132
- }
133
- /** Every entry in the ledger, including terminal ones (kept for audit). */
134
- getAll() {
135
- return Array.from(this.entries.values());
136
- }
137
- /** Remove an entry — typically only called for very old terminal entries
138
- * during periodic cleanup. Does NOT persist unless mutated. */
139
- remove(symbol) {
140
- const existed = this.entries.delete(normalizeBracketSymbol(symbol));
141
- if (existed)
142
- this.persist();
143
- return existed;
144
- }
145
- /** Number of entries currently in the ledger. */
146
- size() {
147
- return this.entries.size;
148
- }
149
- /** Test seam — full ledger file path. */
150
- getFilePath() {
151
- return this.filePath;
152
- }
153
- // ---- Internals ----
154
- loadOrInit() {
155
- if (!existsSync(this.filePath)) {
156
- logger.info(TAG, `No ledger file at ${this.filePath}; starting empty`);
157
- return;
158
- }
159
- let raw;
160
- try {
161
- raw = readFileSync(this.filePath, 'utf8');
162
- }
163
- catch (err) {
164
- throw new Error(`bracket-ledger: failed to read ${this.filePath}: ${formatError(err)}`);
165
- }
166
- let parsed;
167
- try {
168
- parsed = JSON.parse(raw);
169
- }
170
- catch (err) {
171
- throw new Error(`bracket-ledger: ${this.filePath} is not valid JSON: ${formatError(err)}`);
172
- }
173
- const file = this.validateFile(parsed);
174
- // Symbol-normalization migration (2026-04-21): pre-fix ledgers have
175
- // duplicate rows per base symbol (one with `:USDT` suffix, one without)
176
- // because registerEntry keyed on whatever the caller passed in. Collapse
177
- // them on load: group by normalized symbol, keep the most recent by
178
- // updatedAt, discard the older. Also rewrites `entry.symbol` to the
179
- // canonical form so subsequent reads see a consistent key. The migration
180
- // is idempotent — a second load on an already-normalized file is a no-op.
181
- let migrated = 0;
182
- const byNormKey = new Map();
183
- for (const rawEntry of file.entries) {
184
- const normSym = normalizeBracketSymbol(rawEntry.symbol);
185
- const entry = rawEntry.symbol === normSym
186
- ? rawEntry
187
- : (migrated++, { ...rawEntry, symbol: normSym });
188
- const prev = byNormKey.get(normSym);
189
- if (!prev) {
190
- byNormKey.set(normSym, entry);
191
- continue;
192
- }
193
- // Duplicate — keep the newer row. Non-terminal beats terminal at a
194
- // tie (if one row is live and one cancelled, live is load-bearing).
195
- const prevIsTerminal = TERMINAL_STATES.has(prev.state);
196
- const entryIsTerminal = TERMINAL_STATES.has(entry.state);
197
- const keepEntry = (!entryIsTerminal && prevIsTerminal) ||
198
- (entryIsTerminal === prevIsTerminal && entry.updatedAt > prev.updatedAt);
199
- if (keepEntry)
200
- byNormKey.set(normSym, entry);
201
- migrated++;
202
- logger.warn(TAG, `dedup: collapsing duplicate rows for ${normSym} ` +
203
- `(kept ${keepEntry ? entry.bracketId : prev.bracketId} state=${(keepEntry ? entry : prev).state}, ` +
204
- `discarded ${keepEntry ? prev.bracketId : entry.bracketId} state=${(keepEntry ? prev : entry).state})`);
205
- }
206
- for (const entry of byNormKey.values()) {
207
- this.entries.set(entry.symbol, entry);
208
- }
209
- if (migrated > 0) {
210
- // Persist the migrated form immediately so a crash before the next
211
- // mutation doesn't leave the on-disk file with the pre-migration rows.
212
- this.persist();
213
- logger.info(TAG, `Migrated ${migrated} ledger entries to normalized symbol form; rewrote ${this.filePath}`);
214
- }
215
- logger.info(TAG, `Loaded ${this.entries.size} entries from ${this.filePath}`);
216
- }
217
- persist() {
218
- const file = {
219
- schemaVersion: SCHEMA_VERSION,
220
- entries: Array.from(this.entries.values()),
221
- };
222
- const tempPath = `${this.filePath}.tmp`;
223
- // writeFileSync + renameSync gives us an atomic replace on POSIX and
224
- // close-enough on Windows (MoveFileEx semantics differ slightly but
225
- // there is no cross-platform better option from Node stdlib).
226
- writeFileSync(tempPath, JSON.stringify(file, null, 2));
227
- renameSync(tempPath, this.filePath);
228
- }
229
- validateFile(raw) {
230
- if (!isRecord(raw))
231
- throw new Error('bracket-ledger: file root is not an object');
232
- const version = raw.schemaVersion;
233
- if (version !== SCHEMA_VERSION) {
234
- throw new Error(`bracket-ledger: unsupported schemaVersion ${version} (expected ${SCHEMA_VERSION})`);
235
- }
236
- if (!Array.isArray(raw.entries))
237
- throw new Error('bracket-ledger: entries is not an array');
238
- const entries = [];
239
- for (const e of raw.entries) {
240
- entries.push(this.validateEntry(e));
241
- }
242
- return { schemaVersion: SCHEMA_VERSION, entries };
243
- }
244
- validateEntry(raw) {
245
- if (!isRecord(raw))
246
- throw new Error('bracket-ledger: entry is not an object');
247
- const requiredStrings = ['bracketId', 'symbol', 'entryCid', 'state', 'createdAt', 'updatedAt'];
248
- for (const k of requiredStrings) {
249
- if (typeof raw[k] !== 'string' || raw[k].length === 0) {
250
- throw new Error(`bracket-ledger: entry missing/empty string field '${k}'`);
251
- }
252
- }
253
- if (raw.entrySide !== 'buy' && raw.entrySide !== 'sell') {
254
- throw new Error(`bracket-ledger: bad entrySide ${String(raw.entrySide)}`);
255
- }
256
- if (!VALID_STATES.has(raw.state)) {
257
- throw new Error(`bracket-ledger: unknown state ${String(raw.state)}`);
258
- }
259
- // Optional fields are allowed to be undefined/missing; we don't
260
- // type-check each one strictly — the runtime TS types give us confidence
261
- // for anything written by this process.
262
- return raw;
263
- }
264
- }
265
- function isRecord(v) {
266
- return typeof v === 'object' && v !== null && !Array.isArray(v);
267
- }
@@ -1,82 +0,0 @@
1
- import { EventEmitter } from 'node:events';
2
- import type { CcxtOrder } from '../types.js';
3
- import type { BracketId, BracketRequest } from './bracket-types.js';
4
- import type { BracketLedger } from './bracket-ledger.js';
5
- import type { BracketLegParams } from './bracket-params.js';
6
- /** Minimal exchange surface the manager needs. Narrowed so tests can mock
7
- * cleanly without constructing a full BinancePrivateApi. */
8
- export interface BracketApi {
9
- /** Submit a single bracket leg (STOP_MARKET or TAKE_PROFIT_MARKET). */
10
- submitBracketLeg(leg: BracketLegParams): Promise<CcxtOrder>;
11
- /** Cancel an order by its clientOrderId (idempotent — "already cancelled" is success). */
12
- cancelOrderByClientId(clientOrderId: string, symbol: string): Promise<void>;
13
- /** Disable Binance's per-symbol countdownCancelAll dead-man's-switch
14
- * (countdownTime=0). ROOT-CAUSE FIX 2026-05-16: an externally-armed
15
- * countdown was purging every bracket ~25s after placement. Called
16
- * before every attach so protection is never placed under an active
17
- * kill-switch. Optional so paper/sim/test mocks need not implement it;
18
- * best-effort (never throws into the attach path). */
19
- disableCountdownCancelAll?(symbol: string): Promise<void>;
20
- }
21
- export interface BracketManagerOpts {
22
- maxAttempts?: number;
23
- retryBackoffMs?: (attempt: number) => number;
24
- slaMs?: number;
25
- now?: () => number;
26
- sleep?: (ms: number) => Promise<void>;
27
- }
28
- export interface AttachResult {
29
- ok: boolean;
30
- latencyMs: number;
31
- slCid?: string;
32
- tpCid?: string;
33
- error?: string;
34
- attempts: number;
35
- }
36
- export declare class BracketManager extends EventEmitter {
37
- private readonly api;
38
- private readonly ledger;
39
- private readonly maxAttempts;
40
- private readonly backoff;
41
- private readonly slaMs;
42
- private readonly now;
43
- private readonly sleep;
44
- constructor(api: BracketApi, ledger: BracketLedger, opts?: BracketManagerOpts);
45
- /** Called by LiveAdapter after submitting the entry but before fill.
46
- * Creates the ledger row in 'pending_entry' state.
47
- *
48
- * Ledger hygiene: if a terminal-state row exists for this symbol (from a
49
- * prior trade cycle that closed, got cancelled, or had its brackets
50
- * stripped), remove it before inserting the new pending_entry. Otherwise
51
- * the stale row's bracketId/slCid/tpCid would survive the upsert and
52
- * mislead later callers — most visibly, `modify_stop` / `modify_target`
53
- * would see `state: 'cancelled'` and refuse to operate even though a fresh
54
- * bracket is now active. */
55
- registerEntry(req: BracketRequest, bracketId: BracketId, entryCid: string): void;
56
- /** Called by LiveAdapter when the entry fills. Attaches SL + TP to the
57
- * exchange with retries. Idempotent — safe to call exactly once per fill.
58
- *
59
- * Intentionally NOT gated by `assertNotShuttingDown`: by the time this
60
- * runs, the entry has already filled and the position is open on Binance.
61
- * Refusing here would leave a naked position — the drain budget is sized
62
- * to cover the 3-attempt retry loop instead. New ENTRIES are gated at
63
- * `LiveAdapter.createOrder`, so once we get here the entry was authorised
64
- * before the shutdown flag was set. */
65
- attachBrackets(symbol: string, entryAmount: number): Promise<AttachResult>;
66
- /** Move the stop. Cancel-then-resubmit; rolls back to the old stop if the
67
- * new submission fails, so the position is never left unprotected. */
68
- modifyStop(symbol: string, newStopPrice: number): Promise<void>;
69
- /** Move the take-profit. Same semantics as modifyStop. */
70
- modifyTarget(symbol: string, newTargetPrice: number): Promise<void>;
71
- /** Cancel both bracket legs and mark the ledger cancelled. Called when
72
- * LiveAdapter closes the position via `close_position` or flatten. Risk-
73
- * reducing — allowed during shutdown, but tracked so the drain awaits it. */
74
- cancelBrackets(symbol: string, reason: string): Promise<void>;
75
- /** Called by the reconciler / fill poller when one of the bracket legs
76
- * fires on the exchange. Transitions the ledger to the matching triggered
77
- * state and emits. Binance's closePosition:true auto-cancels the sibling. */
78
- handleBracketTriggered(symbol: string, triggeredRole: 'sl' | 'tp'): void;
79
- private attemptAttach;
80
- private cancelPartial;
81
- private emitEvent;
82
- }