@vtxmacro/cli 2026.9.22 → 2026.9.23
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.
- package/bin/vtx-service-bootstrap.js +1 -1
- package/bin/vtx.js +71 -57
- package/package.json +1 -1
|
@@ -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.
|
|
19
|
+
package_version: "2026.9.23",
|
|
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.
|
|
72
|
+
package_version: "2026.9.23",
|
|
73
73
|
codex_package_name: "@openai/codex",
|
|
74
74
|
codex_version: "0.153.3",
|
|
75
75
|
copilot_sdk_package_name: "@github/copilot-sdk",
|
|
@@ -36140,6 +36140,7 @@ var init_runner = __esm({
|
|
|
36140
36140
|
const agentAbort = new AbortController();
|
|
36141
36141
|
let agentLoop = Promise.resolve();
|
|
36142
36142
|
let modelCatalogRefresh = null;
|
|
36143
|
+
let providerRateLimitRefresh = null;
|
|
36143
36144
|
let wakeDrain;
|
|
36144
36145
|
const drainSignal = new Promise((resolve10) => {
|
|
36145
36146
|
wakeDrain = resolve10;
|
|
@@ -37272,68 +37273,72 @@ var init_runner = __esm({
|
|
|
37272
37273
|
providerCooldownReason = null;
|
|
37273
37274
|
providerQuotaSnapshot = null;
|
|
37274
37275
|
}
|
|
37275
|
-
if (this.dependencies.codexAdapter.readAccountRateLimits && currentTime >= nextProviderRateLimitRefreshAt) {
|
|
37276
|
-
|
|
37277
|
-
|
|
37278
|
-
|
|
37279
|
-
|
|
37280
|
-
|
|
37281
|
-
this.
|
|
37282
|
-
|
|
37283
|
-
|
|
37284
|
-
|
|
37285
|
-
|
|
37286
|
-
|
|
37287
|
-
|
|
37288
|
-
|
|
37289
|
-
|
|
37290
|
-
|
|
37291
|
-
|
|
37292
|
-
|
|
37293
|
-
|
|
37294
|
-
|
|
37295
|
-
|
|
37296
|
-
|
|
37297
|
-
|
|
37298
|
-
|
|
37299
|
-
|
|
37300
|
-
|
|
37301
|
-
|
|
37302
|
-
|
|
37303
|
-
|
|
37276
|
+
if (this.dependencies.codexAdapter.readAccountRateLimits && currentTime >= nextProviderRateLimitRefreshAt && !providerRateLimitRefresh) {
|
|
37277
|
+
nextProviderRateLimitRefreshAt = Infinity;
|
|
37278
|
+
providerRateLimitRefresh = Promise.resolve().then(async () => {
|
|
37279
|
+
try {
|
|
37280
|
+
const refreshVersion = providerCooldownVersion;
|
|
37281
|
+
const refreshStartedAt = now();
|
|
37282
|
+
const refreshedRateLimits = await this.dependencies.codexAdapter.readAccountRateLimits(
|
|
37283
|
+
Date.now() + Math.min(2e3, settings.hostHeartbeatMs),
|
|
37284
|
+
agentAbort.signal
|
|
37285
|
+
);
|
|
37286
|
+
if (agentAbort.signal.aborted || refreshVersion !== providerCooldownVersion) return;
|
|
37287
|
+
providerRateLimits = refreshedRateLimits;
|
|
37288
|
+
providerRateLimitsObservedAtMs = now();
|
|
37289
|
+
const refreshedAt = now();
|
|
37290
|
+
const usableSnapshot = usableProviderQuotaSnapshot(
|
|
37291
|
+
providerRateLimits,
|
|
37292
|
+
knownProviderQuotaSnapshot,
|
|
37293
|
+
refreshedAt
|
|
37294
|
+
);
|
|
37295
|
+
providerQuotaRecoveryObservedAtMs = usableSnapshot ? refreshStartedAt : null;
|
|
37296
|
+
retainKnownQuotaWindows(providerRateLimits.rateLimits);
|
|
37297
|
+
const refreshedRetryAt = codexAccountRateLimitReached(providerRateLimits) ? codexRateLimitRetryAtMs(providerRateLimits) ?? refreshedAt + DEFAULT_CODEX_ACCOUNT_COOLDOWN_MS : null;
|
|
37298
|
+
if (refreshedRetryAt !== null && refreshedRetryAt > refreshedAt) {
|
|
37299
|
+
providerRetryAtMs = Math.max(providerRetryAtMs ?? 0, refreshedRetryAt);
|
|
37300
|
+
providerCooldownReason = "provider_limit_snapshot";
|
|
37301
|
+
retainQuotaSnapshot(providerRateLimits);
|
|
37302
|
+
} else if (providerRetryAtMs !== null && !codexAccountRateLimitReached(providerRateLimits) && providerRateLimits.rateLimits.limitId === providerQuotaSnapshot?.limitId && [providerRateLimits.rateLimits.primary, providerRateLimits.rateLimits.secondary].some((window2) => window2 !== null) && ["primary", "secondary"].every((key) => {
|
|
37303
|
+
const window2 = refreshedRateLimits.rateLimits[key];
|
|
37304
|
+
const previous = providerQuotaSnapshot?.[key];
|
|
37305
|
+
if (previous && (!window2 || window2.windowDurationMins !== previous.windowDurationMins)) {
|
|
37306
|
+
return false;
|
|
37307
|
+
}
|
|
37308
|
+
return window2 === null || window2.resetsAt !== null && window2.resetsAt * 1e3 > refreshedAt && window2.usedPercent < 100;
|
|
37309
|
+
})) {
|
|
37310
|
+
emitDiagnostic("provider_cooldown_cleared", {
|
|
37311
|
+
reason: providerCooldownReason,
|
|
37312
|
+
recovery: "provider_quota_restored",
|
|
37313
|
+
active_attempts: active.size,
|
|
37314
|
+
provider_weekly_quota: providerWeeklyQuotaFromRateLimits(
|
|
37315
|
+
providerRateLimits,
|
|
37316
|
+
providerRateLimitsObservedAtMs,
|
|
37317
|
+
refreshedAt
|
|
37318
|
+
)
|
|
37319
|
+
});
|
|
37320
|
+
providerRetryAtMs = null;
|
|
37321
|
+
providerCooldownReason = null;
|
|
37322
|
+
providerQuotaSnapshot = null;
|
|
37304
37323
|
}
|
|
37305
|
-
|
|
37306
|
-
})) {
|
|
37307
|
-
emitDiagnostic("provider_cooldown_cleared", {
|
|
37308
|
-
reason: providerCooldownReason,
|
|
37309
|
-
recovery: "provider_quota_restored",
|
|
37310
|
-
active_attempts: active.size,
|
|
37324
|
+
emitDiagnostic("provider_rate_limits_refreshed", {
|
|
37311
37325
|
provider_weekly_quota: providerWeeklyQuotaFromRateLimits(
|
|
37312
37326
|
providerRateLimits,
|
|
37313
37327
|
providerRateLimitsObservedAtMs,
|
|
37314
|
-
|
|
37315
|
-
)
|
|
37328
|
+
now()
|
|
37329
|
+
),
|
|
37330
|
+
active_attempts: active.size
|
|
37316
37331
|
});
|
|
37317
|
-
|
|
37318
|
-
|
|
37319
|
-
|
|
37332
|
+
} catch (error48) {
|
|
37333
|
+
emitDiagnostic("provider_rate_limits_refresh_failed", {
|
|
37334
|
+
failure_category: error48 instanceof CodexAppServerError ? error48.category : "adapter",
|
|
37335
|
+
failure_code: error48 instanceof CodexAppServerError ? error48.code : "provider_rate_limits_refresh_failed"
|
|
37336
|
+
});
|
|
37337
|
+
} finally {
|
|
37338
|
+
nextProviderRateLimitRefreshAt = now() + settings.providerRateLimitRefreshMs;
|
|
37339
|
+
providerRateLimitRefresh = null;
|
|
37320
37340
|
}
|
|
37321
|
-
|
|
37322
|
-
provider_weekly_quota: providerWeeklyQuotaFromRateLimits(
|
|
37323
|
-
providerRateLimits,
|
|
37324
|
-
providerRateLimitsObservedAtMs,
|
|
37325
|
-
now()
|
|
37326
|
-
),
|
|
37327
|
-
active_attempts: active.size
|
|
37328
|
-
});
|
|
37329
|
-
} catch (error48) {
|
|
37330
|
-
emitDiagnostic("provider_rate_limits_refresh_failed", {
|
|
37331
|
-
failure_category: error48 instanceof CodexAppServerError ? error48.category : "adapter",
|
|
37332
|
-
failure_code: error48 instanceof CodexAppServerError ? error48.code : "provider_rate_limits_refresh_failed"
|
|
37333
|
-
});
|
|
37334
|
-
} finally {
|
|
37335
|
-
nextProviderRateLimitRefreshAt = now() + settings.providerRateLimitRefreshMs;
|
|
37336
|
-
}
|
|
37341
|
+
});
|
|
37337
37342
|
}
|
|
37338
37343
|
const expiresAt = receipt.advertisement_expires_at ? Date.parse(receipt.advertisement_expires_at) : 0;
|
|
37339
37344
|
const renewalDue = currentTime >= nextAdvertisementAttemptAt && expiresAt - currentTime <= settings.advertisementRefreshLeadMs;
|
|
@@ -37497,6 +37502,14 @@ var init_runner = __esm({
|
|
|
37497
37502
|
0,
|
|
37498
37503
|
claimCallRoundTripMs - (claim.schema_version === "external_inference_job_claim_result_v3" ? claim.server_processing_ms : 0)
|
|
37499
37504
|
);
|
|
37505
|
+
emitDiagnostic("claim_batch_received", {
|
|
37506
|
+
claim_count: claim.claims.length,
|
|
37507
|
+
round_trip_ms: claimCallRoundTripMs,
|
|
37508
|
+
server_processing_ms: claim.schema_version === "external_inference_job_claim_result_v3" ? claim.server_processing_ms : null,
|
|
37509
|
+
transport_residual_ms: claimTransportResidualMs,
|
|
37510
|
+
minimum_freshness_remaining_ms: claim.claims.length ? Math.min(...claim.claims.map((item) => item.provider_dispatch_freshness_remaining_ms)) : null,
|
|
37511
|
+
active_attempts: active.size
|
|
37512
|
+
});
|
|
37500
37513
|
if (claim.claims.length === 0) {
|
|
37501
37514
|
await mutateReceipt((current) => ({
|
|
37502
37515
|
...current,
|
|
@@ -37674,6 +37687,7 @@ var init_runner = __esm({
|
|
|
37674
37687
|
const agentCleanup = Promise.allSettled([
|
|
37675
37688
|
agentLoop,
|
|
37676
37689
|
modelCatalogRefresh,
|
|
37690
|
+
providerRateLimitRefresh,
|
|
37677
37691
|
Promise.resolve().then(async () => {
|
|
37678
37692
|
await settings.agentRuntime?.adapter.close();
|
|
37679
37693
|
})
|