@vtxmacro/cli 2026.9.25 → 2026.9.26
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-service-bootstrap.js +1 -1
- package/bin/vtx.js +248 -8
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ import { fileURLToPath } from "node:url";
|
|
|
16
16
|
// agent-cli-release.json
|
|
17
17
|
var agent_cli_release_default = {
|
|
18
18
|
package_name: "@vtxmacro/cli",
|
|
19
|
-
package_version: "2026.9.
|
|
19
|
+
package_version: "2026.9.26",
|
|
20
20
|
codex_package_name: "@openai/codex",
|
|
21
21
|
codex_version: "0.153.3",
|
|
22
22
|
copilot_sdk_package_name: "@github/copilot-sdk",
|
package/bin/vtx.js
CHANGED
|
@@ -69,7 +69,7 @@ var init_agent_cli_release = __esm({
|
|
|
69
69
|
"agent-cli-release.json"() {
|
|
70
70
|
agent_cli_release_default = {
|
|
71
71
|
package_name: "@vtxmacro/cli",
|
|
72
|
-
package_version: "2026.9.
|
|
72
|
+
package_version: "2026.9.26",
|
|
73
73
|
codex_package_name: "@openai/codex",
|
|
74
74
|
codex_version: "0.153.3",
|
|
75
75
|
copilot_sdk_package_name: "@github/copilot-sdk",
|
|
@@ -39451,6 +39451,124 @@ var init_runner = __esm({
|
|
|
39451
39451
|
}
|
|
39452
39452
|
});
|
|
39453
39453
|
|
|
39454
|
+
// lib/runtime-policy.generated.json with { type: 'json' }
|
|
39455
|
+
var runtime_policy_generated_default;
|
|
39456
|
+
var init_runtime_policy_generated = __esm({
|
|
39457
|
+
"lib/runtime-policy.generated.json with { type: 'json' }"() {
|
|
39458
|
+
runtime_policy_generated_default = {
|
|
39459
|
+
ui: {
|
|
39460
|
+
auth_bootstrap_retry: {
|
|
39461
|
+
max_attempts: 3,
|
|
39462
|
+
jitter_milliseconds: 750,
|
|
39463
|
+
base_delay_milliseconds: 500,
|
|
39464
|
+
min_delay_milliseconds: 250,
|
|
39465
|
+
max_delay_milliseconds: 1e4
|
|
39466
|
+
}
|
|
39467
|
+
},
|
|
39468
|
+
ai_dashboard: {
|
|
39469
|
+
market_news_bounds: {
|
|
39470
|
+
max_items_min: 1,
|
|
39471
|
+
max_items_max: 100,
|
|
39472
|
+
lookback_hours_min: 1,
|
|
39473
|
+
lookback_hours_max: 168,
|
|
39474
|
+
max_items_steps: [
|
|
39475
|
+
1,
|
|
39476
|
+
2,
|
|
39477
|
+
3,
|
|
39478
|
+
4,
|
|
39479
|
+
5,
|
|
39480
|
+
6,
|
|
39481
|
+
7,
|
|
39482
|
+
8,
|
|
39483
|
+
9,
|
|
39484
|
+
10,
|
|
39485
|
+
15,
|
|
39486
|
+
20,
|
|
39487
|
+
25,
|
|
39488
|
+
30,
|
|
39489
|
+
40,
|
|
39490
|
+
50,
|
|
39491
|
+
60,
|
|
39492
|
+
75,
|
|
39493
|
+
90,
|
|
39494
|
+
100
|
|
39495
|
+
],
|
|
39496
|
+
lookback_hours_steps: [
|
|
39497
|
+
1,
|
|
39498
|
+
2,
|
|
39499
|
+
4,
|
|
39500
|
+
8,
|
|
39501
|
+
12,
|
|
39502
|
+
24,
|
|
39503
|
+
48,
|
|
39504
|
+
72,
|
|
39505
|
+
168
|
|
39506
|
+
]
|
|
39507
|
+
}
|
|
39508
|
+
},
|
|
39509
|
+
trading: {
|
|
39510
|
+
engine: {
|
|
39511
|
+
client_runtime: {
|
|
39512
|
+
recovery: {
|
|
39513
|
+
resume_retry_base_delay_ms: 1e3,
|
|
39514
|
+
resume_retry_max_delay_ms: 3e4,
|
|
39515
|
+
transient_load_min_delay_ms: 3e4,
|
|
39516
|
+
transient_load_max_delay_ms: 12e4,
|
|
39517
|
+
rate_limit_buffer_ms: 1e3,
|
|
39518
|
+
rate_limit_max_delay_ms: 3e5,
|
|
39519
|
+
engine_stop_settle_retry_delay_ms: 250,
|
|
39520
|
+
recoverable_reset_settle_retry_delay_ms: 1500,
|
|
39521
|
+
local_ai_preflight_timeout_ms: 3e3,
|
|
39522
|
+
surge_stagger_max_ms: 6e4,
|
|
39523
|
+
surge_stagger_min_ms: 2e3,
|
|
39524
|
+
surge_stagger_min_candidates: 4,
|
|
39525
|
+
stagger_deadline_ttl_ms: 3e5,
|
|
39526
|
+
server_active_reprobe_delay_ms: 6e4,
|
|
39527
|
+
transient_load_jitter_ms: 1e4,
|
|
39528
|
+
cross_host_completed_ttl_ms: 15e3,
|
|
39529
|
+
telemetry_dedupe_ttl_ms: 5e3,
|
|
39530
|
+
browser_presence_heartbeat_interval_ms: 3e4,
|
|
39531
|
+
host_liveness_heartbeat_interval_ms: 3e4,
|
|
39532
|
+
host_liveness_recovery_nudge_ttl_ms: 1e4
|
|
39533
|
+
}
|
|
39534
|
+
}
|
|
39535
|
+
}
|
|
39536
|
+
},
|
|
39537
|
+
external_inference: {
|
|
39538
|
+
service: {
|
|
39539
|
+
startup_max_attempts: 40,
|
|
39540
|
+
startup_poll_interval_ms: 250,
|
|
39541
|
+
restart_stable_uptime_ms: 6e4,
|
|
39542
|
+
restart_backoff_base_ms: 1e3,
|
|
39543
|
+
restart_backoff_max_ms: 3e4,
|
|
39544
|
+
restart_exponent_max: 5
|
|
39545
|
+
}
|
|
39546
|
+
},
|
|
39547
|
+
desktop: {
|
|
39548
|
+
runtime_watchdog: {
|
|
39549
|
+
ping_interval_milliseconds: 15e3,
|
|
39550
|
+
telemetry_interval_milliseconds: 3e5
|
|
39551
|
+
}
|
|
39552
|
+
},
|
|
39553
|
+
screener: {
|
|
39554
|
+
resource_scheduler: {
|
|
39555
|
+
client_lock_ttl_milliseconds: 12e4,
|
|
39556
|
+
client_poll_interval_milliseconds: 250
|
|
39557
|
+
}
|
|
39558
|
+
},
|
|
39559
|
+
deployment: {
|
|
39560
|
+
cutover_buffer: {
|
|
39561
|
+
target_timeout_ms: 3e3,
|
|
39562
|
+
retired_timeout_ms: 45e3,
|
|
39563
|
+
max_body_bytes: 33554432,
|
|
39564
|
+
max_inflight: 16,
|
|
39565
|
+
max_queue: 64
|
|
39566
|
+
}
|
|
39567
|
+
}
|
|
39568
|
+
};
|
|
39569
|
+
}
|
|
39570
|
+
});
|
|
39571
|
+
|
|
39454
39572
|
// lib/inference-host/service.ts
|
|
39455
39573
|
import { spawn as spawn7 } from "node:child_process";
|
|
39456
39574
|
import { randomUUID as randomUUID6 } from "node:crypto";
|
|
@@ -39464,6 +39582,7 @@ var init_service = __esm({
|
|
|
39464
39582
|
"use strict";
|
|
39465
39583
|
init_define_VTX_EXO_POLICY();
|
|
39466
39584
|
init_define_VTX_PI_MODEL_POLICY();
|
|
39585
|
+
init_runtime_policy_generated();
|
|
39467
39586
|
init_durable_adapter();
|
|
39468
39587
|
init_config();
|
|
39469
39588
|
SERVICE_NAME = "VTX Macro Inference Host";
|
|
@@ -39870,7 +39989,7 @@ WantedBy=default.target
|
|
|
39870
39989
|
await new Promise((resolvePromise) => setTimeout(resolvePromise, milliseconds));
|
|
39871
39990
|
});
|
|
39872
39991
|
this.stopWaitAttempts = dependencies.stopWaitAttempts ?? SERVICE_COOPERATIVE_STOP_SECONDS * 4;
|
|
39873
|
-
this.startWaitAttempts = dependencies.startWaitAttempts ??
|
|
39992
|
+
this.startWaitAttempts = dependencies.startWaitAttempts ?? runtime_policy_generated_default.external_inference.service.startup_max_attempts;
|
|
39874
39993
|
this.reconcileWaitAttempts = dependencies.reconcileWaitAttempts ?? SERVICE_COOPERATIVE_STOP_SECONDS * 4;
|
|
39875
39994
|
this.confirmInitialReadiness = dependencies.confirmInitialReadiness ?? true;
|
|
39876
39995
|
this.acquireProcessLock = dependencies.acquireProcessLock ?? acquireInferenceHostProcessLock;
|
|
@@ -40001,9 +40120,9 @@ WantedBy=default.target
|
|
|
40001
40120
|
for (let attempt = 0; attempt < this.startWaitAttempts; attempt += 1) {
|
|
40002
40121
|
const status = await this.status();
|
|
40003
40122
|
if (status.manager_active) return status;
|
|
40004
|
-
await this.sleep(
|
|
40123
|
+
await this.sleep(runtime_policy_generated_default.external_inference.service.startup_poll_interval_ms);
|
|
40005
40124
|
}
|
|
40006
|
-
throw new Error(
|
|
40125
|
+
throw new Error(`Background service did not reach an active state within ${this.startWaitAttempts * runtime_policy_generated_default.external_inference.service.startup_poll_interval_ms / 1e3} seconds.`);
|
|
40007
40126
|
}
|
|
40008
40127
|
async restoreRunningSupervisor(manifest, preserveGeneration = false, targetInstanceName) {
|
|
40009
40128
|
const previousRuntime = await readRuntimeAcrossAtomicReplacement(this.runtimePath()).catch(() => null);
|
|
@@ -40804,8 +40923,8 @@ ${result2.stderr}`)) {
|
|
|
40804
40923
|
throw new Error("worker_cooperative_stop_timeout");
|
|
40805
40924
|
}
|
|
40806
40925
|
if (signal.aborted || record3.controller.signal.aborted || !await readDesiredAcrossAtomicReplacement(desiredPath)) break;
|
|
40807
|
-
failures = result2.uptimeMs >=
|
|
40808
|
-
const retryAfterMs = Math.min(
|
|
40926
|
+
failures = result2.uptimeMs >= runtime_policy_generated_default.external_inference.service.restart_stable_uptime_ms ? 0 : failures + 1;
|
|
40927
|
+
const retryAfterMs = Math.min(runtime_policy_generated_default.external_inference.service.restart_backoff_base_ms * 2 ** Math.min(failures, runtime_policy_generated_default.external_inference.service.restart_exponent_max), runtime_policy_generated_default.external_inference.service.restart_backoff_max_ms);
|
|
40809
40928
|
await updateRecord(record3, "failed", "worker_exited");
|
|
40810
40929
|
await appendServiceLog(serviceManifest.log_path, "worker_exited", {
|
|
40811
40930
|
instance_name: record3.worker.instance_name,
|
|
@@ -40819,7 +40938,7 @@ ${result2.stderr}`)) {
|
|
|
40819
40938
|
if (error48 instanceof Error && error48.message === "worker_cooperative_stop_timeout") throw error48;
|
|
40820
40939
|
if (signal.aborted || record3.controller.signal.aborted) break;
|
|
40821
40940
|
failures += 1;
|
|
40822
|
-
const retryAfterMs = Math.min(
|
|
40941
|
+
const retryAfterMs = Math.min(runtime_policy_generated_default.external_inference.service.restart_backoff_base_ms * 2 ** Math.min(failures, runtime_policy_generated_default.external_inference.service.restart_exponent_max), runtime_policy_generated_default.external_inference.service.restart_backoff_max_ms);
|
|
40823
40942
|
await updateRecord(record3, "failed", "worker_launch_failed");
|
|
40824
40943
|
await appendServiceLog(serviceManifest.log_path, "worker_launch_failed", {
|
|
40825
40944
|
instance_name: record3.worker.instance_name,
|
|
@@ -47786,6 +47905,124 @@ var init_local_breadcrumbs = __esm({
|
|
|
47786
47905
|
}
|
|
47787
47906
|
});
|
|
47788
47907
|
|
|
47908
|
+
// lib/runtime-policy.generated.json
|
|
47909
|
+
var runtime_policy_generated_default2;
|
|
47910
|
+
var init_runtime_policy_generated2 = __esm({
|
|
47911
|
+
"lib/runtime-policy.generated.json"() {
|
|
47912
|
+
runtime_policy_generated_default2 = {
|
|
47913
|
+
ui: {
|
|
47914
|
+
auth_bootstrap_retry: {
|
|
47915
|
+
max_attempts: 3,
|
|
47916
|
+
jitter_milliseconds: 750,
|
|
47917
|
+
base_delay_milliseconds: 500,
|
|
47918
|
+
min_delay_milliseconds: 250,
|
|
47919
|
+
max_delay_milliseconds: 1e4
|
|
47920
|
+
}
|
|
47921
|
+
},
|
|
47922
|
+
ai_dashboard: {
|
|
47923
|
+
market_news_bounds: {
|
|
47924
|
+
max_items_min: 1,
|
|
47925
|
+
max_items_max: 100,
|
|
47926
|
+
lookback_hours_min: 1,
|
|
47927
|
+
lookback_hours_max: 168,
|
|
47928
|
+
max_items_steps: [
|
|
47929
|
+
1,
|
|
47930
|
+
2,
|
|
47931
|
+
3,
|
|
47932
|
+
4,
|
|
47933
|
+
5,
|
|
47934
|
+
6,
|
|
47935
|
+
7,
|
|
47936
|
+
8,
|
|
47937
|
+
9,
|
|
47938
|
+
10,
|
|
47939
|
+
15,
|
|
47940
|
+
20,
|
|
47941
|
+
25,
|
|
47942
|
+
30,
|
|
47943
|
+
40,
|
|
47944
|
+
50,
|
|
47945
|
+
60,
|
|
47946
|
+
75,
|
|
47947
|
+
90,
|
|
47948
|
+
100
|
|
47949
|
+
],
|
|
47950
|
+
lookback_hours_steps: [
|
|
47951
|
+
1,
|
|
47952
|
+
2,
|
|
47953
|
+
4,
|
|
47954
|
+
8,
|
|
47955
|
+
12,
|
|
47956
|
+
24,
|
|
47957
|
+
48,
|
|
47958
|
+
72,
|
|
47959
|
+
168
|
|
47960
|
+
]
|
|
47961
|
+
}
|
|
47962
|
+
},
|
|
47963
|
+
trading: {
|
|
47964
|
+
engine: {
|
|
47965
|
+
client_runtime: {
|
|
47966
|
+
recovery: {
|
|
47967
|
+
resume_retry_base_delay_ms: 1e3,
|
|
47968
|
+
resume_retry_max_delay_ms: 3e4,
|
|
47969
|
+
transient_load_min_delay_ms: 3e4,
|
|
47970
|
+
transient_load_max_delay_ms: 12e4,
|
|
47971
|
+
rate_limit_buffer_ms: 1e3,
|
|
47972
|
+
rate_limit_max_delay_ms: 3e5,
|
|
47973
|
+
engine_stop_settle_retry_delay_ms: 250,
|
|
47974
|
+
recoverable_reset_settle_retry_delay_ms: 1500,
|
|
47975
|
+
local_ai_preflight_timeout_ms: 3e3,
|
|
47976
|
+
surge_stagger_max_ms: 6e4,
|
|
47977
|
+
surge_stagger_min_ms: 2e3,
|
|
47978
|
+
surge_stagger_min_candidates: 4,
|
|
47979
|
+
stagger_deadline_ttl_ms: 3e5,
|
|
47980
|
+
server_active_reprobe_delay_ms: 6e4,
|
|
47981
|
+
transient_load_jitter_ms: 1e4,
|
|
47982
|
+
cross_host_completed_ttl_ms: 15e3,
|
|
47983
|
+
telemetry_dedupe_ttl_ms: 5e3,
|
|
47984
|
+
browser_presence_heartbeat_interval_ms: 3e4,
|
|
47985
|
+
host_liveness_heartbeat_interval_ms: 3e4,
|
|
47986
|
+
host_liveness_recovery_nudge_ttl_ms: 1e4
|
|
47987
|
+
}
|
|
47988
|
+
}
|
|
47989
|
+
}
|
|
47990
|
+
},
|
|
47991
|
+
external_inference: {
|
|
47992
|
+
service: {
|
|
47993
|
+
startup_max_attempts: 40,
|
|
47994
|
+
startup_poll_interval_ms: 250,
|
|
47995
|
+
restart_stable_uptime_ms: 6e4,
|
|
47996
|
+
restart_backoff_base_ms: 1e3,
|
|
47997
|
+
restart_backoff_max_ms: 3e4,
|
|
47998
|
+
restart_exponent_max: 5
|
|
47999
|
+
}
|
|
48000
|
+
},
|
|
48001
|
+
desktop: {
|
|
48002
|
+
runtime_watchdog: {
|
|
48003
|
+
ping_interval_milliseconds: 15e3,
|
|
48004
|
+
telemetry_interval_milliseconds: 3e5
|
|
48005
|
+
}
|
|
48006
|
+
},
|
|
48007
|
+
screener: {
|
|
48008
|
+
resource_scheduler: {
|
|
48009
|
+
client_lock_ttl_milliseconds: 12e4,
|
|
48010
|
+
client_poll_interval_milliseconds: 250
|
|
48011
|
+
}
|
|
48012
|
+
},
|
|
48013
|
+
deployment: {
|
|
48014
|
+
cutover_buffer: {
|
|
48015
|
+
target_timeout_ms: 3e3,
|
|
48016
|
+
retired_timeout_ms: 45e3,
|
|
48017
|
+
max_body_bytes: 33554432,
|
|
48018
|
+
max_inflight: 16,
|
|
48019
|
+
max_queue: 64
|
|
48020
|
+
}
|
|
48021
|
+
}
|
|
48022
|
+
};
|
|
48023
|
+
}
|
|
48024
|
+
});
|
|
48025
|
+
|
|
47789
48026
|
// lib/api/shared.ts
|
|
47790
48027
|
function getProfileHeaders(baseHeaders = {}, explicitProfileId) {
|
|
47791
48028
|
const headers = { ...baseHeaders };
|
|
@@ -47793,12 +48030,13 @@ function getProfileHeaders(baseHeaders = {}, explicitProfileId) {
|
|
|
47793
48030
|
if (profileId) headers["x-profile-id"] = profileId.toString();
|
|
47794
48031
|
return headers;
|
|
47795
48032
|
}
|
|
47796
|
-
var getApiUrl, API_URL, sleep2, isTransientNetworkFetchError, createIdempotencyKey, getErrorMessage, getErrorPayloadOrEmpty, getErrorPayloadOrFallbackDetail, getErrorMessageFromResponse, activeProfileId, PROFILE_STORAGE_KEY;
|
|
48033
|
+
var getApiUrl, API_URL, sleep2, AUTH_BOOTSTRAP_GET_MAX_ATTEMPTS, AUTH_BOOTSTRAP_RETRY_JITTER_MS, isTransientNetworkFetchError, createIdempotencyKey, getErrorMessage, getErrorPayloadOrEmpty, getErrorPayloadOrFallbackDetail, getErrorMessageFromResponse, activeProfileId, PROFILE_STORAGE_KEY;
|
|
47797
48034
|
var init_shared = __esm({
|
|
47798
48035
|
"lib/api/shared.ts"() {
|
|
47799
48036
|
"use strict";
|
|
47800
48037
|
init_define_VTX_EXO_POLICY();
|
|
47801
48038
|
init_define_VTX_PI_MODEL_POLICY();
|
|
48039
|
+
init_runtime_policy_generated2();
|
|
47802
48040
|
init_abort();
|
|
47803
48041
|
getApiUrl = () => {
|
|
47804
48042
|
if (typeof window === "undefined") {
|
|
@@ -47829,6 +48067,8 @@ var init_shared = __esm({
|
|
|
47829
48067
|
};
|
|
47830
48068
|
API_URL = getApiUrl();
|
|
47831
48069
|
sleep2 = (ms) => new Promise((resolve10) => setTimeout(resolve10, ms));
|
|
48070
|
+
AUTH_BOOTSTRAP_GET_MAX_ATTEMPTS = runtime_policy_generated_default2.ui.auth_bootstrap_retry.max_attempts;
|
|
48071
|
+
AUTH_BOOTSTRAP_RETRY_JITTER_MS = runtime_policy_generated_default2.ui.auth_bootstrap_retry.jitter_milliseconds;
|
|
47832
48072
|
isTransientNetworkFetchError = (error48) => {
|
|
47833
48073
|
const message = error48 instanceof Error ? error48.message : String(error48 || "");
|
|
47834
48074
|
const normalized = message.toLowerCase();
|