@vtxmacro/cli 2026.8.23 → 2026.8.25

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 (2) hide show
  1. package/bin/vtx.js +101 -19
  2. package/package.json +1 -1
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.23",
41
+ package_version: "2026.8.25",
42
42
  codex_package_name: "@openai/codex",
43
43
  codex_version: "0.147.0",
44
44
  platforms: {
@@ -16132,7 +16132,10 @@ function assertLocalState(value) {
16132
16132
  }
16133
16133
  return record2;
16134
16134
  }
16135
- async function ensureInferencePrivateDirectory(path) {
16135
+ async function ensureInferencePrivateDirectory(path, dependencies = {}) {
16136
+ const platform = dependencies.platform ?? process.platform;
16137
+ const runner = dependencies.runner ?? runWindowsPrivateAcl;
16138
+ const defaultRoot = dependencies.defaultRoot ?? resolve(homedir(), ".vtx", "inference-host");
16136
16139
  let created = false;
16137
16140
  try {
16138
16141
  const before = await lstat(path);
@@ -16148,9 +16151,18 @@ async function ensureInferencePrivateDirectory(path) {
16148
16151
  if (after.isSymbolicLink() || !after.isDirectory()) {
16149
16152
  throw new Error("Inference host state directory is unsafe.");
16150
16153
  }
16151
- if (process.platform === "win32") {
16152
- if (created) await secureWindowsPrivatePath(path, "directory", "harden");
16153
- else await secureExistingWindowsPath(path, "directory");
16154
+ if (platform === "win32") {
16155
+ if (created) {
16156
+ await secureWindowsPrivatePath(path, "directory", "harden", platform, runner);
16157
+ } else {
16158
+ await secureExistingWindowsPath(
16159
+ path,
16160
+ "directory",
16161
+ platform,
16162
+ runner,
16163
+ defaultRoot
16164
+ );
16165
+ }
16154
16166
  return;
16155
16167
  }
16156
16168
  if ((after.mode & 63) !== 0) {
@@ -16173,9 +16185,16 @@ async function syncInferenceDirectory(path, platform = process.platform) {
16173
16185
  await handle.close();
16174
16186
  }
16175
16187
  }
16176
- async function writeAtomicInferencePrivateFile(path, contents) {
16188
+ async function writeAtomicInferencePrivateFile(path, contents, dependencies = {}) {
16189
+ const platform = dependencies.platform ?? process.platform;
16190
+ const runner = dependencies.runner ?? runWindowsPrivateAcl;
16191
+ const defaultRoot = dependencies.defaultRoot ?? resolve(homedir(), ".vtx", "inference-host");
16177
16192
  const directory = dirname(path);
16178
- await ensureInferencePrivateDirectory(directory);
16193
+ await ensureInferencePrivateDirectory(directory, dependencies);
16194
+ const hardenedDirectoryIdentity = platform === "win32" && isDefaultWindowsPrivatePath(directory, defaultRoot) ? windowsAclCache.get(aclCacheKey(directory, "directory", "harden")) : void 0;
16195
+ if (platform === "win32" && isDefaultWindowsPrivatePath(directory, defaultRoot) && !hardenedDirectoryIdentity) {
16196
+ throw new Error("Windows private directory ACL hardening was not durably verified.");
16197
+ }
16179
16198
  const temporary = join(
16180
16199
  directory,
16181
16200
  `.${process.pid}.${randomBytes(12).toString("hex")}.tmp`
@@ -16194,19 +16213,42 @@ async function writeAtomicInferencePrivateFile(path, contents) {
16194
16213
  throw error48;
16195
16214
  }
16196
16215
  await handle.close();
16197
- await secureWindowsPrivatePath(temporary, "file", "harden");
16216
+ await secureWindowsPrivatePath(temporary, "file", "harden", platform, runner);
16217
+ const hardenedIdentity = platform === "win32" ? windowsAclCache.get(aclCacheKey(temporary, "file", "harden")) : void 0;
16218
+ if (platform === "win32" && !hardenedIdentity) {
16219
+ await rm(temporary, { force: true }).catch(() => void 0);
16220
+ throw new Error("Windows private ACL hardening was not durably verified.");
16221
+ }
16198
16222
  try {
16199
16223
  invalidateWindowsAclCache(path);
16200
16224
  await rename(temporary, path);
16201
- invalidateWindowsAclCache(temporary);
16202
- await secureWindowsPrivatePath(path, "file", "verify");
16203
- await syncInferenceDirectory(directory);
16225
+ if (platform === "win32" && hardenedIdentity) {
16226
+ await rebindHardenedWindowsAclAfterRename(
16227
+ temporary,
16228
+ path,
16229
+ "file",
16230
+ hardenedIdentity
16231
+ );
16232
+ } else {
16233
+ invalidateWindowsAclCache(temporary);
16234
+ }
16235
+ await syncInferenceDirectory(directory, platform);
16236
+ if (platform === "win32" && hardenedDirectoryIdentity) {
16237
+ await rebindHardenedWindowsDirectoryAfterOwnedMutation(
16238
+ directory,
16239
+ hardenedDirectoryIdentity
16240
+ );
16241
+ }
16204
16242
  } catch (error48) {
16205
16243
  await rm(temporary, { force: true }).catch(() => void 0);
16244
+ invalidateWindowsAclCache(temporary);
16206
16245
  throw error48;
16207
16246
  }
16208
16247
  }
16209
- async function readInferencePrivateFile(path, label) {
16248
+ async function readInferencePrivateFile(path, label, dependencies = {}) {
16249
+ const platform = dependencies.platform ?? process.platform;
16250
+ const runner = dependencies.runner ?? runWindowsPrivateAcl;
16251
+ const defaultRoot = dependencies.defaultRoot ?? resolve(homedir(), ".vtx", "inference-host");
16210
16252
  let before;
16211
16253
  try {
16212
16254
  before = await lstat(path);
@@ -16217,15 +16259,21 @@ async function readInferencePrivateFile(path, label) {
16217
16259
  if (before.isSymbolicLink() || !before.isFile()) {
16218
16260
  throw new Error(`${label} is unsafe.`);
16219
16261
  }
16220
- await secureExistingWindowsPath(dirname(path), "directory");
16221
- await secureExistingWindowsPath(path, "file");
16262
+ await secureExistingWindowsPath(
16263
+ dirname(path),
16264
+ "directory",
16265
+ platform,
16266
+ runner,
16267
+ defaultRoot
16268
+ );
16269
+ await secureExistingWindowsPath(path, "file", platform, runner, defaultRoot);
16222
16270
  const handle = await open(path, constants.O_RDONLY | constants.O_NOFOLLOW);
16223
16271
  try {
16224
16272
  const opened = await handle.stat();
16225
16273
  if (!opened.isFile() || opened.dev !== before.dev || opened.ino !== before.ino || opened.size > MAX_INFERENCE_PRIVATE_FILE_BYTES || typeof process.getuid === "function" && opened.uid !== process.getuid()) {
16226
16274
  throw new Error(`${label} changed while it was opened.`);
16227
16275
  }
16228
- if (process.platform !== "win32" && (opened.mode & 63) !== 0) {
16276
+ if (platform !== "win32" && (opened.mode & 63) !== 0) {
16229
16277
  throw new Error(`${label} must have mode 0600.`);
16230
16278
  }
16231
16279
  return await handle.readFile("utf8");
@@ -16440,7 +16488,7 @@ async function acquireInferenceHostProcessLock(path, dependencies = {}) {
16440
16488
  }
16441
16489
  };
16442
16490
  }
16443
- var INFERENCE_CREDENTIAL_NAMESPACE, MAX_INFERENCE_PRIVATE_FILE_BYTES, WINDOWS_PRIVATE_ACL_SCRIPT, windowsPrivateAclInvocation, runWindowsPrivateAcl, windowsAclCache, windowsAclIdentity, aclCacheKey, secureWindowsPrivatePath, invalidateWindowsAclCache, isDefaultWindowsPrivatePath, secureExistingWindowsPath, linuxProcessIdentity, windowsProcessIdentity, darwinProcessIdentity, runSmallIdentityCommand, cachedSystemBootIdentity, readInferenceSystemBootIdentity, defaultProcessIdentity, defaultCurrentProcessIdentity, processLockObservationCache, inferenceProcessIdentitiesMatch, credentialStoreIdentity;
16491
+ var INFERENCE_CREDENTIAL_NAMESPACE, MAX_INFERENCE_PRIVATE_FILE_BYTES, WINDOWS_PRIVATE_ACL_SCRIPT, windowsPrivateAclInvocation, runWindowsPrivateAcl, windowsAclCache, windowsAclIdentity, aclCacheKey, secureWindowsPrivatePath, invalidateWindowsAclCache, rebindHardenedWindowsAclAfterRename, rebindHardenedWindowsDirectoryAfterOwnedMutation, isDefaultWindowsPrivatePath, secureExistingWindowsPath, linuxProcessIdentity, windowsProcessIdentity, darwinProcessIdentity, runSmallIdentityCommand, cachedSystemBootIdentity, readInferenceSystemBootIdentity, defaultProcessIdentity, defaultCurrentProcessIdentity, processLockObservationCache, inferenceProcessIdentitiesMatch, credentialStoreIdentity;
16444
16492
  var init_config = __esm({
16445
16493
  "lib/inference-host/config.ts"() {
16446
16494
  "use strict";
@@ -16581,6 +16629,35 @@ if(-not $userFull) { throw 'private ACL does not grant the current user full con
16581
16629
  }
16582
16630
  }
16583
16631
  };
16632
+ rebindHardenedWindowsAclAfterRename = async (source, destination, kind, expected) => {
16633
+ const resolvedSource = resolve(source);
16634
+ const resolvedDestination = resolve(destination);
16635
+ if (resolvedSource === resolvedDestination || dirname(resolvedSource) !== dirname(resolvedDestination)) {
16636
+ throw new Error("Windows private ACL cache rename boundary is invalid.");
16637
+ }
16638
+ const published = await windowsAclIdentity(destination);
16639
+ if (published.dev !== expected.dev || published.ino !== expected.ino || published.mode !== expected.mode || published.mtimeNs !== expected.mtimeNs || published.size !== expected.size) {
16640
+ invalidateWindowsAclCache(source);
16641
+ invalidateWindowsAclCache(destination);
16642
+ throw new Error("Windows private file identity changed during atomic publication.");
16643
+ }
16644
+ invalidateWindowsAclCache(source);
16645
+ invalidateWindowsAclCache(destination);
16646
+ for (const mode of ["harden", "verify", "verify-owner"]) {
16647
+ windowsAclCache.set(aclCacheKey(destination, kind, mode), published);
16648
+ }
16649
+ };
16650
+ rebindHardenedWindowsDirectoryAfterOwnedMutation = async (path, expected) => {
16651
+ const current = await windowsAclIdentity(path);
16652
+ if (current.dev !== expected.dev || current.ino !== expected.ino || current.mode !== expected.mode) {
16653
+ invalidateWindowsAclCache(path);
16654
+ throw new Error("Windows private directory identity changed during atomic publication.");
16655
+ }
16656
+ invalidateWindowsAclCache(path);
16657
+ for (const mode of ["harden", "verify", "verify-owner"]) {
16658
+ windowsAclCache.set(aclCacheKey(path, "directory", mode), current);
16659
+ }
16660
+ };
16584
16661
  isDefaultWindowsPrivatePath = (path, root = resolve(homedir(), ".vtx", "inference-host")) => {
16585
16662
  const child = relative(root, resolve(path));
16586
16663
  return child === "" || !child.startsWith("..") && !child.includes(":");
@@ -16591,8 +16668,6 @@ if(-not $userFull) { throw 'private ACL does not grant the current user full con
16591
16668
  await secureWindowsPrivatePath(path, kind, "verify", platform, runner);
16592
16669
  return;
16593
16670
  }
16594
- await secureWindowsPrivatePath(path, kind, "verify-owner", platform, runner);
16595
- invalidateWindowsAclCache(path);
16596
16671
  await secureWindowsPrivatePath(path, kind, "harden", platform, runner);
16597
16672
  };
16598
16673
  linuxProcessIdentity = async (pid) => {
@@ -20886,7 +20961,14 @@ var init_codex_adapter = __esm({
20886
20961
  init_codex_binary();
20887
20962
  init_config();
20888
20963
  INITIAL_CODEX_INFERENCE_MODEL = "gpt-5.6-sol";
20889
- SUPPORTED_CODEX_REASONING_EFFORTS = ["medium", "high", "xhigh"];
20964
+ SUPPORTED_CODEX_REASONING_EFFORTS = [
20965
+ "low",
20966
+ "medium",
20967
+ "high",
20968
+ "xhigh",
20969
+ "max",
20970
+ "ultra"
20971
+ ];
20890
20972
  MAX_PROMPT_BYTES2 = 3e5;
20891
20973
  tokenUsageReceiptSchema = external_exports.strictObject({
20892
20974
  inputTokens: external_exports.number().int().nonnegative().max(Number.MAX_SAFE_INTEGER),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.8.23",
3
+ "version": "2026.8.25",
4
4
  "description": "VTX Macro CLI, MCP server, and durable subscription inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",