@vtxmacro/cli 2026.10.11 → 2026.10.13

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
@@ -37,7 +37,7 @@ var init_define_VTX_PI_MODEL_POLICY = __esm({
37
37
  var agent_cli_release_default;
38
38
  var init_agent_cli_release = __esm({
39
39
  "agent-cli-release.json"() {
40
- agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.11", 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" } } };
40
+ agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.13", 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" } } };
41
41
  }
42
42
  });
43
43
 
@@ -1219,7 +1219,10 @@ var runtime_policy_generated_default = {
1219
1219
  jitter_milliseconds: 750,
1220
1220
  base_delay_milliseconds: 500,
1221
1221
  min_delay_milliseconds: 250,
1222
- max_delay_milliseconds: 1e4
1222
+ max_delay_milliseconds: 1e4,
1223
+ recovery_base_delay_milliseconds: 1e3,
1224
+ recovery_max_delay_milliseconds: 3e4,
1225
+ recovery_exponent_max: 5
1223
1226
  },
1224
1227
  trade_refresh_policy: {
1225
1228
  server_config_stream_timeout_ms: 1e4,
@@ -1227,11 +1230,109 @@ var runtime_policy_generated_default = {
1227
1230
  copy_trading_status_poll_ms: 5e3,
1228
1231
  post_execution_refresh_delay_ms: 3e3,
1229
1232
  account_read_backoff_min_ms: 2e3,
1230
- account_read_backoff_max_ms: 6e4
1233
+ account_read_backoff_max_ms: 6e4,
1234
+ ai_start_grace_min_ms: 45e3
1231
1235
  },
1232
1236
  deployment_reload_observability: {
1233
1237
  bootstrap_max_error_events_per_page: 4,
1234
1238
  bootstrap_max_profiles: 10
1239
+ },
1240
+ ws_fallback_polling: {
1241
+ screener_active_run_ms: 2500
1242
+ },
1243
+ deployment_reload: {
1244
+ version_poll_interval_seconds: 30,
1245
+ reload_delay_seconds: 5
1246
+ },
1247
+ profile_runtime_status: {
1248
+ sync_timeout_ms: 8e3,
1249
+ sync_concurrency: 3,
1250
+ refresh_interval_ms: 1e4,
1251
+ watchdog_interval_ms: 1e3,
1252
+ watchdog_grace_ms: 500
1253
+ },
1254
+ preferences: {
1255
+ load_timeout_ms: 5e3,
1256
+ initial_load_settle_ms: 100,
1257
+ external_save_timeout_ms: 8e3,
1258
+ guest_cookie_max_age_days: 9999
1259
+ },
1260
+ navigation_feedback: {
1261
+ finish_fallback_ms: 2250
1262
+ },
1263
+ confirmation_notices: {
1264
+ success_indicator_ms: 2e3,
1265
+ byok_success_message_ms: 3e3
1266
+ },
1267
+ screener_runtime_config_retry: {
1268
+ base_delay_ms: 1e3,
1269
+ max_delay_ms: 3e4
1270
+ },
1271
+ advanced_chart: {
1272
+ debug_log_throttle_ms: 1e3,
1273
+ initial_history_stall_ms: 15e3,
1274
+ initial_history_recovery_cooldown_ms: 3e4,
1275
+ viewport_restore_settle_ms: 100,
1276
+ symbol_price_wait_ms: 2e3,
1277
+ layout_auto_save_delay_ms: 250
1278
+ },
1279
+ ai_panel: {
1280
+ message_limit: 100,
1281
+ post_execution_history_sync_delay_ms: 2e3,
1282
+ runtime_error_attempt_group_window_seconds: 120,
1283
+ debug_runtime_error_preview_chars: 180
1284
+ },
1285
+ insights_charts: {
1286
+ max_charts: 3,
1287
+ max_line_points: 160,
1288
+ max_bars: 8
1289
+ },
1290
+ analysis_chat: {
1291
+ new_message_scroll_delay_ms: 100
1292
+ },
1293
+ snapshot_selector: {
1294
+ sync_resolution_pending_ms: 350,
1295
+ own_broadcast_window_ms: 5e3,
1296
+ seen_imported_ids_limit: 200,
1297
+ post_import_reload_delay_ms: 1e3,
1298
+ debug_value_chars: 220,
1299
+ debug_fingerprint_head_chars: 64,
1300
+ debug_head_snapshot_ids: 8,
1301
+ debug_comparable_head_chars: 240,
1302
+ debug_panel_comparable_head_chars: 120
1303
+ },
1304
+ debug_logs: {
1305
+ snapshot_card_lines: 80,
1306
+ render_debug_overlay_entries: 120,
1307
+ render_debug_entry_data_chars: 2400,
1308
+ analytics_dashboard_lines: 220,
1309
+ analytics_metric_capture_interval_ms: 400,
1310
+ system_profile_mode_lines: 120,
1311
+ admin_text_chars: 160,
1312
+ admin_analysis_run_id_chars: 32,
1313
+ hyperliquid_balance_preview_count: 3,
1314
+ model_picker_preview_count: 5
1315
+ },
1316
+ history_panels: {
1317
+ display_batch_size: 50,
1318
+ load_more_threshold_px: 100,
1319
+ trade_history_fetch_page_size: 100,
1320
+ ai_panel_interaction_window_ms: 2500,
1321
+ ai_panel_defer_max_staleness_ms: 1e4,
1322
+ ai_panel_defer_retry_ms: 1500
1323
+ },
1324
+ insights_access: {
1325
+ initial_prompt_idea_count: 6,
1326
+ section_preview_blocks: 2
1327
+ },
1328
+ marketing: {
1329
+ arena_leaderboard_entries: 3
1330
+ },
1331
+ calendar: {
1332
+ event_highlight_window_minutes: 60
1333
+ },
1334
+ system_page: {
1335
+ hyperliquid_manual_refresh_cooldown_ms: 800
1235
1336
  }
1236
1337
  },
