@vtxmacro/cli 2026.10.32 → 2026.10.34

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.
@@ -1147,6 +1147,7 @@ var runtime_policy_generated_default = {
1147
1147
  runtime: {
1148
1148
  assignment_page_default_limit: 20,
1149
1149
  client_candidate_owner_lease_grace_ms: 6e4,
1150
+ bot_switch_max_retries: 2,
1150
1151
  client_server_heartbeats_per_owner_lease: 2,
1151
1152
  client_server_heartbeat_min_ms: 5e3,
1152
1153
  client_server_heartbeat_max_ms: 3e4
package/bin/vtx-mcp.js CHANGED
@@ -37,7 +37,7 @@ var init_define_VTX_PI_MODEL_POLICY = __esm({
37
37
  var agent_cli_release_default;
38
38
  var init_agent_cli_release = __esm({
39
39
  "agent-cli-release.json"() {
40
- agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.32", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
40
+ agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.34", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
41
41
  }
42
42
  });
43
43
 
@@ -2384,6 +2384,7 @@ var runtime_policy_generated_default = {
2384
2384
  runtime: {
2385
2385
  assignment_page_default_limit: 20,
2386
2386
  client_candidate_owner_lease_grace_ms: 6e4,
2387
+ bot_switch_max_retries: 2,
2387
2388
  client_server_heartbeats_per_owner_lease: 2,
2388
2389
  client_server_heartbeat_min_ms: 5e3,
2389
2390
  client_server_heartbeat_max_ms: 3e4
@@ -3805,6 +3806,72 @@ var isInferenceHostCliInvocation = (argv) => {
3805
3806
  return false;
3806
3807
  };
3807
3808
 
3809
+ // lib/runtime/runtime-redaction.ts
3810
+ init_define_VTX_EXO_POLICY();
3811
+ init_define_VTX_GROK_POLICY();
3812
+ init_define_VTX_PI_MODEL_POLICY();
3813
+
3814
+ // lib/runtime/abort.ts
3815
+ init_define_VTX_EXO_POLICY();
3816
+ init_define_VTX_GROK_POLICY();
3817
+ init_define_VTX_PI_MODEL_POLICY();
3818
+
3819
+ // lib/runtime/runtime-redaction.ts
3820
+ var REDACTED_VALUE = "[REDACTED]";
3821
+ var WHITESPACE_CLASS = String.raw`[\t\n\v\f\r \x1c-\x1f\x85\xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]`;
3822
+ var SEPARATOR = WHITESPACE_CLASS;
3823
+ var VALUE_RUN = String.raw`[^,\t\n\v\f\r ]+`;
3824
+ var NAME_LETTER_VARIANTS = {
3825
+ s: String.raw`[s\u017f]`,
3826
+ k: String.raw`[k\u212a]`,
3827
+ i: String.raw`[i\u0131\u0130]`
3828
+ };
3829
+ var NAME_START = "(?:^|[^A-Za-z0-9_.-])";
3830
+ var NAME_PREFIX = "[A-Za-z0-9_.-]*";
3831
+ var secretName = (word) => Array.from(word, (letter) => NAME_LETTER_VARIANTS[letter] ?? letter).join("");
3832
+ var SECRET_NAME_WORDS = `(?:${[
3833
+ "key",
3834
+ "token",
3835
+ "secret",
3836
+ "password",
3837
+ "passphrase",
3838
+ "credentials",
3839
+ "credential",
3840
+ "authorization"
3841
+ ].map(secretName).join("|")})`;
3842
+ var NAMED_VALUE = String.raw`("[^"]*"|'[^']*'` + String.raw`|(?:[^,\t\n\v\f\r ]*${SECRET_NAME_WORDS}(?:[:=]${SEPARATOR}+|${SEPARATOR}+[:=]${SEPARATOR}*))*${VALUE_RUN})`;
3843
+ var SECRET_QUERY_PARAM_PATTERN = new RegExp(
3844
+ `([?&](?:${NAME_PREFIX}${SECRET_NAME_WORDS}|${secretName("auth")}|${secretName("sig")}|${secretName("signature")})=)${NAMED_VALUE}`,
3845
+ "gi"
3846
+ );
3847
+ var BEARER_TOKEN_PATTERN = new RegExp(
3848
+ String.raw`(\bBearer${SEPARATOR}+)(?:[^,;\t\n\v\f\r ]*${SECRET_NAME_WORDS}(?:[:=]${SEPARATOR}+|${SEPARATOR}+[:=]${SEPARATOR}*))*[^,;\t\n\v\f\r ]+`,
3849
+ "gi"
3850
+ );
3851
+ var ASSIGNMENT_SEPARATOR = `['"]?${SEPARATOR}*[:=]${SEPARATOR}*`;
3852
+ var AUTHORIZATION_SCHEMES = "(?:Bearer|Basic|Digest|Token|Bot|Negotiate|NTLM|ApiKey)";
3853
+ var assignmentPattern = (nameStart) => new RegExp(
3854
+ `(${nameStart}(?:${secretName("authorization")}${ASSIGNMENT_SEPARATOR}['"]?${AUTHORIZATION_SCHEMES}${SEPARATOR}+|${SECRET_NAME_WORDS}${ASSIGNMENT_SEPARATOR}))${NAMED_VALUE}`,
3855
+ "gi"
3856
+ );
3857
+ var SECRET_ASSIGNMENT_PATTERN = assignmentPattern(`${NAME_START}${NAME_PREFIX}`);
3858
+ var SECRET_WORD_ASSIGNMENT_PATTERN = assignmentPattern(
3859
+ `(?:^|[^A-Za-z0-9_])(?:(?:${["api", "access", "private"].map(secretName).join("|")})[_ -]?)?`
3860
+ );
3861
+ var SECRET_TOKEN_PATTERN = /\b(?:AIza[A-Za-z0-9_-]+|sk-[A-Za-z0-9._-]+|xai-[A-Za-z0-9]{20,}|gsk_[A-Za-z0-9]{20,}|AQ\.[A-Za-z0-9._-]+|0x[a-fA-F0-9]{64})\b/g;
3862
+ var redactAssignedValue = (_match, prefix, value) => {
3863
+ const quote = value[0] === '"' || value[0] === "'" ? value[0] : "";
3864
+ const closing = quote && value.length > 1 && value[value.length - 1] === quote ? quote : "";
3865
+ return `${prefix}${quote}${REDACTED_VALUE}${closing}`;
3866
+ };
3867
+ var sanitizeRuntimeDiagnosticValue = (value) => {
3868
+ const normalized = String(value || "");
3869
+ if (!normalized) {
3870
+ return normalized;
3871
+ }
3872
+ return normalized.replace(BEARER_TOKEN_PATTERN, `$1${REDACTED_VALUE}`).replace(SECRET_WORD_ASSIGNMENT_PATTERN, redactAssignedValue).replace(SECRET_TOKEN_PATTERN, REDACTED_VALUE).replace(SECRET_QUERY_PARAM_PATTERN, redactAssignedValue).replace(SECRET_ASSIGNMENT_PATTERN, redactAssignedValue);
3873
+ };
3874
+
3808
3875
  // lib/cli-release/updater.ts
3809
3876
  var CLI_PACKAGE_NAME = "@vtxmacro/cli";
3810
3877
  var OFFICIAL_NPM_REGISTRY = "https://registry.npmjs.org";
@@ -4261,7 +4328,7 @@ var stageAndSelect = async (paths, target, input) => {
4261
4328
  try {
4262
4329
  await ensureUpdaterPrivateDirectory(paths.root, paths.root, { platform: input.platform });
4263
4330
  } catch (error) {
4264
- const reason = `update_directory_unsafe: ${error instanceof Error ? error.message.slice(0, runtime_policy_generated_default.agent_cli.update_failure_reason_max_chars) : "unknown"}`;
4331
+ const reason = `update_directory_unsafe: ${error instanceof Error ? sanitizeRuntimeDiagnosticValue(error.message).slice(0, runtime_policy_generated_default.agent_cli.update_failure_reason_max_chars) : "unknown"}`;
4265
4332
  await appendCliUpdateLog(paths, "cli_update_failed", { package_version: target.version, reason });
4266
4333
  return { kind: "failed", reason };
4267
4334
  }
@@ -4294,7 +4361,7 @@ var stageAndSelect = async (paths, target, input) => {
4294
4361
  await appendCliUpdateLog(paths, "cli_release_staged", { package_version: selection.package_version });
4295
4362
  return { kind: "staged", selection };
4296
4363
  } catch (error) {
4297
- const reason = error instanceof Error ? error.message.slice(0, runtime_policy_generated_default.agent_cli.update_failure_reason_max_chars) : "unknown";
4364
+ const reason = error instanceof Error ? sanitizeRuntimeDiagnosticValue(error.message).slice(0, runtime_policy_generated_default.agent_cli.update_failure_reason_max_chars) : "unknown";
4298
4365
  await appendCliUpdateLog(paths, "cli_update_failed", { package_version: target.version, reason });
4299
4366
  return { kind: "failed", reason };
4300
4367
  } finally {
@@ -4382,7 +4449,7 @@ var planCliEntryUpdate = async (entry, argv, env, script, dependencies = {}) =>
4382
4449
  return runSelected();
4383
4450
  } catch (error) {
4384
4451
  await appendCliUpdateLog(paths, "cli_update_check_failed", {
4385
- reason: error instanceof Error ? error.message.slice(0, runtime_policy_generated_default.agent_cli.update_failure_reason_max_chars) : "unknown"
4452
+ reason: error instanceof Error ? sanitizeRuntimeDiagnosticValue(error.message).slice(0, runtime_policy_generated_default.agent_cli.update_failure_reason_max_chars) : "unknown"
4386
4453
  });
4387
4454
  return { kind: "run" };
4388
4455
  }
@@ -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.32", 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.34", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
18
18
 
19
19
  // lib/runtime-policy.generated.json
20
20
  var runtime_policy_generated_default = {
@@ -1091,6 +1091,7 @@ var runtime_policy_generated_default = {
1091
1091
  runtime: {
1092
1092
  assignment_page_default_limit: 20,
1093
1093
  client_candidate_owner_lease_grace_ms: 6e4,
1094
+ bot_switch_max_retries: 2,
1094
1095
  client_server_heartbeats_per_owner_lease: 2,
1095
1096
  client_server_heartbeat_min_ms: 5e3,
1096
1097
  client_server_heartbeat_max_ms: 3e4
@@ -2465,6 +2466,62 @@ async function acquireInferenceHostProcessLock(path, dependencies = {}) {
2465
2466
  };
2466
2467
  }
2467
2468
 
2469
+ // lib/runtime/runtime-redaction.ts
2470
+ var REDACTED_VALUE = "[REDACTED]";
2471
+ var WHITESPACE_CLASS = String.raw`[\t\n\v\f\r \x1c-\x1f\x85\xa0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]`;
2472
+ var SEPARATOR = WHITESPACE_CLASS;
2473
+ var VALUE_RUN = String.raw`[^,\t\n\v\f\r ]+`;
2474
+ var NAME_LETTER_VARIANTS = {
2475
+ s: String.raw`[s\u017f]`,
2476
+ k: String.raw`[k\u212a]`,
2477
+ i: String.raw`[i\u0131\u0130]`
2478
+ };
2479
+ var NAME_START = "(?:^|[^A-Za-z0-9_.-])";
2480
+ var NAME_PREFIX = "[A-Za-z0-9_.-]*";
2481
+ var secretName = (word) => Array.from(word, (letter) => NAME_LETTER_VARIANTS[letter] ?? letter).join("");
2482
+ var SECRET_NAME_WORDS = `(?:${[
2483
+ "key",
2484
+ "token",
2485
+ "secret",
2486
+ "password",
2487
+ "passphrase",
2488
+ "credentials",
2489
+ "credential",
2490
+ "authorization"
2491
+ ].map(secretName).join("|")})`;
2492
+ var NAMED_VALUE = String.raw`("[^"]*"|'[^']*'` + String.raw`|(?:[^,\t\n\v\f\r ]*${SECRET_NAME_WORDS}(?:[:=]${SEPARATOR}+|${SEPARATOR}+[:=]${SEPARATOR}*))*${VALUE_RUN})`;
2493
+ var SECRET_QUERY_PARAM_PATTERN = new RegExp(
2494
+ `([?&](?:${NAME_PREFIX}${SECRET_NAME_WORDS}|${secretName("auth")}|${secretName("sig")}|${secretName("signature")})=)${NAMED_VALUE}`,
2495
+ "gi"
2496
+ );
2497
+ var BEARER_TOKEN_PATTERN = new RegExp(
2498
+ String.raw`(\bBearer${SEPARATOR}+)(?:[^,;\t\n\v\f\r ]*${SECRET_NAME_WORDS}(?:[:=]${SEPARATOR}+|${SEPARATOR}+[:=]${SEPARATOR}*))*[^,;\t\n\v\f\r ]+`,
2499
+ "gi"
2500
+ );
2501
+ var ASSIGNMENT_SEPARATOR = `['"]?${SEPARATOR}*[:=]${SEPARATOR}*`;
2502
+ var AUTHORIZATION_SCHEMES = "(?:Bearer|Basic|Digest|Token|Bot|Negotiate|NTLM|ApiKey)";
2503
+ var assignmentPattern = (nameStart) => new RegExp(
2504
+ `(${nameStart}(?:${secretName("authorization")}${ASSIGNMENT_SEPARATOR}['"]?${AUTHORIZATION_SCHEMES}${SEPARATOR}+|${SECRET_NAME_WORDS}${ASSIGNMENT_SEPARATOR}))${NAMED_VALUE}`,
2505
+ "gi"
2506
+ );
2507
+ var SECRET_ASSIGNMENT_PATTERN = assignmentPattern(`${NAME_START}${NAME_PREFIX}`);
2508
+ var SECRET_WORD_ASSIGNMENT_PATTERN = assignmentPattern(
2509
+ `(?:^|[^A-Za-z0-9_])(?:(?:${["api", "access", "private"].map(secretName).join("|")})[_ -]?)?`
2510
+ );
2511
+ var SECRET_TOKEN_PATTERN = /\b(?:AIza[A-Za-z0-9_-]+|sk-[A-Za-z0-9._-]+|xai-[A-Za-z0-9]{20,}|gsk_[A-Za-z0-9]{20,}|AQ\.[A-Za-z0-9._-]+|0x[a-fA-F0-9]{64})\b/g;
2512
+ var redactAssignedValue = (_match, prefix, value) => {
2513
+ const quote = value[0] === '"' || value[0] === "'" ? value[0] : "";
2514
+ const closing = quote && value.length > 1 && value[value.length - 1] === quote ? quote : "";
2515
+ return `${prefix}${quote}${REDACTED_VALUE}${closing}`;
2516
+ };
2517
+ var sanitizeRuntimeDiagnosticValue = (value) => {
2518
+ const normalized = String(value || "");
2519
+ if (!normalized) {
2520
+ return normalized;
2521
+ }
2522
+ return normalized.replace(BEARER_TOKEN_PATTERN, `$1${REDACTED_VALUE}`).replace(SECRET_WORD_ASSIGNMENT_PATTERN, redactAssignedValue).replace(SECRET_TOKEN_PATTERN, REDACTED_VALUE).replace(SECRET_QUERY_PARAM_PATTERN, redactAssignedValue).replace(SECRET_ASSIGNMENT_PATTERN, redactAssignedValue);
2523
+ };
2524
+
2468
2525
  // lib/cli-release/updater.ts
2469
2526
  var CLI_PACKAGE_NAME = "@vtxmacro/cli";
2470
2527
  var OFFICIAL_NPM_REGISTRY = "https://registry.npmjs.org";
@@ -3087,7 +3144,7 @@ var runInferenceHostServiceBootstrap = async (manifestPathValue, dependencies =
3087
3144
  return await updateSelection(manifestPath, manifest, updateDependencies);
3088
3145
  } catch (error) {
3089
3146
  await appendBootstrapLog(manifest.log_path, "service_update_deferred", {
3090
- reason: error instanceof Error ? error.message.slice(0, runtime_policy_generated_default.external_inference.service.update_failure_reason_max_chars) : "unknown"
3147
+ reason: error instanceof Error ? sanitizeRuntimeDiagnosticValue(error.message).slice(0, runtime_policy_generated_default.external_inference.service.update_failure_reason_max_chars) : "unknown"
3091
3148
  });
3092
3149
  return { active, candidate: null };
3093
3150
  }
@@ -1075,6 +1075,7 @@ var runtime_policy_generated_default = {
1075
1075
  runtime: {
1076
1076
  assignment_page_default_limit: 20,
1077
1077
  client_candidate_owner_lease_grace_ms: 6e4,
1078
+ bot_switch_max_retries: 2,
1078
1079
  client_server_heartbeats_per_owner_lease: 2,
1079
1080
  client_server_heartbeat_min_ms: 5e3,
1080
1081
  client_server_heartbeat_max_ms: 3e4