@vtxmacro/cli 2026.9.53 → 2026.9.54

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.
@@ -16,9 +16,9 @@ import { fileURLToPath } from "node:url";
16
16
  // agent-cli-release.json
17
17
  var agent_cli_release_default = {
18
18
  package_name: "@vtxmacro/cli",
19
- package_version: "2026.9.53",
19
+ package_version: "2026.9.54",
20
20
  codex_package_name: "@openai/codex",
21
- codex_version: "0.153.3",
21
+ codex_version: "0.155.0",
22
22
  copilot_sdk_package_name: "@github/copilot-sdk",
23
23
  copilot_sdk_version: "1.0.0-beta.8",
24
24
  copilot_cli_package_name: "@github/copilot",
@@ -82,13 +82,13 @@ var agent_cli_release_default = {
82
82
  package_name: "@openai/codex-linux-x64",
83
83
  target: "x86_64-unknown-linux-musl",
84
84
  binary_name: "codex",
85
- sha256: "f9d4eab23d0e0726340e084ed22d668885c1dcabeb29ec508b8962e5e29b8dc6"
85
+ sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501"
86
86
  },
87
87
  "win32-x64": {
88
88
  package_name: "@openai/codex-win32-x64",
89
89
  target: "x86_64-pc-windows-msvc",
90
90
  binary_name: "codex.exe",
91
- sha256: "e5ef3c4b81d2fb861f3731c91a773d45a1973c6a0b480d6449f80bc8fd749e96"
91
+ sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b"
92
92
  }
93
93
  },
94
94
  pi_coding_agent_package_name: "@earendil-works/pi-coding-agent",
