@vtxmacro/cli 2026.8.57 → 2026.8.58

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.
@@ -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.8.57",
19
+ package_version: "2026.8.58",
20
20
  codex_package_name: "@openai/codex",
21
21
  codex_version: "0.147.0",
22
22
  copilot_sdk_package_name: "@github/copilot-sdk",
package/bin/vtx.js CHANGED
@@ -47,7 +47,7 @@ var init_agent_cli_release = __esm({
47
47
  "agent-cli-release.json"() {
48
48
  agent_cli_release_default = {
49
49
  package_name: "@vtxmacro/cli",
50
- package_version: "2026.8.57",
50
+ package_version: "2026.8.58",
51
51
  codex_package_name: "@openai/codex",
52
52
  codex_version: "0.147.0",
53
53
  copilot_sdk_package_name: "@github/copilot-sdk",
@@ -18157,7 +18157,7 @@ ${body}`;
18157
18157
  });
18158
18158
 
18159
18159
  // lib/inference-host/mcp-client.ts
18160
- var EXTERNAL_INFERENCE_MCP_PROTOCOL_VERSION, EXTERNAL_INFERENCE_AUTOMATED_HOST_TOOLS, EXTERNAL_INFERENCE_OPERATIONAL_TOOLS, ExternalInferenceMcpError, DEFAULT_REQUEST_TIMEOUT_MS, MAX_RETRY_AFTER_MS, parseRetryAfterMs, identifierSchema2, safeCodeSchema2, hostMutationResultSchema, attemptStartResultSchema, agentConnectResultSchema, agentHeartbeatResultSchema, timestampSchema2, positiveGenerationSchema, jsonObjectSchema, agentAssignmentNextArgumentsSchema, agentDataCapabilityDescriptorSchema, agentAssignmentNextResultSchema, agentAssignmentHeartbeatArgumentsSchema, agentAssignmentHeartbeatResultSchema, agentDataCallArgumentsSchema, agentDataCallResultSchema, agentDecisionSubmitArgumentsSchema, agentDecisionSubmitResultSchema, agentDecisionStatusArgumentsSchema, agentDecisionStatusResultSchema, agentAssignmentReleaseArgumentsSchema, agentAssignmentReleaseResultSchema, jobCompletionResultSchema, jobFailureResultSchema, toolContracts, discoveryResultSchema, toolListResultSchema, inlineStructuredContentSchema, protocolMeta, parseJsonDocument, parseSseDocuments, parseResponseDocuments, exactOperationalInventory, exactJson, invalidBoundResult, verifyToolResult, ExternalInferenceMcpClient;
18160
+ var EXTERNAL_INFERENCE_MCP_PROTOCOL_VERSION, EXTERNAL_INFERENCE_AUTOMATED_HOST_TOOLS, EXTERNAL_INFERENCE_OPERATIONAL_TOOLS, ExternalInferenceMcpError, DEFAULT_REQUEST_TIMEOUT_MS, MAX_RETRY_AFTER_MS, PUBLIC_TOOL_ERROR_PREFIX, parseRetryAfterMs, identifierSchema2, safeCodeSchema2, publicToolErrorSchema, parsePublicToolError, hostMutationResultSchema, attemptStartResultSchema, agentConnectResultSchema, agentHeartbeatResultSchema, timestampSchema2, positiveGenerationSchema, jsonObjectSchema, agentAssignmentNextArgumentsSchema, agentDataCapabilityDescriptorSchema, agentAssignmentNextResultSchema, agentAssignmentHeartbeatArgumentsSchema, agentAssignmentHeartbeatResultSchema, agentDataCallArgumentsSchema, agentDataCallResultSchema, agentDecisionSubmitArgumentsSchema, agentDecisionSubmitResultSchema, agentDecisionStatusArgumentsSchema, agentDecisionStatusResultSchema, agentAssignmentReleaseArgumentsSchema, agentAssignmentReleaseResultSchema, jobCompletionResultSchema, jobFailureResultSchema, toolContracts, discoveryResultSchema, toolListResultSchema, inlineStructuredContentSchema, protocolMeta, parseJsonDocument, parseSseDocuments, parseResponseDocuments, exactOperationalInventory, exactJson, invalidBoundResult, verifyToolResult, ExternalInferenceMcpClient;
18161
18161
  var init_mcp_client = __esm({
18162
18162
  "lib/inference-host/mcp-client.ts"() {
18163
18163
  "use strict";
@@ -18209,6 +18209,7 @@ var init_mcp_client = __esm({
18209
18209
  };
18210
18210
  DEFAULT_REQUEST_TIMEOUT_MS = 15e3;
18211
18211
  MAX_RETRY_AFTER_MS = 24 * 60 * 60 * 1e3;
18212
+ PUBLIC_TOOL_ERROR_PREFIX = "VTX_INSIGHTS_ERROR_V1:";
18212
18213
  parseRetryAfterMs = (response, observedAtMs = Date.now()) => {
18213
18214
  const value = response.headers.get("retry-after")?.trim();
18214
18215
  if (!value) return null;
@@ -18219,6 +18220,23 @@ var init_mcp_client = __esm({
18219
18220
  };
18220
18221
  identifierSchema2 = external_exports.string().min(1).max(128);
18221
18222
  safeCodeSchema2 = external_exports.string().min(1).max(96);
18223
+ publicToolErrorSchema = external_exports.object({
18224
+ failure_code: safeCodeSchema2,
18225
+ phase: safeCodeSchema2,
18226
+ retryable: external_exports.boolean(),
18227
+ terminal_before_execution: external_exports.boolean()
18228
+ }).passthrough();
18229
+ parsePublicToolError = (text) => {
18230
+ const marker = text.lastIndexOf(PUBLIC_TOOL_ERROR_PREFIX);
18231
+ if (marker < 0) return null;
18232
+ const raw = text.slice(marker + PUBLIC_TOOL_ERROR_PREFIX.length).trim();
18233
+ try {
18234
+ const parsed = publicToolErrorSchema.safeParse(JSON.parse(raw));
18235
+ return parsed.success ? parsed.data : null;
18236
+ } catch {
18237
+ return null;
18238
+ }
18239
+ };
18222
18240
  hostMutationResultSchema = external_exports.strictObject({
18223
18241
  host: hostStatusReadSchema,
18224
18242
  replayed: external_exports.boolean()
@@ -18754,10 +18772,12 @@ var init_mcp_client = __esm({
18754
18772
  }).passthrough().parse(rawResult);
18755
18773
  if (callResult.isError === true) {
18756
18774
  const errorText = (callResult.content ?? []).filter((block) => block.type === "text").map((block) => block.text ?? "").join("\n");
18775
+ const publicToolError = parsePublicToolError(errorText);
18776
+ const hasPublicToolErrorMarker = errorText.includes(PUBLIC_TOOL_ERROR_PREFIX);
18777
+ const completionEvidenceExpired = name === "inference.job.complete" && (publicToolError ? publicToolError.failure_code === "completion_evidence_expired" && publicToolError.phase === "validation" && publicToolError.retryable === false && publicToolError.terminal_before_execution === true : !hasPublicToolErrorMarker && errorText.includes("External inference completion evidence window expired"));
18757
18778
  const definitivelyNotApplied = (name === "inference.host.register" || name === "inference.host.advertise") && (errorText.includes("Advertisement time is outside the allowed clock skew.") || errorText.includes("Advertisement is already expired.")) || (name === "inference.agent.next" || name === "inference.agent.heartbeat") && (errorText.includes("Advertisement time is outside the allowed clock skew.") || errorText.includes("Advertisement is already expired.") || errorText.includes("Heartbeat time is outside the allowed clock skew.")) || name === "inference.host.heartbeat" && errorText.includes("Heartbeat time is outside the allowed clock skew.") || name === "inference.job.claim" && (errorText.includes(
18758
18779
  "External inference claim request was not applied before its generation became stale"
18759
- ) || errorText.includes("External inference host advertisement is expired or superseded")) || name === "inference.job.complete" && errorText.includes("External inference completion evidence window expired");
18760
- const completionEvidenceExpired = name === "inference.job.complete" && errorText.includes("External inference completion evidence window expired");
18780
+ ) || errorText.includes("External inference host advertisement is expired or superseded")) || name === "inference.job.complete" && completionEvidenceExpired;
18761
18781
  const retryableInfrastructureRejection = EXTERNAL_INFERENCE_AUTOMATED_HOST_TOOLS.includes(name) && (errorText.includes("External inference polling is at its configured concurrency limit") || errorText.includes("The Insights action reached the response timeout") || errorText.includes("Insights capability failed without exposing private runtime details"));
18762
18782
  const retryableClaimRejection = name === "inference.job.claim" && !definitivelyNotApplied && (retryableInfrastructureRejection || errorText.includes("External inference host is not live enough to claim work") || errorText.includes("External inference host request generation is stale") || errorText.includes("External inference claim runtime fence is stale"));
18763
18783
  const retryableHeartbeatClockSkew = name === "inference.host.heartbeat" && definitivelyNotApplied;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.8.57",
3
+ "version": "2026.8.58",
4
4
  "description": "VTX Macro CLI, MCP server, and durable external inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",