@vtxmacro/cli 2026.10.2 → 2026.10.4

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
@@ -55,7 +55,10 @@ async function parseError(response, fallback) {
55
55
  const rawDetail = detail && typeof detail === "object" && "detail" in detail ? detail.detail : detail;
56
56
  const detailMessage = rawDetail && typeof rawDetail === "object" && typeof rawDetail.message === "string" ? String(rawDetail.message).trim() : "";
57
57
  const message = typeof rawDetail === "string" ? rawDetail : detailMessage || fallback;
58
- const code = rawDetail && typeof rawDetail === "object" && "code" in rawDetail ? String(rawDetail.code || "") : void 0;
58
+ const topLevelCode = detail && typeof detail === "object" && typeof detail.code === "string" ? String(detail.code).trim() : "";
59
+ const headerCode = String(response.headers?.get?.("x-vtx-error-code") || "").trim();
60
+ const nestedCode = rawDetail && typeof rawDetail === "object" && "code" in rawDetail ? String(rawDetail.code || "") : "";
61
+ const code = topLevelCode || headerCode || nestedCode || void 0;
59
62
  return new AgentClientError({
60
63
  status: response.status,
61
64
  code,
@@ -142,10 +145,10 @@ var VtxAgentClient = class _VtxAgentClient {
142
145
  body: payload
143
146
  });
144
147
  }
145
- pollBrowserLogin(loginCode) {
148
+ pollBrowserLogin(loginCode, verifier) {
146
149
  return this.request("/auth/agent-tokens/login/poll", {
147
150
  method: "POST",
148
- body: { login_code: loginCode }
151
+ body: { login_code: loginCode, verifier }
149
152
  });
150
153
  }
151
154
  revokeToken(tokenId, reason = "cli_revoked") {
@@ -276,6 +279,15 @@ var VtxAgentClient = class _VtxAgentClient {
276
279
  body: payload
277
280
  });
278
281
  }
282
+ // Client Mode history pages this host read for the server's heartbeat asks.
283
+ reportRuntimeHistoryEvidence(profileId, payload, leaseToken) {
284
+ return this.request("/trading/ai/runtime/history-evidence", {
285
+ method: "POST",
286
+ profileId,
287
+ headers: { "x-client-runtime-lease": leaseToken },
288
+ body: payload
289
+ });
290
+ }
279
291
  reportRuntimeTradeSync(profileId, payload, leaseToken) {
280
292
  return this.request("/trading/ai/runtime/trade-sync", {
281
293
  method: "POST",
@@ -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.10.2",
19
+ package_version: "2026.10.4",
20
20
  codex_package_name: "@openai/codex",
21
21
  codex_version: "0.155.0",
22
22
  copilot_sdk_package_name: "@github/copilot-sdk",
@@ -190,30 +190,27 @@ var runtime_policy_generated_default = {
190
190
  trading: {
191
191
  engine: {
192
192
  client_runtime: {
193
- recovery: {
194
- resume_retry_base_delay_ms: 1e3,
195
- resume_retry_max_delay_ms: 3e4,
196
- transient_load_min_delay_ms: 3e4,
197
- transient_load_max_delay_ms: 12e4,
198
- rate_limit_buffer_ms: 1e3,
199
- rate_limit_max_delay_ms: 3e5,
200
- engine_stop_settle_retry_delay_ms: 250,
201
- recoverable_reset_settle_retry_delay_ms: 1500,
202
- local_ai_preflight_timeout_ms: 3e3,
203
- surge_stagger_max_ms: 6e4,
204
- surge_stagger_min_ms: 2e3,
205
- surge_stagger_min_candidates: 4,
206
- stagger_deadline_ttl_ms: 3e5,
207
- server_active_reprobe_delay_ms: 6e4,
208
- transient_load_jitter_ms: 1e4,
209
- cross_host_completed_ttl_ms: 15e3,
210
- telemetry_dedupe_ttl_ms: 5e3,
211
- browser_presence_heartbeat_interval_ms: 3e4,
212
- host_liveness_heartbeat_interval_ms: 3e4,
213
- host_liveness_recovery_nudge_ttl_ms: 1e4
193
+ reconcile: {
194
+ tick_interval_seconds: 30,
195
+ wake_jitter_max_ms: 1e3,
196
+ network_backoff_max_seconds: 300,
197
+ steal_ack_timeout_ms: 5e3,
198
+ explicit_claim_max_waits: 3,
199
+ local_ai_preflight_timeout_ms: 3e3
214
200
  },
215
201
  observability: {
216
202
  deployment_reload_stall_warning_ms: 15e3
203
+ },
204
+ protective_actions: {
205
+ adoption_request_timeout_milliseconds: 2e4,
206
+ idle_recheck_seconds: 60,
207
+ attention_refresh_seconds: 60,
208
+ evidence_max_items: 32,
209
+ evidence_shared_read_seconds: 10
210
+ },
211
+ history_evidence: {
212
+ device_rounds_per_beat: 6,
213
+ device_retry_seconds: 60
217
214
  }
218
215
  },
219
216
  server_runtime: {
@@ -299,7 +296,6 @@ var runtime_policy_generated_default = {
299
296
  userRole: 60,
300
297
  userAbstraction: 20,
301
298
  userDexAbstraction: 20,
302
- userActiveAssetData: 20,
303
299
  activeAssetData: 20,
304
300
  openOrders: 20,
305
301
  orderStatus: 2,
@@ -73,30 +73,27 @@ var runtime_policy_generated_default = {
73
73
  trading: {
74
74
  engine: {
75
75
  client_runtime: {
76
- recovery: {
77
- resume_retry_base_delay_ms: 1e3,
78
- resume_retry_max_delay_ms: 3e4,
79
- transient_load_min_delay_ms: 3e4,
80
- transient_load_max_delay_ms: 12e4,
81
- rate_limit_buffer_ms: 1e3,
82
- rate_limit_max_delay_ms: 3e5,
83
- engine_stop_settle_retry_delay_ms: 250,
84
- recoverable_reset_settle_retry_delay_ms: 1500,
85
- local_ai_preflight_timeout_ms: 3e3,
86
- surge_stagger_max_ms: 6e4,
87
- surge_stagger_min_ms: 2e3,
88
- surge_stagger_min_candidates: 4,
89
- stagger_deadline_ttl_ms: 3e5,
90
- server_active_reprobe_delay_ms: 6e4,
91
- transient_load_jitter_ms: 1e4,
92
- cross_host_completed_ttl_ms: 15e3,
93
- telemetry_dedupe_ttl_ms: 5e3,
94
- browser_presence_heartbeat_interval_ms: 3e4,
95
- host_liveness_heartbeat_interval_ms: 3e4,
96
- host_liveness_recovery_nudge_ttl_ms: 1e4
76
+ reconcile: {
77
+ tick_interval_seconds: 30,
78
+ wake_jitter_max_ms: 1e3,
79
+ network_backoff_max_seconds: 300,
80
+ steal_ack_timeout_ms: 5e3,
81
+ explicit_claim_max_waits: 3,
82
+ local_ai_preflight_timeout_ms: 3e3
97
83
  },
98
84
  observability: {
99
85
  deployment_reload_stall_warning_ms: 15e3
86
+ },
87
+ protective_actions: {
88
+ adoption_request_timeout_milliseconds: 2e4,
89
+ idle_recheck_seconds: 60,
90
+ attention_refresh_seconds: 60,
91
+ evidence_max_items: 32,
92
+ evidence_shared_read_seconds: 10
93
+ },
94
+ history_evidence: {
95
+ device_rounds_per_beat: 6,
96
+ device_retry_seconds: 60
100
97
  }
101
98
  },
102
99
  server_runtime: {
@@ -182,7 +179,6 @@ var runtime_policy_generated_default = {
182
179
  userRole: 60,
183
180
  userAbstraction: 20,
184
181
  userDexAbstraction: 20,
185
- userActiveAssetData: 20,
186
182
  activeAssetData: 20,
187
183
  openOrders: 20,
188
184
  orderStatus: 2,