@vtxmacro/cli 2026.10.65 → 2026.10.67

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.65", 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.67", 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.65", 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.67", 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.65", 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.67", 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
 
@@ -62205,6 +62205,17 @@ var init_client_protective_evidence = __esm({
62205
62205
  }
62206
62206
  });
62207
62207
 
62208
+ // lib/api/copy-trading-order-action.ts
62209
+ var init_copy_trading_order_action = __esm({
62210
+ "lib/api/copy-trading-order-action.ts"() {
62211
+ "use strict";
62212
+ init_define_VTX_CLAUDE_CODE_POLICY();
62213
+ init_define_VTX_EXO_POLICY();
62214
+ init_define_VTX_GROK_POLICY();
62215
+ init_define_VTX_PI_MODEL_POLICY();
62216
+ }
62217
+ });
62218
+
62208
62219
  // lib/api/provider-relays.ts
62209
62220
  function relayNativeProviderRequest(provider, apiKey, payload, options = {}) {
62210
62221
  return apiFetch(`${getApiUrl()}/llm/native-provider-relay`, {
@@ -62954,6 +62965,31 @@ var init_hyperliquid_max_leverage = __esm({
62954
62965
  }
62955
62966
  });
62956
62967
 
62968
+ // lib/runtime/hyperliquid-signed-size.ts
62969
+ var hyperliquidSignedSizeMatchesRequestedSize;
62970
+ var init_hyperliquid_signed_size = __esm({
62971
+ "lib/runtime/hyperliquid-signed-size.ts"() {
62972
+ "use strict";
62973
+ init_define_VTX_CLAUDE_CODE_POLICY();
62974
+ init_define_VTX_EXO_POLICY();
62975
+ init_define_VTX_GROK_POLICY();
62976
+ init_define_VTX_PI_MODEL_POLICY();
62977
+ init_constants();
62978
+ init_hyperliquid_client();
62979
+ hyperliquidSignedSizeMatchesRequestedSize = (requestedSize, sizeDecimals, signedSize) => {
62980
+ if (!Number.isFinite(requestedSize) || requestedSize <= 0 || !Number.isFinite(signedSize) || signedSize <= 0 || !Number.isInteger(sizeDecimals) || sizeDecimals < 0) {
62981
+ return false;
62982
+ }
62983
+ const tolerance = DECIMAL_RADIX ** -(sizeDecimals + HYPERLIQUID_SIGNED_SIZE_MATCH_EXTRA_DECIMALS);
62984
+ const candidates = [
62985
+ quantizeHyperliquidOrderSizeValue(requestedSize, sizeDecimals, "nearest"),
62986
+ Number(requestedSize.toFixed(sizeDecimals))
62987
+ ];
62988
+ return candidates.some((candidate) => candidate > 0 && Math.abs(candidate - signedSize) <= tolerance);
62989
+ };
62990
+ }
62991
+ });
62992
+
62957
62993
  // lib/candle-timeframes.ts
62958
62994
  var candleTimeframeSeconds, compareCandleTimeframes, sortCandleTimeframes, candleClosedInSeries;
62959
62995
  var init_candle_timeframes = __esm({
@@ -96441,7 +96477,7 @@ var init_hyperliquid_signer = __esm({
96441
96477
  });
96442
96478
 
96443
96479
  // lib/runtime/hyperliquid-client.ts
96444
- var HyperliquidExchangeRejectionError, assertFreshPreparedExecutionContext, normalizeSymbol, normalizeBotMarket, HYPERLIQUID_NONCE_STORAGE_KEY, HYPERLIQUID_NONCE_LOCK_NAME, lastGeneratedNonce, readBrowserStoredHyperliquidNonce, writeBrowserStoredHyperliquidNonce, browserNonceCoordinator, allocateHyperliquidNonce, hostNonceAllocator, allocateActionNonce, generateHyperliquidNonce, normalizeDecimalString, HYPERLIQUID_PRICE_SIGNIFICANT_FIGURES, HYPERLIQUID_INTEGER_PRICE_MINIMUM, shortestDecimalParts, formatHyperliquidPerpPriceGrid, formatHyperliquidTriggerPriceWire, hyperliquidOrderPriceRounding, formatHyperliquidOrderPriceWire, countSignificantDigits, countDecimalPlaces, validateHyperliquidPerpPriceWire, validateHyperliquidSizeWire, formatSizeWire, inferApiUrl, inferIsTestnet, postHyperliquidInfoRead, postHyperliquidInfo, fetchBrowserHyperliquidInfoPayload, fetchBrowserHyperliquidInfoRead, fetchBrowserHyperliquidInfoText, toFiniteNumber, NATIVE_FIRED_TRIGGER_CONDITION, firstFiniteNumber, parseFundingUsdcFromInfoPosition, isExchangeIsolatedOnly, resolveLeverageTarget, computeHip3AssetId, buildAssetInfosFromMetaResponse, requireWalletAddress, assertPositiveInteger, assertPositiveNumber, normalizeOrderSide, normalizeHyperliquidClientOrderId, resolveAssets, findResolvedAsset, normalizeExecutionAssetMetadata, readDeviceExecutionAssetMetadata, requireBotProfileId, executionAssetMetadataFor, resolveHyperliquidAsset, resolveHyperliquidAssetIndex, decimalUnits, quantizeHyperliquidOrderSizeValue, hyperliquidSignedSizeMatchesRequestedSize, finitePositive, readDevicePrivateExecutionContext, quantizeHyperliquidOrderSize, listBrowserMarketListDexes, browserMarketListMaxMarkets, cutBrowserMarketList, readBrowserPerpDexIndexes, readBrowserMarketListDex, fetchBrowserAvailableAssets, fetchBrowserAllMids, fetchBrowserSymbolMidPrice, fetchBrowserOpenOrders, parseCanonicalHyperliquidOrderStatusEvidence, fetchBrowserOrderStatusEvidence, fetchBrowserUserRole, fetchBrowserAccountState, fetchBrowserPosition, buildHyperliquidOrderWire, buildHyperliquidTriggerOrderWire, signHyperliquidPayload, signHyperliquidPreparedAction, buildHyperliquidCancelAction, buildHyperliquidCancelPayload, buildHyperliquidUpdateLeverageAction, buildHyperliquidUpdateLeveragePayload, buildHyperliquidMarketOrderAction, buildHyperliquidMarketOrderPayload, buildHyperliquidLimitOrderAction, buildHyperliquidLimitOrderPayload, buildHyperliquidTriggerOrderAction, buildHyperliquidTriggerOrderPayload, buildHyperliquidOrderBatchAction, buildHyperliquidOrderBatchPayload, buildHyperliquidModifyOrderAction, buildHyperliquidModifyOrderPayload, TRAILING_PCT_PATTERN, buildHyperliquidTrailingStopAction, buildHyperliquidTrailingStopPayload, extractHyperliquidExchangeError, acknowledgementLookupPacing, lookupUntilListed, resolveHyperliquidTriggerAcknowledgements, readHyperliquidTrailingStopAcknowledgement, resolveHyperliquidModifyAcknowledgement, isDefinitiveHyperliquidExchangeResponse, extractDefinitiveHyperliquidOrderId, CANONICAL_POSITIVE_DECIMAL_PATTERN, extractCanonicalHyperliquidOrderStateAcknowledgement, extractCanonicalHyperliquidOrderStateAcknowledgements, extractCanonicalHyperliquidFilledOrderAcknowledgement, extractDefinitiveHyperliquidOrderMemberResults, buildHyperliquidOrderDiagnostics, loadClientExecutionReferenceEvidence, sha256Hex, extractSignedPayloadClientOrderId, extractSignedPayloadMutationCorrelation, assertDurableMutationMatchesSignedAction, exchangeRejectionReason, exchangeActionPriority, submitHyperliquidExchangePayload;
96480
+ var HyperliquidExchangeRejectionError, assertFreshPreparedExecutionContext, normalizeSymbol, normalizeBotMarket, HYPERLIQUID_NONCE_STORAGE_KEY, HYPERLIQUID_NONCE_LOCK_NAME, lastGeneratedNonce, readBrowserStoredHyperliquidNonce, writeBrowserStoredHyperliquidNonce, browserNonceCoordinator, allocateHyperliquidNonce, hostNonceAllocator, allocateActionNonce, generateHyperliquidNonce, normalizeDecimalString, HYPERLIQUID_PRICE_SIGNIFICANT_FIGURES, HYPERLIQUID_INTEGER_PRICE_MINIMUM, shortestDecimalParts, formatHyperliquidPerpPriceGrid, formatHyperliquidTriggerPriceWire, hyperliquidOrderPriceRounding, formatHyperliquidOrderPriceWire, countSignificantDigits, countDecimalPlaces, validateHyperliquidPerpPriceWire, validateHyperliquidSizeWire, formatSizeWire, inferApiUrl, inferIsTestnet, postHyperliquidInfoRead, postHyperliquidInfo, fetchBrowserHyperliquidInfoPayload, fetchBrowserHyperliquidInfoRead, fetchBrowserHyperliquidInfoText, toFiniteNumber, NATIVE_FIRED_TRIGGER_CONDITION, firstFiniteNumber, parseFundingUsdcFromInfoPosition, isExchangeIsolatedOnly, resolveLeverageTarget, computeHip3AssetId, buildAssetInfosFromMetaResponse, requireWalletAddress, assertPositiveInteger, assertPositiveNumber, normalizeOrderSide, normalizeHyperliquidClientOrderId, resolveAssets, findResolvedAsset, normalizeExecutionAssetMetadata, readDeviceExecutionAssetMetadata, requireBotProfileId, executionAssetMetadataFor, resolveHyperliquidAsset, resolveHyperliquidAssetIndex, decimalUnits, quantizeHyperliquidOrderSizeValue, finitePositive, readDevicePositionSize, readDevicePrivateExecutionContext, quantizeHyperliquidOrderSize, listBrowserMarketListDexes, browserMarketListMaxMarkets, cutBrowserMarketList, readBrowserPerpDexIndexes, readBrowserMarketListDex, fetchBrowserAvailableAssets, fetchBrowserAllMids, fetchBrowserSymbolMidPrice, fetchBrowserOpenOrders, parseCanonicalHyperliquidOrderStatusEvidence, fetchBrowserOrderStatusEvidence, fetchBrowserUserRole, fetchBrowserAccountState, fetchBrowserPosition, buildHyperliquidOrderWire, buildHyperliquidTriggerOrderWire, signHyperliquidPayload, signHyperliquidPreparedAction, buildHyperliquidCancelAction, buildHyperliquidCancelPayload, buildHyperliquidUpdateLeverageAction, buildHyperliquidUpdateLeveragePayload, buildHyperliquidMarketOrderAction, buildHyperliquidMarketOrderPayload, buildHyperliquidLimitOrderAction, buildHyperliquidLimitOrderPayload, buildHyperliquidTriggerOrderAction, buildHyperliquidTriggerOrderPayload, buildHyperliquidOrderBatchAction, buildHyperliquidOrderBatchPayload, buildHyperliquidModifyOrderAction, buildHyperliquidModifyOrderPayload, TRAILING_PCT_PATTERN, buildHyperliquidTrailingStopAction, buildHyperliquidTrailingStopPayload, extractHyperliquidExchangeError, acknowledgementLookupPacing, lookupUntilListed, resolveHyperliquidTriggerAcknowledgements, readHyperliquidTrailingStopAcknowledgement, resolveHyperliquidModifyAcknowledgement, isDefinitiveHyperliquidExchangeResponse, extractDefinitiveHyperliquidOrderId, CANONICAL_POSITIVE_DECIMAL_PATTERN, extractCanonicalHyperliquidOrderStateAcknowledgement, extractCanonicalHyperliquidOrderStateAcknowledgements, extractCanonicalHyperliquidFilledOrderAcknowledgement, extractDefinitiveHyperliquidOrderMemberResults, buildHyperliquidOrderDiagnostics, loadClientExecutionReferenceEvidence, sha256Hex, extractSignedPayloadClientOrderId, extractSignedPayloadMutationCorrelation, assertDurableMutationMatchesSignedAction, exchangeRejectionReason, exchangeActionPriority, submitHyperliquidExchangePayload;
96445
96481
  var init_hyperliquid_client = __esm({
96446
96482
  "lib/runtime/hyperliquid-client.ts"() {
96447
96483
  "use strict";
@@ -96456,6 +96492,7 @@ var init_hyperliquid_client = __esm({
96456
96492
  init_runtime_policy_generated2();
96457
96493
  init_constants();
96458
96494
  init_hyperliquid_max_leverage();
96495
+ init_hyperliquid_signed_size();
96459
96496
  init_hyperliquid_public_read();
96460
96497
  init_api2();
96461
96498
  init_abort();
@@ -97020,47 +97057,37 @@ var init_hyperliquid_client = __esm({
97020
97057
  const units = decimalUnits(value, decimals, roundingMode);
97021
97058
  return units / DECIMAL_RADIX ** decimals;
97022
97059
  };
97023
- hyperliquidSignedSizeMatchesRequestedSize = (requestedSize, sizeDecimals, signedSize) => {
97024
- if (!Number.isFinite(requestedSize) || requestedSize <= 0 || !Number.isFinite(signedSize) || signedSize <= 0 || !Number.isInteger(sizeDecimals) || sizeDecimals < 0) {
97025
- return false;
97026
- }
97027
- const tolerance = DECIMAL_RADIX ** -(sizeDecimals + HYPERLIQUID_SIGNED_SIZE_MATCH_EXTRA_DECIMALS);
97028
- const candidates = [
97029
- quantizeHyperliquidOrderSizeValue(requestedSize, sizeDecimals, "nearest"),
97030
- Number(requestedSize.toFixed(sizeDecimals))
97031
- ];
97032
- return candidates.some((candidate) => candidate > 0 && Math.abs(candidate - signedSize) <= tolerance);
97033
- };
97034
97060
  finitePositive = (value) => {
97035
97061
  const parsed = Number(value);
97036
97062
  return typeof value !== "boolean" && value !== null && value !== "" && Number.isFinite(parsed) && parsed > 0 ? parsed : null;
97037
97063
  };
97038
- readDevicePrivateExecutionContext = async (input) => {
97064
+ readDevicePositionSize = async (input) => {
97039
97065
  const symbol2 = normalizeSymbol(input.symbol);
97040
- const user = requireWalletAddress(input.walletAddress);
97041
97066
  const dex = getHyperliquidMarketDex(symbol2);
97067
+ const state2 = await postHyperliquidInfo(
97068
+ input,
97069
+ { type: "clearinghouseState", user: requireWalletAddress(input.walletAddress), ...dex ? { dex } : {} },
97070
+ "hyperliquid.clearinghouseState"
97071
+ );
97072
+ let size = 0;
97073
+ for (const entry of requireClearinghouseState(state2).assetPositions) {
97074
+ const position = entry?.position;
97075
+ const coin = String(position?.coin ?? "");
97076
+ if (normalizeSymbol(dex && !coin.includes(":") ? `${dex}:${coin}` : coin) === symbol2) size = Number(position?.szi);
97077
+ }
97078
+ return size;
97079
+ };
97080
+ readDevicePrivateExecutionContext = async (input) => {
97081
+ const symbol2 = normalizeSymbol(input.symbol);
97042
97082
  const executionContextAtMs = Date.now();
97043
- const [state2, activeAsset] = await Promise.all([
97083
+ const [executionPositionSize, activeAsset] = await Promise.all([
97084
+ readDevicePositionSize(input),
97044
97085
  postHyperliquidInfo(
97045
97086
  input,
97046
- { type: "clearinghouseState", user, ...dex ? { dex } : {} },
97047
- "hyperliquid.clearinghouseState"
97048
- ),
97049
- postHyperliquidInfo(
97050
- input,
97051
- { type: "activeAssetData", user, coin: symbol2 },
97087
+ { type: "activeAssetData", user: requireWalletAddress(input.walletAddress), coin: symbol2 },
97052
97088
  "hyperliquid.activeAssetData"
97053
97089
  )
97054
97090
  ]);
97055
- const { assetPositions } = requireClearinghouseState(state2);
97056
- let executionPositionSize = 0;
97057
- for (const entry of assetPositions) {
97058
- const position = entry?.position;
97059
- const coin = String(position?.coin ?? "");
97060
- const qualified = dex && !coin.includes(":") ? `${dex}:${coin}` : coin;
97061
- if (normalizeSymbol(qualified) !== symbol2) continue;
97062
- executionPositionSize = Number(position?.szi);
97063
- }
97064
97091
  const executionMarkPrice = finitePositive(activeAsset?.markPx);
97065
97092
  if (executionMarkPrice === null) {
97066
97093
  throw new Error(`Missing Hyperliquid mark price for ${symbol2}.`);
@@ -100317,6 +100344,7 @@ var init_api2 = __esm({
100317
100344
  init_client_exchange_reconciliation();
100318
100345
  init_client_protective_evidence();
100319
100346
  init_server_runtime_lease();
100347
+ init_copy_trading_order_action();
100320
100348
  init_provider_relays();
100321
100349
  clientRuntimeSecretHeaders = (profileId) => {
100322
100350
  const headers = getProfileHeaders({}, profileId);
@@ -120136,7 +120164,7 @@ var init_browser_observability = __esm({
120136
120164
  init_define_VTX_GROK_POLICY();
120137
120165
  init_define_VTX_PI_MODEL_POLICY();
120138
120166
  init_runtime_policy_generated2();
120139
- CLIENT_SOURCE_VERSION = typeof process !== "undefined" && true && "e547a5a5ad22dc629d864724e588786b4e5fad5e".trim() && "e547a5a5ad22dc629d864724e588786b4e5fad5e".trim() !== "unstamped" ? "e547a5a5ad22dc629d864724e588786b4e5fad5e".trim() : null;
120167
+ CLIENT_SOURCE_VERSION = typeof process !== "undefined" && true && "5c843fdd390d1461b905b85924195a4a515e8d1f".trim() && "5c843fdd390d1461b905b85924195a4a515e8d1f".trim() !== "unstamped" ? "5c843fdd390d1461b905b85924195a4a515e8d1f".trim() : null;
120140
120168
  listenersInstalled = false;
120141
120169
  state = {
120142
120170
  loadedAtMs: Date.now(),
@@ -122545,7 +122573,7 @@ function copiedTargetNow(reconciliation, recordedTarget, actualPosition) {
122545
122573
  );
122546
122574
  return { copiedNow, targetNow, kept: copiedTargetBesideOwnPosition(targetNow, copiedNow, actualPosition) };
122547
122575
  }
122548
- var _extractOrderResponseStates, CLIENT_COPY_TRADING_EXECUTION, executeClientCopyTradingIntent, executeCopyTradingIntent, _copyCancelOrderId, executeClientCopyTradingOrderAction, executeCopyTradingOrderAction;
122576
+ var _extractOrderResponseStates, CLIENT_COPY_TRADING_EXECUTION, executeClientCopyTradingIntent, executeCopyTradingIntent, _copyCancelOrderId, judgedPositionUnconfirmed, executeClientCopyTradingOrderAction, executeCopyTradingOrderAction;
122549
122577
  var init_copy_trading_execution = __esm({
122550
122578
  "lib/runtime/copy-trading-execution.ts"() {
122551
122579
  "use strict";
@@ -122600,6 +122628,7 @@ var init_copy_trading_execution = __esm({
122600
122628
  modifyOrder: (input) => exchangeWrites.modifyOrder(input),
122601
122629
  cancelOrder: (input) => exchangeWrites.cancelOrder(input),
122602
122630
  sizePrecision: (input) => quantizeHyperliquidOrderSize(input),
122631
+ followerPosition: (input) => readDevicePositionSize(input),
122603
122632
  orderStatusEvidence: (context, orderId) => readCopyOrderStatusEvidence(context, orderId)
122604
122633
  };
122605
122634
  executeClientCopyTradingIntent = (input) => executeCopyTradingIntent(input, CLIENT_COPY_TRADING_EXECUTION);
@@ -122925,6 +122954,25 @@ var init_copy_trading_execution = __esm({
122925
122954
  const cloid = String(destinationOrderId || "").trim().toLowerCase();
122926
122955
  return /^0x[0-9a-f]{32}$/.test(cloid) ? cloid : null;
122927
122956
  };
122957
+ judgedPositionUnconfirmed = async (action, input, execution) => {
122958
+ const judged = action.judged_follower_position;
122959
+ if (typeof judged !== "number" || !Number.isFinite(judged)) return false;
122960
+ let live;
122961
+ try {
122962
+ live = Number(await execution.followerPosition({
122963
+ publicRequestPriority: "trading_execute",
122964
+ symbol: action.symbol,
122965
+ walletAddress: input.walletAddress,
122966
+ signal: input.signal,
122967
+ profileId: input.profileId,
122968
+ config: input.config ?? null
122969
+ }));
122970
+ } catch (error48) {
122971
+ if (input.signal?.aborted || isClientRuntimeWindowHandoffBeforePlanDispatch(error48)) throw error48;
122972
+ return true;
122973
+ }
122974
+ return !Number.isFinite(live) || Math.abs(live - judged) > Math.max(COPY_TRADING_SIZE_EPSILON, Math.abs(judged) * COPY_TRADING_RELATIVE_SIZE_TOLERANCE);
122975
+ };
122928
122976
  executeClientCopyTradingOrderAction = (input) => executeCopyTradingOrderAction(input, CLIENT_COPY_TRADING_EXECUTION);
122929
122977
  executeCopyTradingOrderAction = async (input, execution) => {
122930
122978
  throwIfAborted(input.signal);
@@ -122988,6 +123036,15 @@ var init_copy_trading_execution = __esm({
122988
123036
  if (!Number.isFinite(size) || size <= 0 || !Number.isFinite(limitPrice) || limitPrice <= 0) {
122989
123037
  throw new RuntimeReasonError("Copy Trading order action is missing a valid size or limit price.", "internal_data_error");
122990
123038
  }
123039
+ if (action.action_type === "create" && await judgedPositionUnconfirmed(action, input, execution)) {
123040
+ return {
123041
+ status: "position_changed",
123042
+ destinationOrderId: null,
123043
+ destinationOrderState: null,
123044
+ orderMemberResults: null,
123045
+ message: "Copy Trading did not send the order: the position it was checked against moved or could not be read."
123046
+ };
123047
+ }
122991
123048
  let response;
122992
123049
  if (action.action_type === "create" && Array.isArray(action.order_members) && action.order_members.length > 1) {
122993
123050
  response = await execution.orderBatch({
@@ -125479,7 +125536,7 @@ var init_interval = __esm({
125479
125536
  });
125480
125537
 
125481
125538
  // lib/runtime/derived-context/market-context.ts
125482
- var calculateSlopeR2, calculateZScore, countPivots, extractWindowFeatures, calculateRelativeVolumeRatio, buildMarketContext, marketCandleFromRow, marketContextInputFromPayload;
125539
+ var calculateSlopeR2, calculateZScore, countPivots, formatCandleSpan, extractWindowFeatures, calculateRelativeVolumeRatio, buildMarketContext, marketCandleFromRow, marketContextInputFromPayload;
125483
125540
  var init_market_context = __esm({
125484
125541
  "lib/runtime/derived-context/market-context.ts"() {
125485
125542
  "use strict";
@@ -125560,7 +125617,12 @@ var init_market_context = __esm({
125560
125617
  }
125561
125618
  return [pivotHighs, pivotLows];
125562
125619
  };
125563
- extractWindowFeatures = (candles, period) => {
125620
+ formatCandleSpan = (seconds) => {
125621
+ if (seconds % SECONDS_PER_DAY === 0) return `${seconds / SECONDS_PER_DAY}d`;
125622
+ if (seconds % SECONDS_PER_HOUR === 0) return `${seconds / SECONDS_PER_HOUR}h`;
125623
+ return `${Math.round(seconds / SECONDS_PER_MINUTE)}m`;
125624
+ };
125625
+ extractWindowFeatures = (candles, period, timeframeSeconds) => {
125564
125626
  if (candles.length === 0) {
125565
125627
  return null;
125566
125628
  }
@@ -125581,6 +125643,8 @@ var init_market_context = __esm({
125581
125643
  const lastClose = closes[closes.length - 1];
125582
125644
  const volatility = lastAtr !== null && lastAtr !== void 0 && lastClose > 0 ? lastAtr / lastClose * PERCENT_SCALE : null;
125583
125645
  return {
125646
+ n: window2.length,
125647
+ span: formatCandleSpan(window2.length * timeframeSeconds),
125584
125648
  s: pythonRound(slope ?? 0, WINDOW_FEATURES_SLOPE_DECIMALS),
125585
125649
  r: pythonRound(rSquared ?? 0, WINDOW_FEATURES_R_SQUARED_DECIMALS),
125586
125650
  z: pythonRound(zScore ?? 0, WINDOW_FEATURES_Z_SCORE_DECIMALS),
@@ -125631,7 +125695,7 @@ var init_market_context = __esm({
125631
125695
  const lastIsClosed = candleClosedInSeries(newestOpen, newestOpen, timeframeSeconds, asOf);
125632
125696
  const statsWindow = lastIsClosed ? candles : candles.slice(0, -1);
125633
125697
  if (statsWindow.length > 0) {
125634
- const features = extractWindowFeatures(statsWindow, input.lookbacks[timeframe]);
125698
+ const features = extractWindowFeatures(statsWindow, input.lookbacks[timeframe], timeframeSeconds);
125635
125699
  if (features) stats[promptSymbol][timeframe] = features;
125636
125700
  }
125637
125701
  const highs = candles.map((candle) => candle.high);
@@ -132626,9 +132690,9 @@ var init_local_analysis = __esm({
132626
132690
  RUNTIME_SOURCE_DEFINITION_VERSION = "runtime-source-v1";
132627
132691
  DECISION_INPUT_DEFINITION_VERSION = "decision-input-v1";
132628
132692
  CONTEXT_ENVELOPE_DEFINITION_VERSION = "context-envelope-v2.1";
132629
- CLIENT_RUNTIME_SOURCE_VERSION = typeof process !== "undefined" && true && "e547a5a5ad22dc629d864724e588786b4e5fad5e".trim() && !["unknown", "unstamped", "development"].includes(
132630
- "e547a5a5ad22dc629d864724e588786b4e5fad5e".trim().toLowerCase()
132631
- ) ? "e547a5a5ad22dc629d864724e588786b4e5fad5e".trim() : null;
132693
+ CLIENT_RUNTIME_SOURCE_VERSION = typeof process !== "undefined" && true && "5c843fdd390d1461b905b85924195a4a515e8d1f".trim() && !["unknown", "unstamped", "development"].includes(
132694
+ "5c843fdd390d1461b905b85924195a4a515e8d1f".trim().toLowerCase()
132695
+ ) ? "5c843fdd390d1461b905b85924195a4a515e8d1f".trim() : null;
132632
132696
  CLIENT_MAIN_PROMPT_RENDERER = "client_runtime.buildLocalRuntimePromptArtifacts:v1";
132633
132697
  CLIENT_REVIEW_PROMPT_RENDERER = "client_runtime.review_prompt_assembly:v1";
132634
132698
  resolveEffectivePromptRuntimeProvenance = (input) => ({
@@ -138303,7 +138367,7 @@ __export(copy_review_runtime_decides_exports, {
138303
138367
  decideOwedCopyReviews: () => decideOwedCopyReviews,
138304
138368
  decideServerOwedCopyReviews: () => decideServerOwedCopyReviews
138305
138369
  });
138306
- var RENDER_TIMEOUT_MS, REPORT_TIMEOUT_MS, attemptsOf, decideCopyReview, renderAndDecide, decideOwedCopyReviews, decideCheckInCopyReviews, decideServerOwedCopyReviews;
138370
+ var RENDER_TIMEOUT_MS, REPORT_TIMEOUT_MS, pastCopyAge, attemptsOf, decideCopyReview, UNRENDERED, renderAndDecide, renderAndDecideUntil, decideOwedCopyReviews, decideCheckInCopyReviews, decideServerOwedCopyReviews;
138307
138371
  var init_copy_review_runtime_decides = __esm({
138308
138372
  "lib/runtime/copy-review-runtime-decides.ts"() {
138309
138373
  "use strict";
@@ -138327,6 +138391,11 @@ var init_copy_review_runtime_decides = __esm({
138327
138391
  init_runtime_prompt_steps();
138328
138392
  RENDER_TIMEOUT_MS = runtime_policy_generated_default2.copy_trading.review_shadow.render_timeout_seconds * MS_PER_SECOND;
138329
138393
  REPORT_TIMEOUT_MS = runtime_policy_generated_default2.copy_trading.review_shadow.report_timeout_seconds * MS_PER_SECOND;
138394
+ pastCopyAge = (invocations) => ({
138395
+ failure: "copy_review_past_copy_age",
138396
+ failure_stage: "model",
138397
+ invocations
138398
+ });
138330
138399
  attemptsOf = (error48) => {
138331
138400
  const carried = error48;
138332
138401
  const attempts = carried?.runtimeInvocationAttempts ?? carried?.invocations;
@@ -138418,6 +138487,7 @@ var init_copy_review_runtime_decides = __esm({
138418
138487
  invocations
138419
138488
  };
138420
138489
  } catch (error48) {
138490
+ if (input.stopped()) return pastCopyAge(attemptsOf(error48));
138421
138491
  if (input.signal.aborted && !(error48 instanceof RuntimeReasonError)) throw error48;
138422
138492
  return {
138423
138493
  failure: raisedRuntimeErrorReasonCode(error48) ?? (isAbortLikeError(error48) ? "runtime_timeout" : "internal_data_error"),
@@ -138426,7 +138496,18 @@ var init_copy_review_runtime_decides = __esm({
138426
138496
  };
138427
138497
  }
138428
138498
  };
138429
- renderAndDecide = async (request, input) => {
138499
+ UNRENDERED = { prompts: {}, variables: {} };
138500
+ renderAndDecide = async (request, input, receivedAtMs) => {
138501
+ const stopAtMs = typeof request.stop_in_ms === "number" ? receivedAtMs + request.stop_in_ms : null;
138502
+ if (stopAtMs !== null && Date.now() >= stopAtMs) return { ...UNRENDERED, ...pastCopyAge([]) };
138503
+ const stop = stopAtMs === null ? null : shadowBudget(input.signal, stopAtMs - Date.now());
138504
+ try {
138505
+ return await renderAndDecideUntil(request, { ...input, signal: stop?.signal ?? input.signal }, () => stop?.timedOut() === true);
138506
+ } finally {
138507
+ stop?.end();
138508
+ }
138509
+ };
138510
+ renderAndDecideUntil = async (request, input, stopped) => {
138430
138511
  const event = request.event;
138431
138512
  const render4 = shadowBudget(input.signal, RENDER_TIMEOUT_MS);
138432
138513
  let rendered;
@@ -138444,6 +138525,7 @@ var init_copy_review_runtime_decides = __esm({
138444
138525
  signal: render4.signal
138445
138526
  });
138446
138527
  } catch (error48) {
138528
+ if (stopped()) return { ...UNRENDERED, ...pastCopyAge([]) };
138447
138529
  if (input.signal.aborted) throw error48;
138448
138530
  const failure2 = render4.timedOut() || isAbortLikeError(error48) ? "runtime_timeout" : raisedRuntimeErrorReasonCode(error48) ?? "internal_data_error";
138449
138531
  appendRuntimeDebugEvent({
@@ -138464,15 +138546,17 @@ var init_copy_review_runtime_decides = __esm({
138464
138546
  shadowId: request.id,
138465
138547
  symbol: event.symbol,
138466
138548
  rendered,
138467
- signal: input.signal
138549
+ signal: input.signal,
138550
+ stopped
138468
138551
  });
138469
138552
  return { prompts: shadowPrompts(rendered.prompts), variables: rendered.variables, ...answer };
138470
138553
  };
138471
138554
  decideOwedCopyReviews = async (input) => {
138472
138555
  let decided = 0;
138556
+ const receivedAtMs = Date.now();
138473
138557
  for (const request of decidingRequests(input.requests)) {
138474
138558
  if (input.signal.aborted || input.shouldStop()) break;
138475
- const report = input.secrets ? await renderAndDecide(request, { ...input, secrets: input.secrets }) : { prompts: {}, variables: {}, failure: "credentials_missing", failure_stage: "render", invocations: [] };
138559
+ const report = input.secrets ? await renderAndDecide(request, { ...input, secrets: input.secrets }, receivedAtMs) : { prompts: {}, variables: {}, failure: "credentials_missing", failure_stage: "render", invocations: [] };
138476
138560
  const reporting = shadowBudget(input.signal, REPORT_TIMEOUT_MS);
138477
138561
  try {
138478
138562
  const outcome = await reportCopyReviewShadowRender(input.profileId, request.id, report, {
@@ -138740,7 +138824,7 @@ var init_copy_trading_check_in = __esm({
138740
138824
  Number(input.profileId),
138741
138825
  copyOrderAction.id,
138742
138826
  {
138743
- status: actionResult.status === "executed" ? "executed" : actionResult.status === "skipped" ? "expired" : "failed",
138827
+ status: actionResult.status === "executed" || actionResult.status === "position_changed" ? actionResult.status : actionResult.status === "skipped" ? "expired" : "failed",
138744
138828
  order_id: actionResult.destinationOrderId,
138745
138829
  order_state: actionResult.destinationOrderState,
138746
138830
  order_member_results: actionResult.orderMemberResults,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.10.65",
3
+ "version": "2026.10.67",
4
4
  "description": "VTX Macro CLI, MCP server, and durable external inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",