@vtxmacro/cli 2026.8.42 → 2026.8.43

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.
Files changed (3) hide show
  1. package/README.md +5 -2
  2. package/bin/vtx.js +33 -4
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -60,7 +60,9 @@ Copilot is an additive preview adapter that uses the official SDK and validates
60
60
  final text against VTX's immutable schema. An uncertain interrupted Copilot call
61
61
  is quarantined as `outcome_unknown` and is never blindly repeated. A different
62
62
  adapter cannot replace an installed Codex instance; it needs a distinct instance
63
- and VTX grant.
63
+ and VTX grant. VTX resolves the package-owned pinned Copilot platform runtime
64
+ explicitly and rejects an `auto`-only catalog because it cannot prove the
65
+ effective model.
64
66
 
65
67
  Before the first Codex login, enable **Device code authorization for Codex** in
66
68
  ChatGPT Security settings. Only enter a device code from a login you initiated,
@@ -200,7 +202,8 @@ Use `not_dispatched` only when no harness inference began,
200
202
  `outcome_unknown` when dispatch itself cannot be confirmed. Pipe exactly one
201
203
  object to `vtx inference-host agent-fail --json`.
202
204
 
203
- Claude Code, Kiro, Grok Build, Cursor, Amp, Auggie, Junie, and Warp/Oz remain on
205
+ Claude Code, Antigravity, Gemini CLI, Kiro, Grok Build, Cursor, Amp, Auggie,
206
+ Junie, Warp/Oz, Qwen Code, and OpenCode remain on
204
207
  the explicit foreground agent loop. Their current subscription routing,
205
208
  effective-model identity, schema, usage, or crash-recovery contracts do not yet
206
209
  meet every durable VTX acceptance fence. The public Insights matrix records the
package/bin/vtx.js CHANGED
@@ -38,7 +38,7 @@ var init_agent_cli_release = __esm({
38
38
  "agent-cli-release.json"() {
39
39
  agent_cli_release_default = {
40
40
  package_name: "@vtxmacro/cli",
41
- package_version: "2026.8.42",
41
+ package_version: "2026.8.43",
42
42
  codex_package_name: "@openai/codex",
43
43
  codex_version: "0.147.0",
44
44
  copilot_sdk_package_name: "@github/copilot-sdk",
@@ -22788,16 +22788,44 @@ $items = @(Get-CimInstance Win32_Process | Where-Object { $_.Name -in @('node.ex
22788
22788
 
22789
22789
  // lib/inference-host/copilot-adapter.ts
22790
22790
  import { mkdtemp as mkdtemp2, rm as rm4 } from "node:fs/promises";
22791
+ import { createRequire as createRequire2 } from "node:module";
22791
22792
  import { tmpdir as tmpdir3 } from "node:os";
22792
22793
  import { join as join5 } from "node:path";
22793
- import { CopilotClient } from "@github/copilot-sdk";
22794
- var COPILOT_SDK_VERSION, MAX_RESULT_BYTES, createPrivateWorkspace, cleanCopilotEnvironment, defaultClient, modelCapabilities, requiredUsageInteger, optionalUsageInteger, CopilotSubscriptionAdapter;
22794
+ import {
22795
+ CopilotClient,
22796
+ RuntimeConnection
22797
+ } from "@github/copilot-sdk";
22798
+ var COPILOT_SDK_VERSION, MAX_RESULT_BYTES, resolveRuntimePackage, copilotRuntimePackageCandidates, resolvePinnedCopilotCliPath, createPrivateWorkspace, cleanCopilotEnvironment, defaultClient, modelCapabilities, requiredUsageInteger, optionalUsageInteger, CopilotSubscriptionAdapter;
22795
22799
  var init_copilot_adapter = __esm({
22796
22800
  "lib/inference-host/copilot-adapter.ts"() {
22797
22801
  "use strict";
22798
22802
  init_codex_app_server();
22799
22803
  COPILOT_SDK_VERSION = "1.0.0-beta.8";
22800
22804
  MAX_RESULT_BYTES = 3e5;
22805
+ resolveRuntimePackage = createRequire2(import.meta.url).resolve;
22806
+ copilotRuntimePackageCandidates = () => {
22807
+ if (process.arch !== "x64") {
22808
+ throw new Error(`copilot_runtime_platform_unsupported:${process.platform}-${process.arch}`);
22809
+ }
22810
+ if (process.platform === "win32") return ["@github/copilot-win32-x64"];
22811
+ if (process.platform === "linux") {
22812
+ const report = process.report?.getReport();
22813
+ const glibcVersion = report?.header?.glibcVersionRuntime;
22814
+ return glibcVersion ? ["@github/copilot-linux-x64", "@github/copilot-linuxmusl-x64"] : ["@github/copilot-linuxmusl-x64", "@github/copilot-linux-x64"];
22815
+ }
22816
+ throw new Error(`copilot_runtime_platform_unsupported:${process.platform}-${process.arch}`);
22817
+ };
22818
+ resolvePinnedCopilotCliPath = () => {
22819
+ const failures = [];
22820
+ for (const packageName of copilotRuntimePackageCandidates()) {
22821
+ try {
22822
+ return resolveRuntimePackage(packageName);
22823
+ } catch (error48) {
22824
+ failures.push(error48 instanceof Error ? error48.message : String(error48));
22825
+ }
22826
+ }
22827
+ throw new Error(`copilot_runtime_package_missing:${failures.join(";")}`);
22828
+ };
22801
22829
  createPrivateWorkspace = async () => {
22802
22830
  const path = await mkdtemp2(join5(tmpdir3(), "vtx-copilot-"));
22803
22831
  return {
@@ -22824,13 +22852,14 @@ var init_copilot_adapter = __esm({
22824
22852
  return environment;
22825
22853
  };
22826
22854
  defaultClient = (workingDirectory) => new CopilotClient({
22855
+ connection: RuntimeConnection.forStdio({ path: resolvePinnedCopilotCliPath() }),
22827
22856
  workingDirectory,
22828
22857
  env: cleanCopilotEnvironment(),
22829
22858
  useLoggedInUser: true,
22830
22859
  logLevel: "error"
22831
22860
  });
22832
22861
  modelCapabilities = (models) => {
22833
- const capabilities = models.filter((model) => model.policy?.state !== "disabled" && model.policy?.state !== "unconfigured").flatMap((model) => {
22862
+ const capabilities = models.filter((model) => model.id !== "auto" && model.id.trim() !== "" && model.policy?.state !== "disabled" && model.policy?.state !== "unconfigured").flatMap((model) => {
22834
22863
  const efforts = model.capabilities.supports.reasoningEffort ? [...model.supportedReasoningEfforts ?? []] : ["none"];
22835
22864
  if (efforts.length === 0) return [];
22836
22865
  const defaultEffort = model.defaultReasoningEffort && efforts.includes(model.defaultReasoningEffort) ? model.defaultReasoningEffort : efforts[0];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.8.42",
3
+ "version": "2026.8.43",
4
4
  "description": "VTX Macro CLI, MCP server, and durable subscription inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",