@vtxmacro/cli 2026.10.28 → 2026.10.29
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/exo-harness.ts +1 -0
- package/bin/vtx-mcp.js +2 -1
- package/bin/vtx-service-bootstrap.js +30 -13
- package/bin/vtx-service-launcher.js +1 -0
- package/bin/vtx.js +22 -1
- package/package.json +1 -1
package/bin/exo-harness.ts
CHANGED
|
@@ -1027,6 +1027,7 @@ var runtime_policy_generated_default = {
|
|
|
1027
1027
|
advertisement_ttl_ms: 12e4,
|
|
1028
1028
|
advertisement_refresh_lead_ms: 3e4,
|
|
1029
1029
|
host_heartbeat_interval_ms: 3e3,
|
|
1030
|
+
heartbeat_field_recheck_interval_ms: 6e4,
|
|
1030
1031
|
attempt_heartbeat_interval_ms: 3e3,
|
|
1031
1032
|
agent_heartbeat_interval_ms: 3e3,
|
|
1032
1033
|
agent_heartbeat_max_retry_delay_ms: 9e3,
|
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.
|
|
40
|
+
agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.29", 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
|
|
|
@@ -2264,6 +2264,7 @@ var runtime_policy_generated_default = {
|
|
|
2264
2264
|
advertisement_ttl_ms: 12e4,
|
|
2265
2265
|
advertisement_refresh_lead_ms: 3e4,
|
|
2266
2266
|
host_heartbeat_interval_ms: 3e3,
|
|
2267
|
+
heartbeat_field_recheck_interval_ms: 6e4,
|
|
2267
2268
|
attempt_heartbeat_interval_ms: 3e3,
|
|
2268
2269
|
agent_heartbeat_interval_ms: 3e3,
|
|
2269
2270
|
agent_heartbeat_max_retry_delay_ms: 9e3,
|
|
@@ -14,7 +14,7 @@ import { dirname as dirname4, relative as relative4, resolve as resolve4 } from
|
|
|
14
14
|
import { fileURLToPath } from "node:url";
|
|
15
15
|
|
|
16
16
|
// agent-cli-release.json
|
|
17
|
-
var agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.
|
|
17
|
+
var agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.29", 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" } } };
|
|
18
18
|
|
|
19
19
|
// lib/runtime-policy.generated.json
|
|
20
20
|
var runtime_policy_generated_default = {
|
|
@@ -971,6 +971,7 @@ var runtime_policy_generated_default = {
|
|
|
971
971
|
advertisement_ttl_ms: 12e4,
|
|
972
972
|
advertisement_refresh_lead_ms: 3e4,
|
|
973
973
|
host_heartbeat_interval_ms: 3e3,
|
|
974
|
+
heartbeat_field_recheck_interval_ms: 6e4,
|
|
974
975
|
attempt_heartbeat_interval_ms: 3e3,
|
|
975
976
|
agent_heartbeat_interval_ms: 3e3,
|
|
976
977
|
agent_heartbeat_max_retry_delay_ms: 9e3,
|
|
@@ -3089,6 +3090,18 @@ var runInferenceHostServiceBootstrap = async (manifestPathValue, dependencies =
|
|
|
3089
3090
|
return { active, candidate: null };
|
|
3090
3091
|
}
|
|
3091
3092
|
};
|
|
3093
|
+
let privateReleasesQueue = Promise.resolve();
|
|
3094
|
+
const withPrivateReleases = (work) => {
|
|
3095
|
+
const run = privateReleasesQueue.then(work);
|
|
3096
|
+
privateReleasesQueue = run.catch(() => void 0);
|
|
3097
|
+
return run;
|
|
3098
|
+
};
|
|
3099
|
+
let stagedCandidate = null;
|
|
3100
|
+
const checkAndStage = async () => {
|
|
3101
|
+
const plan = await checkUpdate();
|
|
3102
|
+
stagedCandidate = plan.candidate;
|
|
3103
|
+
return plan;
|
|
3104
|
+
};
|
|
3092
3105
|
let launchedAt = now().toISOString();
|
|
3093
3106
|
const launch = async (selection) => {
|
|
3094
3107
|
manifest = parseManifest(JSON.parse(await readFile4(manifestPath, "utf8")));
|
|
@@ -3109,19 +3122,12 @@ var runInferenceHostServiceBootstrap = async (manifestPathValue, dependencies =
|
|
|
3109
3122
|
const candidate = { ...plan.candidate, selected_at: now().toISOString() };
|
|
3110
3123
|
await atomicWriteSelection(manifestPath, candidate);
|
|
3111
3124
|
await rm4(rejectionPathFor(manifestPath), { force: true }).catch(() => void 0);
|
|
3112
|
-
await prunePrivateReleases(manifestPath, [candidate, plan.active]).catch(
|
|
3113
|
-
async () => await appendBootstrapLog(
|
|
3114
|
-
manifest.log_path,
|
|
3115
|
-
"service_release_cleanup_deferred",
|
|
3116
|
-
{ package_version: candidate.package_version }
|
|
3117
|
-
).catch(() => void 0)
|
|
3118
|
-
);
|
|
3119
3125
|
await appendBootstrapLog(manifest.log_path, "service_release_handoff", {
|
|
3120
3126
|
package_version: candidate.package_version
|
|
3121
3127
|
}).catch(() => void 0);
|
|
3122
3128
|
return EXIT_CODE_TEMPFAIL;
|
|
3123
3129
|
};
|
|
3124
|
-
let updatePlan = await
|
|
3130
|
+
let updatePlan = await withPrivateReleases(checkAndStage);
|
|
3125
3131
|
while (await shouldRun()) {
|
|
3126
3132
|
if (updatePlan.candidate && launcherProtocol) return await handOffToLauncher(updatePlan);
|
|
3127
3133
|
if (updatePlan.candidate) {
|
|
@@ -3206,7 +3212,7 @@ var runInferenceHostServiceBootstrap = async (manifestPathValue, dependencies =
|
|
|
3206
3212
|
}
|
|
3207
3213
|
const supervisor = live.supervisor ?? await launch(updatePlan.active);
|
|
3208
3214
|
if (!supervisor) return 0;
|
|
3209
|
-
if (
|
|
3215
|
+
if (launcherProtocol) {
|
|
3210
3216
|
const readiness = new AbortController();
|
|
3211
3217
|
const cancel = () => readiness.abort();
|
|
3212
3218
|
lifetime.signal.addEventListener("abort", cancel, { once: true });
|
|
@@ -3219,8 +3225,19 @@ var runInferenceHostServiceBootstrap = async (manifestPathValue, dependencies =
|
|
|
3219
3225
|
script: manifest.script
|
|
3220
3226
|
},
|
|
3221
3227
|
selected_at: launchedAt
|
|
3222
|
-
}, readiness.signal, dependencies.readinessTimeoutMs ?? CANDIDATE_READINESS_TIMEOUT_MS).then((status) => {
|
|
3223
|
-
if (status
|
|
3228
|
+
}, readiness.signal, dependencies.readinessTimeoutMs ?? CANDIDATE_READINESS_TIMEOUT_MS).then(async (status) => {
|
|
3229
|
+
if (status !== "ready") return;
|
|
3230
|
+
if (process.connected) process.send?.({ type: "vtx-inference-host-bootstrap-ready-v1", package_version: agent_cli_release_default.package_version }, () => void 0);
|
|
3231
|
+
await withPrivateReleases(async () => await prunePrivateReleases(
|
|
3232
|
+
manifestPath,
|
|
3233
|
+
[updatePlan.active, stagedCandidate]
|
|
3234
|
+
)).catch(
|
|
3235
|
+
async () => await appendBootstrapLog(
|
|
3236
|
+
manifest.log_path,
|
|
3237
|
+
"service_release_cleanup_deferred",
|
|
3238
|
+
{ package_version: agent_cli_release_default.package_version }
|
|
3239
|
+
).catch(() => void 0)
|
|
3240
|
+
);
|
|
3224
3241
|
}).catch(() => void 0).finally(() => lifetime.signal.removeEventListener("abort", cancel));
|
|
3225
3242
|
void supervisor.completion.finally(cancel).catch(() => void 0);
|
|
3226
3243
|
}
|
|
@@ -3260,7 +3277,7 @@ var runInferenceHostServiceBootstrap = async (manifestPathValue, dependencies =
|
|
|
3260
3277
|
supervisor.requestDrain();
|
|
3261
3278
|
return await completion;
|
|
3262
3279
|
}
|
|
3263
|
-
const next = await
|
|
3280
|
+
const next = await withPrivateReleases(checkAndStage);
|
|
3264
3281
|
if (exited) {
|
|
3265
3282
|
live.supervisor = null;
|
|
3266
3283
|
return await completion;
|
|
@@ -955,6 +955,7 @@ var runtime_policy_generated_default = {
|
|
|
955
955
|
advertisement_ttl_ms: 12e4,
|
|
956
956
|
advertisement_refresh_lead_ms: 3e4,
|
|
957
957
|
host_heartbeat_interval_ms: 3e3,
|
|
958
|
+
heartbeat_field_recheck_interval_ms: 6e4,
|
|
958
959
|
attempt_heartbeat_interval_ms: 3e3,
|
|
959
960
|
agent_heartbeat_interval_ms: 3e3,
|
|
960
961
|
agent_heartbeat_max_retry_delay_ms: 9e3,
|
package/bin/vtx.js
CHANGED
|
@@ -113,7 +113,7 @@ var init_routing = __esm({
|
|
|
113
113
|
var agent_cli_release_default;
|
|
114
114
|
var init_agent_cli_release = __esm({
|
|
115
115
|
"agent-cli-release.json"() {
|
|
116
|
-
agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.
|
|
116
|
+
agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.29", 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" } } };
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
|
|
@@ -1075,6 +1075,7 @@ var init_runtime_policy_generated = __esm({
|
|
|
1075
1075
|
advertisement_ttl_ms: 12e4,
|
|
1076
1076
|
advertisement_refresh_lead_ms: 3e4,
|
|
1077
1077
|
host_heartbeat_interval_ms: 3e3,
|
|
1078
|
+
heartbeat_field_recheck_interval_ms: 6e4,
|
|
1078
1079
|
attempt_heartbeat_interval_ms: 3e3,
|
|
1079
1080
|
agent_heartbeat_interval_ms: 3e3,
|
|
1080
1081
|
agent_heartbeat_max_retry_delay_ms: 9e3,
|
|
@@ -20902,6 +20903,7 @@ var init_runtime_policy_generated2 = __esm({
|
|
|
20902
20903
|
advertisement_ttl_ms: 12e4,
|
|
20903
20904
|
advertisement_refresh_lead_ms: 3e4,
|
|
20904
20905
|
host_heartbeat_interval_ms: 3e3,
|
|
20906
|
+
heartbeat_field_recheck_interval_ms: 6e4,
|
|
20905
20907
|
attempt_heartbeat_interval_ms: 3e3,
|
|
20906
20908
|
agent_heartbeat_interval_ms: 3e3,
|
|
20907
20909
|
agent_heartbeat_max_retry_delay_ms: 9e3,
|
|
@@ -25847,6 +25849,15 @@ var init_mcp_client = __esm({
|
|
|
25847
25849
|
supportsClaimTransportFailureReports() {
|
|
25848
25850
|
return this.#claimTransportFailureReportsSupported;
|
|
25849
25851
|
}
|
|
25852
|
+
async refreshClaimTransportFailureReportSupport(options = {}) {
|
|
25853
|
+
if (this.supportsClaimTransportFailureReports()) return true;
|
|
25854
|
+
try {
|
|
25855
|
+
await this.initialize(options);
|
|
25856
|
+
} catch {
|
|
25857
|
+
return false;
|
|
25858
|
+
}
|
|
25859
|
+
return this.supportsClaimTransportFailureReports();
|
|
25860
|
+
}
|
|
25850
25861
|
supportsProviderQuotaCooldown() {
|
|
25851
25862
|
return this.#providerQuotaCooldownSupported;
|
|
25852
25863
|
}
|
|
@@ -37280,6 +37291,8 @@ var init_runner = __esm({
|
|
|
37280
37291
|
}
|
|
37281
37292
|
};
|
|
37282
37293
|
let nextHostHeartbeatAt = now() + settings.hostHeartbeatMs;
|
|
37294
|
+
let nextClaimReportSupportCheckAt = now();
|
|
37295
|
+
let claimReportSupportCheck = null;
|
|
37283
37296
|
hostHeartbeatLoop = (async () => {
|
|
37284
37297
|
while (!drainRequested && !hostHeartbeatAbort.signal.aborted) {
|
|
37285
37298
|
try {
|
|
@@ -37307,6 +37320,14 @@ var init_runner = __esm({
|
|
|
37307
37320
|
}
|
|
37308
37321
|
}
|
|
37309
37322
|
if (drainRequested || hostHeartbeatAbort.signal.aborted) return;
|
|
37323
|
+
if (claimReportSupportCheck === null && mcp.supportsClaimTransportFailureReports?.() === false && claimFailures.some((record5) => record5.resolution !== void 0) && now() >= nextClaimReportSupportCheckAt) {
|
|
37324
|
+
nextClaimReportSupportCheckAt = now() + HOST_RUNTIME_POLICY2.heartbeat_field_recheck_interval_ms;
|
|
37325
|
+
claimReportSupportCheck = Promise.resolve(
|
|
37326
|
+
mcp.refreshClaimTransportFailureReportSupport?.({ signal: hostHeartbeatAbort.signal })
|
|
37327
|
+
).catch(() => false).finally(() => {
|
|
37328
|
+
claimReportSupportCheck = null;
|
|
37329
|
+
});
|
|
37330
|
+
}
|
|
37310
37331
|
const heartbeatDeadlineAtMs = Date.now() + settings.hostHeartbeatMs;
|
|
37311
37332
|
const attemptedAdvertisementGeneration = receipt.advertisement_generation;
|
|
37312
37333
|
try {
|