1237
1338
  ai_dashboard: {
@@ -1273,6 +1374,9 @@ var runtime_policy_generated_default = {
1273
1374
  72,
1274
1375
  168
1275
1376
  ]
1377
+ },
1378
+ defaults: {
1379
+ max_chat_turns: 9999
1276
1380
  }
1277
1381
  },
1278
1382
  trading: {
@@ -1294,7 +1398,12 @@ var runtime_policy_generated_default = {
1294
1398
  idle_recheck_seconds: 60,
1295
1399
  attention_refresh_seconds: 60,
1296
1400
  evidence_max_items: 32,
1297
- evidence_shared_read_seconds: 10
1401
+ evidence_shared_read_seconds: 10,
1402
+ retry_delay_seconds: 15
1403
+ },
1404
+ exchange_mutation: {
1405
+ settlement_retry_milliseconds: 1e3,
1406
+ settlement_retry_window_seconds: 120
1298
1407
  },
1299
1408
  protective_plan_set_lock: {
1300
1409
  wait_seconds: 120
@@ -1317,7 +1426,15 @@ var runtime_policy_generated_default = {
1317
1426
  hyperliquid_snapshot: {
1318
1427
  max_fills_per_execution: 20,
1319
1428
  max_fill_payload_bytes: 32768
1320
- }
1429
+ },
1430
+ loop_early_return_retry_milliseconds: 5e3,
1431
+ window_handoff_cleanup_retry_milliseconds: 1e3,
1432
+ ai_schedule_pause_min_milliseconds: 1e3,
1433
+ ai_schedule_pause_max_milliseconds: 36e5,
1434
+ ai_schedule_pause_unknown_milliseconds: 6e4,
1435
+ provider_failure_diagnostics_delay_milliseconds: 2500,
1436
+ provider_failure_diagnostics_max_age_milliseconds: 3e4,
1437
+ killswitch_timer_floor_milliseconds: 1e3
1321
1438
  },
1322
1439
  server_runtime: {
1323
1440
  prompt_rescue: {
@@ -1328,7 +1445,14 @@ var runtime_policy_generated_default = {
1328
1445
  client_claim_retry_delay_milliseconds: 1e3,
1329
1446
  client_failure_report_timeout_milliseconds: 2e3,
1330
1447
  client_presence_heartbeat_interval_milliseconds: 3e4,
1331
- client_presence_http_timeout_milliseconds: 5e3
1448
+ client_presence_http_timeout_milliseconds: 5e3,
1449
+ client_claim_completion_buffer_milliseconds: 250,
1450
+ client_max_concurrent_jobs_max: 32,
1451
+ diagnostics_max_elapsed_ms: 12e4,
1452
+ diagnostics_max_pending_reads: 1e3,
1453
+ diagnostics_max_clock_offset_ms: 864e5,
1454
+ failure_max_reported_weight: 1e6,
1455
+ failure_max_retry_after_ms: 36e5
1332
1456
  }
1333
1457
  }
1334
1458
  },
@@ -1337,6 +1461,10 @@ var runtime_policy_generated_default = {
1337
1461
  history_start_ms: 16409952e5,
1338
1462
  device_read_deadline_seconds: 180,
1339
1463
  device_recent_window_hours: 24
1464
+ },
1465
+ tradability: {
1466
+ score_min: 1,
1467
+ score_max: 10
1340
1468
  }
1341
1469
  },
