@vtxmacro/cli 2026.10.34 → 2026.10.35

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.34", 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.35", 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
 
@@ -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.34", 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" } } };
17
+ var agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.35", 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 = {
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.34", 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" } } };
116
+ agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.35", 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
 
@@ -56297,6 +56297,16 @@ function normalizeClientRuntimeSecretRateLimitErrorMessage(rawMessage, options)
56297
56297
  );
56298
56298
  return projectClientRuntimeSecretRateLimit(operation, retryAfterSeconds).detail;
56299
56299
  }
56300
+ function getClientRuntimeSecretRateLimitRetryAfterSeconds(rawMessage, options) {
56301
+ const normalized = normalizeClientRuntimeSecretRateLimitErrorMessage(rawMessage, options);
56302
+ if (!normalized) {
56303
+ return null;
56304
+ }
56305
+ const retryFromDetail = normalized.match(/try\s*again\s*in\s*([0-9]+(?:\.[0-9]+)?)\s*seconds?/i)?.[1];
56306
+ return normalizeClientRuntimeSecretRetryAfterSeconds(
56307
+ retryFromDetail ?? options?.retryAfterHeader
56308
+ );
56309
+ }
56300
56310
  function isClientRuntimeSecretRateLimitError(error48, options) {
56301
56311
  const message = error48 instanceof Error ? error48.message : String(error48 ?? "");
56302
56312
  return normalizeClientRuntimeSecretRateLimitErrorMessage(message, options) !== null;
@@ -96057,7 +96067,7 @@ function validateDeviceSecrets(value, options) {
96057
96067
  missing: missing2
96058
96068
  };
96059
96069
  }
