@vtxmacro/cli 2026.9.26 → 2026.9.27

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,7 +16,7 @@ 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.26",
19
+ package_version: "2026.9.27",
20
20
  codex_package_name: "@openai/codex",
21
21
  codex_version: "0.153.3",
22
22
  copilot_sdk_package_name: "@github/copilot-sdk",
package/bin/vtx.js CHANGED
@@ -69,7 +69,7 @@ var init_agent_cli_release = __esm({
69
69
  "agent-cli-release.json"() {
70
70
  agent_cli_release_default = {
71
71
  package_name: "@vtxmacro/cli",
72
- package_version: "2026.9.26",
72
+ package_version: "2026.9.27",
73
73
  codex_package_name: "@openai/codex",
74
74
  codex_version: "0.153.3",
75
75
  copilot_sdk_package_name: "@github/copilot-sdk",
@@ -22008,7 +22008,11 @@ child.once('close', async (code, signal) => {
22008
22008
  "EPERM"
22009
22009
  ]);
22010
22010
  MAX_RETIRED_RESPONSE_IDS = 256;
22011
- LATE_RESPONSE_SAFE_METHODS = /* @__PURE__ */ new Set(["account/rateLimits/read"]);
22011
+ LATE_RESPONSE_SAFE_METHODS = /* @__PURE__ */ new Set([
22012
+ "account/rateLimits/read",
22013
+ "turn/start",
22014
+ "turn/interrupt"
22015
+ ]);
22012
22016
  replaceCodexGuardianReceiptFile = async (temporaryPath, receiptPath, options = {}) => {
22013
22017
  const platform = options.platform ?? process.platform;
22014
22018
  const renameFile = options.renameFile ?? rename2;
@@ -22158,6 +22162,7 @@ child.once('close', async (code, signal) => {
22158
22162
  this.startedAtMs = Date.now();
22159
22163
  this.guardian = options.guardian;
22160
22164
  this.onProcessExit = options.onProcessExit;
22165
+ this.onLateResponse = options.onLateResponse;
22161
22166
  this.process.stderr.on("data", (chunk) => this.observeStderr(chunk));
22162
22167
  const lines = createInterface({ input: this.process.stdout, crlfDelay: Infinity });
22163
22168
  lines.on("line", (line) => this.handleLine(line));
@@ -22239,7 +22244,8 @@ child.once('close', async (code, signal) => {
22239
22244
  codexHome: options.codexHome,
22240
22245
  sessionGeneration: options.sessionGeneration ?? 1,
22241
22246
  guardian: guardian ?? null,
22242
- onProcessExit: options.onProcessExit ?? null
22247
+ onProcessExit: options.onProcessExit ?? null,
22248
+ onLateResponse: options.onLateResponse ?? null
22243
22249
  });
22244
22250
  try {
22245
22251
  const initialized = await session.request("initialize", {
@@ -22306,7 +22312,13 @@ child.once('close', async (code, signal) => {
22306
22312
  if (!pending) {
22307
22313
  const retiredMethod = this.retiredResponseIds.get(id2);
22308
22314
  this.retiredResponseIds.delete(id2);
22309
- if (retiredMethod && LATE_RESPONSE_SAFE_METHODS.has(retiredMethod)) return;
22315
+ if (retiredMethod && LATE_RESPONSE_SAFE_METHODS.has(retiredMethod)) {
22316
+ try {
22317
+ this.onLateResponse?.(retiredMethod);
22318
+ } catch {
22319
+ }
22320
+ return;
22321
+ }
22310
22322
  this.failTransport("unexpected_response_id");
22311
22323
  return;
22312
22324
  }
@@ -24631,6 +24643,15 @@ var init_codex_adapter = __esm({
24631
24643
  spawnProcess: this.dependencies.spawnProcess,
24632
24644
  guardian: processToken && processReceiptPath ? { processToken, receiptPath: processReceiptPath, bootIdentity: bootIdentity ?? void 0 } : void 0,
24633
24645
  sessionGeneration,
24646
+ onLateResponse: (method) => {
24647
+ this.emitDiagnostic({
24648
+ event: "codex_app_server_late_response_ignored",
24649
+ method,
24650
+ session_generation: sessionGeneration,
24651
+ active_attempt_ids: [...activeAttemptIds].sort().slice(0, 64),
24652
+ active_attempt_ids_truncated: activeAttemptIds.size > 64
24653
+ });
24654
+ },
24634
24655
  onProcessExit: (diagnostics) => {
24635
24656
  this.emitDiagnostic({
24636
24657
  event: "codex_app_server_closed",
@@ -25133,12 +25154,11 @@ var init_codex_adapter = __esm({
25133
25154
  if (sessionLease && (!sessionLease.session.isUsable() || error48 instanceof CodexAppServerError && (error48.category === "transport" || [
25134
25155
  "rpc_rejected",
25135
25156
  "invalid_rpc_result",
25136
- "rpc_timeout",
25137
25157
  "capability_preflight_invalidation_unconfirmed",
25138
25158
  "invalid_thread_provenance",
25139
25159
  "thread_cleanup_identity_missing",
25140
25160
  "thread_delete_unconfirmed"
25141
- ].includes(error48.code)))) {
25161
+ ].includes(error48.code) || error48.code === "rpc_timeout" && !(turnEntered && threadId)))) {
25142
25162
  try {
25143
25163
  await this.invalidateDurableSession(sessionLease);
25144
25164
  } catch (invalidationError) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtxmacro/cli",
3
- "version": "2026.9.26",
3
+ "version": "2026.9.27",
4
4
  "description": "VTX Macro CLI, MCP server, and durable external inference host.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",