@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.
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.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" } } };
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
@@ -2122,6 +2435,7 @@ var runtime_policy_generated_default = {
2122
2435
  display_batch_size: 50,
2123
2436
  load_more_threshold_px: 100,
2124
2437
  trade_history_fetch_page_size: 100,
2438
+ exchange_key_read_days: 6,
2125
2439
  ai_panel_interaction_window_ms: 2500,
2126
2440
  ai_panel_defer_max_staleness_ms: 1e4,
2127
2441
  ai_panel_defer_retry_ms: 1500,
@@ -2567,6 +2881,7 @@ var runtime_policy_generated_default = {
2567
2881
  device_rounds_per_sweep: 4
2568
2882
  },
2569
2883
  panel_reads: {
2884
+ exchange_key_refresh_seconds: 15,
2570
2885
  device_open_orders_reuse_seconds: 2,
2571
2886
  all_view_profile_concurrency: 2,
2572
2887
  display_account_fresh_seconds: 60
@@ -2678,6 +2993,11 @@ var runtime_policy_generated_default = {
2678
2993
  },
2679
2994
  defaults: {
2680
2995
  server_ai_max_slippage: 5
2996
+ },
2997
+ server_runtime_host: {
2998
+ server_executors: {
2999
+ idle_seconds: 3600
3000
+ }
2681
3001
  }
2682
3002
  },
2683
3003
  agent_cli: {
@@ -2709,6 +3029,181 @@ var runtime_policy_generated_default = {
2709
3029
  device_portfolio: {
2710
3030
  device_retry_seconds: 300
2711
3031
  },
3032
+ lighter: {
3033
+ flow_kinds: [
3034
+ "deposit",
3035
+ "withdraw",
3036
+ "L2TransferInflow",
3037
+ "L2TransferOutflow",
3038
+ "L2SelfTransfer",
3039
+ "L2MintSharesOutflow",
3040
+ "L2BurnSharesInflow",
3041
+ "L2ForceBurnSharesInflow",
3042
+ "L1BurnSharesInflow",
3043
+ "L2CreatePublicPoolOutflow"
3044
+ ],
3045
+ max_transfers: 100,
3046
+ device_retry_seconds: 300,
3047
+ device_batches_per_read: 10
3048
+ },
3049
+ okx: {
3050
+ flow_bill_types: [
3051
+ "1"
3052
+ ],
3053
+ max_transfers: 100,
3054
+ device_retry_seconds: 300,
3055
+ device_batches_per_read: 10
3056
+ },
3057
+ binance: {
3058
+ flow_income_types: [
3059
+ "TRANSFER",
3060
+ "INTERNAL_TRANSFER",
3061
+ "STRATEGY_UMFUTURES_TRANSFER",
3062
+ "CROSS_COLLATERAL_TRANSFER",
3063
+ "COIN_SWAP_DEPOSIT",
3064
+ "COIN_SWAP_WITHDRAW",
3065
+ "AUTO_EXCHANGE"
3066
+ ],
3067
+ funding_income_types: [
3068
+ "FUNDING_FEE"
3069
+ ],
3070
+ trade_income_types: [
3071
+ "REALIZED_PNL",
3072
+ "COMMISSION"
3073
+ ],
3074
+ max_transfers: 1e3,
3075
+ device_retry_seconds: 300,
3076
+ device_batches_per_read: 10
3077
+ },
3078
+ bitget: {
3079
+ flow_business_types: [
3080
+ "trans_from_exchange",
3081
+ "trans_to_exchange",
3082
+ "trans_from_contract",
3083
+ "trans_to_contract",
3084
+ "trans_from_otc",
3085
+ "trans_to_otc",
3086
+ "trans_from_cross",
3087
+ "trans_to_cross",
3088
+ "trans_from_isolated",
3089
+ "trans_to_isolated"
3090
+ ],
3091
+ max_transfers: 1e3,
3092
+ device_retry_seconds: 300,
3093
+ device_batches_per_read: 10
3094
+ },
3095
+ mexc: {
3096
+ flow_transfer_types: [
3097
+ "IN",
3098
+ "OUT"
3099
+ ],
3100
+ max_transfers: 100,
3101
+ device_retry_seconds: 300,
3102
+ device_batches_per_read: 10
3103
+ },
3104
+ coinbase_intl: {
3105
+ flow_log_types: [
3106
+ "deposit",
3107
+ "withdrawal",
3108
+ "transfer",
3109
+ "swap"
3110
+ ],
3111
+ max_transfers: 1e3,
3112
+ device_retry_seconds: 300,
3113
+ device_batches_per_read: 10
3114
+ },
3115
+ kraken_futures: {
3116
+ flow_infos: [
3117
+ "deposit",
3118
+ "withdrawal",
3119
+ "transfer",
3120
+ "cross-exchange transfer",
3121
+ "cross-exchange transfer failed",
3122
+ "subaccount transfer",
3123
+ "admin transfer"
3124
+ ],
3125
+ flow_assets: [
3126
+ "USD",
3127
+ "USDC",
3128
+ "USDT"
3129
+ ],
3130
+ max_transfers: 1e3,
3131
+ device_retry_seconds: 300,
3132
+ device_batches_per_read: 10
3133
+ },
3134
+ aster: {
3135
+ flow_income_types: [
3136
+ "TRANSFER",
3137
+ "INTERNAL_TRANSFER",
3138
+ "CROSS_COLLATERAL_TRANSFER",
3139
+ "AUTO_EXCHANGE"
3140
+ ],
3141
+ funding_income_types: [
3142
+ "FUNDING_FEE"
3143
+ ],
3144
+ trade_income_types: [
3145
+ "REALIZED_PNL",
3146
+ "COMMISSION"
3147
+ ],
3148
+ max_transfers: 1e3,
3149
+ device_retry_seconds: 300,
3150
+ device_batches_per_read: 10
3151
+ },
3152
+ kucoin_futures: {
3153
+ flow_ledger_types: [
3154
+ "Deposit",
3155
+ "Withdrawal",
3156
+ "TransferIn",
3157
+ "TransferOut"
3158
+ ],
3159
+ max_transfers: 1e3,
3160
+ device_retry_seconds: 300,
3161
+ device_batches_per_read: 10
3162
+ },
3163
+ bybit: {
3164
+ flow_transaction_types: [
3165
+ "TRANSFER_IN",
3166
+ "TRANSFER_OUT",
3167
+ "BONUS_TRANSFER_IN",
3168
+ "BONUS_TRANSFER_OUT",
3169
+ "PEF_TRANSFER_IN",
3170
+ "PEF_TRANSFER_OUT",
3171
+ "FLEXIBLE_STAKING_SUBSCRIPTION",
3172
+ "FLEXIBLE_STAKING_REDEMPTION",
3173
+ "FLEXIBLE_STAKING_REFUND",
3174
+ "FIXED_STAKING_SUBSCRIPTION",
3175
+ "FIXED_STAKING_REFUND",
3176
+ "FIXED_SAVING_PRINCIPAL_REDEMPTION",
3177
+ "ONCHAINEARN_SUBSCRIPTION",
3178
+ "ONCHAINEARN_REDEMPTION",
3179
+ "ONCHAINEARN_REFUND",
3180
+ "STRUCTURE_PRODUCT_SUBSCRIPTION",
3181
+ "STRUCTURE_PRODUCT_REFUND",
3182
+ "CLASSIC_WEALTH_MANAGEMENT_SUBSCRIPTION",
3183
+ "PREMIMUM_WEALTH_MANAGEMENT_SUBSCRIPTION",
3184
+ "PREMIMUM_WEALTH_MANAGEMENT_REFUND",
3185
+ "LIQUIDITY_MINING_SUBSCRIPTION",
3186
+ "LIQUIDITY_MINING_REFUND",
3187
+ "PWM_SUBSCRIPTION",
3188
+ "PWM_REFUND",
3189
+ "BYUSDT_MINT",
3190
+ "BYUSDT_REDEMPTION",
3191
+ "STOCK_TRADE_BUY",
3192
+ "STOCK_TRADE_SELL",
3193
+ "STOCK_TRADE_REFUND"
3194
+ ],
3195
+ max_transfers: 50,
3196
+ device_retry_seconds: 300,
3197
+ device_batches_per_read: 10
3198
+ },
3199
+ bingx: {
3200
+ flow_income_types: [
3201
+ "TRANSFER"
3202
+ ],
3203
+ max_transfers: 1e3,
3204
+ device_retry_seconds: 300,
3205
+ device_batches_per_read: 10
3206
+ },
2712
3207
  max_page_size: 100
2713
3208
  },
2714
3209
  external_inference: {
@@ -3033,6 +3528,23 @@ var runtime_policy_generated_default = {
3033
3528
  background: 6
3034
3529
  },
3035
3530
  display_name: "Hyperliquid",
3531
+ short_code: "HYP",
3532
+ candle_timeframes: [
3533
+ "1m",
3534
+ "5m",
3535
+ "15m",
3536
+ "30m",
3537
+ "1h",
3538
+ "4h",
3539
+ "1d",
3540
+ "1w"
3541
+ ],
3542
+ client_surfaces: [
3543
+ "browser",
3544
+ "desktop",
3545
+ "android",
3546
+ "agent_token"
3547
+ ],
3036
3548
  account_stream_backoff: {
3037
3549
  initial_seconds: 1,
3038
3550
  max_seconds: 15,
@@ -3042,7 +3554,8 @@ var runtime_policy_generated_default = {
3042
3554
  },
3043
3555
  websocket: {
3044
3556
  ping_interval_seconds: 20,
3045
- account_open_timeout_seconds: 10
3557
+ account_open_timeout_seconds: 10,
3558
+ ticker_cache_ttl_seconds: 60
3046
3559
  },
3047
3560
  node: {
3048
3561
  max_info_lag_milliseconds: 1e3
@@ -3051,6 +3564,29 @@ var runtime_policy_generated_default = {
3051
3564
  default_dex_label: "Hyperliquid"
3052
3565
  }
3053
3566
  },
3567
+ fleet_recovery: {
3568
+ permit_lease_seconds: 8,
3569
+ recovery_initial_concurrency: 1,
3570
+ recovery_max_concurrency: 8,
3571
+ recovery_successes_per_step: 4,
3572
+ recovery_min_spacing_ms: 100,
3573
+ queue_poll_ms: 50,
3574
+ fallback_max_seconds: 300,
3575
+ fallback_jitter_min_factor: 0.5,
3576
+ recovery_quiet_seconds: 300,
3577
+ failed_probe_delay_seconds: 2,
3578
+ hit_claim_milliseconds: 2e3
3579
+ },
3580
+ account_rules: {
3581
+ usd_stable_assets: [
3582
+ "USD",
3583
+ "USDC",
3584
+ "USDT",
3585
+ "USDT0",
3586
+ "USDH",
3587
+ "USDe"
3588
+ ]
3589
+ },
3054
3590
  executor: {
3055
3591
  capabilities: [
3056
3592
  "market_orders",
@@ -3064,8 +3600,604 @@ var runtime_policy_generated_default = {
3064
3600
  "trailing_stops"
3065
3601
  ]
3066
3602
  },
3603
+ bound_accounts: {
3604
+ recheck_seconds: 900
3605
+ },
3606
+ observability: {
3607
+ operations: [
3608
+ "order",
3609
+ "cancel",
3610
+ "modify",
3611
+ "leverage",
3612
+ "close",
3613
+ "account_read",
3614
+ "positions_read",
3615
+ "orders_read",
3616
+ "fills_read",
3617
+ "market_read",
3618
+ "candles_read",
3619
+ "key_check",
3620
+ "stream"
3621
+ ],
3622
+ heartbeat_max_entries: 24,
3623
+ endpoint_max_length: 96,
3624
+ error_code_max_length: 32,
3625
+ error_name_max_length: 64,
3626
+ detail_max_entries: 8
3627
+ },
3628
+ lighter: {
3629
+ account_display_fresh_seconds: 120,
3630
+ display_name: "Lighter",
3631
+ key_name: "key",
3632
+ short_code: "LIG",
3633
+ candle_timeframes: [
3634
+ "1m",
3635
+ "5m",
3636
+ "15m",
3637
+ "30m",
3638
+ "1h",
3639
+ "4h",
3640
+ "1d"
3641
+ ],
3642
+ client_surfaces: [
3643
+ "browser",
3644
+ "desktop",
3645
+ "android",
3646
+ "agent_token"
3647
+ ],
3648
+ collateral_asset: "USDC",
3649
+ markets_cache_seconds: 3600,
3650
+ order_expiry_days: 28,
3651
+ order_renew_days_before_expiry: 7,
3652
+ remembered_order_ids: 5e3,
3653
+ ended_order_search_retry_seconds: 300,
3654
+ tx_readback_attempts: 10,
3655
+ tx_readback_interval_milliseconds: 300,
3656
+ auth_token_renew_margin_seconds: 300,
3657
+ fill_lookback_hours: 72,
3658
+ client_request_capacity: {
3659
+ reserve_margin_requests: 6,
3660
+ demand_bucket_seconds: 60,
3661
+ demand_horizon_seconds: 3600,
3662
+ capacity_cut_percent: 70,
3663
+ capacity_min_requests: 6,
3664
+ capacity_recovery_requests_per_minute: 6,
3665
+ rate_limit_pause_seconds: 60,
3666
+ admission_wait_seconds: 10,
3667
+ background_admission_wait_seconds: 90,
3668
+ fleet_reserve_weight: {
3669
+ trading_reduce: 1,
3670
+ trading_reconcile: 2,
3671
+ trading_execute: 3,
3672
+ trading_analysis: 5,
3673
+ ui: 15,
3674
+ background: 20
3675
+ }
3676
+ }
3677
+ },
3678
+ binance: {
3679
+ account_display_fresh_seconds: 30,
3680
+ display_name: "Binance",
3681
+ key_name: "API key",
3682
+ short_code: "BIN",
3683
+ candle_timeframes: [
3684
+ "1m",
3685
+ "5m",
3686
+ "15m",
3687
+ "30m",
3688
+ "1h",
3689
+ "4h",
3690
+ "1d",
3691
+ "1w"
3692
+ ],
3693
+ quote_asset: "USDT",
3694
+ markets_cache_seconds: 3600,
3695
+ recv_window_milliseconds: 5e3,
3696
+ fill_lookback_days: 7,
3697
+ client_request_capacity: {
3698
+ reserve_margin_weight: 100,
3699
+ demand_bucket_seconds: 60,
3700
+ demand_horizon_seconds: 3600,
3701
+ capacity_cut_percent: 70,
3702
+ capacity_min_weight: 480,
3703
+ capacity_recovery_weight_per_minute: 240,
3704
+ rate_limit_pause_seconds: 60,
3705
+ ip_ban_pause_seconds: 120,
3706
+ admission_wait_seconds: 10,
3707
+ background_admission_wait_seconds: 90,
3708
+ fleet_reserve_weight: {
3709
+ trading_reduce: 50,
3710
+ trading_reconcile: 75,
3711
+ trading_execute: 100,
3712
+ trading_analysis: 200,
3713
+ ui: 600,
3714
+ background: 800
3715
+ }
3716
+ },
3717
+ networks: {
3718
+ live: {
3719
+ client_surfaces: [
3720
+ "browser",
3721
+ "desktop",
3722
+ "android",
3723
+ "agent_token"
3724
+ ]
3725
+ },
3726
+ testnet: {
3727
+ client_surfaces: [
3728
+ "desktop",
3729
+ "android",
3730
+ "agent_token"
3731
+ ]
3732
+ }
3733
+ }
3734
+ },
3735
+ mexc: {
3736
+ account_display_fresh_seconds: 30,
3737
+ display_name: "MEXC",
3738
+ key_name: "API key",
3739
+ short_code: "MEX",
3740
+ candle_timeframes: [
3741
+ "1m",
3742
+ "5m",
3743
+ "15m",
3744
+ "30m",
3745
+ "1h",
3746
+ "4h",
3747
+ "1d",
3748
+ "1w"
3749
+ ],
3750
+ quote_asset: "USDT",
3751
+ markets_cache_seconds: 3600,
3752
+ recv_window_seconds: 10,
3753
+ fill_lookback_days: 7,
3754
+ client_surfaces: [
3755
+ "desktop",
3756
+ "android",
3757
+ "agent_token"
3758
+ ],
3759
+ remembered_order_ids: 5e3,
3760
+ ended_order_search_days: 7,
3761
+ ended_order_search_retry_seconds: 300,
3762
+ client_request_capacity: {
3763
+ reserve_margin_weight: 1,
3764
+ demand_bucket_seconds: 60,
3765
+ demand_horizon_seconds: 3600,
3766
+ capacity_cut_percent: 70,
3767
+ capacity_min_weight: 2,
3768
+ capacity_recovery_weight_per_minute: 20,
3769
+ admission_wait_seconds: 10,
3770
+ background_admission_wait_seconds: 30,
3771
+ fleet_reserve_weight: {
3772
+ trading_reduce: 1,
3773
+ trading_reconcile: 1,
3774
+ trading_execute: 1,
3775
+ trading_analysis: 2,
3776
+ ui: 3,
3777
+ background: 4
3778
+ }
3779
+ }
3780
+ },
3781
+ coinbase_intl: {
3782
+ client_request_capacity: {
3783
+ reserve_margin_requests: 2,
3784
+ demand_bucket_seconds: 60,
3785
+ demand_horizon_seconds: 3600,
3786
+ capacity_cut_percent: 70,
3787
+ capacity_min_requests: 2,
3788
+ capacity_recovery_requests_per_minute: 2,
3789
+ admission_wait_seconds: 10,
3790
+ background_admission_wait_seconds: 90,
3791
+ rate_limit_pause_seconds: 5,
3792
+ fleet_reserve_weight: {
3793
+ trading_reduce: 1,
3794
+ trading_reconcile: 1,
3795
+ trading_execute: 2,
3796
+ trading_analysis: 2,
3797
+ ui: 5,
3798
+ background: 6
3799
+ }
3800
+ },
3801
+ account_display_fresh_seconds: 30,
3802
+ quote_asset: "USDC",
3803
+ display_name: "Coinbase International",
3804
+ key_name: "API key name",
3805
+ short_code: "CBI",
3806
+ candle_timeframes: [
3807
+ "1m",
3808
+ "5m",
3809
+ "15m",
3810
+ "30m",
3811
+ "1h",
3812
+ "1d"
3813
+ ],
3814
+ client_surfaces: [
3815
+ "desktop",
3816
+ "android",
3817
+ "agent_token"
3818
+ ],
3819
+ request_timeout_seconds: 10,
3820
+ auth_renew_before_seconds: 60,
3821
+ auth_max_age_seconds: 900,
3822
+ write_window_seconds: 10,
3823
+ server_time_max_age_seconds: 300,
3824
+ markets_cache_seconds: 3600,
3825
+ fill_lookback_days: 7,
3826
+ fill_page_size: 1e3,
3827
+ remembered_order_ids: 5e3,
3828
+ ended_order_search_days: 7,
3829
+ ended_order_search_retry_seconds: 300
3830
+ },
3831
+ okx: {
3832
+ account_display_fresh_seconds: 30,
3833
+ display_name: "OKX",
3834
+ key_name: "API key",
3835
+ short_code: "OKX",
3836
+ candle_timeframes: [
3837
+ "1m",
3838
+ "5m",
3839
+ "15m",
3840
+ "30m",
3841
+ "1h",
3842
+ "4h",
3843
+ "1d",
3844
+ "1w"
3845
+ ],
3846
+ settle_currency: "USDT",
3847
+ markets_cache_seconds: 3600,
3848
+ markets_miss_reread_seconds: 60,
3849
+ order_lifetime_milliseconds: 5e3,
3850
+ order_readback_attempts: 5,
3851
+ order_readback_interval_milliseconds: 200,
3852
+ remembered_order_ids: 5e3,
3853
+ ended_order_search_days: 7,
3854
+ ended_order_search_retry_seconds: 300,
3855
+ fill_lookback_hours: 71,
3856
+ client_request_capacity: {
3857
+ fleet_reserve_weight: {
3858
+ trading_reduce: 1,
3859
+ trading_reconcile: 1,
3860
+ trading_execute: 1,
3861
+ trading_analysis: 2,
3862
+ ui: 3,
3863
+ background: 5
3864
+ },
3865
+ reserve_margin_requests: 1,
3866
+ demand_bucket_seconds: 60,
3867
+ demand_horizon_seconds: 3600,
3868
+ capacity_cut_percent: 70,
3869
+ capacity_min_requests: 2,
3870
+ capacity_recovery_requests_per_minute: 2,
3871
+ admission_wait_seconds: 10,
3872
+ background_admission_wait_seconds: 90
3873
+ },
3874
+ networks: {
3875
+ live: {
3876
+ client_surfaces: [
3877
+ "browser",
3878
+ "desktop",
3879
+ "android",
3880
+ "agent_token"
3881
+ ]
3882
+ },
3883
+ demo: {
3884
+ client_surfaces: [
3885
+ "browser",
3886
+ "desktop",
3887
+ "android",
3888
+ "agent_token"
3889
+ ]
3890
+ }
3891
+ }
3892
+ },
3893
+ bingx: {
3894
+ account_display_fresh_seconds: 30,
3895
+ display_name: "BingX",
3896
+ key_name: "API key",
3897
+ short_code: "BGX",
3898
+ candle_timeframes: [
3899
+ "1m",
3900
+ "5m",
3901
+ "15m",
3902
+ "30m",
3903
+ "1h",
3904
+ "4h",
3905
+ "1d",
3906
+ "1w"
3907
+ ],
3908
+ quote_asset: "USDT",
3909
+ markets_cache_seconds: 3600,
3910
+ recv_window_milliseconds: 5e3,
3911
+ fill_lookback_days: 7,
3912
+ client_request_capacity: {
3913
+ reserve_margin_requests: 50,
3914
+ demand_bucket_seconds: 60,
3915
+ demand_horizon_seconds: 3600,
3916
+ capacity_cut_percent: 70,
3917
+ capacity_min_requests: 100,
3918
+ capacity_recovery_requests_per_minute: 50,
3919
+ rate_limit_pause_seconds: 10,
3920
+ ip_ban_pause_seconds: 120,
3921
+ admission_wait_seconds: 10,
3922
+ background_admission_wait_seconds: 90,
3923
+ fleet_reserve_weight: {
3924
+ trading_reduce: 10,
3925
+ trading_reconcile: 15,
3926
+ trading_execute: 20,
3927
+ trading_analysis: 40,
3928
+ ui: 100,
3929
+ background: 125
3930
+ }
3931
+ },
3932
+ networks: {
3933
+ live: {
3934
+ client_surfaces: [
3935
+ "desktop",
3936
+ "android",
3937
+ "agent_token"
3938
+ ]
3939
+ },
3940
+ vst: {
3941
+ client_surfaces: [
3942
+ "desktop",
3943
+ "android",
3944
+ "agent_token"
3945
+ ]
3946
+ }
3947
+ }
3948
+ },
3949
+ bitget: {
3950
+ account_display_fresh_seconds: 30,
3951
+ display_name: "Bitget",
3952
+ key_name: "API key",
3953
+ short_code: "BIT",
3954
+ candle_timeframes: [
3955
+ "1m",
3956
+ "5m",
3957
+ "15m",
3958
+ "30m",
3959
+ "1h",
3960
+ "4h",
3961
+ "1d",
3962
+ "1w"
3963
+ ],
3964
+ product_type: "USDT-FUTURES",
3965
+ quote_asset: "USDT",
3966
+ markets_cache_seconds: 3600,
3967
+ fill_lookback_days: 7,
3968
+ remembered_order_ids: 5e3,
3969
+ ended_order_search_days: 7,
3970
+ ended_order_search_retry_seconds: 300,
3971
+ old_open_order_search_seconds: 3600,
3972
+ client_request_capacity: {
3973
+ reserve_margin_weight: 2,
3974
+ demand_bucket_seconds: 60,
3975
+ demand_horizon_seconds: 3600,
3976
+ capacity_cut_percent: 70,
3977
+ capacity_min_weight: 4,
3978
+ capacity_recovery_weight_per_minute: 60,
3979
+ admission_wait_seconds: 10,
3980
+ background_admission_wait_seconds: 90,
3981
+ fleet_reserve_weight: {
3982
+ trading_reduce: 1,
3983
+ trading_reconcile: 1,
3984
+ trading_execute: 2,
3985
+ trading_analysis: 2,
3986
+ ui: 5,
3987
+ background: 6
3988
+ }
3989
+ },
3990
+ networks: {
3991
+ live: {
3992
+ client_surfaces: [
3993
+ "desktop",
3994
+ "android",
3995
+ "agent_token"
3996
+ ]
3997
+ },
3998
+ demo: {
3999
+ client_surfaces: [
4000
+ "desktop",
4001
+ "android",
4002
+ "agent_token"
4003
+ ]
4004
+ }
4005
+ }
4006
+ },
4007
+ kraken_futures: {
4008
+ account_display_fresh_seconds: 30,
4009
+ display_name: "Kraken Futures",
4010
+ key_name: "API key",
4011
+ short_code: "KRA",
4012
+ candle_timeframes: [
4013
+ "1m",
4014
+ "5m",
4015
+ "15m",
4016
+ "30m",
4017
+ "1h",
4018
+ "4h",
4019
+ "1d",
4020
+ "1w"
4021
+ ],
4022
+ client_surfaces: [
4023
+ "desktop",
4024
+ "android",
4025
+ "agent_token"
4026
+ ],
4027
+ markets_cache_seconds: 3600,
4028
+ fill_lookback_days: 7,
4029
+ history_pages_per_read: 10,
4030
+ funding_log_page_entries: 1e3,
4031
+ request_capacity: {
4032
+ reserve_margin_weight: 100,
4033
+ demand_bucket_seconds: 60,
4034
+ demand_horizon_seconds: 3600,
4035
+ capacity_cut_percent: 70,
4036
+ capacity_min_weight: 100,
4037
+ capacity_recovery_weight_per_minute: 50,
4038
+ derivatives_limit_pause_seconds: 10,
4039
+ history_limit_pause_seconds: 60,
4040
+ admission_wait_seconds: 5,
4041
+ background_admission_wait_seconds: 30
4042
+ }
4043
+ },
4044
+ aster: {
4045
+ account_display_fresh_seconds: 30,
4046
+ quote_asset: "USDT",
4047
+ display_name: "Aster",
4048
+ key_name: "API wallet",
4049
+ short_code: "AST",
4050
+ candle_timeframes: [
4051
+ "1m",
4052
+ "5m",
4053
+ "15m",
4054
+ "30m",
4055
+ "1h",
4056
+ "4h",
4057
+ "1d",
4058
+ "1w"
4059
+ ],
4060
+ client_surfaces: [
4061
+ "browser",
4062
+ "desktop",
4063
+ "android",
4064
+ "agent_token"
4065
+ ],
4066
+ markets_cache_seconds: 3600,
4067
+ fill_lookback_days: 7,
4068
+ client_request_capacity: {
4069
+ reserve_margin_weight: 100,
4070
+ demand_bucket_seconds: 60,
4071
+ demand_horizon_seconds: 3600,
4072
+ capacity_cut_percent: 70,
4073
+ capacity_min_weight: 480,
4074
+ capacity_recovery_weight_per_minute: 240,
4075
+ rate_limit_pause_seconds: 60,
4076
+ ip_ban_pause_seconds: 120,
4077
+ admission_wait_seconds: 10,
4078
+ background_admission_wait_seconds: 90,
4079
+ fleet_reserve_weight: {
4080
+ trading_reduce: 50,
4081
+ trading_reconcile: 75,
4082
+ trading_execute: 100,
4083
+ trading_analysis: 200,
4084
+ ui: 600,
4085
+ background: 800
4086
+ }
4087
+ }
4088
+ },
4089
+ kucoin_futures: {
4090
+ account_display_fresh_seconds: 30,
4091
+ display_name: "KuCoin Futures",
4092
+ key_name: "API key",
4093
+ short_code: "KUC",
4094
+ candle_timeframes: [
4095
+ "1m",
4096
+ "5m",
4097
+ "15m",
4098
+ "30m",
4099
+ "1h",
4100
+ "4h",
4101
+ "1d",
4102
+ "1w"
4103
+ ],
4104
+ client_surfaces: [
4105
+ "desktop",
4106
+ "android",
4107
+ "agent_token"
4108
+ ],
4109
+ settle_currency: "USDT",
4110
+ markets_cache_seconds: 3600,
4111
+ remembered_order_ids: 5e3,
4112
+ ended_order_search_days: 7,
4113
+ ended_order_search_retry_seconds: 300,
4114
+ client_request_capacity: {
4115
+ reserve_margin_weight: 100,
4116
+ demand_bucket_seconds: 60,
4117
+ demand_horizon_seconds: 3600,
4118
+ capacity_cut_percent: 70,
4119
+ capacity_min_weight: 200,
4120
+ capacity_recovery_weight_per_minute: 100,
4121
+ admission_wait_seconds: 10,
4122
+ background_admission_wait_seconds: 60,
4123
+ fleet_reserve_weight: {
4124
+ trading_reduce: 50,
4125
+ trading_reconcile: 75,
4126
+ trading_execute: 100,
4127
+ trading_analysis: 200,
4128
+ ui: 500,
4129
+ background: 700
4130
+ }
4131
+ }
4132
+ },
4133
+ bybit: {
4134
+ client_request_capacity: {
4135
+ reserve_margin_weight: 60,
4136
+ demand_bucket_seconds: 60,
4137
+ demand_horizon_seconds: 3600,
4138
+ capacity_cut_percent: 70,
4139
+ capacity_min_weight: 60,
4140
+ capacity_recovery_weight_per_minute: 60,
4141
+ admission_wait_seconds: 10,
4142
+ background_admission_wait_seconds: 60,
4143
+ fleet_reserve_weight: {
4144
+ trading_reduce: 15,
4145
+ trading_reconcile: 20,
4146
+ trading_execute: 25,
4147
+ trading_analysis: 50,
4148
+ ui: 150,
4149
+ background: 200
4150
+ }
4151
+ },
4152
+ display_name: "Bybit",
4153
+ key_name: "API key",
4154
+ short_code: "BYB",
4155
+ candle_timeframes: [
4156
+ "1m",
4157
+ "5m",
4158
+ "15m",
4159
+ "30m",
4160
+ "1h",
4161
+ "4h",
4162
+ "1d",
4163
+ "1w"
4164
+ ],
4165
+ client_surfaces: [
4166
+ "browser",
4167
+ "desktop",
4168
+ "android",
4169
+ "agent_token"
4170
+ ],
4171
+ settle_coin: "USDT",
4172
+ account_display_fresh_seconds: 30,
4173
+ markets_cache_seconds: 3600,
4174
+ recv_window_milliseconds: 5e3,
4175
+ order_readback_attempts: 5,
4176
+ order_readback_interval_milliseconds: 200,
4177
+ remembered_order_ids: 5e3,
4178
+ ended_order_search_days: 7,
4179
+ ended_order_search_retry_seconds: 300,
4180
+ fill_lookback_hours: 167
4181
+ },
3067
4182
  mt5: {
3068
4183
  display_name: "MetaTrader 5",
4184
+ short_code: "MT5",
4185
+ candle_timeframes: [
4186
+ "1m",
4187
+ "5m",
4188
+ "15m",
4189
+ "30m",
4190
+ "1h",
4191
+ "4h",
4192
+ "1d",
4193
+ "1w"
4194
+ ],
4195
+ client_surfaces: [
4196
+ "browser",
4197
+ "desktop",
4198
+ "android",
4199
+ "agent_token"
4200
+ ],
3069
4201
  bridge_download_path: "/downloads/mt5/VtxBridge.ex5",
3070
4202
  trading_enabled: true,
3071
4203
  status_poll_seconds: 5,
@@ -3074,8 +4206,7 @@ var runtime_policy_generated_default = {
3074
4206
  request_timeout_seconds: 15,
3075
4207
  write_expires_after_seconds: 60,
3076
4208
  deal_lookback_days: 7,
3077
- deal_clock_allowance_seconds: 60,
3078
- stop_distance_margin: 0.5
4209
+ deal_clock_allowance_seconds: 60
3079
4210
  },
3080
4211
  cache: {
3081
4212
  available_assets_ttl_seconds: 300,
@@ -3090,6 +4221,12 @@ var runtime_policy_generated_default = {
3090
4221
  range_page_limit: 500
3091
4222
  }
3092
4223
  },
4224
+ observability: {
4225
+ hyperliquid_rollup: {
4226
+ enabled: true,
4227
+ exchange_latency_samples_per_minute: 200
4228
+ }
4229
+ },
3093
4230
  external_news: {
3094
4231
  benzinga: {
3095
4232
  enabled: false
@@ -5156,6 +6293,7 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5156
6293
  const stops = supervisorStops ?? installStopTracker();
5157
6294
  const stopsBefore = supervisorStops ? supervisorStops.stops : 0;
5158
6295
  stops.child = child;
6296
+ let exit = null;
5159
6297
  const timer = setTimeout(() => {
5160
6298
  if (ready) return;
5161
6299
  timedOut = true;
@@ -5163,6 +6301,7 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5163
6301
  child.kill("SIGKILL");
5164
6302
  } catch {
5165
6303
  }
6304
+ if (exit) settleExit();
5166
6305
  }, readyTimeoutMs);
5167
6306
  child.on("message", (message) => {
5168
6307
  if (message && typeof message === "object" && message.type === READY_MESSAGE_TYPE) {
@@ -5179,7 +6318,8 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5179
6318
  resolvePromise(result);
5180
6319
  };
5181
6320
  child.once("error", () => finish({ kind: "not_ready", reason: "startup_exited_before_ready", exitCode: 1 }));
5182
- child.once("exit", (code, signal) => {
6321
+ const settleExit = () => {
6322
+ const { code, signal } = exit;
5183
6323
  if (ready) {
5184
6324
  finish({ kind: "exited", exitCode: code ?? 1, signal });
5185
6325
  return;
@@ -5193,6 +6333,11 @@ var runReleaseProcess = async (executable, script, argv, env, readyTimeoutMs, on
5193
6333
  reason: timedOut ? "startup_ready_timeout" : "startup_exited_before_ready",
5194
6334
  exitCode: code ?? 1
5195
6335
  });
6336
+ };
6337
+ child.once("exit", (code, signal) => {
6338
+ exit = { code, signal };
6339
+ if (ready || !child.connected) settleExit();
6340
+ else child.once("disconnect", settleExit);
5196
6341
  });
5197
6342
  });
5198
6343
  var reportCliEntryReady = async () => {