@vtxmacro/cli 2026.10.76 → 2026.10.77

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