1342
1470
  agent_cli: {
@@ -1361,11 +1489,55 @@ var runtime_policy_generated_default = {
1361
1489
  restart_stable_uptime_ms: 6e4,
1362
1490
  restart_backoff_base_ms: 1e3,
1363
1491
  restart_backoff_max_ms: 3e4,
1364
- restart_exponent_max: 5
1492
+ restart_exponent_max: 5,
1493
+ cooperative_stop_timeout_ms: 75e3,
1494
+ update_readiness_timeout_ms: 6e5,
1495
+ rollback_confirmation_min_attempts: 100,
1496
+ ready_consecutive_observations: 2,
1497
+ control_lock_wait_attempts: 400,
1498
+ control_lock_retry_interval_ms: 250,
1499
+ supervisor_manifest_poll_interval_ms: 250,
1500
+ worker_readiness_settle_ms: 500
1365
1501
  },
1366
1502
  claim_diagnostics: {
1367
1503
  event_loop_sample_interval_ms: 100
1368
- }
1504
+ },
1505
+ host_runtime: {
1506
+ advertisement_ttl_ms: 12e4,
1507
+ advertisement_refresh_lead_ms: 3e4,
1508
+ host_heartbeat_interval_ms: 3e3,
1509
+ attempt_heartbeat_interval_ms: 3e3,
1510
+ agent_heartbeat_interval_ms: 3e3,
1511
+ agent_heartbeat_max_retry_delay_ms: 9e3,
1512
+ provider_rate_limit_refresh_ms: 6e4,
1513
+ drain_timeout_ms: 3e4,
1514
+ remote_retry_limit: 3,
1515
+ minimum_sleep_ms: 10,
1516
+ heartbeat_gap_diagnostic_min_ms: 1e4,
1517
+ heartbeat_gap_diagnostic_factor: 3,
1518
+ agent_auth_cooldown_ms: 3e5,
1519
+ agent_rate_limit_cooldown_ms: 6e4,
1520
+ agent_transient_cooldown_ms: 5e3,
1521
+ claim_start_window_min_ms: 5e3,
1522
+ attempt_start_retry_delay_max_ms: 15e3,
1523
+ claim_dispatch_batch_size: 16,
1524
+ codex_quota_cooldown_max_ms: 6912e5,
1525
+ attempt_start_retry_base_ms: 1e3,
1526
+ attempt_start_retry_exponent_max: 4,
1527
+ remote_retry_backoff_step_ms: 250,
1528
+ remote_retry_backoff_max_ms: 1e3,
1529
+ remote_retry_fallback_ms: 1e3,
1530
+ access_token_refresh_lead_ms: 5e3,
1531
+ rate_limit_read_timeout_max_ms: 2e3,
1532
+ agent_idle_retry_ms: 1e3,
1533
+ agent_idle_poll_ms: 5e3,
1534
+ agent_turn_timeout_ms: 6e5,
1535
+ codex_rate_limit_metadata_timeout_ms: 5e3,
1536
+ codex_login_timeout_ms: 9e5,
1537
+ codex_command_timeout_ms: 3e4
1538
+ },
1539
+ quota_membership_cooldown_seconds: 300,
1540
+ transient_membership_cooldown_seconds: 30
1369
1541
  },
