@vtxmacro/cli 2026.10.38 → 2026.10.39

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
@@ -43,7 +43,7 @@ var init_define_VTX_PI_MODEL_POLICY = __esm({
43
43
  var agent_cli_release_default;
44
44
  var init_agent_cli_release = __esm({
45
45
  "agent-cli-release.json"() {
46
- agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.38", 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" } } };
46
+ agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.39", 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" } } };
47
47
  }
48
48
  });
49
49
 
@@ -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.38", 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.39", 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
@@ -122,7 +122,7 @@ var init_routing = __esm({
122
122
  var agent_cli_release_default;
123
123
  var init_agent_cli_release = __esm({
124
124
  "agent-cli-release.json"() {
125
- agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.38", 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" } } };
125
+ agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.39", 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" } } };
126
126
  }
127
127
  });
128
128
 
@@ -36034,7 +36034,7 @@ function createDefaultInferenceHostRunnerDependencies(options) {
36034
36034
  envelopePublicKey: options.envelopePublicKey
36035
36035
  };
36036
36036
  }
36037
- var import_ajv, providerHttpStatus, terminalFailureRequiresManualRecovery, canReplayFencedAgentTerminal, RUNTIME_RECEIPT_SCHEMA_VERSION, ATTEMPT_RECEIPT_SCHEMA_VERSION, HOST_RUNTIME_POLICY2, CLAIM_DISPATCH_BATCH_SIZE, DEFAULT_ADVERTISEMENT_TTL_MS, DEFAULT_ADVERTISEMENT_REFRESH_LEAD_MS, DEFAULT_HOST_HEARTBEAT_MS, DEFAULT_PROVIDER_RATE_LIMIT_REFRESH_MS, DEFAULT_ATTEMPT_HEARTBEAT_MS, DEFAULT_DRAIN_TIMEOUT_MS, DEFAULT_REMOTE_RETRY_LIMIT, MIN_SLEEP_MS, MIN_HOST_HEARTBEAT_GAP_DIAGNOSTIC_MS, HOST_HEARTBEAT_GAP_DIAGNOSTIC_FACTOR, DEFAULT_QUOTA_COOLDOWN_MS, DEFAULT_AGENT_AUTH_COOLDOWN_MS, DEFAULT_AGENT_RATE_LIMIT_COOLDOWN_MS, DEFAULT_AGENT_TRANSIENT_COOLDOWN_MS, MIN_CLAIM_START_WINDOW_MS, MAX_ATTEMPT_START_RETRY_DELAY_MS, UNBOUNDED_AVAILABLE_SLOTS, buildInferenceAdvertisedModels, summarizeInferenceHostRuntimeRecovery, FileInferenceHostRuntimeReceiptStore, InferenceHostRecoveryRequiredError, InferenceHostRunnerError, defaultSleep, abortError, settlesWithin, defaultRegisterSignalHandlers, safeInteger, exactObjectKeys, validIso, validateAttemptReceipt, validateRuntimeReceipt, sha256, stableOperationId, buildAttemptStartRequest, isoAt, providerWeeklyQuotaFromRateLimits, usableProviderQuotaSnapshot, finitePositiveOption, validateRunnerOptions, assertLocalCredentialIdentity, retryableRemoteError, remoteRetryAfterMs, controlPlaneFatal, defaultValidateOutput, objectRecord, positiveUtf8ByteLimit, assertCompilableOutputSchema, parseOutputContract, serverProviderDispatchNotAfterMs, membershipFailureDisposition, safeFailureCode, publicServerFailureCode, attemptStartRetryFallbackMs, exactJson2, runnerIdentityMismatch, assertAdvertisementResult, assertHostHeartbeatResult, assertClaimResult, assertStartResult, assertJobHeartbeatResult, assertTerminalResult, isDefinitiveCompletionEvidenceExpiry, classifyFailure, ambiguousHeartbeatTransport, reportedTokenUsage, reportedUsage, InferenceHostRunner, createInferenceAgentControlClient, INFERENCE_AGENT_WAKE_SCHEMA, parseInferenceAgentWake, InferenceAgentRuntime;
36037
+ var import_ajv, providerHttpStatus, terminalFailureRequiresManualRecovery, canReplayFencedAgentTerminal, fencedTurnAwaitsAssignmentCheck, RUNTIME_RECEIPT_SCHEMA_VERSION, ATTEMPT_RECEIPT_SCHEMA_VERSION, HOST_RUNTIME_POLICY2, CLAIM_DISPATCH_BATCH_SIZE, DEFAULT_ADVERTISEMENT_TTL_MS, DEFAULT_ADVERTISEMENT_REFRESH_LEAD_MS, DEFAULT_HOST_HEARTBEAT_MS, DEFAULT_PROVIDER_RATE_LIMIT_REFRESH_MS, DEFAULT_ATTEMPT_HEARTBEAT_MS, DEFAULT_DRAIN_TIMEOUT_MS, DEFAULT_REMOTE_RETRY_LIMIT, MIN_SLEEP_MS, MIN_HOST_HEARTBEAT_GAP_DIAGNOSTIC_MS, HOST_HEARTBEAT_GAP_DIAGNOSTIC_FACTOR, DEFAULT_QUOTA_COOLDOWN_MS, DEFAULT_AGENT_AUTH_COOLDOWN_MS, DEFAULT_AGENT_RATE_LIMIT_COOLDOWN_MS, DEFAULT_AGENT_TRANSIENT_COOLDOWN_MS, MIN_CLAIM_START_WINDOW_MS, MAX_ATTEMPT_START_RETRY_DELAY_MS, UNBOUNDED_AVAILABLE_SLOTS, buildInferenceAdvertisedModels, summarizeInferenceHostRuntimeRecovery, FileInferenceHostRuntimeReceiptStore, InferenceHostRecoveryRequiredError, InferenceHostRunnerError, defaultSleep, abortError, settlesWithin, defaultRegisterSignalHandlers, safeInteger, exactObjectKeys, validIso, validateAttemptReceipt, validateRuntimeReceipt, sha256, stableOperationId, buildAttemptStartRequest, isoAt, providerWeeklyQuotaFromRateLimits, usableProviderQuotaSnapshot, finitePositiveOption, validateRunnerOptions, assertLocalCredentialIdentity, retryableRemoteError, remoteRetryAfterMs, controlPlaneFatal, defaultValidateOutput, objectRecord, positiveUtf8ByteLimit, assertCompilableOutputSchema, parseOutputContract, serverProviderDispatchNotAfterMs, membershipFailureDisposition, safeFailureCode, publicServerFailureCode, attemptStartRetryFallbackMs, exactJson2, runnerIdentityMismatch, assertAdvertisementResult, assertHostHeartbeatResult, assertClaimResult, assertStartResult, assertJobHeartbeatResult, assertTerminalResult, isDefinitiveCompletionEvidenceExpiry, classifyFailure, ambiguousHeartbeatTransport, reportedTokenUsage, reportedUsage, InferenceHostRunner, createInferenceAgentControlClient, INFERENCE_AGENT_WAKE_SCHEMA, parseInferenceAgentWake, InferenceAgentRuntime;
36038
36038
  var init_runner = __esm({
36039
36039
  "lib/inference-host/runner.ts"() {
36040
36040
  "use strict";
@@ -36061,6 +36061,7 @@ var init_runner = __esm({
36061
36061
  };
36062
36062
  terminalFailureRequiresManualRecovery = (error48) => (error48.terminalEvidence !== null || error48.grokToolValidation != null || error48.grokResponseIdentity != null) && !error48.retryable && error48.category !== "auth" && !["quota_exceeded", "codex_rate_limited", "provider_rate_limited"].includes(error48.code);
36063
36063
  canReplayFencedAgentTerminal = (state2, fence) => state2?.schema_version === "vtx_inference_agent_runtime_v3" && state2.adapter_id === fence.adapter_id && state2.host_id === fence.host_id && state2.assignment.assignment_id === fence.assignment_id && state2.pending_turn?.terminal_receipt?.terminal_status === "failed" && state2.pending_turn.terminal_receipt.failure_code === fence.failure_code && (fence.dispatch_outcome !== "outcome_unknown" || (state2.pending_turn.terminal_receipt.grok_tool_validation?.prior_dispatch === true || state2.pending_turn.terminal_receipt.grok_response_identity != null || state2.pending_turn.terminal_receipt.provider_http_status !== void 0) && state2.pending_turn.terminal_receipt.dispatch_outcome === "outcome_unknown");
36064
+ fencedTurnAwaitsAssignmentCheck = (state2, fence) => fence.failure_code === "agent_turn_outcome_unknown" && state2?.schema_version === "vtx_inference_agent_runtime_v3" && state2.adapter_id === fence.adapter_id && state2.host_id === fence.host_id && state2.assignment.assignment_id === fence.assignment_id && state2.pending_turn != null && !state2.pending_turn.terminal_receipt;
36064
36065
  RUNTIME_RECEIPT_SCHEMA_VERSION = "vtx_inference_host_runtime_v1";
36065
36066
  ATTEMPT_RECEIPT_SCHEMA_VERSION = "vtx_inference_attempt_receipt_v1";
36066
36067
  HOST_RUNTIME_POLICY2 = runtime_policy_generated_default.external_inference.host_runtime;
@@ -36995,7 +36996,7 @@ var init_runner = __esm({
36995
36996
  }
36996
36997
  if (existingFence.retry_at === null) {
36997
36998
  const recoveryState = await readInferenceAgentRuntimeState(agentRuntimeSettings.statePath);
36998
- if (!canReplayFencedAgentTerminal(recoveryState, existingFence)) {
36999
+ if (!canReplayFencedAgentTerminal(recoveryState, existingFence) && !fencedTurnAwaitsAssignmentCheck(recoveryState, existingFence)) {
36999
37000
  emitDiagnostic("agent_runtime_quarantined", {
37000
37001
  assignment_id: existingFence.assignment_id,
37001
37002
  failure_category: existingFence.failure_category,
@@ -39701,7 +39702,7 @@ var init_runner = __esm({
39701
39702
  "Inference Agent failure fence belongs to another host or adapter."
39702
39703
  );
39703
39704
  }
39704
- if (!canReplayFencedAgentTerminal(recoveredState, failureFence)) {
39705
+ if (!canReplayFencedAgentTerminal(recoveredState, failureFence) && !fencedTurnAwaitsAssignmentCheck(recoveredState, failureFence)) {
39705
39706
  throw new InferenceHostRunnerError(
39706
39707
  "agent_terminal_failure_fenced",
39707
39708
  "The nonretryable Agent failure requires recovery before another model invocation."
@@ -39782,6 +39783,17 @@ var init_runner = __esm({
39782
39783
  state2 = await this.resolvePendingDecision(state2, signal);
39783
39784
  if (state2.pending_turn) {
39784
39785
  if (!state2.pending_turn.terminal_receipt) {
39786
+ const liveness = await this.options.controlClient.heartbeat({
39787
+ operation_id: randomUUID2(),
39788
+ host_id: this.options.hostId,
39789
+ assignment_id: state2.assignment.assignment_id,
39790
+ assignment_generation: state2.assignment.assignment_generation,
39791
+ requested_at: nowIso()
39792
+ }, { signal });
39793
+ if (liveness.directive === "cancel") {
39794
+ await this.settleCancelledTurn(state2, signal);
39795
+ return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
39796
+ }
39785
39797
  throw new InferenceHostRunnerError(
39786
39798
  "agent_turn_outcome_unknown",
39787
39799
  "The interrupted Agent turn has no terminal receipt; model redispatch is fenced."
@@ -39805,6 +39817,10 @@ var init_runner = __esm({
39805
39817
  if (terminal.terminal_receipt.terminal_status === "failed") {
39806
39818
  state2 = { ...state2, pending_turn: null, updated_at: nowIso() };
39807
39819
  await writeInferenceAgentRuntimeState(this.options.statePath, state2);
39820
+ if (acknowledged.directive === "cancel" && failureFence === null) {
39821
+ await this.handleCancelledAssignment(state2, signal);
39822
+ return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
39823
+ }
39808
39824
  if (terminal.terminal_receipt.dispatch_outcome === "outcome_unknown" || terminal.terminal_receipt.provider_http_status !== void 0 && failureFence?.retry_at === null) {
39809
39825
  throw new InferenceHostRunnerError(
39810
39826
  "agent_terminal_failure_fenced",
@@ -40140,6 +40156,7 @@ var init_runner = __esm({
40140
40156
  const httpStatus = providerHttpStatus(error48);
40141
40157
  const sendHttpStatus = httpStatus !== null && await this.options.controlClient.supportsProviderHttpStatusDiagnostics?.({}) === true;
40142
40158
  const hasDiagnostic = diagnostic != null || identityDiagnostic != null;
40159
+ const harnessDiagnostic = error48 instanceof CodexAppServerError && (error48.grokToolValidation != null || error48.grokResponseIdentity != null);
40143
40160
  const hasFailureEvidence = hasDiagnostic || sendHttpStatus;
40144
40161
  if (error48 instanceof CodexAppServerError && error48.dispatchOutcome === "not_dispatched" && error48.terminalEvidence === null && !hasFailureEvidence) {
40145
40162
  state2 = { ...state2, pending_turn: null, updated_at: nowIso() };
@@ -40181,7 +40198,7 @@ var init_runner = __esm({
40181
40198
  } : {}
40182
40199
  }
40183
40200
  }, updated_at: nowIso() };
40184
- if (terminalFailureRequiresManualRecovery(error48) || sendHttpStatus && (error48.dispatchOutcome === "outcome_unknown" || error48.dispatchOutcome === "confirmed_dispatched" && error48.terminalEvidence === null && !["provider_rate_limited", "codex_rate_limited", "quota_exceeded"].includes(error48.code))) {
40201
+ if (!(cancelled && error48.category === "cancelled" && !harnessDiagnostic) && (terminalFailureRequiresManualRecovery(error48) || sendHttpStatus && (error48.dispatchOutcome === "outcome_unknown" || error48.dispatchOutcome === "confirmed_dispatched" && error48.terminalEvidence === null && !["provider_rate_limited", "codex_rate_limited", "quota_exceeded"].includes(error48.code)))) {
40185
40202
  await writeInferenceAgentFailureFence(this.options.statePath, {
40186
40203
  schema_version: "vtx_inference_agent_failure_fence_v1",
40187
40204
  adapter_id: this.options.adapterId,
@@ -40212,6 +40229,11 @@ var init_runner = __esm({
40212
40229
  }
40213
40230
  }
40214
40231
  if (!cancelled) throw error48;
40232
+ if (state2.pending_turn && !state2.pending_turn.terminal_receipt) {
40233
+ if (harnessDiagnostic) throw error48;
40234
+ await this.settleCancelledTurn(state2);
40235
+ return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
40236
+ }
40215
40237
  await this.handleCancelledAssignment(state2);
40216
40238
  return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
40217
40239
  } finally {
@@ -40281,6 +40303,63 @@ var init_runner = __esm({
40281
40303
  await writeInferenceAgentRuntimeState(this.options.statePath, resolved);
40282
40304
  return resolved;
40283
40305
  }
40306
+ /**
40307
+ * The server revoked this assignment (the owner stopped the bot), so its
40308
+ * interrupted turn can never run again and late decisions are refused. The
40309
+ * turn is recorded as cancelled and the assignment discarded, instead of
40310
+ * fencing every later assignment on this host.
40311
+ */
40312
+ async settleCancelledTurn(state2, signal) {
40313
+ const nowIso = () => new Date(this.now()).toISOString();
40314
+ const pending3 = state2.pending_turn;
40315
+ const fence = await readInferenceAgentFailureFence(this.options.statePath);
40316
+ if (fence?.failure_code === "agent_turn_outcome_unknown" && fence.assignment_id === state2.assignment.assignment_id) {
40317
+ await clearInferenceAgentFailureFence(this.options.statePath);
40318
+ }
40319
+ const receipt = {
40320
+ terminal_status: "failed",
40321
+ failure_code: "cancelled",
40322
+ turn_id: pending3.turn_id,
40323
+ agent_run_id: state2.thread?.threadId ?? pending3.turn_id,
40324
+ requested_model: state2.assignment.model_id,
40325
+ effective_model: null,
40326
+ requested_reasoning_effort: state2.assignment.reasoning_effort,
40327
+ effective_reasoning_effort: null,
40328
+ started_at: pending3.started_at,
40329
+ completed_at: nowIso(),
40330
+ adapter_request_id: null,
40331
+ adapter_response_id: null,
40332
+ usage: {
40333
+ schema_version: EXTERNAL_INFERENCE_USAGE_SCHEMA_VERSION,
40334
+ availability: "unavailable",
40335
+ reason_code: "terminal_usage_unavailable"
40336
+ },
40337
+ decision_operation_ids: [...pending3.decision_operation_ids]
40338
+ };
40339
+ let current = {
40340
+ ...state2,
40341
+ pending_turn: { ...pending3, terminal_receipt: receipt },
40342
+ updated_at: nowIso()
40343
+ };
40344
+ await writeInferenceAgentRuntimeState(this.options.statePath, current);
40345
+ const acknowledged = await this.options.controlClient.heartbeat({
40346
+ operation_id: pending3.turn_id,
40347
+ host_id: this.options.hostId,
40348
+ assignment_id: state2.assignment.assignment_id,
40349
+ assignment_generation: state2.assignment.assignment_generation,
40350
+ requested_at: nowIso(),
40351
+ turn_receipt: receipt
40352
+ }, { signal });
40353
+ if (!acknowledged.turn_receipt_recorded) {
40354
+ throw new InferenceHostRunnerError(
40355
+ "agent_turn_receipt_unacknowledged",
40356
+ "The cancelled Agent turn receipt could not be acknowledged; recovery state is retained."
40357
+ );
40358
+ }
40359
+ current = { ...current, pending_turn: null, updated_at: nowIso() };
40360
+ await writeInferenceAgentRuntimeState(this.options.statePath, current);
40361
+ await this.handleCancelledAssignment(current, signal);
40362
+ }
40284
40363
  async handleCancelledAssignment(state2, signal) {
40285
40364
  let current = state2;
40286
40365
  if (current.pending_decision) {
@@ -42699,18 +42778,57 @@ $items = @(Get-CimInstance Win32_Process | Where-Object { $_.Name -in @('node.ex
42699
42778
  }
42700
42779
  });
42701
42780
 
42781
+ // lib/inference-host/agent-thread-workspace.ts
42782
+ import { realpath as realpath5 } from "node:fs/promises";
42783
+ import { tmpdir as tmpdir3 } from "node:os";
42784
+ import { basename as basename2, dirname as dirname6 } from "node:path";
42785
+ var ownedTempThreadWorkspace, removeRecordedTempThreadWorkspace;
42786
+ var init_agent_thread_workspace = __esm({
42787
+ "lib/inference-host/agent-thread-workspace.ts"() {
42788
+ "use strict";
42789
+ init_define_VTX_CLAUDE_CODE_POLICY();
42790
+ init_define_VTX_EXO_POLICY();
42791
+ init_define_VTX_GROK_POLICY();
42792
+ init_define_VTX_PI_MODEL_POLICY();
42793
+ init_agent_state();
42794
+ init_owned_directory_removal();
42795
+ ownedTempThreadWorkspace = async (threadPath, prefix) => {
42796
+ const resolved = await realpath5(threadPath);
42797
+ const temporaryRoot = await realpath5(tmpdir3());
42798
+ return dirname6(resolved) === temporaryRoot && basename2(resolved).startsWith(prefix) ? resolved : null;
42799
+ };
42800
+ removeRecordedTempThreadWorkspace = async (statePath, prefix) => {
42801
+ let threadPath;
42802
+ try {
42803
+ threadPath = (await readInferenceAgentRuntimeState(statePath))?.thread?.threadPath;
42804
+ } catch {
42805
+ return;
42806
+ }
42807
+ if (!threadPath) return;
42808
+ let owned;
42809
+ try {
42810
+ owned = await ownedTempThreadWorkspace(threadPath, prefix);
42811
+ } catch (error48) {
42812
+ if (error48.code === "ENOENT") return;
42813
+ throw error48;
42814
+ }
42815
+ if (owned) await removeOwnedDirectory(owned);
42816
+ };
42817
+ }
42818
+ });
42819
+
42702
42820
  // lib/inference-host/copilot-adapter.ts
42703
42821
  import { randomUUID as randomUUID4 } from "node:crypto";
42704
42822
  import { mkdtemp as mkdtemp2 } from "node:fs/promises";
42705
42823
  import { createRequire as createRequire2 } from "node:module";
42706
- import { tmpdir as tmpdir3 } from "node:os";
42824
+ import { tmpdir as tmpdir4 } from "node:os";
42707
42825
  import { join as join7 } from "node:path";
42708
42826
  import {
42709
42827
  CopilotClient,
42710
42828
  RuntimeConnection,
42711
42829
  defineTool
42712
42830
  } from "@github/copilot-sdk";
42713
- var COPILOT_SDK_VERSION, MAX_RESULT_BYTES, resolveRuntimePackage, copilotRuntimePackageCandidates, resolvePinnedCopilotCliPath, createPrivateWorkspace, cleanCopilotEnvironment, defaultClient, modelCapabilities, requiredUsageInteger, optionalUsageInteger, responseModelLabel, coherentResponseModel, copilotAgentToolDefinitions, CopilotSubscriptionAdapter;
42831
+ var COPILOT_SDK_VERSION, MAX_RESULT_BYTES, resolveRuntimePackage, copilotRuntimePackageCandidates, resolvePinnedCopilotCliPath, WORKSPACE_PREFIX, createPrivateWorkspace, cleanCopilotEnvironment, cleanupCopilotOwnedState, defaultClient, modelCapabilities, requiredUsageInteger, optionalUsageInteger, responseModelLabel, coherentResponseModel, copilotAgentToolDefinitions, CopilotSubscriptionAdapter;
42714
42832
  var init_copilot_adapter = __esm({
42715
42833
  "lib/inference-host/copilot-adapter.ts"() {
42716
42834
  "use strict";
@@ -42719,6 +42837,7 @@ var init_copilot_adapter = __esm({
42719
42837
  init_define_VTX_GROK_POLICY();
42720
42838
  init_define_VTX_PI_MODEL_POLICY();
42721
42839
  init_codex_app_server();
42840
+ init_agent_thread_workspace();
42722
42841
  init_owned_directory_removal();
42723
42842
  init_constants();
42724
42843
  COPILOT_SDK_VERSION = "1.0.0-beta.8";
@@ -42747,8 +42866,9 @@ var init_copilot_adapter = __esm({
42747
42866
  }
42748
42867
  throw new Error(`copilot_runtime_package_missing:${failures.join(";")}`);
42749
42868
  };
42869
+ WORKSPACE_PREFIX = "vtx-copilot-";
42750
42870
  createPrivateWorkspace = async (removal = {}) => {
42751
- const path = await mkdtemp2(join7(tmpdir3(), "vtx-copilot-"));
42871
+ const path = await mkdtemp2(join7(tmpdir4(), WORKSPACE_PREFIX));
42752
42872
  return {
42753
42873
  path,
42754
42874
  // client.stop() has already awaited the runtime's exit; retries cover the
@@ -42774,6 +42894,9 @@ var init_copilot_adapter = __esm({
42774
42894
  ]) delete environment[name];
42775
42895
  return environment;
42776
42896
  };
42897
+ cleanupCopilotOwnedState = async (statePath) => {
42898
+ await removeRecordedTempThreadWorkspace(statePath, WORKSPACE_PREFIX);
42899
+ };
42777
42900
  defaultClient = (workingDirectory) => new CopilotClient({
42778
42901
  connection: RuntimeConnection.forStdio({ path: resolvePinnedCopilotCliPath() }),
42779
42902
  workingDirectory,
@@ -43342,7 +43465,15 @@ ${JSON.stringify(input.outputSchema)}`
43342
43465
  if (cleanup) {
43343
43466
  await cleanup();
43344
43467
  this.agentWorkspaceCleanups.delete(thread.threadPath);
43468
+ return;
43345
43469
  }
43470
+ let owned = null;
43471
+ try {
43472
+ owned = await ownedTempThreadWorkspace(thread.threadPath, WORKSPACE_PREFIX);
43473
+ } catch (error48) {
43474
+ if (error48.code !== "ENOENT") throw error48;
43475
+ }
43476
+ if (owned) await removeOwnedDirectory(owned);
43346
43477
  }
43347
43478
  async close() {
43348
43479
  this.closing = true;
@@ -43591,9 +43722,9 @@ var init_deepseek_transport_proxy = __esm({
43591
43722
 
43592
43723
  // lib/inference-host/deepseek-harness-adapter.ts
43593
43724
  import { randomUUID as randomUUID5 } from "node:crypto";
43594
- import { mkdtemp as mkdtemp3, realpath as realpath5, rm as rm7 } from "node:fs/promises";
43595
- import { tmpdir as tmpdir4 } from "node:os";
43596
- import { basename as basename2, dirname as dirname6, join as join8 } from "node:path";
43725
+ import { mkdtemp as mkdtemp3, rm as rm7 } from "node:fs/promises";
43726
+ import { tmpdir as tmpdir5 } from "node:os";
43727
+ import { join as join8 } from "node:path";
43597
43728
  import { Context } from "@deepseek-ai/cordis";
43598
43729
  import * as AgentSpine from "@deepseek-ai/dsh-agent-spine-demo";
43599
43730
  import {
@@ -43608,7 +43739,7 @@ import * as LlmDeepSeek from "@deepseek-ai/dsh-llm-deepseek";
43608
43739
  import { SessionId } from "@deepseek-ai/dsh-session";
43609
43740
  import * as SessionCheckpointPolicy from "@deepseek-ai/dsh-session-checkpoint-policy";
43610
43741
  import { JsonlSessionPersistence } from "@deepseek-ai/dsh-session-persistence-jsonl";
43611
- var DEEPSEEK_HARNESS_VERSION, MAX_RESULT_BYTES2, DEEPSEEK_MODELS, DEEPSEEK_API_BASE_URL, isSupportedNodeVersion, effortForHarness, supportedEfforts, toVtxUsage, sumUsage, textFromBlocks, validateText, createDeadlineBoundary, nonDispatchedError, proxyDispatchOutcome, mapDeepSeekFailure, createPrivateWorkspace2, directAdapter, normalizeJsonValue, DeepSeekHarnessAdapter;
43742
+ var DEEPSEEK_HARNESS_VERSION, MAX_RESULT_BYTES2, DEEPSEEK_MODELS, DEEPSEEK_API_BASE_URL, isSupportedNodeVersion, effortForHarness, supportedEfforts, toVtxUsage, sumUsage, textFromBlocks, validateText, createDeadlineBoundary, nonDispatchedError, proxyDispatchOutcome, mapDeepSeekFailure, WORKSPACE_PREFIX2, createPrivateWorkspace2, cleanupDeepSeekOwnedState, directAdapter, normalizeJsonValue, DeepSeekHarnessAdapter;
43612
43743
  var init_deepseek_harness_adapter = __esm({
43613
43744
  "lib/inference-host/deepseek-harness-adapter.ts"() {
43614
43745
  "use strict";
@@ -43619,6 +43750,7 @@ var init_deepseek_harness_adapter = __esm({
43619
43750
  init_codex_app_server();
43620
43751
  init_agent_data_tool();
43621
43752
  init_owned_directory_removal();
43753
+ init_agent_thread_workspace();
43622
43754
  init_deepseek_transport_proxy();
43623
43755
  init_constants();
43624
43756
  DEEPSEEK_HARNESS_VERSION = "0.1.1-rc.2";
@@ -43744,12 +43876,16 @@ var init_deepseek_harness_adapter = __esm({
43744
43876
  cause: options.error
43745
43877
  });
43746
43878
  };
43879
+ WORKSPACE_PREFIX2 = "vtx-deepseek-harness-";
43747
43880
  createPrivateWorkspace2 = async () => {
43748
- const path = await mkdtemp3(join8(tmpdir4(), "vtx-deepseek-harness-"));
43881
+ const path = await mkdtemp3(join8(tmpdir5(), WORKSPACE_PREFIX2));
43749
43882
  return { path, cleanup: async () => {
43750
43883
  await removeOwnedDirectory(path);
43751
43884
  } };
43752
43885
  };
43886
+ cleanupDeepSeekOwnedState = async (statePath) => {
43887
+ await removeRecordedTempThreadWorkspace(statePath, WORKSPACE_PREFIX2);
43888
+ };
43753
43889
  directAdapter = (proxy, model, effort2) => {
43754
43890
  const connection = resolveAdapterOptions({
43755
43891
  apiKeyEnv: "VTX_DSH_LOOPBACK_TOKEN",
@@ -44248,9 +44384,8 @@ ${JSON.stringify(input.outputSchema)}`,
44248
44384
  this.agentWorkspaces.delete(thread.threadPath);
44249
44385
  return;
44250
44386
  }
44251
- const resolved = await realpath5(thread.threadPath);
44252
- const temporaryRoot = await realpath5(tmpdir4());
44253
- if (dirname6(resolved) !== temporaryRoot || !basename2(resolved).startsWith("vtx-deepseek-harness-")) throw new Error("deepseek_harness_thread_path_not_owned");
44387
+ const resolved = await ownedTempThreadWorkspace(thread.threadPath, WORKSPACE_PREFIX2);
44388
+ if (!resolved) throw new Error("deepseek_harness_thread_path_not_owned");
44254
44389
  await rm7(resolved, { recursive: true, force: true });
44255
44390
  }
44256
44391
  async close() {
@@ -51342,6 +51477,8 @@ Durable service:
51342
51477
  await cleanupExoOwnedState(`${config2.statePath}.exo`);
51343
51478
  await cleanupGrokOwnedState({ stateRoot: `${config2.statePath}.grok`, grokHome: `${config2.statePath}.grok-home` });
51344
51479
  await cleanupClaudeCodeOwnedState(claudeCodeStateOptions(config2.statePath));
51480
+ await cleanupDeepSeekOwnedState(config2.statePath);
51481
+ await cleanupCopilotOwnedState(config2.statePath);
51345
51482
  await clearInferencePrivateFile(
51346
51483
  runtimeReceiptPath(config2),
51347
51484
  "Inference host runtime receipt file"
@@ -59519,6 +59656,18 @@ var init_mobile_notifications = __esm({
59519
59656
  }
59520
59657
  });
59521
59658
 
59659
+ // lib/api/admin-signups.ts
59660
+ var init_admin_signups = __esm({
59661
+ "lib/api/admin-signups.ts"() {
59662
+ "use strict";
59663
+ init_define_VTX_CLAUDE_CODE_POLICY();
59664
+ init_define_VTX_EXO_POLICY();
59665
+ init_define_VTX_GROK_POLICY();
59666
+ init_define_VTX_PI_MODEL_POLICY();
59667
+ init_shared();
59668
+ }
59669
+ });
59670
+
59522
59671
  // lib/runtime/hyperliquid-account-mode-contract.ts
59523
59672
  function resolveExactHyperliquidAccountMode(userAbstraction, ...dexEvidence) {
59524
59673
  const mode = extractCanonicalHyperliquidAccountMode(userAbstraction);
@@ -96616,6 +96765,7 @@ var init_api2 = __esm({
96616
96765
  init_profile_emoji();
96617
96766
  init_account_summary();
96618
96767
  init_mobile_notifications();
96768
+ init_admin_signups();
96619
96769
  init_server_runtime_lease();
96620
96770
  clientRuntimeSecretHeaders = (profileId) => {
96621
96771
  const headers = getProfileHeaders({}, profileId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.10.38",
3
+ "version": "2026.10.39",
4
4
  "description": "VTX Macro CLI, MCP server, and durable external inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",