@vtxmacro/cli 2026.8.39 → 2026.8.41

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 +49 -13
  2. package/bin/vtx.js +1215 -108
  3. package/package.json +4 -2
package/README.md CHANGED
@@ -10,11 +10,16 @@ vtx --version
10
10
  ```
11
11
 
12
12
  The host supports Windows x64 and Linux x64, including WSL. The package installs
13
- the exact supported OpenAI Codex runtime for those platforms.
14
- The VTX host verifies that native runtime's version and digest before use; it
15
- does not borrow a Codex binary from PATH or an editor extension.
13
+ the exact supported OpenAI Codex runtime and GitHub Copilot SDK. The VTX host
14
+ verifies the Codex runtime's version and digest before use; it does not borrow a
15
+ Codex binary from PATH or an editor extension.
16
16
  For Windows-login auto-start, install and configure the CLI from native Windows;
17
17
  a CLI installed only inside WSL cannot start the WSL virtual machine at login.
18
+ An npm update does not replace code already loaded by a running durable service.
19
+ After updating, check `vtx inference-host service status --json`. If the service
20
+ was already desired-running, run `vtx inference-host service stop` followed by
21
+ `vtx inference-host service start`, then verify status and logs. Leave an
22
+ intentionally stopped service stopped until you want to run it.
18
23
 
19
24
  ## Configure
20
25
 
@@ -47,7 +52,15 @@ Both paths use a separate least-privilege `insights:inference` OAuth grant.
47
52
  VTX never receives an agent vendor password, OAuth token, or subscription
48
53
  credential.
49
54
 
50
- ### Automated Codex host
55
+ ### Durable subscription hosts
56
+
57
+ Codex remains the reference implementation and its existing App Server,
58
+ authentication, quota, recovery, and provider-mode path are unchanged. GitHub
59
+ Copilot is an additive preview adapter that uses the official SDK and validates
60
+ final text against VTX's immutable schema. An uncertain interrupted Copilot call
61
+ is quarantined as `outcome_unknown` and is never blindly repeated. A different
62
+ adapter cannot replace an installed Codex instance; it needs a distinct instance
63
+ and VTX grant.
51
64
 
52
65
  Before the first Codex login, enable **Device code authorization for Codex** in
53
66
  ChatGPT Security settings. Only enter a device code from a login you initiated,
@@ -75,6 +88,14 @@ vtx inference-host codex-logout
75
88
  vtx inference-host revoke
76
89
  ```
77
90
 
91
+ For Copilot, sign in with the official Copilot CLI, then run:
92
+
93
+ ```bash
94
+ vtx inference-host login --instance copilot-1
95
+ vtx inference-host doctor --adapter copilot --instance copilot-1 --json
96
+ vtx inference-host service install --adapter copilot --instance copilot-1
97
+ ```
98
+
78
99
  To connect another Codex subscription to the same VTX account, repeat the
79
100
  login and service-install commands with a stable local name such as
80
101
  `--instance codex-2`. Each named instance has an isolated VTX grant, Codex
@@ -86,6 +107,21 @@ distinct. Use `service uninstall --instance <name>` to remove one worker;
86
107
  unqualified `service uninstall` removes the whole supervisor. The legacy
87
108
  unqualified host commands continue to target `default`.
88
109
 
110
+ On native Windows, if service status or logs show that guarded recovery is
111
+ blocking one installed subscription, recover that exact instance without rebooting:
112
+
113
+ ```bash
114
+ vtx inference-host service recover --instance <name> --force-recovery --json
115
+ ```
116
+
117
+ Recovery is intentionally noninteractive and requires both `--instance` and
118
+ `--force-recovery`; `--json` changes only the output format. The shared
119
+ supervisor briefly quiesces so every installed worker can stop cooperatively,
120
+ then VTX restores its previous desired state and the same peer subscriptions.
121
+ The command never kills an arbitrary process, logs either account out, changes
122
+ VTX profile settings, or controls a Trader. If any package-owned VTX automation
123
+ is still live, recovery fails closed and preserves its evidence.
124
+
89
125
  For each VTX profile and lane, **Subscription #1** is tried first and later
90
126
  compatible subscriptions follow in the saved Account cascade order.
91
127
  Quota/credits exhaustion, unusable authentication, and exhausted recoverable
@@ -101,10 +137,10 @@ capacity beyond the authenticated account's current entitlement. Updating from
101
137
  an older bounded host removes its previous numeric limit; run
102
138
  `service install --max-concurrency <positive-integer>` only to add one back.
103
139
 
104
- This durable host uses a separate least-privilege `insights:inference`
105
- OAuth grant. It also keeps its ChatGPT subscription login in a dedicated private
106
- Codex home. Neither credential is copied from or widens the ordinary CLI or Codex
107
- session. The per-user OS service starts immediately, starts again at login, and
140
+ Every durable host uses a separate least-privilege `insights:inference`
141
+ OAuth grant. Codex additionally keeps its ChatGPT subscription login in a dedicated
142
+ private Codex home; Copilot uses its official cached user login.
143
+ No vendor credential is written to the VTX service manifest. The per-user OS service starts immediately, starts again at login, and
108
144
  reconnects after sleep, network loss, or a worker exit. Stopping a VTX bot leaves
109
145
  the provider online and idle. Use `vtx inference-host run` only for foreground
110
146
  diagnostics. VTX logout/revoke and Codex logout are intentionally separate operations.
@@ -164,11 +200,11 @@ Use `not_dispatched` only when no harness inference began,
164
200
  `outcome_unknown` when dispatch itself cannot be confirmed. Pipe exactly one
165
201
  object to `vtx inference-host agent-fail --json`.
166
202
 
167
- Claude Code, GitHub Copilot, Cursor, and Google Antigravity remain on the
168
- explicit foreground agent loop. Their supported CLI or account contracts do not
169
- provide the durable, private third-party service boundary VTX requires, so
170
- `service install --adapter ...` rejects them instead of advertising false
171
- durability.
203
+ Claude Code, Kiro, Grok Build, Cursor, Amp, Auggie, Junie, and Warp/Oz remain on
204
+ the explicit foreground agent loop. Their current subscription routing,
205
+ effective-model identity, schema, usage, or crash-recovery contracts do not yet
206
+ meet every durable VTX acceptance fence. The public Insights matrix records the
207
+ specific limitation instead of treating headless support alone as durability.
172
208
 
173
209
  Keep `agent-run` open in a separate terminal and keep calling `agent-next`
174
210
  while the host should remain available. The independent keeper preserves