96060
- var CLIENT_VAULT_CHANGED_EVENT, memory, runtimeSecretsInFlight, buildRuntimeSecretsRequestKey, fetchClientRuntimeSecretsSingleFlight, mapClientRuntimeSecretsToDeviceSecrets, normalizeLocalAiSecrets, normalizeOpenAiCompatibleSecrets, hasAnySecretValues, normalizeClientRuntimeSecretProvider, getResponseSecretVersion, buildHydrationState, normalizeProfileIdForApi, LEGACY_VAULT_PREFIX, LEGACY_VAULT_DB_NAME, LEGACY_VAULT_DB_VERSION, LEGACY_VAULT_KEY_STORE, safeLocalStorage, hasIndexedDb, base64ToArrayBuffer, openLegacyVaultDb, withLegacyStore, legacyRecordCache, readLegacyRecordUncached, readLegacyRecord, fillFromLegacy, legacyMigrations, ClientVault;
96070
+ var CLIENT_VAULT_CHANGED_EVENT, ClientRuntimeSecretRefreshPendingError, memory, runtimeSecretsInFlight, runtimeSecretsRetryAtMs, runtimeSecretsRetryKey, buildRuntimeSecretsRequestKey, fetchClientRuntimeSecretsSingleFlight, mapClientRuntimeSecretsToDeviceSecrets, normalizeLocalAiSecrets, normalizeOpenAiCompatibleSecrets, hasAnySecretValues, normalizeClientRuntimeSecretProvider, getResponseSecretVersion, buildHydrationState, normalizeProfileIdForApi, LEGACY_VAULT_PREFIX, LEGACY_VAULT_DB_NAME, LEGACY_VAULT_DB_VERSION, LEGACY_VAULT_KEY_STORE, safeLocalStorage, hasIndexedDb, base64ToArrayBuffer, openLegacyVaultDb, withLegacyStore, legacyRecordCache, readLegacyRecordUncached, readLegacyRecord, fillFromLegacy, legacyMigrations, ClientVault;
96061
96071
  var init_vault = __esm({
96062
96072
  "lib/runtime/vault.ts"() {
96063
96073
  "use strict";
@@ -96075,9 +96085,19 @@ var init_vault = __esm({
96075
96085
  init_client_runtime_secret_rate_limit_contract();
96076
96086
  init_local_ai();
96077
96087
  init_byokProviderRegistry();
96088
+ init_constants();
96078
96089
  CLIENT_VAULT_CHANGED_EVENT = "vtx-client-vault-changed";
96090
+ ClientRuntimeSecretRefreshPendingError = class extends Error {
96091
+ constructor(retryAfterSeconds) {
96092
+ super("Client provider credentials changed; account refresh is pending.");
96093
+ this.code = "client_runtime_secret_refresh_pending";
96094
+ this.retryAfterSeconds = retryAfterSeconds;
96095
+ }
96096
+ };
96079
96097
  memory = /* @__PURE__ */ new Map();
96080
96098
  runtimeSecretsInFlight = /* @__PURE__ */ new Map();
96099
+ runtimeSecretsRetryAtMs = /* @__PURE__ */ new Map();
96100
+ runtimeSecretsRetryKey = (profileId) => String(normalizeProfileIdForApi(profileId) ?? profileId);
96081
96101
  buildRuntimeSecretsRequestKey = (profileId, activeProvider, includeAllProviderKeys) => `${normalizeProfileIdForApi(profileId)}:${activeProvider ?? "auto"}:${includeAllProviderKeys ? "all" : "active"}`;
96082
96102
  fetchClientRuntimeSecretsSingleFlight = (profileId, activeProvider, includeAllProviderKeys) => {
96083
96103
  const key = buildRuntimeSecretsRequestKey(profileId, activeProvider, includeAllProviderKeys);
@@ -96085,13 +96105,35 @@ var init_vault = __esm({
96085
96105
  if (existing) {
96086
96106
  return existing;
96087
96107
  }
96108
+ const retryKey = runtimeSecretsRetryKey(profileId);
96109
+ const retryAtMs = runtimeSecretsRetryAtMs.get(retryKey);
96110
+ if (retryAtMs !== void 0) {
96111
+ const remainingMs = retryAtMs - Date.now();
96112
+ if (remainingMs > 0) {
96113
+ return Promise.reject(new Error(projectClientRuntimeSecretRateLimit(
96114
+ "get",
96115
+ Math.ceil(remainingMs / MS_PER_SECOND)
96116
+ ).detail));
96117
+ }
96118
+ runtimeSecretsRetryAtMs.delete(retryKey);
96119
+ }
96088
96120
  const request = getClientRuntimeSecrets(
96089
96121
  normalizeProfileIdForApi(profileId),
96090
96122
  {
96091
96123
  activeProvider,
96092
96124
  includeAllProviderKeys
96093
96125
  }
96094
- ).finally(() => {
96126
+ ).catch((error48) => {
96127
+ if (isClientRuntimeSecretRateLimitError(error48)) {
96128
+ const retryAfterSeconds = getClientRuntimeSecretRateLimitRetryAfterSeconds(
96129
+ error48 instanceof Error ? error48.message : String(error48)
96130
+ );
96131
+ if (retryAfterSeconds && retryAfterSeconds > 0) {
96132
+ runtimeSecretsRetryAtMs.set(retryKey, Date.now() + retryAfterSeconds * MS_PER_SECOND);
96133
+ }
96134
+ }
96135
+ throw error48;
96136
+ }).finally(() => {
96095
96137
  runtimeSecretsInFlight.delete(key);
96096
96138
  });
96097
96139
  runtimeSecretsInFlight.set(key, request);
@@ -96348,27 +96390,8 @@ var init_vault = __esm({
96348
96390
  static async refreshProviderSecretsForVersion(profileId, current, serverVersion) {
96349
96391
  const version3 = normalizeClientRuntimeSecretVersion(serverVersion);
96350
96392
  if (!version3) return current;
96351
- let savedSecrets;
96352
96393
  const stored = memory.get(profileId);
96353
- if (stored?.serverSecretVersion !== version3 || !stored.allProviderKeysHydrated) {
96354
- const hydrated = await _ClientVault.hydrateFromServerWithState(profileId, {
96355
- includeAllProviderKeys: true,
96356
- requireProviderSecret: false
96357
- });
96358
- if (hydrated.hydrationState.serverSecretVersion !== version3) {
96359
- throw new Error("Client provider credentials changed; account refresh is pending.");
96360
- }
96361
- savedSecrets = hydrated.secrets;
96362
- if (!memory.has(profileId)) {
96363
- memory.set(profileId, {
96364
- secrets: savedSecrets ?? { providerKeys: {} },
96365
- serverSecretVersion: version3,
96366
- allProviderKeysHydrated: true
96367
- });
96368
- }
96369
- } else {
96370
- savedSecrets = stored.secrets;
96371
- }
96394
+ const savedSecrets = stored?.serverSecretVersion === version3 && stored.allProviderKeysHydrated ? stored.secrets : await _ClientVault.loadProviderSecretsRevision(profileId, version3);
96372
96395
  return {
96373
96396
  ...current,
96374
96397
  providerKeys: savedSecrets?.providerKeys ?? {},
@@ -96379,6 +96402,33 @@ var init_vault = __esm({
96379
96402
  openaiCompatible: savedSecrets?.openaiCompatible
96380
96403
  };
96381
96404
  }
96405
+ /** Every provider secret of account revision `version`, read from the server when this page lacks it. */
96406
+ static async loadProviderSecretsRevision(profileId, version3) {
96407
+ let hydrated;
96408
+ try {
96409
+ hydrated = await _ClientVault.hydrateFromServerWithState(profileId, {
96410
+ includeAllProviderKeys: true,
96411
+ requireProviderSecret: false
96412
+ });
96413
+ } catch (error48) {
96414
+ const held = memory.get(profileId);
96415
+ if (isClientRuntimeSecretRateLimitError(error48) && held?.serverSecretVersion === version3) {
96416
+ return held.secrets;
96417
+ }
96418
+ throw error48;
96419
+ }
96420
+ if (hydrated.secretVersion !== version3) {
96421
+ throw new ClientRuntimeSecretRefreshPendingError(hydrated.rateLimited?.retryAfterSeconds ?? null);
96422
+ }
96423
+ if (!hydrated.rateLimited && !memory.has(profileId)) {
96424
+ memory.set(profileId, {
96425
+ secrets: hydrated.secrets ?? { providerKeys: {} },
96426
+ serverSecretVersion: version3,
96427
+ allProviderKeysHydrated: true
96428
+ });
96429
+ }
96430
+ return hydrated.secrets;
96431
+ }
96382
96432
  static async hydrateFromServer(profileId, options) {
96383
96433
  const result = await _ClientVault.hydrateFromServerWithState(profileId, options);
96384
96434
  return result.secrets;
@@ -96400,17 +96450,24 @@ var init_vault = __esm({
96400
96450
  includeAllProviderKeys
96401
96451
  );
96402
96452
  } catch (error48) {
96453
+ const record5 = memory.get(profileId);
96403
96454
  const existing = await _ClientVault.getSecrets(profileId);
96404
96455
  const localValidation = validateDeviceSecrets(existing, validationOptions);
96405
96456
  if (isClientRuntimeSecretRateLimitError(error48) && localValidation.readyForClientRuntime && localValidation.normalized) {
96457
+ const message = error48 instanceof Error ? error48.message : String(error48);
96406
96458
  return {
96407
96459
  secrets: localValidation.normalized,
96408
- hydrationState: await _ClientVault.getHydrationState(profileId, validationOptions)
96460
+ hydrationState: await _ClientVault.getHydrationState(profileId, validationOptions),
96461
+ // The revision of the copy returned (none for a legacy device copy).
96462
+ secretVersion: record5?.serverSecretVersion ?? null,
96463
+ rateLimited: { retryAfterSeconds: getClientRuntimeSecretRateLimitRetryAfterSeconds(message) ?? 0 }
96409
96464
  };
96410
96465
  }
96411
96466
  throw error48;
96412
96467
  }
96413
96468
  const remoteSecretVersion = getResponseSecretVersion(remoteSecrets);
96469
+ const held = memory.get(profileId);
96470
+ const keepsCompleteCopy = !includeAllProviderKeys && remoteSecretVersion !== null && held?.allProviderKeysHydrated === true && held.serverSecretVersion === remoteSecretVersion;
96414
96471
  const mapped = mapClientRuntimeSecretsToDeviceSecrets(remoteSecrets, {
96415
96472
  activeProvider,
96416
96473
  includeAllProviderKeys
@@ -96422,18 +96479,22 @@ var init_vault = __esm({
96422
96479
  );
96423
96480
  const validation = validateDeviceSecrets(merged, validationOptions);
96424
96481
  if (!validation.normalized || !hasAnySecretValues(validation.normalized)) {
96425
- _ClientVault.forget(profileId);
96482
+ if (!keepsCompleteCopy) _ClientVault.forget(profileId);
96426
96483
  return {
96427
96484
  secrets: validation.normalized,
96428
- hydrationState: buildHydrationState(remoteSecrets, validation.normalized, "missing", null, validationOptions)
96485
+ hydrationState: keepsCompleteCopy ? buildHydrationState(remoteSecrets, validation.normalized, "memory", remoteSecretVersion, validationOptions) : buildHydrationState(remoteSecrets, validation.normalized, "missing", null, validationOptions),
96486
+ secretVersion: remoteSecretVersion,
96487
+ rateLimited: null
96429
96488
  };
96430
96489
  }
96431
- memory.set(profileId, {
96432
- secrets: validation.normalized,
96433
- serverSecretVersion: remoteSecretVersion,
96434
- allProviderKeysHydrated: includeAllProviderKeys
96435
- });
96436
- notifyVaultChanged(profileId);
96490
+ if (!keepsCompleteCopy) {
96491
+ memory.set(profileId, {
96492
+ secrets: validation.normalized,
96493
+ serverSecretVersion: remoteSecretVersion,
96494
+ allProviderKeysHydrated: includeAllProviderKeys
96495
+ });
96496
+ notifyVaultChanged(profileId);
96497
+ }
96437
96498
  return {
96438
96499
  secrets: validation.normalized,
96439
96500
  hydrationState: buildHydrationState(
@@ -96442,7 +96503,9 @@ var init_vault = __esm({
96442
96503
  "memory",
96443
96504
  remoteSecretVersion,
96444
96505
  validationOptions
96445
- )
96506
+ ),
96507
+ secretVersion: remoteSecretVersion,
96508
+ rateLimited: null
96446
96509
  };
96447
96510
  }
96448
96511
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.10.34",
3
+ "version": "2026.10.35",
4
4
  "description": "VTX Macro CLI, MCP server, and durable external inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",