@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.
package/bin/vtx-mcp.js CHANGED
@@ -43,12 +43,12 @@ var init_define_VTX_PI_MODEL_POLICY = __esm({
43
43
  var agent_cli_release_default;
44
44
  var init_agent_cli_release = __esm({
45
45
  "agent-cli-release.json"() {
46
- 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" } } };
46
+ 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" } } };
47
47
  }
48
48
  });
49
49
 
50
50
  // lib/shared-contracts.generated.ts
51
- var AI_SNAPSHOT_WIRE_FORMAT, BYOK_PROVIDER_REGISTRY, HYPERLIQUID_EXCHANGE_SPECIFICATION, HYPERLIQUID_ROW_WEIGHTED_INFO_CHARGE, HYPERLIQUID_CANDLE_SNAPSHOT_CHARGE, ERROR_REDACTION_RULES;
51
+ var AI_SNAPSHOT_WIRE_FORMAT, BYOK_PROVIDER_REGISTRY, HYPERLIQUID_EXCHANGE_SPECIFICATION, HYPERLIQUID_ROW_WEIGHTED_INFO_CHARGE, HYPERLIQUID_CANDLE_SNAPSHOT_CHARGE, ERROR_REDACTION_RULES, BINANCE_REQUEST_CONTRACT, BINANCE_ERROR_CODES;
52
52
  var init_shared_contracts_generated = __esm({
53
53
  "lib/shared-contracts.generated.ts"() {
54
54
  "use strict";
@@ -460,11 +460,287 @@ var init_shared_contracts_generated = __esm({
460
460
  }
461
461
  ]
462
462
  };
463
+ BINANCE_REQUEST_CONTRACT = {
464
+ "weight_interval": "1m",
465
+ "apis": {
466
+ "futures": {
467
+ "weight_window_seconds": 60,
468
+ "weight_per_window": 2400,
469
+ "orders": [
470
+ {
471
+ "interval": "10s",
472
+ "window_seconds": 10,
473
+ "limit": 300
474
+ },
475
+ {
476
+ "interval": "1m",
477
+ "window_seconds": 60,
478
+ "limit": 1200
479
+ }
480
+ ]
481
+ },
482
+ "spot": {
483
+ "weight_window_seconds": 60,
484
+ "weight_per_window": 6e3,
485
+ "orders": []
486
+ }
487
+ },
488
+ "klines": {
489
+ "default_limit": 500,
490
+ "limit_max": 1500,
491
+ "weight_tiers": [
492
+ {
493
+ "max_limit": 99,
494
+ "weight": 1
495
+ },
496
+ {
497
+ "max_limit": 499,
498
+ "weight": 2
499
+ },
500
+ {
501
+ "max_limit": 1e3,
502
+ "weight": 5
503
+ },
504
+ {
505
+ "max_limit": 1500,
506
+ "weight": 10
507
+ }
508
+ ]
509
+ },
510
+ "costs": {
511
+ "futures": {
512
+ "GET /fapi/v1/time": {
513
+ "weight": 1
514
+ },
515
+ "GET /fapi/v1/exchangeInfo": {
516
+ "weight": 1
517
+ },
518
+ "GET /fapi/v1/premiumIndex": {
519
+ "weight": 1,
520
+ "weight_all_symbols": 10
521
+ },
522
+ "GET /fapi/v2/ticker/price": {
523
+ "weight": 1,
524
+ "weight_all_symbols": 2,
525
+ "used_weight_header_unreliable": true
526
+ },
527
+ "GET /fapi/v1/klines": {
528
+ "weight_by_klines_limit": true
529
+ },
530
+ "GET /fapi/v1/accountConfig": {
531
+ "weight": 5
532
+ },
533
+ "GET /fapi/v1/symbolConfig": {
534
+ "weight": 5
535
+ },
536
+ "GET /fapi/v1/positionSide/dual": {
537
+ "weight": 30
538
+ },
539
+ "GET /fapi/v1/multiAssetsMargin": {
540
+ "weight": 30
541
+ },
542
+ "GET /fapi/v3/account": {
543
+ "weight": 5
544
+ },
545
+ "GET /fapi/v3/balance": {
546
+ "weight": 5
547
+ },
548
+ "GET /fapi/v3/positionRisk": {
549
+ "weight": 5
550
+ },
551
+ "GET /fapi/v1/openOrders": {
552
+ "weight": 1,
553
+ "weight_all_symbols": 40
554
+ },
555
+ "GET /fapi/v1/order": {
556
+ "weight": 1
557
+ },
558
+ "GET /fapi/v1/openAlgoOrders": {
559
+ "weight": 1,
560
+ "weight_all_symbols": 40
561
+ },
562
+ "GET /fapi/v1/algoOrder": {
563
+ "weight": 1
564
+ },
565
+ "GET /fapi/v1/userTrades": {
566
+ "weight": 5
567
+ },
568
+ "GET /fapi/v1/allOrders": {
569
+ "weight": 5
570
+ },
571
+ "GET /fapi/v1/income": {
572
+ "weight": 30
573
+ },
574
+ "GET /fapi/v1/leverageBracket": {
575
+ "weight": 1
576
+ },
577
+ "GET /fapi/v1/commissionRate": {
578
+ "weight": 20
579
+ },
580
+ "POST /fapi/v1/order": {
581
+ "weight": 0,
582
+ "orders": {
583
+ "10s": 1,
584
+ "1m": 1
585
+ }
586
+ },
587
+ "PUT /fapi/v1/order": {
588
+ "weight": 0,
589
+ "orders": {
590
+ "10s": 1,
591
+ "1m": 1
592
+ }
593
+ },
594
+ "POST /fapi/v1/batchOrders": {
595
+ "weight": 5,
596
+ "orders": {
597
+ "10s": 5,
598
+ "1m": 1
599
+ }
600
+ },
601
+ "PUT /fapi/v1/batchOrders": {
602
+ "weight": 5,
603
+ "orders": {
604
+ "10s": 5,
605
+ "1m": 1
606
+ }
607
+ },
608
+ "POST /fapi/v1/algoOrder": {
609
+ "weight": 0,
610
+ "orders": {
611
+ "10s": 1,
612
+ "1m": 1
613
+ }
614
+ },
615
+ "DELETE /fapi/v1/order": {
616
+ "weight": 1
617
+ },
618
+ "DELETE /fapi/v1/batchOrders": {
619
+ "weight": 1
620
+ },
621
+ "DELETE /fapi/v1/allOpenOrders": {
622
+ "weight": 1
623
+ },
624
+ "DELETE /fapi/v1/algoOrder": {
625
+ "weight": 1
626
+ },
627
+ "DELETE /fapi/v1/algoOpenOrders": {
628
+ "weight": 1
629
+ },
630
+ "POST /fapi/v1/leverage": {
631
+ "weight": 1
632
+ },
633
+ "POST /fapi/v1/marginType": {
634
+ "weight": 1
635
+ },
636
+ "POST /fapi/v1/positionSide/dual": {
637
+ "weight": 1
638
+ },
639
+ "POST /fapi/v1/multiAssetsMargin": {
640
+ "weight": 1
641
+ }
642
+ },
643
+ "spot": {
644
+ "GET /api/v3/time": {
645
+ "weight": 1
646
+ },
647
+ "GET /api/v3/account": {
648
+ "weight": 20
649
+ },
650
+ "GET /sapi/v1/account/apiRestrictions": {
651
+ "weight": 1
652
+ }
653
+ }
654
+ }
655
+ };
656
+ BINANCE_ERROR_CODES = {
657
+ "codes": {
658
+ "UNKNOWN": -1e3,
659
+ "DISCONNECTED": -1001,
660
+ "UNAUTHORIZED": -1002,
661
+ "TOO_MANY_REQUESTS": -1003,
662
+ "UNEXPECTED_RESPONSE": -1006,
663
+ "TIMEOUT": -1007,
664
+ "REQUEST_THROTTLED": -1008,
665
+ "INVALID_MESSAGE": -1013,
666
+ "TOO_MANY_ORDERS": -1015,
667
+ "SERVICE_SHUTTING_DOWN": -1016,
668
+ "INVALID_TIMESTAMP": -1021,
669
+ "INVALID_SIGNATURE": -1022,
670
+ "MANDATORY_PARAM_EMPTY_OR_MALFORMED": -1102,
671
+ "BAD_PRECISION": -1111,
672
+ "INVALID_ORDER_TYPE": -1116,
673
+ "BAD_SYMBOL": -1121,
674
+ "INVALID_PARAMETER": -1130,
675
+ "NEW_ORDER_REJECTED": -2010,
676
+ "CANCEL_REJECTED": -2011,
677
+ "NO_SUCH_ORDER": -2013,
678
+ "BAD_API_KEY_FORMAT": -2014,
679
+ "REJECTED_API_KEY": -2015,
680
+ "BALANCE_NOT_SUFFICIENT": -2018,
681
+ "MARGIN_NOT_SUFFICIENT": -2019,
682
+ "UNABLE_TO_FILL": -2020,
683
+ "ORDER_WOULD_IMMEDIATELY_TRIGGER": -2021,
684
+ "REDUCE_ONLY_REJECT": -2022,
685
+ "POSITION_NOT_SUFFICIENT": -2024,
686
+ "MAX_OPEN_ORDER_EXCEEDED": -2025,
687
+ "REDUCE_ONLY_ORDER_TYPE_NOT_SUPPORTED": -2026,
688
+ "MAX_LEVERAGE_RATIO": -2027,
689
+ "MIN_LEVERAGE_RATIO": -2028,
690
+ "PRICE_GREATER_THAN_MAX_PRICE": -4002,
691
+ "QTY_LESS_THAN_ZERO": -4003,
692
+ "QTY_LESS_THAN_MIN_QTY": -4004,
693
+ "QTY_GREATER_THAN_MAX_QTY": -4005,
694
+ "STOP_PRICE_GREATER_THAN_MAX_PRICE": -4007,
695
+ "PRICE_LESS_THAN_MIN_PRICE": -4013,
696
+ "PRICE_NOT_INCREASED_BY_TICK_SIZE": -4014,
697
+ "INVALID_CLIENT_ORDER_ID": -4015,
698
+ "PRICE_HIGHER_THAN_MULTIPLIER_UP": -4016,
699
+ "QTY_NOT_INCREASED_BY_STEP_SIZE": -4023,
700
+ "PRICE_LOWER_THAN_MULTIPLIER_DOWN": -4024,
701
+ "INVALID_LEVERAGE": -4028,
702
+ "MAX_STOP_ORDER_EXCEEDED": -4045,
703
+ "NO_NEED_TO_CHANGE_MARGIN_TYPE": -4046,
704
+ "MARGIN_TYPE_BLOCKED_BY_OPEN_ORDERS": -4047,
705
+ "MARGIN_TYPE_BLOCKED_BY_POSITION": -4048,
706
+ "NO_NEED_TO_CHANGE_POSITION_SIDE": -4059,
707
+ "POSITION_SIDE_NOT_MATCH": -4061,
708
+ "REDUCE_ONLY_CONFLICT": -4062,
709
+ "REDUCE_ONLY_ORDER_PERMISSION": -4087,
710
+ "SYMBOL_REDUCE_ONLY": -4105,
711
+ "SYMBOL_REDUCE_ONLY_BUY": -4106,
712
+ "SYMBOL_REDUCE_ONLY_SELL": -4107,
713
+ "INACTIVE_ACCOUNT": -4109,
714
+ "DUPLICATED_CLIENT_ORDER_ID": -4116,
715
+ "REDUCE_ONLY_MARGIN_CHECK_FAILED": -4118,
716
+ "STOP_ORDER_SWITCH_ALGO": -4120,
717
+ "MARKET_ORDER_REJECT": -4131,
718
+ "QUANTITY_EXISTS_WITH_CLOSE_POSITION": -4137,
719
+ "REDUCE_ONLY_MUST_BE_TRUE": -4138,
720
+ "INVALID_OPENING_POSITION_STATUS": -4140,
721
+ "STRATEGY_INVALID_TRIGGER_PRICE": -4142,
722
+ "ISOLATED_LEVERAGE_REJECT_WITH_POSITION": -4161,
723
+ "MIN_NOTIONAL": -4164,
724
+ "PRICE_HIGHER_THAN_STOP_MULTIPLIER_UP": -4183,
725
+ "PRICE_LOWER_THAN_STOP_MULTIPLIER_DOWN": -4184,
726
+ "ACCOUNT_REDUCE_ONLY": -4189,
727
+ "ADJUST_LEVERAGE_ONE_MONTH_FAILED": -4203,
728
+ "ADJUST_LEVERAGE_X_DAYS_FAILED": -4205,
729
+ "ADJUST_LEVERAGE_SYMBOL_FAILED": -4209,
730
+ "STOP_PRICE_HIGHER_THAN_PRICE_MULTIPLIER_LIMIT": -4210,
731
+ "STOP_PRICE_LOWER_THAN_PRICE_MULTIPLIER_LIMIT": -4211,
732
+ "ADJUST_LEVERAGE_COMPLIANCE_FAILED": -4403,
733
+ "FOK_ORDER_REJECT": -5021,
734
+ "GTX_ORDER_REJECT": -5022,
735
+ "ME_RECVWINDOW_REJECT": -5028,
736
+ "MODIFICATION_MIN_NOTIONAL": -5029
737
+ }
738
+ };
463
739
  }
464
740
  });
465
741
 
466
742
  // lib/constants.ts
467
- var MS_PER_SECOND, MICROSECONDS_PER_MS, MICROSECONDS_PER_SECOND, SECONDS_PER_MINUTE, MINUTES_PER_HOUR, HOURS_PER_DAY, DAYS_PER_WEEK, MS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, MINUTES_PER_DAY, MINUTES_PER_WEEK, MS_PER_HOUR, MS_PER_DAY, READ_STAMP_TIE_MS, BACKOFF_GROWTH_FACTOR, BYTES_PER_KIB, BYTES_PER_MIB, OWNER_ONLY_FILE_MODE, OWNER_ONLY_DIRECTORY_MODE, GROUP_OTHER_PERMISSION_BITS, JSON_INDENT_SPACES, INT32_MIN, INT32_MAX, HTTP_STATUS, AI_COST_ESTIMATE_PERIOD_DAYS, SECONDS_PER_AI_COST_ESTIMATE_PERIOD, NODE_ARGV_COMMAND_ARGS_START, EXIT_CODE_TEMPFAIL, JSON_RPC_ERROR_CODES, INFERENCE_HOST_PROCESS_LOCK_RECORD_SCHEMA_VERSION, INFERENCE_HOST_RECLAIM_GUARD_CREATE_PASSES, LINUX_PROC_STAT_COMM_TERMINATOR_CHARS, INFERENCE_HOST_RANDOM_BYTES, UINT32_RANGE, HYPERLIQUID_TIF_GTC, HYPERLIQUID_CANDLE_SNAPSHOT_BASE_WEIGHT, HYPERLIQUID_CANDLE_SNAPSHOT_ROWS_PER_WEIGHT, HYPERLIQUID_CANDLE_SNAPSHOT_MAX_ROWS, HYPERLIQUID_ROW_WEIGHTED_INFO_REQUESTS, HYPERLIQUID_ROW_WEIGHTED_INFO_BASE_WEIGHT, HYPERLIQUID_INFO_ROWS_PER_EXTRA_WEIGHT, HYPERLIQUID_MAX_DEPLOYER_FEE_SCALE, HYPERLIQUID_DEPLOYER_FEE_SCALE_MULTIPLIER, HYPERLIQUID_GROWTH_MODE_FEE_FACTOR, HYPERLIQUID_ALIGNED_QUOTE_NON_DEPLOYER_FEE_FACTOR, EXIT_CODE_INTERRUPTED, EXIT_CODE_SIGNAL_BASE, AI_SNAPSHOT_COMPACT_TRANSPORT_VERSION, AI_SNAPSHOT_PACKED_FIELDS, AI_SNAPSHOT_PACKED_ENTRY_FIELDS, MT5_SYNTHETIC_LEG_ID_BASE, MT5_SYNTHETIC_LEG_KINDS, MT5_SYNTHETIC_LEG_OPENING_LIMIT;
743
+ var MS_PER_SECOND, MICROSECONDS_PER_MS, MICROSECONDS_PER_SECOND, SECONDS_PER_MINUTE, MINUTES_PER_HOUR, HOURS_PER_DAY, DAYS_PER_WEEK, MS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, MINUTES_PER_DAY, MINUTES_PER_WEEK, MS_PER_HOUR, MS_PER_DAY, READ_STAMP_TIE_MS, BACKOFF_GROWTH_FACTOR, BYTES_PER_KIB, BYTES_PER_MIB, OWNER_ONLY_FILE_MODE, OWNER_ONLY_DIRECTORY_MODE, GROUP_OTHER_PERMISSION_BITS, JSON_INDENT_SPACES, INT32_MIN, INT32_MAX, HTTP_STATUS, AI_COST_ESTIMATE_PERIOD_DAYS, SECONDS_PER_AI_COST_ESTIMATE_PERIOD, NODE_ARGV_COMMAND_ARGS_START, EXIT_CODE_TEMPFAIL, JSON_RPC_ERROR_CODES, INFERENCE_HOST_PROCESS_LOCK_RECORD_SCHEMA_VERSION, INFERENCE_HOST_RECLAIM_GUARD_CREATE_PASSES, LINUX_PROC_STAT_COMM_TERMINATOR_CHARS, INFERENCE_HOST_RANDOM_BYTES, UINT32_RANGE, HYPERLIQUID_TIF_GTC, HYPERLIQUID_CANDLE_SNAPSHOT_BASE_WEIGHT, HYPERLIQUID_CANDLE_SNAPSHOT_ROWS_PER_WEIGHT, HYPERLIQUID_CANDLE_SNAPSHOT_MAX_ROWS, HYPERLIQUID_ROW_WEIGHTED_INFO_REQUESTS, HYPERLIQUID_ROW_WEIGHTED_INFO_BASE_WEIGHT, HYPERLIQUID_INFO_ROWS_PER_EXTRA_WEIGHT, HYPERLIQUID_MAX_DEPLOYER_FEE_SCALE, HYPERLIQUID_DEPLOYER_FEE_SCALE_MULTIPLIER, HYPERLIQUID_GROWTH_MODE_FEE_FACTOR, HYPERLIQUID_ALIGNED_QUOTE_NON_DEPLOYER_FEE_FACTOR, EXIT_CODE_INTERRUPTED, EXIT_CODE_SIGNAL_BASE, AI_SNAPSHOT_COMPACT_TRANSPORT_VERSION, AI_SNAPSHOT_PACKED_FIELDS, AI_SNAPSHOT_PACKED_ENTRY_FIELDS, MT5_SYNTHETIC_LEG_ID_BASE, MT5_SYNTHETIC_LEG_KINDS, MT5_SYNTHETIC_LEG_OPENING_LIMIT, BINANCE_USER_TRADES_WINDOW_MS, BINANCE_ALL_ORDERS_WINDOW_MS, BINANCE_REQUESTS, BINANCE_KLINES_LIMIT_MAX, BINANCE_REQUEST_WEIGHT_WINDOW_MS, BINANCE_REQUEST_WEIGHT_INTERVAL, binanceApiLimits, BINANCE_REQUEST_LIMITS, BINANCE_KLINES_DEFAULT_LIMIT, BINANCE_KLINES_WEIGHT_TIERS, binanceCostSpec, binanceCosts, BINANCE_REQUEST_COSTS, BINANCE_ERROR_CODE;
468
744
  var init_constants = __esm({
469
745
  "lib/constants.ts"() {
470
746
  "use strict";
@@ -516,6 +792,7 @@ var init_constants = __esm({
516
792
  CONTENT_TOO_LARGE: 413,
517
793
  URI_TOO_LONG: 414,
518
794
  UNSUPPORTED_MEDIA_TYPE: 415,
795
+ IM_A_TEAPOT: 418,
519
796
  UNPROCESSABLE_CONTENT: 422,
520
797
  TOO_EARLY: 425,
521
798
  TOO_MANY_REQUESTS: 429,
@@ -568,6 +845,37 @@ var init_constants = __esm({
568
845
  MT5_SYNTHETIC_LEG_ID_BASE = 2 ** 52;
569
846
  MT5_SYNTHETIC_LEG_KINDS = 2;
570
847
  MT5_SYNTHETIC_LEG_OPENING_LIMIT = (2 ** 53 - MT5_SYNTHETIC_LEG_ID_BASE) / MT5_SYNTHETIC_LEG_KINDS;
848
+ BINANCE_USER_TRADES_WINDOW_MS = DAYS_PER_WEEK * MS_PER_DAY;
849
+ BINANCE_ALL_ORDERS_WINDOW_MS = DAYS_PER_WEEK * MS_PER_DAY;
850
+ BINANCE_REQUESTS = BINANCE_REQUEST_CONTRACT;
851
+ BINANCE_KLINES_LIMIT_MAX = BINANCE_REQUESTS.klines.limit_max;
852
+ BINANCE_REQUEST_WEIGHT_WINDOW_MS = BINANCE_REQUESTS.apis.futures.weight_window_seconds * MS_PER_SECOND;
853
+ BINANCE_REQUEST_WEIGHT_INTERVAL = BINANCE_REQUESTS.weight_interval;
854
+ binanceApiLimits = (api) => ({
855
+ weightPerWindow: api.weight_per_window,
856
+ orders: api.orders.map((order) => ({ interval: order.interval, windowMs: order.window_seconds * MS_PER_SECOND, limit: order.limit }))
857
+ });
858
+ BINANCE_REQUEST_LIMITS = {
859
+ futures: binanceApiLimits(BINANCE_REQUESTS.apis.futures),
860
+ spot: binanceApiLimits(BINANCE_REQUESTS.apis.spot)
861
+ };
862
+ BINANCE_KLINES_DEFAULT_LIMIT = BINANCE_REQUESTS.klines.default_limit;
863
+ BINANCE_KLINES_WEIGHT_TIERS = BINANCE_REQUESTS.klines.weight_tiers.map(
864
+ (tier) => ({ maxLimit: tier.max_limit, weight: tier.weight })
865
+ );
866
+ binanceCostSpec = (cost) => ({
867
+ ...cost.weight !== void 0 ? { weight: cost.weight } : {},
868
+ ...cost.weight_all_symbols !== void 0 ? { weightAllSymbols: cost.weight_all_symbols } : {},
869
+ ...cost.weight_by_klines_limit ? { weightByLimit: BINANCE_KLINES_WEIGHT_TIERS } : {},
870
+ ...cost.orders ? { orders: cost.orders } : {},
871
+ ...cost.used_weight_header_unreliable ? { usedWeightHeaderUnreliable: true } : {}
872
+ });
873
+ binanceCosts = (costs) => Object.fromEntries(Object.entries(costs).map(([request, cost]) => [request, binanceCostSpec(cost)]));
874
+ BINANCE_REQUEST_COSTS = {
875
+ futures: binanceCosts(BINANCE_REQUESTS.costs.futures),
876
+ spot: binanceCosts(BINANCE_REQUESTS.costs.spot)
877
+ };
878
+ BINANCE_ERROR_CODE = BINANCE_ERROR_CODES.codes;
571
879
  }
572
880
  });
573
881
 
@@ -1803,6 +2111,11 @@ var runtime_policy_generated_default = {
1803
2111
  account_read_backoff_exponent_max: 30,
1804
2112
  ai_start_grace_min_ms: 45e3
1805
2113
  },
2114
+ server_read_recovery: {
2115
+ retry_delay_ms: 1500,
2116
+ max_attempts: 3,
2117
+ attempts_window_ms: 6e4
2118
+ },
1806
2119
  deployment_reload_observability: {
1807
2120
  bootstrap_max_error_events_per_page: 4,
1808
2121
  bootstrap_max_profiles: 10
@@ -1843,6 +2156,7 @@ var runtime_policy_generated_default = {
1843
2156
  debug_log_throttle_ms: 1e3,
1844
2157
  initial_history_stall_ms: 15e3,
1845
2158
  initial_history_recovery_cooldown_ms: 3e4,
2159
+ initial_history_min_bars: 10,
1846
2160
  viewport_restore_settle_ms: 100,
1847
2161
  symbol_price_wait_ms: 2e3,
1848
2162
  layout_auto_save_delay_ms: 250
@@ -2122,6 +2436,7 @@ var runtime_policy_generated_default = {
2122
2436
  display_batch_size: 50,
2123
2437
  load_more_threshold_px: 100,
2124
2438
  trade_history_fetch_page_size: 100,
2439
+ exchange_key_read_days: 6,
2125
2440
  ai_panel_interaction_window_ms: 2500,
2126
2441
  ai_panel_defer_max_staleness_ms: 1e4,
2127
2442
  ai_panel_defer_retry_ms: 1500,
@@ -2567,6 +2882,7 @@ var runtime_policy_generated_default = {
2567
2882
  device_rounds_per_sweep: 4
2568
2883
  },
2569
2884
  panel_reads: {
2885
+ exchange_key_refresh_seconds: 15,
2570
2886
  device_open_orders_reuse_seconds: 2,
2571
2887
  all_view_profile_concurrency: 2,
2572
2888
  display_account_fresh_seconds: 60
@@ -2678,6 +2994,11 @@ var runtime_policy_generated_default = {
2678
2994
  },
2679
2995
  defaults: {
2680
2996
  server_ai_max_slippage: 5
2997
+ },
2998
+ server_runtime_host: {
2999
+ server_executors: {
3000
+ idle_seconds: 3600
3001
+ }
2681
3002
  }
2682
3003
  },
2683
3004
  agent_cli: {
@@ -2709,6 +3030,181 @@ var runtime_policy_generated_default = {
2709
3030
  device_portfolio: {
2710
3031
  device_retry_seconds: 300
2711
3032
  },
3033
+ lighter: {
3034
+ flow_kinds: [
3035
+ "deposit",
3036
+ "withdraw",
3037
+ "L2TransferInflow",
3038
+ "L2TransferOutflow",
3039
+ "L2SelfTransfer",
3040
+ "L2MintSharesOutflow",
3041
+ "L2BurnSharesInflow",
3042
+ "L2ForceBurnSharesInflow",
3043
+ "L1BurnSharesInflow",
3044
+ "L2CreatePublicPoolOutflow"
3045
+ ],
3046
+ max_transfers: 100,
3047
+ device_retry_seconds: 300,
3048
+ device_batches_per_read: 10
3049
+ },
3050
+ okx: {
3051
+ flow_bill_types: [
3052
+ "1"
3053
+ ],
3054
+ max_transfers: 100,
3055
+ device_retry_seconds: 300,
3056
+ device_batches_per_read: 10
3057
+ },
3058
+ binance: {
3059
+ flow_income_types: [
3060
+ "TRANSFER",
3061
+ "INTERNAL_TRANSFER",
3062
+ "STRATEGY_UMFUTURES_TRANSFER",
3063
+ "CROSS_COLLATERAL_TRANSFER",
3064
+ "COIN_SWAP_DEPOSIT",
3065
+ "COIN_SWAP_WITHDRAW",
3066
+ "AUTO_EXCHANGE"
3067
+ ],
3068
+ funding_income_types: [
3069
+ "FUNDING_FEE"
3070
+ ],
3071
+ trade_income_types: [
3072
+ "REALIZED_PNL",
3073
+ "COMMISSION"
3074
+ ],
3075
+ max_transfers: 1e3,
3076
+ device_retry_seconds: 300,
3077
+ device_batches_per_read: 10
3078
+ },
3079
+ bitget: {
3080
+ flow_business_types: [
3081
+ "trans_from_exchange",
3082
+ "trans_to_exchange",
3083
+ "trans_from_contract",
3084
+ "trans_to_contract",
3085
+ "trans_from_otc",
3086
+ "trans_to_otc",
3087
+ "trans_from_cross",
3088
+ "trans_to_cross",
3089
+ "trans_from_isolated",
3090
+ "trans_to_isolated"
3091
+ ],
3092
+ max_transfers: 1e3,
3093
+ device_retry_seconds: 300,
3094
+ device_batches_per_read: 10
3095
+ },
3096
+ mexc: {
3097
+ flow_transfer_types: [
3098
+ "IN",
3099
+ "OUT"
3100
+ ],
3101
+ max_transfers: 100,
3102
+ device_retry_seconds: 300,
3103
+ device_batches_per_read: 10
3104
+ },
3105
+ coinbase_intl: {
3106
+ flow_log_types: [
3107
+ "deposit",
3108
+ "withdrawal",
3109
+ "transfer",
3110
+ "swap"
3111
+ ],
3112
+ max_transfers: 1e3,
3113
+ device_retry_seconds: 300,
3114
+ device_batches_per_read: 10
3115
+ },
3116
+ kraken_futures: {
3117
+ flow_infos: [
3118
+ "deposit",
3119
+ "withdrawal",
3120
+ "transfer",
3121
+ "cross-exchange transfer",
3122
+ "cross-exchange transfer failed",
3123
+ "subaccount transfer",
3124
+ "admin transfer"
3125
+ ],
3126
+ flow_assets: [
3127
+ "USD",
3128
+ "USDC",
3129
+ "USDT"
3130
+ ],
3131
+ max_transfers: 1e3,
3132
+ device_retry_seconds: 300,
3133
+ device_batches_per_read: 10
3134
+ },
3135
+ aster: {
3136
+ flow_income_types: [
3137
+ "TRANSFER",
3138
+ "INTERNAL_TRANSFER",
3139
+ "CROSS_COLLATERAL_TRANSFER",
3140
+ "AUTO_EXCHANGE"
3141
+ ],
3142
+ funding_income_types: [
3143
+ "FUNDING_FEE"
3144
+ ],
3145
+ trade_income_types: [
3146
+ "REALIZED_PNL",
3147
+ "COMMISSION"
3148
+ ],
3149
+ max_transfers: 1e3,
3150
+ device_retry_seconds: 300,
3151
+ device_batches_per_read: 10
3152
+ },
3153
+ kucoin_futures: {
3154
+ flow_ledger_types: [
3155
+ "Deposit",
3156
+ "Withdrawal",
3157
+ "TransferIn",
3158
+ "TransferOut"
3159
+ ],
3160
+ max_transfers: 1e3,
3161
+ device_retry_seconds: 300,
3162
+ device_batches_per_read: 10
3163
+ },
3164
+ bybit: {
3165
+ flow_transaction_types: [
3166
+ "TRANSFER_IN",
3167
+ "TRANSFER_OUT",
3168
+ "BONUS_TRANSFER_IN",
3169
+ "BONUS_TRANSFER_OUT",
3170
+ "PEF_TRANSFER_IN",
3171
+ "PEF_TRANSFER_OUT",
3172
+ "FLEXIBLE_STAKING_SUBSCRIPTION",
3173
+ "FLEXIBLE_STAKING_REDEMPTION",
3174
+ "FLEXIBLE_STAKING_REFUND",
3175
+ "FIXED_STAKING_SUBSCRIPTION",
3176
+ "FIXED_STAKING_REFUND",
3177
+ "FIXED_SAVING_PRINCIPAL_REDEMPTION",
3178
+ "ONCHAINEARN_SUBSCRIPTION",
3179
+ "ONCHAINEARN_REDEMPTION",
3180
+ "ONCHAINEARN_REFUND",
3181
+ "STRUCTURE_PRODUCT_SUBSCRIPTION",
3182
+ "STRUCTURE_PRODUCT_REFUND",
3183
+ "CLASSIC_WEALTH_MANAGEMENT_SUBSCRIPTION",
3184
+ "PREMIMUM_WEALTH_MANAGEMENT_SUBSCRIPTION",
3185
+ "PREMIMUM_WEALTH_MANAGEMENT_REFUND",
3186
+ "LIQUIDITY_MINING_SUBSCRIPTION",
3187
+ "LIQUIDITY_MINING_REFUND",
3188
+ "PWM_SUBSCRIPTION",
3189
+ "PWM_REFUND",
3190
+ "BYUSDT_MINT",
3191
+ "BYUSDT_REDEMPTION",
3192
+ "STOCK_TRADE_BUY",
3193
+ "STOCK_TRADE_SELL",
3194
+ "STOCK_TRADE_REFUND"
3195
+ ],
3196
+ max_transfers: 50,
3197
+ device_retry_seconds: 300,
3198
+ device_batches_per_read: 10
3199
+ },
3200
+ bingx: {
3201
+ flow_income_types: [
3202
+ "TRANSFER"
3203
+ ],
3204
+ max_transfers: 1e3,
3205
+ device_retry_seconds: 300,
3206
+ device_batches_per_read: 10
3207
+ },
2712
3208
  max_page_size: 100
2713
3209
  },
2714
3210
  external_inference: {
@@ -3033,6 +3529,23 @@ var runtime_policy_generated_default = {
3033
3529
  background: 6
3034
3530
  },
3035
3531
  display_name: "Hyperliquid",
3532
+ short_code: "HYP",
3533
+ candle_timeframes: [
3534
+ "1m",
3535
+ "5m",
3536
+ "15m",
3537
+ "30m",
3538
+ "1h",
3539
+ "4h",
3540
+ "1d",
3541
+ "1w"
3542
+ ],
3543
+ client_surfaces: [
3544
+ "browser",
3545
+ "desktop",
3546
+ "android",
3547
+ "agent_token"
3548
+ ],
3036
3549
  account_stream_backoff: {
3037
3550
  initial_seconds: 1,
3038
3551
  max_seconds: 15,
@@ -3042,7 +3555,8 @@ var runtime_policy_generated_default = {
3042
3555
  },
3043
3556
  websocket: {
3044
3557
  ping_interval_seconds: 20,
3045
- account_open_timeout_seconds: 10
3558
+ account_open_timeout_seconds: 10,
3559
+ ticker_cache_ttl_seconds: 60
3046
3560
  },
3047
3561
  node: {
3048
3562
  max_info_lag_milliseconds: 1e3
@@ -3051,6 +3565,29 @@ var runtime_policy_generated_default = {
3051
3565
  default_dex_label: "Hyperliquid"
3052
3566
  }
3053
3567
  },
3568
+ fleet_recovery: {
3569
+ permit_lease_seconds: 8,
3570
+ recovery_initial_concurrency: 1,
3571
+ recovery_max_concurrency: 8,
3572
+ recovery_successes_per_step: 4,
3573
+ recovery_min_spacing_ms: 100,
3574
+ queue_poll_ms: 50,
3575
+ fallback_max_seconds: 300,
3576
+ fallback_jitter_min_factor: 0.5,
3577
+ recovery_quiet_seconds: 300,
3578
+ failed_probe_delay_seconds: 2,
3579
+ hit_claim_milliseconds: 2e3
3580
+ },
3581
+ account_rules: {
3582
+ usd_stable_assets: [
3583
+ "USD",
3584
+ "USDC",
3585
+ "USDT",
3586
+ "USDT0",
3587
+ "USDH",
3588
+ "USDe"
3589
+ ]
3590
+ },
3054
3591
  executor: {
3055
3592
  capabilities: [
3056
3593
  "market_orders",
@@ -3064,8 +3601,605 @@ var runtime_policy_generated_default = {
3064
3601
  "trailing_stops"
3065
3602
  ]
3066
3603
  },
3604
+ bound_accounts: {
3605
+ recheck_seconds: 900
3606
+ },
3607
+ observability: {
3608
+ operations: [
3609
+ "order",
3610
+ "cancel",
3611
+ "modify",
3612
+ "leverage",
3613
+ "close",
3614
+ "account_read",
3615
+ "positions_read",
3616
+ "orders_read",
3617
+ "fills_read",
3618
+ "market_read",
3619
+ "candles_read",
3620
+ "key_check",
3621
+ "stream"
3622
+ ],
3623
+ heartbeat_max_entries: 24,
3624
+ endpoint_max_length: 96,
3625
+ error_code_max_length: 32,
3626
+ error_name_max_length: 64,
3627
+ detail_max_entries: 8
3628
+ },
3629
+ lighter: {
3630
+ account_display_fresh_seconds: 120,
3631
+ display_name: "Lighter",
3632
+ key_name: "key",
3633
+ short_code: "LIG",
3634
+ candle_timeframes: [
3635
+ "1m",
3636
+ "5m",
3637
+ "15m",
3638
+ "30m",
3639
+ "1h",
3640
+ "4h",
3641
+ "1d"
3642
+ ],
3643
+ client_surfaces: [
3644
+ "browser",
3645
+ "desktop",
3646
+ "android",
3647
+ "agent_token"
3648
+ ],
3649
+ collateral_asset: "USDC",
3650
+ markets_cache_seconds: 3600,
3651
+ order_expiry_days: 28,
3652
+ order_renew_days_before_expiry: 7,
3653
+ remembered_order_ids: 5e3,
3654
+ ended_order_search_retry_seconds: 300,
3655
+ tx_readback_attempts: 10,
3656
+ tx_readback_interval_milliseconds: 300,
3657
+ auth_token_renew_margin_seconds: 300,
3658
+ fill_lookback_hours: 72,
3659
+ client_request_capacity: {
3660
+ reserve_margin_requests: 6,
3661
+ demand_bucket_seconds: 60,
3662
+ demand_horizon_seconds: 3600,
3663
+ capacity_cut_percent: 70,
3664
+ capacity_min_requests: 6,
3665
+ capacity_recovery_requests_per_minute: 6,
3666
+ rate_limit_pause_seconds: 60,
3667
+ admission_wait_seconds: 10,
3668
+ background_admission_wait_seconds: 90,
3669
+ fleet_reserve_weight: {
3670
+ trading_reduce: 1,
3671
+ trading_reconcile: 2,
3672
+ trading_execute: 3,
3673
+ trading_analysis: 5,
3674
+ ui: 15,
3675
+ background: 20
3676
+ }
3677
+ }
3678
+ },
3679
+ binance: {
3680
+ account_display_fresh_seconds: 30,
3681
+ display_name: "Binance",
3682
+ key_name: "API key",
3683
+ short_code: "BIN",
3684
+ candle_timeframes: [
3685
+ "1m",
3686
+ "5m",
3687
+ "15m",
3688
+ "30m",
3689
+ "1h",
3690
+ "4h",
3691
+ "1d",
3692
+ "1w"
3693
+ ],
3694
+ quote_asset: "USDT",
3695
+ markets_cache_seconds: 3600,
3696
+ recv_window_milliseconds: 5e3,
3697
+ fill_lookback_days: 7,
3698
+ client_request_capacity: {
3699
+ reserve_margin_weight: 100,
3700
+ demand_bucket_seconds: 60,
3701
+ demand_horizon_seconds: 3600,
3702
+ capacity_cut_percent: 70,
3703
+ capacity_min_weight: 480,
3704
+ capacity_recovery_weight_per_minute: 240,
3705
+ rate_limit_pause_seconds: 60,
3706
+ ip_ban_pause_seconds: 120,
3707
+ admission_wait_seconds: 10,
3708
+ background_admission_wait_seconds: 90,
3709
+ fleet_reserve_weight: {
3710
+ trading_reduce: 50,
3711
+ trading_reconcile: 75,
3712
+ trading_execute: 100,
3713
+ trading_analysis: 200,
3714
+ ui: 600,
3715
+ background: 800
3716
+ }
3717
+ },
3718
+ networks: {
3719
+ live: {
3720
+ client_surfaces: [
3721
+ "browser",
3722
+ "desktop",
3723
+ "android",
3724
+ "agent_token"
3725
+ ]
3726
+ },
3727
+ testnet: {
3728
+ client_surfaces: [
3729
+ "desktop",
3730
+ "android",
3731
+ "agent_token"
3732
+ ]
3733
+ }
3734
+ }
3735
+ },
3736
+ mexc: {
3737
+ account_display_fresh_seconds: 30,
3738
+ display_name: "MEXC",
3739
+ key_name: "API key",
3740
+ short_code: "MEX",
3741
+ candle_timeframes: [
3742
+ "1m",
3743
+ "5m",
3744
+ "15m",
3745
+ "30m",
3746
+ "1h",
3747
+ "4h",
3748
+ "1d",
3749
+ "1w"
3750
+ ],
3751
+ quote_asset: "USDT",
3752
+ markets_cache_seconds: 3600,
3753
+ recv_window_seconds: 10,
3754
+ fill_lookback_days: 7,
3755
+ client_surfaces: [
3756
+ "desktop",
3757
+ "android",
3758
+ "agent_token"
3759
+ ],
3760
+ remembered_order_ids: 5e3,
3761
+ ended_order_search_days: 7,
3762
+ ended_order_search_retry_seconds: 300,
3763
+ client_request_capacity: {
3764
+ reserve_margin_weight: 1,
3765
+ demand_bucket_seconds: 60,
3766
+ demand_horizon_seconds: 3600,
3767
+ capacity_cut_percent: 70,
3768
+ capacity_min_weight: 2,
3769
+ capacity_recovery_weight_per_minute: 20,
3770
+ admission_wait_seconds: 10,
3771
+ background_admission_wait_seconds: 30,
3772
+ fleet_reserve_weight: {
3773
+ trading_reduce: 1,
3774
+ trading_reconcile: 1,
3775
+ trading_execute: 1,
3776
+ trading_analysis: 2,
3777
+ ui: 3,
3778
+ background: 4
3779
+ }
3780
+ }
3781
+ },
3782
+ coinbase_intl: {
3783
+ client_request_capacity: {
3784
+ reserve_margin_requests: 2,
3785
+ demand_bucket_seconds: 60,
3786
+ demand_horizon_seconds: 3600,
3787
+ capacity_cut_percent: 70,
3788
+ capacity_min_requests: 2,
3789
+ capacity_recovery_requests_per_minute: 2,
3790
+ admission_wait_seconds: 10,
3791
+ background_admission_wait_seconds: 90,
3792
+ rate_limit_pause_seconds: 5,
3793
+ fleet_reserve_weight: {
3794
+ trading_reduce: 1,
3795
+ trading_reconcile: 1,
3796
+ trading_execute: 2,
3797
+ trading_analysis: 2,
3798
+ ui: 5,
3799
+ background: 6
3800
+ }
3801
+ },
3802
+ account_display_fresh_seconds: 30,
3803
+ quote_asset: "USDC",
3804
+ default_chart_market: "BTC_USDC-PERPETUAL",
3805
+ display_name: "Coinbase International",
3806
+ key_name: "API key name",
3807
+ short_code: "CBI",
3808
+ candle_timeframes: [
3809
+ "1m",
3810
+ "5m",
3811
+ "15m",
3812
+ "30m",
3813
+ "1h",
3814
+ "1d"
3815
+ ],
3816
+ client_surfaces: [
3817
+ "desktop",
3818
+ "android",
3819
+ "agent_token"
3820
+ ],
3821
+ request_timeout_seconds: 10,
3822
+ auth_renew_before_seconds: 60,
3823
+ auth_max_age_seconds: 900,
3824
+ write_window_seconds: 10,
3825
+ server_time_max_age_seconds: 300,
3826
+ markets_cache_seconds: 3600,
3827
+ fill_lookback_days: 7,
3828
+ fill_page_size: 1e3,
3829
+ remembered_order_ids: 5e3,
3830
+ ended_order_search_days: 7,
3831
+ ended_order_search_retry_seconds: 300
3832
+ },
3833
+ okx: {
3834
+ account_display_fresh_seconds: 30,
3835
+ display_name: "OKX",
3836
+ key_name: "API key",
3837
+ short_code: "OKX",
3838
+ candle_timeframes: [
3839
+ "1m",
3840
+ "5m",
3841
+ "15m",
3842
+ "30m",
3843
+ "1h",
3844
+ "4h",
3845
+ "1d",
3846
+ "1w"
3847
+ ],
3848
+ settle_currency: "USDT",
3849
+ markets_cache_seconds: 3600,
3850
+ markets_miss_reread_seconds: 60,
3851
+ order_lifetime_milliseconds: 5e3,
3852
+ order_readback_attempts: 5,
3853
+ order_readback_interval_milliseconds: 200,
3854
+ remembered_order_ids: 5e3,
3855
+ ended_order_search_days: 7,
3856
+ ended_order_search_retry_seconds: 300,
3857
+ fill_lookback_hours: 71,
3858
+ client_request_capacity: {
3859
+ fleet_reserve_weight: {
3860
+ trading_reduce: 1,
3861
+ trading_reconcile: 1,
3862
+ trading_execute: 1,
3863
+ trading_analysis: 2,
3864
+ ui: 3,
3865
+ background: 5
3866
+ },
3867
+ reserve_margin_requests: 1,
3868
+ demand_bucket_seconds: 60,
3869
+ demand_horizon_seconds: 3600,
3870
+ capacity_cut_percent: 70,
3871
+ capacity_min_requests: 2,
3872
+ capacity_recovery_requests_per_minute: 2,
3873
+ admission_wait_seconds: 10,
3874
+ background_admission_wait_seconds: 90
3875
+ },
3876
+ networks: {
3877
+ live: {
3878
+ client_surfaces: [
3879
+ "browser",
3880
+ "desktop",
3881
+ "android",
3882
+ "agent_token"
3883
+ ]
3884
+ },
3885
+ demo: {
3886
+ client_surfaces: [
3887
+ "browser",
3888
+ "desktop",
3889
+ "android",
3890
+ "agent_token"
3891
+ ]
3892
+ }
3893
+ }
3894
+ },
3895
+ bingx: {
3896
+ account_display_fresh_seconds: 30,
3897
+ display_name: "BingX",
3898
+ key_name: "API key",
3899
+ short_code: "BGX",
3900
+ candle_timeframes: [
3901
+ "1m",
3902
+ "5m",
3903
+ "15m",
3904
+ "30m",
3905
+ "1h",
3906
+ "4h",
3907
+ "1d",
3908
+ "1w"
3909
+ ],
3910
+ quote_asset: "USDT",
3911
+ markets_cache_seconds: 3600,
3912
+ recv_window_milliseconds: 5e3,
3913
+ fill_lookback_days: 7,
3914
+ client_request_capacity: {
3915
+ reserve_margin_requests: 50,
3916
+ demand_bucket_seconds: 60,
3917
+ demand_horizon_seconds: 3600,
3918
+ capacity_cut_percent: 70,
3919
+ capacity_min_requests: 100,
3920
+ capacity_recovery_requests_per_minute: 50,
3921
+ rate_limit_pause_seconds: 10,
3922
+ ip_ban_pause_seconds: 120,
3923
+ admission_wait_seconds: 10,
3924
+ background_admission_wait_seconds: 90,
3925
+ fleet_reserve_weight: {
3926
+ trading_reduce: 10,
3927
+ trading_reconcile: 15,
3928
+ trading_execute: 20,
3929
+ trading_analysis: 40,
3930
+ ui: 100,
3931
+ background: 125
3932
+ }
3933
+ },
3934
+ networks: {
3935
+ live: {
3936
+ client_surfaces: [
3937
+ "desktop",
3938
+ "android",
3939
+ "agent_token"
3940
+ ]
3941
+ },
3942
+ vst: {
3943
+ client_surfaces: [
3944
+ "desktop",
3945
+ "android",
3946
+ "agent_token"
3947
+ ]
3948
+ }
3949
+ }
3950
+ },
3951
+ bitget: {
3952
+ account_display_fresh_seconds: 30,
3953
+ display_name: "Bitget",
3954
+ key_name: "API key",
3955
+ short_code: "BIT",
3956
+ candle_timeframes: [
3957
+ "1m",
3958
+ "5m",
3959
+ "15m",
3960
+ "30m",
3961
+ "1h",
3962
+ "4h",
3963
+ "1d",
3964
+ "1w"
3965
+ ],
3966
+ product_type: "USDT-FUTURES",
3967
+ quote_asset: "USDT",
3968
+ markets_cache_seconds: 3600,
3969
+ fill_lookback_days: 7,
3970
+ remembered_order_ids: 5e3,
3971
+ ended_order_search_days: 7,
3972
+ ended_order_search_retry_seconds: 300,
3973
+ old_open_order_search_seconds: 3600,
3974
+ client_request_capacity: {
3975
+ reserve_margin_weight: 2,
3976
+ demand_bucket_seconds: 60,
3977
+ demand_horizon_seconds: 3600,
3978
+ capacity_cut_percent: 70,
3979
+ capacity_min_weight: 4,
3980
+ capacity_recovery_weight_per_minute: 60,
3981
+ admission_wait_seconds: 10,
3982
+ background_admission_wait_seconds: 90,
3983
+ fleet_reserve_weight: {
3984
+ trading_reduce: 1,
3985
+ trading_reconcile: 1,
3986
+ trading_execute: 2,
3987
+ trading_analysis: 2,
3988
+ ui: 5,
3989
+ background: 6
3990
+ }
3991
+ },
3992
+ networks: {
3993
+ live: {
3994
+ client_surfaces: [
3995
+ "desktop",
3996
+ "android",
3997
+ "agent_token"
3998
+ ]
3999
+ },
4000
+ demo: {
4001
+ client_surfaces: [
4002
+ "desktop",
4003
+ "android",
4004
+ "agent_token"
4005
+ ]
4006
+ }
4007
+ }
4008
+ },
4009
+ kraken_futures: {
4010
+ account_display_fresh_seconds: 30,
4011
+ display_name: "Kraken Futures",
4012
+ key_name: "API key",
4013
+ short_code: "KRA",
4014
+ candle_timeframes: [
4015
+ "1m",
4016
+ "5m",
4017
+ "15m",
4018
+ "30m",
4019
+ "1h",
4020
+ "4h",
4021
+ "1d",
4022
+ "1w"
4023
+ ],
4024
+ client_surfaces: [
4025
+ "desktop",
4026
+ "android",
4027
+ "agent_token"
4028
+ ],
4029
+ markets_cache_seconds: 3600,
4030
+ fill_lookback_days: 7,
4031
+ history_pages_per_read: 10,
4032
+ funding_log_page_entries: 1e3,
4033
+ request_capacity: {
4034
+ reserve_margin_weight: 100,
4035
+ demand_bucket_seconds: 60,
4036
+ demand_horizon_seconds: 3600,
4037
+ capacity_cut_percent: 70,
4038
+ capacity_min_weight: 100,
4039
+ capacity_recovery_weight_per_minute: 50,
4040
+ derivatives_limit_pause_seconds: 10,
4041
+ history_limit_pause_seconds: 60,
4042
+ admission_wait_seconds: 5,
4043
+ background_admission_wait_seconds: 30
4044
+ }
4045
+ },
4046
+ aster: {
4047
+ account_display_fresh_seconds: 30,
4048
+ quote_asset: "USDT",
4049
+ display_name: "Aster",
4050
+ key_name: "API wallet",
4051
+ short_code: "AST",
4052
+ candle_timeframes: [
4053
+ "1m",
4054
+ "5m",
4055
+ "15m",
4056
+ "30m",
4057
+ "1h",
4058
+ "4h",
4059
+ "1d",
4060
+ "1w"
4061
+ ],
4062
+ client_surfaces: [
4063
+ "browser",
4064
+ "desktop",
4065
+ "android",
4066
+ "agent_token"
4067
+ ],
4068
+ markets_cache_seconds: 3600,
4069
+ fill_lookback_days: 7,
4070
+ client_request_capacity: {
4071
+ reserve_margin_weight: 100,
4072
+ demand_bucket_seconds: 60,
4073
+ demand_horizon_seconds: 3600,
4074
+ capacity_cut_percent: 70,
4075
+ capacity_min_weight: 480,
4076
+ capacity_recovery_weight_per_minute: 240,
4077
+ rate_limit_pause_seconds: 60,
4078
+ ip_ban_pause_seconds: 120,
4079
+ admission_wait_seconds: 10,
4080
+ background_admission_wait_seconds: 90,
4081
+ fleet_reserve_weight: {
4082
+ trading_reduce: 50,
4083
+ trading_reconcile: 75,
4084
+ trading_execute: 100,
4085
+ trading_analysis: 200,
4086
+ ui: 600,
4087
+ background: 800
4088
+ }
4089
+ }
4090
+ },
4091
+ kucoin_futures: {
4092
+ account_display_fresh_seconds: 30,
4093
+ display_name: "KuCoin Futures",
4094
+ key_name: "API key",
4095
+ short_code: "KUC",
4096
+ candle_timeframes: [
4097
+ "1m",
4098
+ "5m",
4099
+ "15m",
4100
+ "30m",
4101
+ "1h",
4102
+ "4h",
4103
+ "1d",
4104
+ "1w"
4105
+ ],
4106
+ client_surfaces: [
4107
+ "desktop",
4108
+ "android",
4109
+ "agent_token"
4110
+ ],
4111
+ settle_currency: "USDT",
4112
+ markets_cache_seconds: 3600,
4113
+ remembered_order_ids: 5e3,
4114
+ ended_order_search_days: 7,
4115
+ ended_order_search_retry_seconds: 300,
4116
+ client_request_capacity: {
4117
+ reserve_margin_weight: 100,
4118
+ demand_bucket_seconds: 60,
4119
+ demand_horizon_seconds: 3600,
4120
+ capacity_cut_percent: 70,
4121
+ capacity_min_weight: 200,
4122
+ capacity_recovery_weight_per_minute: 100,
4123
+ admission_wait_seconds: 10,
4124
+ background_admission_wait_seconds: 60,
4125
+ fleet_reserve_weight: {
4126
+ trading_reduce: 50,
4127
+ trading_reconcile: 75,
4128
+ trading_execute: 100,
4129
+ trading_analysis: 200,
4130
+ ui: 500,
4131
+ background: 700
4132
+ }
4133
+ }
4134
+ },
4135
+ bybit: {
4136
+ client_request_capacity: {
4137
+ reserve_margin_weight: 60,
4138
+ demand_bucket_seconds: 60,
4139
+ demand_horizon_seconds: 3600,
4140
+ capacity_cut_percent: 70,
4141
+ capacity_min_weight: 60,
4142
+ capacity_recovery_weight_per_minute: 60,
4143
+ admission_wait_seconds: 10,
4144
+ background_admission_wait_seconds: 60,
4145
+ fleet_reserve_weight: {
4146
+ trading_reduce: 15,
4147
+ trading_reconcile: 20,
4148
+ trading_execute: 25,
4149
+ trading_analysis: 50,
4150
+ ui: 150,
4151
+ background: 200
4152
+ }
4153
+ },
4154
+ display_name: "Bybit",
4155
+ key_name: "API key",
4156
+ short_code: "BYB",
4157
+ candle_timeframes: [
4158
+ "1m",
4159
+ "5m",
4160
+ "15m",
4161
+ "30m",
4162
+ "1h",
4163
+ "4h",
4164
+ "1d",
4165
+ "1w"
4166
+ ],
4167
+ client_surfaces: [
4168
+ "browser",
4169
+ "desktop",
4170
+ "android",
4171
+ "agent_token"
4172
+ ],
4173
+ settle_coin: "USDT",
4174
+ account_display_fresh_seconds: 30,
4175
+ markets_cache_seconds: 3600,
4176
+ recv_window_milliseconds: 5e3,
4177
+ order_readback_attempts: 5,
4178
+ order_readback_interval_milliseconds: 200,
4179
+ remembered_order_ids: 5e3,
4180
+ ended_order_search_days: 7,
4181
+ ended_order_search_retry_seconds: 300,
4182
+ fill_lookback_hours: 167
4183
+ },
3067
4184
  mt5: {
3068
4185
  display_name: "MetaTrader 5",
4186
+ short_code: "MT5",
4187
+ candle_timeframes: [
4188
+ "1m",
4189
+ "5m",
4190
+ "15m",
4191
+ "30m",
4192
+ "1h",
4193
+ "4h",
4194
+ "1d",
4195
+ "1w"
4196
+ ],
4197
+ client_surfaces: [
4198
+ "browser",
4199
+ "desktop",
4200
+ "android",
4201
+ "agent_token"
4202
+ ],
3069
4203
  bridge_download_path: "/downloads/mt5/VtxBridge.ex5",
3070
4204
  trading_enabled: true,
3071
4205
  status_poll_seconds: 5,
@@ -3074,8 +4208,7 @@ var runtime_policy_generated_default = {
3074
4208
  request_timeout_seconds: 15,
3075
4209
  write_expires_after_seconds: 60,
3076
4210
  deal_lookback_days: 7,
3077
- deal_clock_allowance_seconds: 60,
3078
- stop_distance_margin: 0.5
4211
+ deal_clock_allowance_seconds: 60
3079
4212
  },
3080
4213
  cache: {
3081
4214
  available_assets_ttl_seconds: 300,
@@ -3090,6 +4223,12 @@ var runtime_policy_generated_default = {
3090
4223
  range_page_limit: 500
3091
4224
  }
3092
4225
  },
4226
+ observability: {
4227
+ hyperliquid_rollup: {
4228
+ enabled: true,
4229
+ exchange_latency_samples_per_minute: 200
4230
+ }
4231
+ },
3093
4232
  external_news: {
3094
4233
  benzinga: {
3095
4234
  enabled: false
@@ -5156,6 +6295,7 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5156
6295
  const stops = supervisorStops ?? installStopTracker();
5157
6296
  const stopsBefore = supervisorStops ? supervisorStops.stops : 0;
5158
6297
  stops.child = child;
6298
+ let exit = null;
5159
6299
  const timer = setTimeout(() => {
5160
6300
  if (ready) return;
5161
6301
  timedOut = true;
@@ -5163,6 +6303,7 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5163
6303
  child.kill("SIGKILL");
5164
6304
  } catch {
5165
6305
  }
6306
+ if (exit) settleExit();
5166
6307
  }, readyTimeoutMs);
5167
6308
  child.on("message", (message) => {
5168
6309
  if (message && typeof message === "object" && message.type === READY_MESSAGE_TYPE) {
@@ -5179,7 +6320,8 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5179
6320
  resolvePromise(result);
5180
6321
  };
5181
6322
  child.once("error", () => finish({ kind: "not_ready", reason: "startup_exited_before_ready", exitCode: 1 }));
5182
- child.once("exit", (code, signal) => {
6323
+ const settleExit = () => {
6324
+ const { code, signal } = exit;
5183
6325
  if (ready) {
5184
6326
  finish({ kind: "exited", exitCode: code ?? 1, signal });
5185
6327
  return;
@@ -5193,6 +6335,11 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5193
6335
  reason: timedOut ? "startup_ready_timeout" : "startup_exited_before_ready",
5194
6336
  exitCode: code ?? 1
5195
6337
  });
6338
+ };
6339
+ child.once("exit", (code, signal) => {
6340
+ exit = { code, signal };
6341
+ if (ready || !child.connected) settleExit();
6342
+ else child.once("disconnect", settleExit);
5196
6343
  });
5197
6344
  });
5198
6345
  var reportCliEntryReady = async () => {