@vtxmacro/cli 2026.10.76 → 2026.10.78

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.
@@ -14,7 +14,7 @@ import { dirname as dirname4, relative as relative4, resolve as resolve4 } from
14
14
  import { fileURLToPath } from "node:url";
15
15
 
16
16
  // agent-cli-release.json
17
- var agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.76", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
17
+ var agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.78", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
18
18
 
19
19
  // lib/runtime-policy.generated.json
20
20
  var runtime_policy_generated_default = {
@@ -52,6 +52,11 @@ var runtime_policy_generated_default = {
52
52
  account_read_backoff_exponent_max: 30,
53
53
  ai_start_grace_min_ms: 45e3
54
54
  },
55
+ server_read_recovery: {
56
+ retry_delay_ms: 1500,
57
+ max_attempts: 3,
58
+ attempts_window_ms: 6e4
59
+ },
55
60
  deployment_reload_observability: {
56
61
  bootstrap_max_error_events_per_page: 4,
57
62
  bootstrap_max_profiles: 10
@@ -92,6 +97,7 @@ var runtime_policy_generated_default = {
92
97
  debug_log_throttle_ms: 1e3,
93
98
  initial_history_stall_ms: 15e3,
94
99
  initial_history_recovery_cooldown_ms: 3e4,
100
+ initial_history_min_bars: 10,
95
101
  viewport_restore_settle_ms: 100,
96
102
  symbol_price_wait_ms: 2e3,
97
103
  layout_auto_save_delay_ms: 250
@@ -371,6 +377,7 @@ var runtime_policy_generated_default = {
371
377
  display_batch_size: 50,
372
378
  load_more_threshold_px: 100,
373
379
  trade_history_fetch_page_size: 100,
380
+ exchange_key_read_days: 6,
374
381
  ai_panel_interaction_window_ms: 2500,
375
382
  ai_panel_defer_max_staleness_ms: 1e4,
376
383
  ai_panel_defer_retry_ms: 1500,
@@ -816,6 +823,7 @@ var runtime_policy_generated_default = {
816
823
  device_rounds_per_sweep: 4
817
824
  },
818
825
  panel_reads: {
826
+ exchange_key_refresh_seconds: 15,
819
827
  device_open_orders_reuse_seconds: 2,
820
828
  all_view_profile_concurrency: 2,
821
829
  display_account_fresh_seconds: 60
@@ -927,6 +935,11 @@ var runtime_policy_generated_default = {
927
935
  },
928
936
  defaults: {
929
937
  server_ai_max_slippage: 5
938
+ },
939
+ server_runtime_host: {
940
+ server_executors: {
941
+ idle_seconds: 3600
942
+ }
930
943
  }
931
944
  },
932
945
  agent_cli: {
@@ -958,6 +971,181 @@ var runtime_policy_generated_default = {
958
971
  device_portfolio: {
959
972
  device_retry_seconds: 300
960
973
  },
974
+ lighter: {
975
+ flow_kinds: [
976
+ "deposit",
977
+ "withdraw",
978
+ "L2TransferInflow",
979
+ "L2TransferOutflow",
980
+ "L2SelfTransfer",
981
+ "L2MintSharesOutflow",
982
+ "L2BurnSharesInflow",
983
+ "L2ForceBurnSharesInflow",
984
+ "L1BurnSharesInflow",
985
+ "L2CreatePublicPoolOutflow"
986
+ ],
987
+ max_transfers: 100,
988
+ device_retry_seconds: 300,
989
+ device_batches_per_read: 10
990
+ },
991
+ okx: {
992
+ flow_bill_types: [
993
+ "1"
994
+ ],
995
+ max_transfers: 100,
996
+ device_retry_seconds: 300,
997
+ device_batches_per_read: 10
998
+ },
999
+ binance: {
1000
+ flow_income_types: [
1001
+ "TRANSFER",
1002
+ "INTERNAL_TRANSFER",
1003
+ "STRATEGY_UMFUTURES_TRANSFER",
1004
+ "CROSS_COLLATERAL_TRANSFER",
1005
+ "COIN_SWAP_DEPOSIT",
1006
+ "COIN_SWAP_WITHDRAW",
1007
+ "AUTO_EXCHANGE"
1008
+ ],
1009
+ funding_income_types: [
1010
+ "FUNDING_FEE"
1011
+ ],
1012
+ trade_income_types: [
1013
+ "REALIZED_PNL",
1014
+ "COMMISSION"
1015
+ ],
1016
+ max_transfers: 1e3,
1017
+ device_retry_seconds: 300,
1018
+ device_batches_per_read: 10
1019
+ },
1020
+ bitget: {
1021
+ flow_business_types: [
1022
+ "trans_from_exchange",
1023
+ "trans_to_exchange",
1024
+ "trans_from_contract",
1025
+ "trans_to_contract",
1026
+ "trans_from_otc",
1027
+ "trans_to_otc",
1028
+ "trans_from_cross",
1029
+ "trans_to_cross",
1030
+ "trans_from_isolated",
1031
+ "trans_to_isolated"
1032
+ ],
1033
+ max_transfers: 1e3,
1034
+ device_retry_seconds: 300,
1035
+ device_batches_per_read: 10
1036
+ },
1037
+ mexc: {
1038
+ flow_transfer_types: [
1039
+ "IN",
1040
+ "OUT"
1041
+ ],
1042
+ max_transfers: 100,
1043
+ device_retry_seconds: 300,
1044
+ device_batches_per_read: 10
1045
+ },
1046
+ coinbase_intl: {
1047
+ flow_log_types: [
1048
+ "deposit",
1049
+ "withdrawal",
1050
+ "transfer",
1051
+ "swap"
1052
+ ],
1053
+ max_transfers: 1e3,
1054
+ device_retry_seconds: 300,
1055
+ device_batches_per_read: 10
1056
+ },
1057
+ kraken_futures: {
1058
+ flow_infos: [
1059
+ "deposit",
1060
+ "withdrawal",
1061
+ "transfer",
1062
+ "cross-exchange transfer",
1063
+ "cross-exchange transfer failed",
1064
+ "subaccount transfer",
1065
+ "admin transfer"
1066
+ ],
1067
+ flow_assets: [
1068
+ "USD",
1069
+ "USDC",
1070
+ "USDT"
1071
+ ],
1072
+ max_transfers: 1e3,
1073
+ device_retry_seconds: 300,
1074
+ device_batches_per_read: 10
1075
+ },
1076
+ aster: {
1077
+ flow_income_types: [
1078
+ "TRANSFER",
1079
+ "INTERNAL_TRANSFER",
1080
+ "CROSS_COLLATERAL_TRANSFER",
1081
+ "AUTO_EXCHANGE"
1082
+ ],
1083
+ funding_income_types: [
1084
+ "FUNDING_FEE"
1085
+ ],
1086
+ trade_income_types: [
1087
+ "REALIZED_PNL",
1088
+ "COMMISSION"
1089
+ ],
1090
+ max_transfers: 1e3,
1091
+ device_retry_seconds: 300,
1092
+ device_batches_per_read: 10
1093
+ },
1094
+ kucoin_futures: {
1095
+ flow_ledger_types: [
1096
+ "Deposit",
1097
+ "Withdrawal",
1098
+ "TransferIn",
1099
+ "TransferOut"
1100
+ ],
1101
+ max_transfers: 1e3,
1102
+ device_retry_seconds: 300,
1103
+ device_batches_per_read: 10
1104
+ },
1105
+ bybit: {
1106
+ flow_transaction_types: [
1107
+ "TRANSFER_IN",
1108
+ "TRANSFER_OUT",
1109
+ "BONUS_TRANSFER_IN",
1110
+ "BONUS_TRANSFER_OUT",
1111
+ "PEF_TRANSFER_IN",
1112
+ "PEF_TRANSFER_OUT",
1113
+ "FLEXIBLE_STAKING_SUBSCRIPTION",
1114
+ "FLEXIBLE_STAKING_REDEMPTION",
1115
+ "FLEXIBLE_STAKING_REFUND",
1116
+ "FIXED_STAKING_SUBSCRIPTION",
1117
+ "FIXED_STAKING_REFUND",
1118
+ "FIXED_SAVING_PRINCIPAL_REDEMPTION",
1119
+ "ONCHAINEARN_SUBSCRIPTION",
1120
+ "ONCHAINEARN_REDEMPTION",
1121
+ "ONCHAINEARN_REFUND",
1122
+ "STRUCTURE_PRODUCT_SUBSCRIPTION",
1123
+ "STRUCTURE_PRODUCT_REFUND",
1124
+ "CLASSIC_WEALTH_MANAGEMENT_SUBSCRIPTION",
1125
+ "PREMIMUM_WEALTH_MANAGEMENT_SUBSCRIPTION",
1126
+ "PREMIMUM_WEALTH_MANAGEMENT_REFUND",
1127
+ "LIQUIDITY_MINING_SUBSCRIPTION",
1128
+ "LIQUIDITY_MINING_REFUND",
1129
+ "PWM_SUBSCRIPTION",
1130
+ "PWM_REFUND",
1131
+ "BYUSDT_MINT",
1132
+ "BYUSDT_REDEMPTION",
1133
+ "STOCK_TRADE_BUY",
1134
+ "STOCK_TRADE_SELL",
1135
+ "STOCK_TRADE_REFUND"
1136
+ ],
1137
+ max_transfers: 50,
1138
+ device_retry_seconds: 300,
1139
+ device_batches_per_read: 10
1140
+ },
1141
+ bingx: {
1142
+ flow_income_types: [
1143
+ "TRANSFER"
1144
+ ],
1145
+ max_transfers: 1e3,
1146
+ device_retry_seconds: 300,
1147
+ device_batches_per_read: 10
1148
+ },
961
1149
  max_page_size: 100
962
1150
  },
963
1151
  external_inference: {
@@ -1282,6 +1470,23 @@ var runtime_policy_generated_default = {
1282
1470
  background: 6
1283
1471
  },
1284
1472
  display_name: "Hyperliquid",
1473
+ short_code: "HYP",
1474
+ candle_timeframes: [
1475
+ "1m",
1476
+ "5m",
1477
+ "15m",
1478
+ "30m",
1479
+ "1h",
1480
+ "4h",
1481
+ "1d",
1482
+ "1w"
1483
+ ],
1484
+ client_surfaces: [
1485
+ "browser",
1486
+ "desktop",
1487
+ "android",
1488
+ "agent_token"
1489
+ ],
1285
1490
  account_stream_backoff: {
1286
1491
  initial_seconds: 1,
1287
1492
  max_seconds: 15,
@@ -1291,7 +1496,8 @@ var runtime_policy_generated_default = {
1291
1496
  },
1292
1497
  websocket: {
1293
1498
  ping_interval_seconds: 20,
1294
- account_open_timeout_seconds: 10
1499
+ account_open_timeout_seconds: 10,
1500
+ ticker_cache_ttl_seconds: 60
1295
1501
  },
1296
1502
  node: {
1297
1503
  max_info_lag_milliseconds: 1e3
@@ -1300,6 +1506,29 @@ var runtime_policy_generated_default = {
1300
1506
  default_dex_label: "Hyperliquid"
1301
1507
  }
1302
1508
  },
1509
+ fleet_recovery: {
1510
+ permit_lease_seconds: 8,
1511
+ recovery_initial_concurrency: 1,
1512
+ recovery_max_concurrency: 8,
1513
+ recovery_successes_per_step: 4,
1514
+ recovery_min_spacing_ms: 100,
1515
+ queue_poll_ms: 50,
1516
+ fallback_max_seconds: 300,
1517
+ fallback_jitter_min_factor: 0.5,
1518
+ recovery_quiet_seconds: 300,
1519
+ failed_probe_delay_seconds: 2,
1520
+ hit_claim_milliseconds: 2e3
1521
+ },
1522
+ account_rules: {
1523
+ usd_stable_assets: [
1524
+ "USD",
1525
+ "USDC",
1526
+ "USDT",
1527
+ "USDT0",
1528
+ "USDH",
1529
+ "USDe"
1530
+ ]
1531
+ },
1303
1532
  executor: {
1304
1533
  capabilities: [
1305
1534
  "market_orders",
@@ -1313,8 +1542,605 @@ var runtime_policy_generated_default = {
1313
1542
  "trailing_stops"
1314
1543
  ]
1315
1544
  },
1545
+ bound_accounts: {
1546
+ recheck_seconds: 900
1547
+ },
1548
+ observability: {
1549
+ operations: [
1550
+ "order",
1551
+ "cancel",
1552
+ "modify",
1553
+ "leverage",
1554
+ "close",
1555
+ "account_read",
1556
+ "positions_read",
1557
+ "orders_read",
1558
+ "fills_read",
1559
+ "market_read",
1560
+ "candles_read",
1561
+ "key_check",
1562
+ "stream"
1563
+ ],
1564
+ heartbeat_max_entries: 24,
1565
+ endpoint_max_length: 96,
1566
+ error_code_max_length: 32,
1567
+ error_name_max_length: 64,
1568
+ detail_max_entries: 8
1569
+ },
1570
+ lighter: {
1571
+ account_display_fresh_seconds: 120,
1572
+ display_name: "Lighter",
1573
+ key_name: "key",
1574
+ short_code: "LIG",
1575
+ candle_timeframes: [
1576
+ "1m",
1577
+ "5m",
1578
+ "15m",
1579
+ "30m",
1580
+ "1h",
1581
+ "4h",
1582
+ "1d"
1583
+ ],
1584
+ client_surfaces: [
1585
+ "browser",
1586
+ "desktop",
1587
+ "android",
1588
+ "agent_token"
1589
+ ],
1590
+ collateral_asset: "USDC",
1591
+ markets_cache_seconds: 3600,
1592
+ order_expiry_days: 28,
1593
+ order_renew_days_before_expiry: 7,
1594
+ remembered_order_ids: 5e3,
1595
+ ended_order_search_retry_seconds: 300,
1596
+ tx_readback_attempts: 10,
1597
+ tx_readback_interval_milliseconds: 300,
1598
+ auth_token_renew_margin_seconds: 300,
1599
+ fill_lookback_hours: 72,
1600
+ client_request_capacity: {
1601
+ reserve_margin_requests: 6,
1602
+ demand_bucket_seconds: 60,
1603
+ demand_horizon_seconds: 3600,
1604
+ capacity_cut_percent: 70,
1605
+ capacity_min_requests: 6,
1606
+ capacity_recovery_requests_per_minute: 6,
1607
+ rate_limit_pause_seconds: 60,
1608
+ admission_wait_seconds: 10,
1609
+ background_admission_wait_seconds: 90,
1610
+ fleet_reserve_weight: {
1611
+ trading_reduce: 1,
1612
+ trading_reconcile: 2,
1613
+ trading_execute: 3,
1614
+ trading_analysis: 5,
1615
+ ui: 15,
1616
+ background: 20
1617
+ }
1618
+ }
1619
+ },
1620
+ binance: {
1621
+ account_display_fresh_seconds: 30,
1622
+ display_name: "Binance",
1623
+ key_name: "API key",
1624
+ short_code: "BIN",
1625
+ candle_timeframes: [
1626
+ "1m",
1627
+ "5m",
1628
+ "15m",
1629
+ "30m",
1630
+ "1h",
1631
+ "4h",
1632
+ "1d",
1633
+ "1w"
1634
+ ],
1635
+ quote_asset: "USDT",
1636
+ markets_cache_seconds: 3600,
1637
+ recv_window_milliseconds: 5e3,
1638
+ fill_lookback_days: 7,
1639
+ client_request_capacity: {
1640
+ reserve_margin_weight: 100,
1641
+ demand_bucket_seconds: 60,
1642
+ demand_horizon_seconds: 3600,
1643
+ capacity_cut_percent: 70,
1644
+ capacity_min_weight: 480,
1645
+ capacity_recovery_weight_per_minute: 240,
1646
+ rate_limit_pause_seconds: 60,
1647
+ ip_ban_pause_seconds: 120,
1648
+ admission_wait_seconds: 10,
1649
+ background_admission_wait_seconds: 90,
1650
+ fleet_reserve_weight: {
1651
+ trading_reduce: 50,
1652
+ trading_reconcile: 75,
1653
+ trading_execute: 100,
1654
+ trading_analysis: 200,
1655
+ ui: 600,
1656
+ background: 800
1657
+ }
1658
+ },
1659
+ networks: {
1660
+ live: {
1661
+ client_surfaces: [
1662
+ "browser",
1663
+ "desktop",
1664
+ "android",
1665
+ "agent_token"
1666
+ ]
1667
+ },
1668
+ testnet: {
1669
+ client_surfaces: [
1670
+ "desktop",
1671
+ "android",
1672
+ "agent_token"
1673
+ ]
1674
+ }
1675
+ }
1676
+ },
1677
+ mexc: {
1678
+ account_display_fresh_seconds: 30,
1679
+ display_name: "MEXC",
1680
+ key_name: "API key",
1681
+ short_code: "MEX",
1682
+ candle_timeframes: [
1683
+ "1m",
1684
+ "5m",
1685
+ "15m",
1686
+ "30m",
1687
+ "1h",
1688
+ "4h",
1689
+ "1d",
1690
+ "1w"
1691
+ ],
1692
+ quote_asset: "USDT",
1693
+ markets_cache_seconds: 3600,
1694
+ recv_window_seconds: 10,
1695
+ fill_lookback_days: 7,
1696
+ client_surfaces: [
1697
+ "desktop",
1698
+ "android",
1699
+ "agent_token"
1700
+ ],
1701
+ remembered_order_ids: 5e3,
1702
+ ended_order_search_days: 7,
1703
+ ended_order_search_retry_seconds: 300,
1704
+ client_request_capacity: {
1705
+ reserve_margin_weight: 1,
1706
+ demand_bucket_seconds: 60,
1707
+ demand_horizon_seconds: 3600,
1708
+ capacity_cut_percent: 70,
1709
+ capacity_min_weight: 2,
1710
+ capacity_recovery_weight_per_minute: 20,
1711
+ admission_wait_seconds: 10,
1712
+ background_admission_wait_seconds: 30,
1713
+ fleet_reserve_weight: {
1714
+ trading_reduce: 1,
1715
+ trading_reconcile: 1,
1716
+ trading_execute: 1,
1717
+ trading_analysis: 2,
1718
+ ui: 3,
1719
+ background: 4
1720
+ }
1721
+ }
1722
+ },
1723
+ coinbase_intl: {
1724
+ client_request_capacity: {
1725
+ reserve_margin_requests: 2,
1726
+ demand_bucket_seconds: 60,
1727
+ demand_horizon_seconds: 3600,
1728
+ capacity_cut_percent: 70,
1729
+ capacity_min_requests: 2,
1730
+ capacity_recovery_requests_per_minute: 2,
1731
+ admission_wait_seconds: 10,
1732
+ background_admission_wait_seconds: 90,
1733
+ rate_limit_pause_seconds: 5,
1734
+ fleet_reserve_weight: {
1735
+ trading_reduce: 1,
1736
+ trading_reconcile: 1,
1737
+ trading_execute: 2,
1738
+ trading_analysis: 2,
1739
+ ui: 5,
1740
+ background: 6
1741
+ }
1742
+ },
1743
+ account_display_fresh_seconds: 30,
1744
+ quote_asset: "USDC",
1745
+ default_chart_market: "BTC_USDC-PERPETUAL",
1746
+ display_name: "Coinbase International",
1747
+ key_name: "API key name",
1748
+ short_code: "CBI",
1749
+ candle_timeframes: [
1750
+ "1m",
1751
+ "5m",
1752
+ "15m",
1753
+ "30m",
1754
+ "1h",
1755
+ "1d"
1756
+ ],
1757
+ client_surfaces: [
1758
+ "desktop",
1759
+ "android",
1760
+ "agent_token"
1761
+ ],
1762
+ request_timeout_seconds: 10,
1763
+ auth_renew_before_seconds: 60,
1764
+ auth_max_age_seconds: 900,
1765
+ write_window_seconds: 10,
1766
+ server_time_max_age_seconds: 300,
1767
+ markets_cache_seconds: 3600,
1768
+ fill_lookback_days: 7,
1769
+ fill_page_size: 1e3,
1770
+ remembered_order_ids: 5e3,
1771
+ ended_order_search_days: 7,
1772
+ ended_order_search_retry_seconds: 300
1773
+ },
1774
+ okx: {
1775
+ account_display_fresh_seconds: 30,
1776
+ display_name: "OKX",
1777
+ key_name: "API key",
1778
+ short_code: "OKX",
1779
+ candle_timeframes: [
1780
+ "1m",
1781
+ "5m",
1782
+ "15m",
1783
+ "30m",
1784
+ "1h",
1785
+ "4h",
1786
+ "1d",
1787
+ "1w"
1788
+ ],
1789
+ settle_currency: "USDT",
1790
+ markets_cache_seconds: 3600,
1791
+ markets_miss_reread_seconds: 60,
1792
+ order_lifetime_milliseconds: 5e3,
1793
+ order_readback_attempts: 5,
1794
+ order_readback_interval_milliseconds: 200,
1795
+ remembered_order_ids: 5e3,
1796
+ ended_order_search_days: 7,
1797
+ ended_order_search_retry_seconds: 300,
1798
+ fill_lookback_hours: 71,
1799
+ client_request_capacity: {
1800
+ fleet_reserve_weight: {
1801
+ trading_reduce: 1,
1802
+ trading_reconcile: 1,
1803
+ trading_execute: 1,
1804
+ trading_analysis: 2,
1805
+ ui: 3,
1806
+ background: 5
1807
+ },
1808
+ reserve_margin_requests: 1,
1809
+ demand_bucket_seconds: 60,
1810
+ demand_horizon_seconds: 3600,
1811
+ capacity_cut_percent: 70,
1812
+ capacity_min_requests: 2,
1813
+ capacity_recovery_requests_per_minute: 2,
1814
+ admission_wait_seconds: 10,
1815
+ background_admission_wait_seconds: 90
1816
+ },
1817
+ networks: {
1818
+ live: {
1819
+ client_surfaces: [
1820
+ "browser",
1821
+ "desktop",
1822
+ "android",
1823
+ "agent_token"
1824
+ ]
1825
+ },
1826
+ demo: {
1827
+ client_surfaces: [
1828
+ "browser",
1829
+ "desktop",
1830
+ "android",
1831
+ "agent_token"
1832
+ ]
1833
+ }
1834
+ }
1835
+ },
1836
+ bingx: {
1837
+ account_display_fresh_seconds: 30,
1838
+ display_name: "BingX",
1839
+ key_name: "API key",
1840
+ short_code: "BGX",
1841
+ candle_timeframes: [
1842
+ "1m",
1843
+ "5m",
1844
+ "15m",
1845
+ "30m",
1846
+ "1h",
1847
+ "4h",
1848
+ "1d",
1849
+ "1w"
1850
+ ],
1851
+ quote_asset: "USDT",
1852
+ markets_cache_seconds: 3600,
1853
+ recv_window_milliseconds: 5e3,
1854
+ fill_lookback_days: 7,
1855
+ client_request_capacity: {
1856
+ reserve_margin_requests: 50,
1857
+ demand_bucket_seconds: 60,
1858
+ demand_horizon_seconds: 3600,
1859
+ capacity_cut_percent: 70,
1860
+ capacity_min_requests: 100,
1861
+ capacity_recovery_requests_per_minute: 50,
1862
+ rate_limit_pause_seconds: 10,
1863
+ ip_ban_pause_seconds: 120,
1864
+ admission_wait_seconds: 10,
1865
+ background_admission_wait_seconds: 90,
1866
+ fleet_reserve_weight: {
1867
+ trading_reduce: 10,
1868
+ trading_reconcile: 15,
1869
+ trading_execute: 20,
1870
+ trading_analysis: 40,
1871
+ ui: 100,
1872
+ background: 125
1873
+ }
1874
+ },
1875
+ networks: {
1876
+ live: {
1877
+ client_surfaces: [
1878
+ "desktop",
1879
+ "android",
1880
+ "agent_token"
1881
+ ]
1882
+ },
1883
+ vst: {
1884
+ client_surfaces: [
1885
+ "desktop",
1886
+ "android",
1887
+ "agent_token"
1888
+ ]
1889
+ }
1890
+ }
1891
+ },
1892
+ bitget: {
1893
+ account_display_fresh_seconds: 30,
1894
+ display_name: "Bitget",
1895
+ key_name: "API key",
1896
+ short_code: "BIT",
1897
+ candle_timeframes: [
1898
+ "1m",
1899
+ "5m",
1900
+ "15m",
1901
+ "30m",
1902
+ "1h",
1903
+ "4h",
1904
+ "1d",
1905
+ "1w"
1906
+ ],
1907
+ product_type: "USDT-FUTURES",
1908
+ quote_asset: "USDT",
1909
+ markets_cache_seconds: 3600,
1910
+ fill_lookback_days: 7,
1911
+ remembered_order_ids: 5e3,
1912
+ ended_order_search_days: 7,
1913
+ ended_order_search_retry_seconds: 300,
1914
+ old_open_order_search_seconds: 3600,
1915
+ client_request_capacity: {
1916
+ reserve_margin_weight: 2,
1917
+ demand_bucket_seconds: 60,
1918
+ demand_horizon_seconds: 3600,
1919
+ capacity_cut_percent: 70,
1920
+ capacity_min_weight: 4,
1921
+ capacity_recovery_weight_per_minute: 60,
1922
+ admission_wait_seconds: 10,
1923
+ background_admission_wait_seconds: 90,
1924
+ fleet_reserve_weight: {
1925
+ trading_reduce: 1,
1926
+ trading_reconcile: 1,
1927
+ trading_execute: 2,
1928
+ trading_analysis: 2,
1929
+ ui: 5,
1930
+ background: 6
1931
+ }
1932
+ },
1933
+ networks: {
1934
+ live: {
1935
+ client_surfaces: [
1936
+ "desktop",
1937
+ "android",
1938
+ "agent_token"
1939
+ ]
1940
+ },
1941
+ demo: {
1942
+ client_surfaces: [
1943
+ "desktop",
1944
+ "android",
1945
+ "agent_token"
1946
+ ]
1947
+ }
1948
+ }
1949
+ },
1950
+ kraken_futures: {
1951
+ account_display_fresh_seconds: 30,
1952
+ display_name: "Kraken Futures",
1953
+ key_name: "API key",
1954
+ short_code: "KRA",
1955
+ candle_timeframes: [
1956
+ "1m",
1957
+ "5m",
1958
+ "15m",
1959
+ "30m",
1960
+ "1h",
1961
+ "4h",
1962
+ "1d",
1963
+ "1w"
1964
+ ],
1965
+ client_surfaces: [
1966
+ "desktop",
1967
+ "android",
1968
+ "agent_token"
1969
+ ],
1970
+ markets_cache_seconds: 3600,
1971
+ fill_lookback_days: 7,
1972
+ history_pages_per_read: 10,
1973
+ funding_log_page_entries: 1e3,
1974
+ request_capacity: {
1975
+ reserve_margin_weight: 100,
1976
+ demand_bucket_seconds: 60,
1977
+ demand_horizon_seconds: 3600,
1978
+ capacity_cut_percent: 70,
1979
+ capacity_min_weight: 100,
1980
+ capacity_recovery_weight_per_minute: 50,
1981
+ derivatives_limit_pause_seconds: 10,
1982
+ history_limit_pause_seconds: 60,
1983
+ admission_wait_seconds: 5,
1984
+ background_admission_wait_seconds: 30
1985
+ }
1986
+ },
1987
+ aster: {
1988
+ account_display_fresh_seconds: 30,
1989
+ quote_asset: "USDT",
1990
+ display_name: "Aster",
1991
+ key_name: "API wallet",
1992
+ short_code: "AST",
1993
+ candle_timeframes: [
1994
+ "1m",
1995
+ "5m",
1996
+ "15m",
1997
+ "30m",
1998
+ "1h",
1999
+ "4h",
2000
+ "1d",
2001
+ "1w"
2002
+ ],
2003
+ client_surfaces: [
2004
+ "browser",
2005
+ "desktop",
2006
+ "android",
2007
+ "agent_token"
2008
+ ],
2009
+ markets_cache_seconds: 3600,
2010
+ fill_lookback_days: 7,
2011
+ client_request_capacity: {
2012
+ reserve_margin_weight: 100,
2013
+ demand_bucket_seconds: 60,
2014
+ demand_horizon_seconds: 3600,
2015
+ capacity_cut_percent: 70,
2016
+ capacity_min_weight: 480,
2017
+ capacity_recovery_weight_per_minute: 240,
2018
+ rate_limit_pause_seconds: 60,
2019
+ ip_ban_pause_seconds: 120,
2020
+ admission_wait_seconds: 10,
2021
+ background_admission_wait_seconds: 90,
2022
+ fleet_reserve_weight: {
2023
+ trading_reduce: 50,
2024
+ trading_reconcile: 75,
2025
+ trading_execute: 100,
2026
+ trading_analysis: 200,
2027
+ ui: 600,
2028
+ background: 800
2029
+ }
2030
+ }
2031
+ },
2032
+ kucoin_futures: {
2033
+ account_display_fresh_seconds: 30,
2034
+ display_name: "KuCoin Futures",
2035
+ key_name: "API key",
2036
+ short_code: "KUC",
2037
+ candle_timeframes: [
2038
+ "1m",
2039
+ "5m",
2040
+ "15m",
2041
+ "30m",
2042
+ "1h",
2043
+ "4h",
2044
+ "1d",
2045
+ "1w"
2046
+ ],
2047
+ client_surfaces: [
2048
+ "desktop",
2049
+ "android",
2050
+ "agent_token"
2051
+ ],
2052
+ settle_currency: "USDT",
2053
+ markets_cache_seconds: 3600,
2054
+ remembered_order_ids: 5e3,
2055
+ ended_order_search_days: 7,
2056
+ ended_order_search_retry_seconds: 300,
2057
+ client_request_capacity: {
2058
+ reserve_margin_weight: 100,
2059
+ demand_bucket_seconds: 60,
2060
+ demand_horizon_seconds: 3600,
2061
+ capacity_cut_percent: 70,
2062
+ capacity_min_weight: 200,
2063
+ capacity_recovery_weight_per_minute: 100,
2064
+ admission_wait_seconds: 10,
2065
+ background_admission_wait_seconds: 60,
2066
+ fleet_reserve_weight: {
2067
+ trading_reduce: 50,
2068
+ trading_reconcile: 75,
2069
+ trading_execute: 100,
2070
+ trading_analysis: 200,
2071
+ ui: 500,
2072
+ background: 700
2073
+ }
2074
+ }
2075
+ },
2076
+ bybit: {
2077
+ client_request_capacity: {
2078
+ reserve_margin_weight: 60,
2079
+ demand_bucket_seconds: 60,
2080
+ demand_horizon_seconds: 3600,
2081
+ capacity_cut_percent: 70,
2082
+ capacity_min_weight: 60,
2083
+ capacity_recovery_weight_per_minute: 60,
2084
+ admission_wait_seconds: 10,
2085
+ background_admission_wait_seconds: 60,
2086
+ fleet_reserve_weight: {
2087
+ trading_reduce: 15,
2088
+ trading_reconcile: 20,
2089
+ trading_execute: 25,
2090
+ trading_analysis: 50,
2091
+ ui: 150,
2092
+ background: 200
2093
+ }
2094
+ },
2095
+ display_name: "Bybit",
2096
+ key_name: "API key",
2097
+ short_code: "BYB",
2098
+ candle_timeframes: [
2099
+ "1m",
2100
+ "5m",
2101
+ "15m",
2102
+ "30m",
2103
+ "1h",
2104
+ "4h",
2105
+ "1d",
2106
+ "1w"
2107
+ ],
2108
+ client_surfaces: [
2109
+ "browser",
2110
+ "desktop",
2111
+ "android",
2112
+ "agent_token"
2113
+ ],
2114
+ settle_coin: "USDT",
2115
+ account_display_fresh_seconds: 30,
2116
+ markets_cache_seconds: 3600,
2117
+ recv_window_milliseconds: 5e3,
2118
+ order_readback_attempts: 5,
2119
+ order_readback_interval_milliseconds: 200,
2120
+ remembered_order_ids: 5e3,
2121
+ ended_order_search_days: 7,
2122
+ ended_order_search_retry_seconds: 300,
2123
+ fill_lookback_hours: 167
2124
+ },
1316
2125
  mt5: {
1317
2126
  display_name: "MetaTrader 5",
2127
+ short_code: "MT5",
2128
+ candle_timeframes: [
2129
+ "1m",
2130
+ "5m",
2131
+ "15m",
2132
+ "30m",
2133
+ "1h",
2134
+ "4h",
2135
+ "1d",
2136
+ "1w"
2137
+ ],
2138
+ client_surfaces: [
2139
+ "browser",
2140
+ "desktop",
2141
+ "android",
2142
+ "agent_token"
2143
+ ],
1318
2144
  bridge_download_path: "/downloads/mt5/VtxBridge.ex5",
1319
2145
  trading_enabled: true,
1320
2146
  status_poll_seconds: 5,
@@ -1323,8 +2149,7 @@ var runtime_policy_generated_default = {
1323
2149
  request_timeout_seconds: 15,
1324
2150
  write_expires_after_seconds: 60,
1325
2151
  deal_lookback_days: 7,
1326
- deal_clock_allowance_seconds: 60,
1327
- stop_distance_margin: 0.5
2152
+ deal_clock_allowance_seconds: 60
1328
2153
  },
1329
2154
  cache: {
1330
2155
  available_assets_ttl_seconds: 300,
@@ -1339,6 +2164,12 @@ var runtime_policy_generated_default = {
1339
2164
  range_page_limit: 500
1340
2165
  }
1341
2166
  },
2167
+ observability: {
2168
+ hyperliquid_rollup: {
2169
+ enabled: true,
2170
+ exchange_latency_samples_per_minute: 200
2171
+ }
2172
+ },
1342
2173
  external_news: {
1343
2174
  benzinga: {
1344
2175
  enabled: false
@@ -1622,6 +2453,282 @@ var ERROR_REDACTION_RULES = {
1622
2453
  }
1623
2454
  ]
1624
2455
  };
2456
+ var BINANCE_REQUEST_CONTRACT = {
2457
+ "weight_interval": "1m",
2458
+ "apis": {
2459
+ "futures": {
2460
+ "weight_window_seconds": 60,
2461
+ "weight_per_window": 2400,
2462
+ "orders": [
2463
+ {
2464
+ "interval": "10s",
2465
+ "window_seconds": 10,
2466
+ "limit": 300
2467
+ },
2468
+ {
2469
+ "interval": "1m",
2470
+ "window_seconds": 60,
2471
+ "limit": 1200
2472
+ }
2473
+ ]
2474
+ },
2475
+ "spot": {
2476
+ "weight_window_seconds": 60,
2477
+ "weight_per_window": 6e3,
2478
+ "orders": []
2479
+ }
2480
+ },
2481
+ "klines": {
2482
+ "default_limit": 500,
2483
+ "limit_max": 1500,
2484
+ "weight_tiers": [
2485
+ {
2486
+ "max_limit": 99,
2487
+ "weight": 1
2488
+ },
2489
+ {
2490
+ "max_limit": 499,
2491
+ "weight": 2
2492
+ },
2493
+ {
2494
+ "max_limit": 1e3,
2495
+ "weight": 5
2496
+ },
2497
+ {
2498
+ "max_limit": 1500,
2499
+ "weight": 10
2500
+ }
2501
+ ]
2502
+ },
2503
+ "costs": {
2504
+ "futures": {
2505
+ "GET /fapi/v1/time": {
2506
+ "weight": 1
2507
+ },
2508
+ "GET /fapi/v1/exchangeInfo": {
2509
+ "weight": 1
2510
+ },
2511
+ "GET /fapi/v1/premiumIndex": {
2512
+ "weight": 1,
2513
+ "weight_all_symbols": 10
2514
+ },
2515
+ "GET /fapi/v2/ticker/price": {
2516
+ "weight": 1,
2517
+ "weight_all_symbols": 2,
2518
+ "used_weight_header_unreliable": true
2519
+ },
2520
+ "GET /fapi/v1/klines": {
2521
+ "weight_by_klines_limit": true
2522
+ },
2523
+ "GET /fapi/v1/accountConfig": {
2524
+ "weight": 5
2525
+ },
2526
+ "GET /fapi/v1/symbolConfig": {
2527
+ "weight": 5
2528
+ },
2529
+ "GET /fapi/v1/positionSide/dual": {
2530
+ "weight": 30
2531
+ },
2532
+ "GET /fapi/v1/multiAssetsMargin": {
2533
+ "weight": 30
2534
+ },
2535
+ "GET /fapi/v3/account": {
2536
+ "weight": 5
2537
+ },
2538
+ "GET /fapi/v3/balance": {
2539
+ "weight": 5
2540
+ },
2541
+ "GET /fapi/v3/positionRisk": {
2542
+ "weight": 5
2543
+ },
2544
+ "GET /fapi/v1/openOrders": {
2545
+ "weight": 1,
2546
+ "weight_all_symbols": 40
2547
+ },
2548
+ "GET /fapi/v1/order": {
2549
+ "weight": 1
2550
+ },
2551
+ "GET /fapi/v1/openAlgoOrders": {
2552
+ "weight": 1,
2553
+ "weight_all_symbols": 40
2554
+ },
2555
+ "GET /fapi/v1/algoOrder": {
2556
+ "weight": 1
2557
+ },
2558
+ "GET /fapi/v1/userTrades": {
2559
+ "weight": 5
2560
+ },
2561
+ "GET /fapi/v1/allOrders": {
2562
+ "weight": 5
2563
+ },
2564
+ "GET /fapi/v1/income": {
2565
+ "weight": 30
2566
+ },
2567
+ "GET /fapi/v1/leverageBracket": {
2568
+ "weight": 1
2569
+ },
2570
+ "GET /fapi/v1/commissionRate": {
2571
+ "weight": 20
2572
+ },
2573
+ "POST /fapi/v1/order": {
2574
+ "weight": 0,
2575
+ "orders": {
2576
+ "10s": 1,
2577
+ "1m": 1
2578
+ }
2579
+ },
2580
+ "PUT /fapi/v1/order": {
2581
+ "weight": 0,
2582
+ "orders": {
2583
+ "10s": 1,
2584
+ "1m": 1
2585
+ }
2586
+ },
2587
+ "POST /fapi/v1/batchOrders": {
2588
+ "weight": 5,
2589
+ "orders": {
2590
+ "10s": 5,
2591
+ "1m": 1
2592
+ }
2593
+ },
2594
+ "PUT /fapi/v1/batchOrders": {
2595
+ "weight": 5,
2596
+ "orders": {
2597
+ "10s": 5,
2598
+ "1m": 1
2599
+ }
2600
+ },
2601
+ "POST /fapi/v1/algoOrder": {
2602
+ "weight": 0,
2603
+ "orders": {
2604
+ "10s": 1,
2605
+ "1m": 1
2606
+ }
2607
+ },
2608
+ "DELETE /fapi/v1/order": {
2609
+ "weight": 1
2610
+ },
2611
+ "DELETE /fapi/v1/batchOrders": {
2612
+ "weight": 1
2613
+ },
2614
+ "DELETE /fapi/v1/allOpenOrders": {
2615
+ "weight": 1
2616
+ },
2617
+ "DELETE /fapi/v1/algoOrder": {
2618
+ "weight": 1
2619
+ },
2620
+ "DELETE /fapi/v1/algoOpenOrders": {
2621
+ "weight": 1
2622
+ },
2623
+ "POST /fapi/v1/leverage": {
2624
+ "weight": 1
2625
+ },
2626
+ "POST /fapi/v1/marginType": {
2627
+ "weight": 1
2628
+ },
2629
+ "POST /fapi/v1/positionSide/dual": {
2630
+ "weight": 1
2631
+ },
2632
+ "POST /fapi/v1/multiAssetsMargin": {
2633
+ "weight": 1
2634
+ }
2635
+ },
2636
+ "spot": {
2637
+ "GET /api/v3/time": {
2638
+ "weight": 1
2639
+ },
2640
+ "GET /api/v3/account": {
2641
+ "weight": 20
2642
+ },
2643
+ "GET /sapi/v1/account/apiRestrictions": {
2644
+ "weight": 1
2645
+ }
2646
+ }
2647
+ }
2648
+ };
2649
+ var BINANCE_ERROR_CODES = {
2650
+ "codes": {
2651
+ "UNKNOWN": -1e3,
2652
+ "DISCONNECTED": -1001,
2653
+ "UNAUTHORIZED": -1002,
2654
+ "TOO_MANY_REQUESTS": -1003,
2655
+ "UNEXPECTED_RESPONSE": -1006,
2656
+ "TIMEOUT": -1007,
2657
+ "REQUEST_THROTTLED": -1008,
2658
+ "INVALID_MESSAGE": -1013,
2659
+ "TOO_MANY_ORDERS": -1015,
2660
+ "SERVICE_SHUTTING_DOWN": -1016,
2661
+ "INVALID_TIMESTAMP": -1021,
2662
+ "INVALID_SIGNATURE": -1022,
2663
+ "MANDATORY_PARAM_EMPTY_OR_MALFORMED": -1102,
2664
+ "BAD_PRECISION": -1111,
2665
+ "INVALID_ORDER_TYPE": -1116,
2666
+ "BAD_SYMBOL": -1121,
2667
+ "INVALID_PARAMETER": -1130,
2668
+ "NEW_ORDER_REJECTED": -2010,
2669
+ "CANCEL_REJECTED": -2011,
2670
+ "NO_SUCH_ORDER": -2013,
2671
+ "BAD_API_KEY_FORMAT": -2014,
2672
+ "REJECTED_API_KEY": -2015,
2673
+ "BALANCE_NOT_SUFFICIENT": -2018,
2674
+ "MARGIN_NOT_SUFFICIENT": -2019,
2675
+ "UNABLE_TO_FILL": -2020,
2676
+ "ORDER_WOULD_IMMEDIATELY_TRIGGER": -2021,
2677
+ "REDUCE_ONLY_REJECT": -2022,
2678
+ "POSITION_NOT_SUFFICIENT": -2024,
2679
+ "MAX_OPEN_ORDER_EXCEEDED": -2025,
2680
+ "REDUCE_ONLY_ORDER_TYPE_NOT_SUPPORTED": -2026,
2681
+ "MAX_LEVERAGE_RATIO": -2027,
2682
+ "MIN_LEVERAGE_RATIO": -2028,
2683
+ "PRICE_GREATER_THAN_MAX_PRICE": -4002,
2684
+ "QTY_LESS_THAN_ZERO": -4003,
2685
+ "QTY_LESS_THAN_MIN_QTY": -4004,
2686
+ "QTY_GREATER_THAN_MAX_QTY": -4005,
2687
+ "STOP_PRICE_GREATER_THAN_MAX_PRICE": -4007,
2688
+ "PRICE_LESS_THAN_MIN_PRICE": -4013,
2689
+ "PRICE_NOT_INCREASED_BY_TICK_SIZE": -4014,
2690
+ "INVALID_CLIENT_ORDER_ID": -4015,
2691
+ "PRICE_HIGHER_THAN_MULTIPLIER_UP": -4016,
2692
+ "QTY_NOT_INCREASED_BY_STEP_SIZE": -4023,
2693
+ "PRICE_LOWER_THAN_MULTIPLIER_DOWN": -4024,
2694
+ "INVALID_LEVERAGE": -4028,
2695
+ "MAX_STOP_ORDER_EXCEEDED": -4045,
2696
+ "NO_NEED_TO_CHANGE_MARGIN_TYPE": -4046,
2697
+ "MARGIN_TYPE_BLOCKED_BY_OPEN_ORDERS": -4047,
2698
+ "MARGIN_TYPE_BLOCKED_BY_POSITION": -4048,
2699
+ "NO_NEED_TO_CHANGE_POSITION_SIDE": -4059,
2700
+ "POSITION_SIDE_NOT_MATCH": -4061,
2701
+ "REDUCE_ONLY_CONFLICT": -4062,
2702
+ "REDUCE_ONLY_ORDER_PERMISSION": -4087,
2703
+ "SYMBOL_REDUCE_ONLY": -4105,
2704
+ "SYMBOL_REDUCE_ONLY_BUY": -4106,
2705
+ "SYMBOL_REDUCE_ONLY_SELL": -4107,
2706
+ "INACTIVE_ACCOUNT": -4109,
2707
+ "DUPLICATED_CLIENT_ORDER_ID": -4116,
2708
+ "REDUCE_ONLY_MARGIN_CHECK_FAILED": -4118,
2709
+ "STOP_ORDER_SWITCH_ALGO": -4120,
2710
+ "MARKET_ORDER_REJECT": -4131,
2711
+ "QUANTITY_EXISTS_WITH_CLOSE_POSITION": -4137,
2712
+ "REDUCE_ONLY_MUST_BE_TRUE": -4138,
2713
+ "INVALID_OPENING_POSITION_STATUS": -4140,
2714
+ "STRATEGY_INVALID_TRIGGER_PRICE": -4142,
2715
+ "ISOLATED_LEVERAGE_REJECT_WITH_POSITION": -4161,
2716
+ "MIN_NOTIONAL": -4164,
2717
+ "PRICE_HIGHER_THAN_STOP_MULTIPLIER_UP": -4183,
2718
+ "PRICE_LOWER_THAN_STOP_MULTIPLIER_DOWN": -4184,
2719
+ "ACCOUNT_REDUCE_ONLY": -4189,
2720
+ "ADJUST_LEVERAGE_ONE_MONTH_FAILED": -4203,
2721
+ "ADJUST_LEVERAGE_X_DAYS_FAILED": -4205,
2722
+ "ADJUST_LEVERAGE_SYMBOL_FAILED": -4209,
2723
+ "STOP_PRICE_HIGHER_THAN_PRICE_MULTIPLIER_LIMIT": -4210,
2724
+ "STOP_PRICE_LOWER_THAN_PRICE_MULTIPLIER_LIMIT": -4211,
2725
+ "ADJUST_LEVERAGE_COMPLIANCE_FAILED": -4403,
2726
+ "FOK_ORDER_REJECT": -5021,
2727
+ "GTX_ORDER_REJECT": -5022,
2728
+ "ME_RECVWINDOW_REJECT": -5028,
2729
+ "MODIFICATION_MIN_NOTIONAL": -5029
2730
+ }
2731
+ };
1625
2732
 
1626
2733
  // lib/constants.ts
1627
2734
  var MS_PER_SECOND = 1e3;
@@ -1681,6 +2788,37 @@ var AI_SNAPSHOT_PACKED_ENTRY_FIELDS = AI_SNAPSHOT_WIRE_FORMAT.packed_entry_field
1681
2788
  var MT5_SYNTHETIC_LEG_ID_BASE = 2 ** 52;
1682
2789
  var MT5_SYNTHETIC_LEG_KINDS = 2;
1683
2790
  var MT5_SYNTHETIC_LEG_OPENING_LIMIT = (2 ** 53 - MT5_SYNTHETIC_LEG_ID_BASE) / MT5_SYNTHETIC_LEG_KINDS;
2791
+ var BINANCE_USER_TRADES_WINDOW_MS = DAYS_PER_WEEK * MS_PER_DAY;
2792
+ var BINANCE_ALL_ORDERS_WINDOW_MS = DAYS_PER_WEEK * MS_PER_DAY;
2793
+ var BINANCE_REQUESTS = BINANCE_REQUEST_CONTRACT;
2794
+ var BINANCE_KLINES_LIMIT_MAX = BINANCE_REQUESTS.klines.limit_max;
2795
+ var BINANCE_REQUEST_WEIGHT_WINDOW_MS = BINANCE_REQUESTS.apis.futures.weight_window_seconds * MS_PER_SECOND;
2796
+ var BINANCE_REQUEST_WEIGHT_INTERVAL = BINANCE_REQUESTS.weight_interval;
2797
+ var binanceApiLimits = (api) => ({
2798
+ weightPerWindow: api.weight_per_window,
2799
+ orders: api.orders.map((order) => ({ interval: order.interval, windowMs: order.window_seconds * MS_PER_SECOND, limit: order.limit }))
2800
+ });
2801
+ var BINANCE_REQUEST_LIMITS = {
2802
+ futures: binanceApiLimits(BINANCE_REQUESTS.apis.futures),
2803
+ spot: binanceApiLimits(BINANCE_REQUESTS.apis.spot)
2804
+ };
2805
+ var BINANCE_KLINES_DEFAULT_LIMIT = BINANCE_REQUESTS.klines.default_limit;
2806
+ var BINANCE_KLINES_WEIGHT_TIERS = BINANCE_REQUESTS.klines.weight_tiers.map(
2807
+ (tier) => ({ maxLimit: tier.max_limit, weight: tier.weight })
2808
+ );
2809
+ var binanceCostSpec = (cost) => ({
2810
+ ...cost.weight !== void 0 ? { weight: cost.weight } : {},
2811
+ ...cost.weight_all_symbols !== void 0 ? { weightAllSymbols: cost.weight_all_symbols } : {},
2812
+ ...cost.weight_by_klines_limit ? { weightByLimit: BINANCE_KLINES_WEIGHT_TIERS } : {},
2813
+ ...cost.orders ? { orders: cost.orders } : {},
2814
+ ...cost.used_weight_header_unreliable ? { usedWeightHeaderUnreliable: true } : {}
2815
+ });
2816
+ var binanceCosts = (costs) => Object.fromEntries(Object.entries(costs).map(([request, cost]) => [request, binanceCostSpec(cost)]));
2817
+ var BINANCE_REQUEST_COSTS = {
2818
+ futures: binanceCosts(BINANCE_REQUESTS.costs.futures),
2819
+ spot: binanceCosts(BINANCE_REQUESTS.costs.spot)
2820
+ };
2821
+ var BINANCE_ERROR_CODE = BINANCE_ERROR_CODES.codes;
1684
2822
 
1685
2823
  // lib/cli-release/updater.ts
1686
2824
  import { spawn as spawn2 } from "node:child_process";