package/bin/vtx.js CHANGED
@@ -77,9 +77,9 @@ var init_agent_cli_release = __esm({
77
77
  "agent-cli-release.json"() {
78
78
  agent_cli_release_default = {
79
79
  package_name: "@vtxmacro/cli",
80
- package_version: "2026.9.53",
80
+ package_version: "2026.9.54",
81
81
  codex_package_name: "@openai/codex",
82
- codex_version: "0.153.3",
82
+ codex_version: "0.155.0",
83
83
  copilot_sdk_package_name: "@github/copilot-sdk",
84
84
  copilot_sdk_version: "1.0.0-beta.8",
85
85
  copilot_cli_package_name: "@github/copilot",
@@ -143,13 +143,13 @@ var init_agent_cli_release = __esm({
143
143
  package_name: "@openai/codex-linux-x64",
144
144
  target: "x86_64-unknown-linux-musl",
145
145
  binary_name: "codex",
146
- sha256: "f9d4eab23d0e0726340e084ed22d668885c1dcabeb29ec508b8962e5e29b8dc6"
146
+ sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501"
147
147
  },
148
148
  "win32-x64": {
149
149
  package_name: "@openai/codex-win32-x64",
150
150
  target: "x86_64-pc-windows-msvc",
151
151
  binary_name: "codex.exe",
152
- sha256: "e5ef3c4b81d2fb861f3731c91a773d45a1973c6a0b480d6449f80bc8fd749e96"
152
+ sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b"
153
153
  }
154
154
  },
155
155
  pi_coding_agent_package_name: "@earendil-works/pi-coding-agent",
@@ -40297,10 +40297,10 @@ var init_grok_transport_proxy = __esm({
40297
40297
 
40298
40298
  // lib/inference-host/grok-runtime.ts
40299
40299
  import { spawn as spawn7 } from "node:child_process";
40300
- import { randomBytes as randomBytes7 } from "node:crypto";
40300
+ import { randomBytes as randomBytes7, randomUUID as randomUUID7 } from "node:crypto";
40301
40301
  import { createServer as createServer4 } from "node:http";
40302
40302
  import { join as join9 } from "node:path";
40303
- import { lstat as lstat6 } from "node:fs/promises";
40303
+ import { link, lstat as lstat6, rm as rm8 } from "node:fs/promises";
40304
40304
  var grokObject, grokRuntimeEnvironment, prepareGrokHome, GrokAcpSession, createGrokToolServer;
40305
40305
  var init_grok_runtime = __esm({
40306
40306
  "lib/inference-host/grok-runtime.ts"() {
@@ -40367,6 +40367,28 @@ var init_grok_runtime = __esm({
40367
40367
  env.XDG_STATE_HOME,
40368
40368
  env.XDG_CACHE_HOME
40369
40369
  ]) await ensureInferencePrivateDirectory(path);
40370
+ const agentIdPath = join9(grokHome, "agent_id");
40371
+ let needsAgentId = false;
40372
+ try {
40373
+ await lstat6(agentIdPath);
40374
+ } catch (error48) {
40375
+ if (error48.code !== "ENOENT") throw error48;
40376
+ needsAgentId = true;
40377
+ }
40378
+ if (needsAgentId) {
40379
+ const temporary = join9(grokHome, `.agent-id-${randomUUID7()}.tmp`);
40380
+ try {
40381
+ await writeAtomicInferencePrivateFile(temporary, `${randomUUID7()}
40382
+ `);
40383
+ try {
40384
+ await link(temporary, agentIdPath);
40385
+ } catch (error48) {
40386
+ if (error48.code !== "EEXIST") throw error48;
40387
+ }
40388
+ } finally {
40389
+ await rm8(temporary, { force: true });
40390
+ }
40391
+ }
40370
40392
  await writeAtomicInferencePrivateFile(join9(grokHome, "config.toml"), "[claude_compat]\nimported = true\n");
40371
40393
  await writeAtomicInferencePrivateFile(join9(grokHome, "requirements.toml"), [
40372
40394
  "[auth]",
@@ -40586,7 +40608,7 @@ var init_grok_runtime = __esm({
40586
40608
 
40587
40609
  // lib/inference-host/grok-state.ts
40588
40610
  import { constants as constants2 } from "node:fs";
40589
- import { lstat as lstat7, mkdtemp as mkdtemp4, open as open3, readdir as readdir3, realpath as realpath6, rm as rm8, rmdir, unlink, writeFile as writeFile3 } from "node:fs/promises";
40611
+ import { lstat as lstat7, mkdtemp as mkdtemp4, open as open3, readdir as readdir3, realpath as realpath6, rm as rm9, rmdir, unlink, writeFile as writeFile3 } from "node:fs/promises";
40590
40612
  import { basename as basename3, dirname as dirname8, join as join10, resolve as resolve6 } from "node:path";
40591
40613
  var markerName, ownedName, invalid, missing, sessionIdValid, directory, nativeDirectory, roots, owner, nativeFile, encodedCwd, nativeSession, removeEmptyNativeGroup, createGrokOwnedWorkspace, bindGrokOwnedSession, validateGrokOwnedThread, releaseGrokOwnedWorkspace, cleanupGrokOwnedState;
40592
40614
  var init_grok_state = __esm({
@@ -40755,7 +40777,7 @@ var init_grok_state = __esm({
40755
40777
  await writeAtomicInferencePrivateFile(join10(workspace, markerName), JSON.stringify(value));
40756
40778
  return workspace;
40757
40779
  } catch (error48) {
40758
- await rm8(workspace, { recursive: true, force: true });
40780
+ await rm9(workspace, { recursive: true, force: true });
40759
40781
  throw error48;
40760
40782
  }
40761
40783
  };
@@ -40788,11 +40810,11 @@ var init_grok_state = __esm({
40788
40810
  if (session) {
40789
40811
  await owner(options, workspace);
40790
40812
  if (await nativeSession(value, false) !== session) throw invalid();
40791
- await rm8(session, { recursive: true, force: true });
40813
+ await rm9(session, { recursive: true, force: true });
40792
40814
  await removeEmptyNativeGroup(dirname8(session), workspace);
40793
40815
  }
40794
40816
  await owner(options, workspace);
40795
- await rm8(workspace, { recursive: true, force: true });
40817
+ await rm9(workspace, { recursive: true, force: true });
40796
40818
  };
40797
40819
  cleanupGrokOwnedState = async (options) => {
40798
40820
  let scope;
@@ -40824,7 +40846,7 @@ var init_grok_state = __esm({
40824
40846
  });
40825
40847
 
40826
40848
  // lib/inference-host/grok-adapter.ts
40827
- import { randomUUID as randomUUID7 } from "node:crypto";
40849
+ import { randomUUID as randomUUID8 } from "node:crypto";
40828
40850
  import { join as join11 } from "node:path";
40829
40851
  var unwrap, list, nonempty, integer2, grokModelCapabilities, grokPromptUsage, agentProfile, modelState, assertSelection, GrokBuildAdapter;
40830
40852
  var init_grok_adapter = __esm({
@@ -41090,7 +41112,7 @@ var init_grok_adapter = __esm({
41090
41112
  activeThread = { ...activeThread, effectiveModel: observedModel };
41091
41113
  await agent.onThreadReady?.(activeThread);
41092
41114
  }
41093
- const callId = randomUUID7();
41115
+ const callId = randomUUID8();
41094
41116
  const tool = name;
41095
41117
  const result3 = await agent.executeTool({ callId, tool, arguments: args });
41096
41118
  evidence.push({ callId, tool, arguments: args, success: result3.success });
@@ -41196,7 +41218,7 @@ var init_grok_adapter = __esm({
41196
41218
  if (update.sessionUpdate === "agent_message_chunk" && firstToken === null) firstToken = Date.now() - startedAt;
41197
41219
  if (update.sessionUpdate === "agent_thought_chunk" && Buffer.byteLength(thought) + Buffer.byteLength(text2) <= 3e5) thought += text2;
41198
41220
  };
41199
- const promptId = randomUUID7();
41221
+ const promptId = randomUUID8();
41200
41222
  const result2 = await session.request("session/prompt", {
41201
41223
  sessionId,
41202
41224
  prompt: [{ type: "text", text: input.userPrompt }],
@@ -41375,9 +41397,9 @@ var init_grok_auth = __esm({
41375
41397
 
41376
41398
  // lib/inference-host/exo-adapter.ts
41377
41399
  import { spawn as spawn9 } from "node:child_process";
41378
- import { randomUUID as randomUUID8, timingSafeEqual as timingSafeEqual2 } from "node:crypto";
41400
+ import { randomUUID as randomUUID9, timingSafeEqual as timingSafeEqual2 } from "node:crypto";
41379
41401
  import { createServer as createServer5 } from "node:http";
41380
- import { access as access3, lstat as lstat8, readdir as readdir4, realpath as realpath7, rm as rm9 } from "node:fs/promises";
41402
+ import { access as access3, lstat as lstat8, readdir as readdir4, realpath as realpath7, rm as rm10 } from "node:fs/promises";
41381
41403
  import { basename as basename4, dirname as dirname9, join as join12, resolve as resolve7 } from "node:path";
41382
41404
  import { fileURLToPath as fileURLToPath2 } from "node:url";
41383
41405
  var import_ajv3, failure, object4, validModel, receiptUsage, assertOwnedRuntime, cleanupExoOwnedState, ExoForegroundAdapter;
@@ -41439,7 +41461,7 @@ var init_exo_adapter = __esm({
41439
41461
  if (!match || !entry.isDirectory() || entry.isSymbolicLink()) throw failure("exo_state_not_owned");
41440
41462
  await assertOwnedRuntime(join12(root, entry.name), match[1]);
41441
41463
  }
41442
- await rm9(root, { recursive: true, force: true });
41464
+ await rm10(root, { recursive: true, force: true });
41443
41465
  };
41444
41466
  ExoForegroundAdapter = class {
41445
41467
  constructor(options) {
@@ -41559,7 +41581,7 @@ var init_exo_adapter = __esm({
41559
41581
  const credential = await this.options.credentialStore.read(input.signal);
41560
41582
  const provider = selected.model.split("/")[0];
41561
41583
  if (!credential || credential.provider !== provider) throw failure("exo_credential_required", false, "auth");
41562
- const id2 = agent?.durableThread?.threadId ?? randomUUID8();
41584
+ const id2 = agent?.durableThread?.threadId ?? randomUUID9();
41563
41585
  const runtimeRoot = agent?.durableThread ? await this.ownedRoot(agent.durableThread) : join12(await realpath7(this.options.stateRoot), `${agent ? "agent" : "attempt"}-${id2}`);
41564
41586
  let thread = { threadId: id2, threadPath: runtimeRoot, effectiveModel: input.requestedModel, effectiveReasoningEffort: input.requestedReasoningEffort };
41565
41587
  const owner2 = agent?.durableThread ? await assertOwnedRuntime(runtimeRoot, id2) : null;
@@ -41573,7 +41595,7 @@ var init_exo_adapter = __esm({
41573
41595
  const relay = () => abort.abort();
41574
41596
  input.signal?.addEventListener("abort", relay, { once: true });
41575
41597
  const timer = setTimeout(relay, Math.max(0, input.deadlineAtMs - started));
41576
- const token = randomUUID8();
41598
+ const token = randomUUID9();
41577
41599
  let dispatched = false;
41578
41600
  let terminal = null;
41579
41601
  let workerFailure = null;
@@ -41699,7 +41721,7 @@ var init_exo_adapter = __esm({
41699
41721
  }
41700
41722
  await agent?.onThreadReady?.(thread);
41701
41723
  try {
41702
- await this.command([...args, "conversation", "send", "vtx", "trading", randomUUID8()], env, abort.signal);
41724
+ await this.command([...args, "conversation", "send", "vtx", "trading", randomUUID9()], env, abort.signal);
41703
41725
  } catch (error48) {
41704
41726
  if (!terminal) throw error48;
41705
41727
  }
@@ -41771,11 +41793,11 @@ var init_exo_adapter = __esm({
41771
41793
  this.active.delete(abort);
41772
41794
  server.closeAllConnections();
41773
41795
  await new Promise((done) => server.close(() => done()));
41774
- if (!agent) await rm9(runtimeRoot, { recursive: true, force: true });
41796
+ if (!agent) await rm10(runtimeRoot, { recursive: true, force: true });
41775
41797
  }
41776
41798
  }
41777
41799
  async releaseThread(thread) {
41778
- await rm9(await this.ownedRoot(thread), { recursive: true, force: true });
41800
+ await rm10(await this.ownedRoot(thread), { recursive: true, force: true });
41779
41801
  }
41780
41802
  async close() {
41781
41803
  this.closing = true;
@@ -42374,7 +42396,7 @@ var init_durable_adapter = __esm({
42374
42396
  });
42375
42397
 
42376
42398
  // lib/inference-host/service-launcher-state.ts
42377
- import { access as access4, readFile as readFile9, rm as rm10 } from "node:fs/promises";
42399
+ import { access as access4, readFile as readFile9, rm as rm11 } from "node:fs/promises";
42378
42400
  import { dirname as dirname12, isAbsolute as isAbsolute5, join as join13, relative as relative3, resolve as resolve10 } from "node:path";
42379
42401
  var launcherSibling, within, launcherSelection, readLauncherSelection, readLauncherState, writeLauncherState, targetForSelection;
42380
42402
  var init_service_launcher_state = __esm({
@@ -42634,9 +42656,9 @@ var init_runtime_policy_generated2 = __esm({
42634
42656
 
42635
42657
  // lib/inference-host/service.ts
42636
42658
  import { spawn as spawn10 } from "node:child_process";
42637
- import { randomUUID as randomUUID9 } from "node:crypto";
42659
+ import { randomUUID as randomUUID10 } from "node:crypto";
42638
42660
  import { createWriteStream, readFileSync as readFileSync2 } from "node:fs";
42639
- import { access as access5, chmod as chmod3, mkdir as mkdir3, readFile as readFile10, rm as rm11, writeFile as writeFile4 } from "node:fs/promises";
42661
+ import { access as access5, chmod as chmod3, mkdir as mkdir3, readFile as readFile10, rm as rm12, writeFile as writeFile4 } from "node:fs/promises";
42640
42662
  import { homedir as homedir2 } from "node:os";
42641
42663
  import { dirname as dirname13, join as join14, resolve as resolve11 } from "node:path";
42642
42664
  var SERVICE_NAME, SYSTEMD_UNIT, LAUNCHD_LABEL, SERVICE_COOPERATIVE_STOP_SECONDS, SERVICE_UPDATE_STARTUP_SECONDS, INFERENCE_HOST_SERVICE_DRAIN_COMMAND, INFERENCE_HOST_SERVICE_QUIESCE_COMMAND, InferenceHostBootstrapRestartRequiredError, inferenceHostServiceChildEnvironment, isWindowsSubsystemForLinux, inferenceHostServiceManifestPath, inferenceHostServiceDesiredPath, inferenceHostServiceLogPath, inferenceHostServiceRuntimePath, xmlEscape, plistEscape, systemdQuote, defaultRunCommand, probeInferenceHostLauncher, managerName, assertRuntimeEnvironment, withoutConcurrencyLimit, assertServicePath, manifestGeneration, assertWorker, assertManifest, assertServiceRuntimeState, assertDesiredState, readInferenceHostServiceManifest, readManifestAcrossAtomicReplacement, readInferenceHostServiceRuntime, readRuntimeAcrossAtomicReplacement, readInferenceHostServiceDesired, readDesiredAcrossAtomicReplacement, writeDesired, runtimeEnvironment, serviceBootstrapArguments, windowsOwnedCommandLine, vbScriptString, windowsServiceLauncher, windowsTaskXml, systemdUnit, launchAgentPlist, sameWorker, sameServiceDefinition, sameWorkerSet, InferenceHostServiceManager, appendServiceLog, spawnInferenceHostServiceChild, runInferenceHostServiceSupervisor;
@@ -42713,7 +42735,7 @@ var init_service = __esm({
42713
42735
  }));
42714
42736
  });
42715
42737
  probeInferenceHostLauncher = async (executable, destination, bytes3, runCommand = defaultRunCommand) => {
42716
- const probe = `${destination}.${randomUUID9()}.probe.js`;
42738
+ const probe = `${destination}.${randomUUID10()}.probe.js`;
42717
42739
  try {
42718
42740
  await writeAtomicInferencePrivateFile(probe, bytes3);
42719
42741
  const result2 = await runCommand(executable, [probe]);
@@ -42721,7 +42743,7 @@ var init_service = __esm({
42721
42743
  throw new Error("Copied service launcher failed its isolated startup check.");
42722
42744
  }
42723
42745
  } finally {
42724
- await rm11(probe, { force: true });
42746
+ await rm12(probe, { force: true });
42725
42747
  }
42726
42748
  };
42727
42749
  managerName = (platform) => {
@@ -43217,7 +43239,7 @@ WantedBy=default.target
43217
43239
  const previousRuntimeUpdatedAt = previousRuntime?.manifest_generation === manifest.generation ? Date.parse(previousRuntime.updated_at) : Number.NaN;
43218
43240
  const restoredManifest = preserveGeneration ? manifest : assertManifest({
43219
43241
  ...manifest,
43220
- generation: randomUUID9(),
43242
+ generation: randomUUID10(),
43221
43243
  installed_at: this.now().toISOString()
43222
43244
  });
43223
43245
  await writeAtomicInferencePrivateFile(
@@ -43374,16 +43396,16 @@ ${cleanup.stderr}`)) {
43374
43396
  );
43375
43397
  }
43376
43398
  }
43377
- await rm11(this.definitionPath(), { force: true }).catch(() => void 0);
43399
+ await rm12(this.definitionPath(), { force: true }).catch(() => void 0);
43378
43400
  if (this.platform === "win32") {
43379
- await rm11(this.windowsLauncherPath(), { force: true }).catch(() => void 0);
43401
+ await rm12(this.windowsLauncherPath(), { force: true }).catch(() => void 0);
43380
43402
  }
43381
- await rm11(this.manifestPath(), { force: true }).catch(() => void 0);
43382
- await rm11(this.desiredPath(), { force: true }).catch(() => void 0);
43383
- await rm11(this.runtimePath(), { force: true }).catch(() => void 0);
43384
- if (!existingRecovery) await rm11(this.serviceBootstrapPath(), { force: true }).catch(() => void 0);
43403
+ await rm12(this.manifestPath(), { force: true }).catch(() => void 0);
43404
+ await rm12(this.desiredPath(), { force: true }).catch(() => void 0);
43405
+ await rm12(this.runtimePath(), { force: true }).catch(() => void 0);
43406
+ if (!existingRecovery) await rm12(this.serviceBootstrapPath(), { force: true }).catch(() => void 0);
43385
43407
  for (const suffix of [".service-launcher.json", ".service-bootstrap.previous.js"]) {
43386
- if (!existingRecovery) await rm11(launcherSibling(this.manifestPath(), suffix), { force: true }).catch(() => void 0);
43408
+ if (!existingRecovery) await rm12(launcherSibling(this.manifestPath(), suffix), { force: true }).catch(() => void 0);
43387
43409
  }
43388
43410
  if (this.platform === "linux") {
43389
43411
  await this.runCommand("systemctl", ["--user", "daemon-reload"]).catch(() => void 0);
@@ -43535,7 +43557,7 @@ ${cleanup.stderr}`)) {
43535
43557
  ].sort((left, right) => left.instance_name.localeCompare(right.instance_name));
43536
43558
  const manifest = assertManifest({
43537
43559
  schema_version: "vtx_inference_service_v3",
43538
- generation: randomUUID9(),
43560
+ generation: randomUUID10(),
43539
43561
  installed_at: this.now().toISOString(),
43540
43562
  executable: this.executable,
43541
43563
  script: this.script,
@@ -43758,7 +43780,7 @@ ${result2.stderr}`)) {
43758
43780
  if (remaining.length === 0) return await this.uninstallUnlocked();
43759
43781
  return await this.replaceManifestUnlocked({
43760
43782
  ...manifest,
43761
- generation: randomUUID9(),
43783
+ generation: randomUUID10(),
43762
43784
  installed_at: this.now().toISOString(),
43763
43785
  workers: remaining
43764
43786
  }, await readInferenceHostServiceDesired(this.desiredPath()));
@@ -43781,20 +43803,20 @@ ${result2.stderr}`)) {
43781
43803
  ${result2.stderr}`)) {
43782
43804
  throw new Error(`Background service uninstall failed: ${result2.stderr.trim()}`);
43783
43805
  }
43784
- await rm11(this.definitionPath(), { force: true });
43785
- if (this.platform === "win32") await rm11(this.windowsLauncherPath(), { force: true });
43806
+ await rm12(this.definitionPath(), { force: true });
43807
+ if (this.platform === "win32") await rm12(this.windowsLauncherPath(), { force: true });
43786
43808
  if (this.platform === "linux") await this.runCommand("systemctl", ["--user", "daemon-reload"]);
43787
- await rm11(this.manifestPath(), { force: true });
43788
- await rm11(this.desiredPath(), { force: true });
43789
- await rm11(this.runtimePath(), { force: true });
43809
+ await rm12(this.manifestPath(), { force: true });
43810
+ await rm12(this.desiredPath(), { force: true });
43811
+ await rm12(this.runtimePath(), { force: true });
43790
43812
  if (!preserveRecovery) {
43791
- await rm11(this.serviceBootstrapPath(), { force: true });
43813
+ await rm12(this.serviceBootstrapPath(), { force: true });
43792
43814
  for (const suffix of [".service-launcher.json", ".service-bootstrap.previous.js"]) {
43793
- await rm11(launcherSibling(this.manifestPath(), suffix), { force: true });
43815
+ await rm12(launcherSibling(this.manifestPath(), suffix), { force: true });
43794
43816
  }
43795
- await rm11(this.serviceReleasePath(), { force: true });
43796
- await rm11(this.serviceReleaseRejectionPath(), { force: true });
43797
- await rm11(this.serviceReleasesPath(), { recursive: true, force: true });
43817
+ await rm12(this.serviceReleasePath(), { force: true });
43818
+ await rm12(this.serviceReleaseRejectionPath(), { force: true });
43819
+ await rm12(this.serviceReleasesPath(), { recursive: true, force: true });
43798
43820
  }
43799
43821
  return {
43800
43822
  installed: false,
@@ -44257,9 +44279,9 @@ __export(cli_exports, {
44257
44279
  registerInferenceHostServiceControlInput: () => registerInferenceHostServiceControlInput,
44258
44280
  runInferenceHostCli: () => runInferenceHostCli
44259
44281
  });
44260
- import { createHash as createHash12, randomUUID as randomUUID10 } from "node:crypto";
44282
+ import { createHash as createHash12, randomUUID as randomUUID11 } from "node:crypto";
44261
44283
  import { spawn as spawn11 } from "node:child_process";
44262
- import { lstat as lstat9, realpath as realpath8, rm as rm12 } from "node:fs/promises";
44284
+ import { lstat as lstat9, realpath as realpath8, rm as rm13 } from "node:fs/promises";
44263
44285
  import { hostname as osHostname } from "node:os";
44264
44286
  import { join as join15, resolve as resolve12 } from "node:path";
44265
44287
  async function runInferenceHostCli(argv2, env = process.env, dependencies = {}) {
@@ -44898,7 +44920,7 @@ Durable service:
44898
44920
  runtimeReceiptPath(config2),
44899
44921
  "Inference host runtime receipt file"
44900
44922
  );
44901
- await rm12(codexGuardianReceiptRoot(config2), { recursive: true, force: true });
44923
+ await rm13(codexGuardianReceiptRoot(config2), { recursive: true, force: true });
44902
44924
  await clearInferencePrivateFile(
44903
44925
  codexRecoveryPath(config2),
44904
44926
  "Codex attempt recovery file"
@@ -45166,7 +45188,7 @@ Waiting for approval...
45166
45188
  await writeInferenceHostCredentialContextTransition(config2, previousCredentialContext);
45167
45189
  await writeInferenceHostCredentialContext(config2);
45168
45190
  const keyPair = generateExternalInferenceEnvelopeKeyPair();
45169
- const hostId = randomUUID10();
45191
+ const hostId = randomUUID11();
45170
45192
  const beginLogin = dependencies.beginLogin ?? beginInferenceOAuthLogin;
45171
45193
  const loginStore = {
45172
45194
  kind: store.kind,
@@ -46054,7 +46076,7 @@ Waiting for approval...
46054
46076
  }
46055
46077
  return record5;
46056
46078
  };
46057
- agentOperationId = (kind) => `${kind}-${randomUUID10()}`;
46079
+ agentOperationId = (kind) => `${kind}-${randomUUID11()}`;
46058
46080
  agentSession = async (config2, dependencies, warnings, signal) => {
46059
46081
  if (await readRevocationCheckpoint(config2)) {
46060
46082
  throw new Error("Inference host revocation recovery must finish first.");
@@ -47133,7 +47155,7 @@ Waiting for approval...
47133
47155
  if (recoveryRaw === null && existingTransaction?.phase !== "reconciled") {
47134
47156
  throw new Error("Codex recovery evidence changed before service recovery began.");
47135
47157
  }
47136
- const transactionId = existingTransaction?.transaction_id ?? randomUUID10();
47158
+ const transactionId = existingTransaction?.transaction_id ?? randomUUID11();
47137
47159
  const backupPath = existingTransaction?.recovery_backup_path ?? recoveryBackupPath(config2, transactionId);
47138
47160
  if (!existingTransaction) {
47139
47161
  await writeAtomicInferencePrivateFile(backupPath, recoveryRaw);
@@ -47281,7 +47303,7 @@ Waiting for approval...
47281
47303
  serviceRecoveryTransactionPath(config2),
47282
47304
  "Inference-host service recovery transaction"
47283
47305
  );
47284
- await rm12(backupPath, { force: true });
47306
+ await rm13(backupPath, { force: true });
47285
47307
  }
47286
47308
  }
47287
47309
  } finally {
@@ -47556,7 +47578,7 @@ Waiting for approval...
47556
47578
  });
47557
47579
 
47558
47580
  // lib/agent-core/config.ts
47559
- import { mkdir as mkdir5, readFile as readFile11, rm as rm13, writeFile as writeFile5 } from "node:fs/promises";
47581
+ import { mkdir as mkdir5, readFile as readFile11, rm as rm14, writeFile as writeFile5 } from "node:fs/promises";
47560
47582
  import { dirname as dirname14, join as join16 } from "node:path";
47561
47583
  import { homedir as homedir3 } from "node:os";
47562
47584
  function defaultBaseDir() {
@@ -47600,7 +47622,7 @@ async function writeStoredAgentAuth(path, auth) {
47600
47622
  `, { encoding: "utf8", mode: 384 });
47601
47623
  }
47602
47624
  async function clearStoredAgentAuth(path) {
47603
- await rm13(path, { force: true });
47625
+ await rm14(path, { force: true });
47604
47626
  }
47605
47627
  async function readRuntimeState(path) {
47606
47628
  try {
@@ -47635,7 +47657,7 @@ async function writeRuntimeState(path, state) {
47635
47657
  `, { encoding: "utf8", mode: 384 });
47636
47658
  }
47637
47659
  async function clearRuntimeState(path) {
47638
- await rm13(path, { force: true });
47660
+ await rm14(path, { force: true });
47639
47661
  }
47640
47662
  var init_config2 = __esm({
47641
47663
  "lib/agent-core/config.ts"() {
@@ -47667,7 +47689,7 @@ var init_types = __esm({
47667
47689
  });
47668
47690
 
47669
47691
  // lib/agent-core/client.ts
47670
- import { randomUUID as randomUUID11 } from "node:crypto";
47692
+ import { randomUUID as randomUUID12 } from "node:crypto";
47671
47693
  function normalizeApiUrl(value) {
47672
47694
  const parsed = String(value || "").trim();
47673
47695
  if (!parsed) {
@@ -47934,7 +47956,7 @@ var init_client = __esm({
47934
47956
  return this.request("/trading/ai/runtime/decision", {
47935
47957
  method: "POST",
47936
47958
  profileId,
47937
- idempotencyKey: randomUUID11(),
47959
+ idempotencyKey: randomUUID12(),
47938
47960
  headers: { "x-client-runtime-lease": leaseToken },
47939
47961
  body: payload
47940
47962
  });
@@ -47943,7 +47965,7 @@ var init_client = __esm({
47943
47965
  return this.request("/trading/ai/runtime/trade-sync", {
47944
47966
  method: "POST",
47945
47967
  profileId,
47946
- idempotencyKey: randomUUID11(),
47968
+ idempotencyKey: randomUUID12(),
47947
47969
  headers: { "x-client-runtime-lease": leaseToken },
47948
47970
  body: payload
47949
47971
  });
@@ -47952,7 +47974,7 @@ var init_client = __esm({
47952
47974
  return this.request("/trading/ai/runtime/error", {
47953
47975
  method: "POST",
47954
47976
  profileId,
47955
- idempotencyKey: randomUUID11(),
47977
+ idempotencyKey: randomUUID12(),
47956
47978
  headers: { "x-client-runtime-lease": leaseToken },
47957
47979
  body: payload
47958
47980
  });
@@ -47964,7 +47986,7 @@ var init_client = __esm({
47964
47986
  return this.request("/trading/market-order", {
47965
47987
  method: "POST",
47966
47988
  profileId,
47967
- idempotencyKey: randomUUID11(),
47989
+ idempotencyKey: randomUUID12(),
47968
47990
  body: payload
47969
47991
  });
47970
47992
  }
@@ -47972,7 +47994,7 @@ var init_client = __esm({
47972
47994
  return this.request("/trading/limit-order", {
47973
47995
  method: "POST",
47974
47996
  profileId,
47975
- idempotencyKey: randomUUID11(),
47997
+ idempotencyKey: randomUUID12(),
47976
47998
  body: payload
47977
47999
  });
47978
48000
  }
@@ -47980,7 +48002,7 @@ var init_client = __esm({
47980
48002
  return this.request("/trading/cancel-order", {
47981
48003
  method: "POST",
47982
48004
  profileId,
47983
- idempotencyKey: randomUUID11(),
48005
+ idempotencyKey: randomUUID12(),
47984
48006
  body: payload
47985
48007
  });
47986
48008
  }
@@ -47999,7 +48021,7 @@ var init_client = __esm({
47999
48021
  return this.request("/trading/ai/start", {
48000
48022
  method: "POST",
48001
48023
  profileId,
48002
- idempotencyKey: randomUUID11(),
48024
+ idempotencyKey: randomUUID12(),
48003
48025
  body: payload
48004
48026
  });
48005
48027
  }
@@ -48007,7 +48029,7 @@ var init_client = __esm({
48007
48029
  return this.request("/trading/ai/stop", {
48008
48030
  method: "POST",
48009
48031
  profileId,
48010
- idempotencyKey: randomUUID11(),
48032
+ idempotencyKey: randomUUID12(),
48011
48033
  body: {}
48012
48034
  });
48013
48035
  }
@@ -48015,7 +48037,7 @@ var init_client = __esm({
48015
48037
  return this.request("/trading/ai/assistant/start", {
48016
48038
  method: "POST",
48017
48039
  profileId,
48018
- idempotencyKey: randomUUID11(),
48040
+ idempotencyKey: randomUUID12(),
48019
48041
  body: {}
48020
48042
  });
48021
48043
  }
@@ -48023,7 +48045,7 @@ var init_client = __esm({
48023
48045
  return this.request("/trading/ai/assistant/stop", {
48024
48046
  method: "POST",
48025
48047
  profileId,
48026
- idempotencyKey: randomUUID11(),
48048
+ idempotencyKey: randomUUID12(),
48027
48049
  body: {}
48028
48050
  });
48029
48051
  }
@@ -48031,7 +48053,7 @@ var init_client = __esm({
48031
48053
  return this.request("/trading/ai/runtime/session/start", {
48032
48054
  method: "POST",
48033
48055
  profileId,
48034
- idempotencyKey: randomUUID11(),
48056
+ idempotencyKey: randomUUID12(),
48035
48057
  body: payload
48036
48058
  });
48037
48059
  }
@@ -48042,7 +48064,7 @@ var init_client = __esm({
48042
48064
  return this.request("/trading/ai/runtime/session/stop", {
48043
48065
  method: "POST",
48044
48066
  profileId,
48045
- idempotencyKey: randomUUID11(),
48067
+ idempotencyKey: randomUUID12(),
48046
48068
  body: payload
48047
48069
  });
48048
48070
  }
@@ -48059,7 +48081,7 @@ var init_client = __esm({
48059
48081
  }).request("/trading/ai/runtime/session/stop", {
48060
48082
  method: "POST",
48061
48083
  profileId,
48062
- idempotencyKey: randomUUID11(),
48084
+ idempotencyKey: randomUUID12(),
48063
48085
  body: payload
48064
48086
  });
48065
48087
  }
@@ -48076,7 +48098,7 @@ import {
48076
48098
  unlinkSync,
48077
48099
  writeFileSync
48078
48100
  } from "node:fs";
48079
- import { randomUUID as randomUUID12 } from "node:crypto";
48101
+ import { randomUUID as randomUUID13 } from "node:crypto";
48080
48102
  import { dirname as dirname15 } from "node:path";
48081
48103
  var parseStoredValues, FileBackedProtectionStorage, clientRuntimeProtectionStatePath;
48082
48104
  var init_protection_storage = __esm({
@@ -48136,7 +48158,7 @@ var init_protection_storage = __esm({
48136
48158
  mkdirSync(dirname15(this.path), { recursive: true, mode: 448 });
48137
48159
  const serialized = `${JSON.stringify(values)}
48138
48160
  `;
48139
- const temporaryPath = `${this.path}.${process.pid}.${randomUUID12()}.tmp`;
48161
+ const temporaryPath = `${this.path}.${process.pid}.${randomUUID13()}.tmp`;
48140
48162
  try {
48141
48163
  writeFileSync(temporaryPath, serialized, {
48142
48164
  encoding: "utf8",
@@ -48163,7 +48185,7 @@ var init_protection_storage = __esm({
48163
48185
  });
48164
48186
 
48165
48187
  // lib/agent-core/headless-runtime.ts
48166
- import { randomUUID as randomUUID13 } from "node:crypto";
48188
+ import { randomUUID as randomUUID14 } from "node:crypto";
48167
48189
  import { setTimeout as sleep } from "node:timers/promises";
48168
48190
  function objectOrNull2(value) {
48169
48191
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
@@ -48275,8 +48297,8 @@ async function runAndReportLocalWorkCycle(options, state, leaseToken, context) {
48275
48297
  return Boolean(result2.decision || tradeSync || result2.afterDecision);
48276
48298
  }
48277
48299
  async function startHeadlessRuntime(options) {
48278
- const runtimeSessionId = randomUUID13();
48279
- const deviceId = String(options.deviceId || "").trim() || randomUUID13();
48300
+ const runtimeSessionId = randomUUID14();
48301
+ const deviceId = String(options.deviceId || "").trim() || randomUUID14();
48280
48302
  const startResponse = await options.client.startRuntime(options.profileId, {
48281
48303
  session_id: runtimeSessionId,
48282
48304
  device_id: deviceId,
@@ -64639,9 +64661,9 @@ var init_fragments = __esm({
64639
64661
  }
64640
64662
  const result2 = [];
64641
64663
  while (this.#offset < top.match - 1) {
64642
- const link = this.peek().linkNext;
64643
- result2.push(this.#subTokenString(this.#offset + 1, link));
64644
- this.#offset = link;
64664
+ const link2 = this.peek().linkNext;
64665
+ result2.push(this.#subTokenString(this.#offset + 1, link2));
64666
+ this.#offset = link2;
64645
64667
  }
64646
64668
  this.#offset = top.match + 1;
64647
64669
  return result2;
@@ -69365,15 +69387,15 @@ var init_contract2 = __esm({
69365
69387
  });
69366
69388
 
69367
69389
  // node_modules/ethers/lib.esm/providers/ens-resolver.js
69368
- function getIpfsLink(link) {
69369
- if (link.match(/^ipfs:\/\/ipfs\//i)) {
69370
- link = link.substring(12);
69371
- } else if (link.match(/^ipfs:\/\//i)) {
69372
- link = link.substring(7);
69390
+ function getIpfsLink(link2) {
69391
+ if (link2.match(/^ipfs:\/\/ipfs\//i)) {
69392
+ link2 = link2.substring(12);
69393
+ } else if (link2.match(/^ipfs:\/\//i)) {
69394
+ link2 = link2.substring(7);
69373
69395
  } else {
69374
- assertArgument(false, "unsupported IPFS format", "link", link);
69396
+ assertArgument(false, "unsupported IPFS format", "link", link2);
69375
69397
  }
69376
- return `https://gateway.ipfs.io/ipfs/${link}`;
69398
+ return `https://gateway.ipfs.io/ipfs/${link2}`;
69377
69399
  }
69378
69400
  var MulticoinProviderPlugin, matcherIpfs, matchers, EnsResolver;
69379
69401
  var init_ens_resolver = __esm({
@@ -93032,7 +93054,7 @@ var headless_local_worker_exports = {};
93032
93054
  __export(headless_local_worker_exports, {
93033
93055
  createHeadlessLocalWorker: () => createHeadlessLocalWorker
93034
93056
  });
93035
- import { randomUUID as randomUUID14 } from "node:crypto";
93057
+ import { randomUUID as randomUUID15 } from "node:crypto";
93036
93058
  function objectOrNull3(value) {
93037
93059
  return value && typeof value === "object" && !Array.isArray(value) ? value : null;
93038
93060
  }
@@ -93461,7 +93483,7 @@ function createHeadlessLocalWorker(options) {
93461
93483
  const statusMatch = errorText.match(/\b([45]\d{2})\b/);
93462
93484
  const statusCode = statusMatch ? Number(statusMatch[1]) : null;
93463
93485
  const failedInvocation = normalizeAiInvocationTelemetry({
93464
- client_invocation_id: randomUUID14(),
93486
+ client_invocation_id: randomUUID15(),
93465
93487
  use_case: "trader",
93466
93488
  role: "primary",
93467
93489
  attempt_index: 0,
@@ -93517,7 +93539,7 @@ function createHeadlessLocalWorker(options) {
93517
93539
  billable_cached_input_tokens: normalizedUsage.cached_input_tokens
93518
93540
  };
93519
93541
  const invocation = normalizeAiInvocationTelemetry({
93520
- client_invocation_id: randomUUID14(),
93542
+ client_invocation_id: randomUUID15(),
93521
93543
  use_case: "trader",
93522
93544
  role: "primary",
93523
93545
  attempt_index: 0,
@@ -93781,7 +93803,7 @@ var vtx_exports = {};
93781
93803
  __export(vtx_exports, {
93782
93804
  runVtxCli: () => runVtxCli
93783
93805
  });
93784
- import { randomUUID as randomUUID15 } from "node:crypto";
93806
+ import { randomUUID as randomUUID16 } from "node:crypto";
93785
93807
  import { spawn as spawn12 } from "node:child_process";
93786
93808
  function render2(value, json2) {
93787
93809
  if (json2) {
@@ -94195,8 +94217,8 @@ async function runVtxCli(argv2, env = process.env) {
94195
94217
  });
94196
94218
  return { exitCode: 0, stdout: render2(redactCliOutput(response2), json2), stderr: "" };
94197
94219
  }
94198
- const runtimeSessionId = randomUUID15();
94199
- const deviceId = config2.runtimeDeviceId ?? randomUUID15();
94220
+ const runtimeSessionId = randomUUID16();
94221
+ const deviceId = config2.runtimeDeviceId ?? randomUUID16();
94200
94222
  const response = await client.startRuntime(profileId, {
94201
94223
  session_id: runtimeSessionId,
94202
94224
  device_id: deviceId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.9.53",
3
+ "version": "2026.9.54",
4
4
  "description": "VTX Macro CLI, MCP server, and durable external inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "undici": "8.10.0",
24
- "@openai/codex": "0.153.3",
24
+ "@openai/codex": "0.155.0",
25
25
  "@earendil-works/pi-coding-agent": "0.85.1",
26
26
  "@earendil-works/pi-ai": "0.85.1",
27
27
  "@earendil-works/pi-agent-core": "0.85.1",