1370
1542
  desktop: {
1371
1543
  runtime_watchdog: {
@@ -1380,6 +1552,9 @@ var runtime_policy_generated_default = {
1380
1552
  resource_scheduler: {
1381
1553
  client_lock_ttl_milliseconds: 12e4,
1382
1554
  client_poll_interval_milliseconds: 250
1555
+ },
1556
+ defaults: {
1557
+ adaptive_schedule_enabled: true
1383
1558
  }
1384
1559
  },
1385
1560
  deployment: {
@@ -1498,12 +1673,133 @@ var runtime_policy_generated_default = {
1498
1673
  benzinga: {
1499
1674
  enabled: false
1500
1675
  }
1676
+ },
1677
+ market_data: {
1678
+ chart_interest: {
1679
+ historical_backfill_candle_limit: 1e3,
1680
+ heartbeat_retry_seconds: 15,
1681
+ heartbeat_min_delay_ms: 1e3,
1682
+ catch_up_candle_limit: 300
1683
+ }
1684
+ },
1685
+ auth: {
1686
+ tokens: {
1687
+ email_2fa_code_length: 6,
1688
+ totp_code_length: 6
1689
+ }
1690
+ },
1691
+ android: {
1692
+ app_host: {
1693
+ profiles_refresh_interval_seconds: 60,
1694
+ running_report_interval_seconds: 5,
1695
+ page_identity_retry_seconds: 5,
1696
+ profiles_read_timeout_seconds: 30
1697
+ }
1698
+ },
1699
+ websocket: {
1700
+ client_connection: {
1701
+ reconnect_delay_ms: 3e3,
1702
+ ping_interval_ms: 3e4,
1703
+ message_flush_interval_ms: 16,
1704
+ price_change_highlight_ms: 1e3,
1705
+ debug_recent_channel_limit: 24
1706
+ }
1707
+ },
1708
+ notifications: {
1709
+ desktop: {
1710
+ heartbeat_seconds: 20
1711
+ },
1712
+ telegram: {
1713
+ connect_link_poll_ms: 3e3
1714
+ }
1715
+ },
1716
+ validation: {
1717
+ profile_handles: {
1718
+ min_length: 3,
1719
+ max_length: 20,
1720
+ update_confirmation_ms: 3e3
1721
+ }
1722
+ },
1723
+ profiles: {
1724
+ limits: {
1725
+ handle_changes_per_window: 2,
1726
+ handle_change_window_days: 14
1727
+ }
1728
+ },
1729
+ billing: {
1730
+ credit_purchase: {
1731
+ amount_usd_steps: [
1732
+ 10,
1733
+ 25,
1734
+ 50,
1735
+ 100,
1736
+ 500,
1737
+ 1e3
1738
+ ]
1739
+ }
1740
+ },
1741
+ admin: {
1742
+ page: {
1743
+ credit_grant_amount_usd_steps: [
1744
+ 10,
1745
+ 25,
1746
+ 50,
1747
+ 100,
1748
+ 500,
1749
+ 1e3,
1750
+ 5e3,
1751
+ 1e4,
1752
+ 5e4,
1753
+ 1e5
1754
+ ],
1755
+ user_lookup_blur_close_delay_ms: 200,
1756
+ selected_user_refresh_delay_ms: 300,
1757
+ handle_preview_count: 3
1758
+ },
1759
+ models: {
1760
+ analytics: {
1761
+ summary_failure_kinds: 3
1762
+ }
1763
+ },
1764
+ user_search: {
1765
+ min_query_length: 2
1766
+ }
1767
+ },
1768
+ security: {
1769
+ byok: {
1770
+ max_provider_keys_per_provider: 5
1771
+ }
1772
+ },
1773
+ analysis: {
1774
+ live_request_candles: {
1775
+ default_limit: 100
1776
+ }
1777
+ },
1778
+ users: {
1779
+ search: {
1780
+ min_query_length: 2
1781
+ }
1782
+ },
1783
+ referrals: {
1784
+ code_max_length: 24
1501
1785
  }
1502
1786
  };
1503
1787
 
1504
1788
  // lib/cli-release/updater.ts
1505
1789
  init_config();
1506
1790
 
1791
+ // lib/agent-core/stop-signals.ts
1792
+ init_define_VTX_EXO_POLICY();
1793
+ init_define_VTX_GROK_POLICY();
1794
+ init_define_VTX_PI_MODEL_POLICY();
1795
+ var HEADLESS_RUNTIME_STOP_SIGNALS = ["SIGINT", "SIGTERM", "SIGHUP"];
1796
+ var ignoreClosedTerminalWrites = () => {
1797
+ for (const stream of [process.stdout, process.stderr]) {
1798
+ if (!stream.listeners("error").includes(dropWriteError)) stream.on("error", dropWriteError);
1799
+ }
1800
+ };
1801
+ var dropWriteError = () => void 0;
1802
+
1507
1803
  // lib/inference-host/config.ts
1508
1804
  init_define_VTX_EXO_POLICY();
1509
1805
  init_define_VTX_GROK_POLICY();
@@ -3247,6 +3543,7 @@ var installStopTracker = () => {
3247
3543
  const stopped = new AbortController();
3248
3544
  const tracker = {
3249
3545
  stops: 0,
3546
+ hungUp: false,
3250
3547
  child: null,
3251
3548
  stopped: stopped.signal,
3252
3549
  uninstall: () => void 0
@@ -3261,14 +3558,19 @@ var installStopTracker = () => {
3261
3558
  }
3262
3559
  };
3263
3560
  const forward = (signal) => () => {
3561
+ if (signal === "SIGHUP") {
3562
+ ignoreClosedTerminalWrites();
3563
+ if (tracker.stops === 0) tracker.hungUp = true;
3564
+ }
3264
3565
  tracker.stops += 1;
3265
3566
  stopped.abort();
3567
+ if (signal === "SIGHUP" && process.platform === "win32") return;
3266
3568
  try {
3267
3569
  tracker.child?.kill(signal);
3268
3570
  } catch {
3269
3571
  }
3270
3572
  };
3271
- const forwarded = ["SIGTERM", "SIGHUP"].map((signal) => [signal, forward(signal)]);
3573
+ const forwarded = HEADLESS_RUNTIME_STOP_SIGNALS.filter((signal) => signal !== "SIGINT").map((signal) => [signal, forward(signal)]);
3272
3574
  process.on("SIGINT", onInterrupt);
3273
3575
  for (const [signal, handler] of forwarded) process.on(signal, handler);
3274
3576
  tracker.uninstall = () => {
@@ -3400,6 +3702,7 @@ var superviseRuntime = async (argv, dependencies, env, launcher) => {
3400
3702
  };
3401
3703
  const stops = installStopTracker();
3402
3704
  const endAfterStop = async (exitCode) => {
3705
+ if (stops.hungUp) return exitCode;
3403
3706
  if (!await readRuntimeResume(supervisorEnv) || !dependencies.stopRuntimeBetweenChildren) return exitCode;
3404
3707
  const stopExitCode = await dependencies.stopRuntimeBetweenChildren(supervisorEnv);
3405
3708
  return stopExitCode === 0 ? exitCode : stopExitCode;