codex-multi-auth 2.5.0 → 2.6.1
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/.codex-plugin/plugin.json +9 -9
- package/README.md +4 -1
- package/config/codex-legacy.json +425 -0
- package/dist/lib/auth/browser.d.ts +4 -0
- package/dist/lib/auth/browser.d.ts.map +1 -1
- package/dist/lib/auth/browser.js +73 -19
- package/dist/lib/auth/callback-guidance.d.ts +39 -0
- package/dist/lib/auth/callback-guidance.d.ts.map +1 -0
- package/dist/lib/auth/callback-guidance.js +106 -0
- package/dist/lib/auth/server.d.ts.map +1 -1
- package/dist/lib/auth/server.js +1 -0
- package/dist/lib/codex-manager/commands/best.js +2 -2
- package/dist/lib/codex-manager/commands/forecast.js +4 -4
- package/dist/lib/codex-manager/commands/report.js +4 -4
- package/dist/lib/codex-manager/help.js +2 -2
- package/dist/lib/codex-manager/login-oauth.d.ts.map +1 -1
- package/dist/lib/codex-manager/login-oauth.js +11 -0
- package/dist/lib/codex-manager/quota-cache-helpers.d.ts +1 -1
- package/dist/lib/codex-manager/quota-cache-helpers.d.ts.map +1 -1
- package/dist/lib/codex-manager/quota-cache-helpers.js +2 -2
- package/dist/lib/codex-manager/repair-commands.js +4 -4
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +5 -1
- package/dist/lib/quota-probe.d.ts.map +1 -1
- package/dist/lib/quota-probe.js +5 -2
- package/dist/lib/request/helpers/model-map.d.ts +15 -1
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +45 -1
- package/dist/lib/runtime/quota-probe.d.ts.map +1 -1
- package/dist/lib/runtime/quota-probe.js +5 -2
- package/dist/lib/types.d.ts +6 -0
- package/dist/lib/types.d.ts.map +1 -1
- package/dist/lib/wsl.d.ts +28 -0
- package/dist/lib/wsl.d.ts.map +1 -0
- package/dist/lib/wsl.js +57 -0
- package/package.json +1 -1
- package/scripts/codex.js +129 -15
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Operator-facing guidance for OAuth callback failures on the fixed callback port.
|
|
3
|
+
*
|
|
4
|
+
* The redirect URI is registered with the provider, so the port cannot be
|
|
5
|
+
* negotiated away when it is contended. The best the CLI can do is name the
|
|
6
|
+
* likely conflict and point at a flow that does not need the port at all.
|
|
7
|
+
*
|
|
8
|
+
* Windows and WSL contend for that port as far as a browser running on the
|
|
9
|
+
* Windows host is concerned, so a listener on either side can swallow a callback
|
|
10
|
+
* intended for the other. From inside the distro this is invisible: the WSL
|
|
11
|
+
* listener binds cleanly and simply never receives the redirect.
|
|
12
|
+
*/
|
|
13
|
+
import { AUTH_REDIRECT } from "./auth.js";
|
|
14
|
+
import { getWslDistroName, isWsl } from "../wsl.js";
|
|
15
|
+
const INSPECT_WINDOWS = ` Windows (PowerShell): Get-NetTCPConnection -LocalPort ${AUTH_REDIRECT.port}`;
|
|
16
|
+
const INSPECT_LINUX = ` Linux / WSL: ss -lptn 'sport = :${AUTH_REDIRECT.port}'`;
|
|
17
|
+
const INSPECT_DARWIN = ` macOS: lsof -nP -iTCP:${AUTH_REDIRECT.port} -sTCP:LISTEN`;
|
|
18
|
+
const USE_DEVICE_AUTH = " Or sign in without the callback port: codex-multi-auth login --device-auth";
|
|
19
|
+
/**
|
|
20
|
+
* The commands that would reveal a listener on the callback port here.
|
|
21
|
+
*
|
|
22
|
+
* Inside WSL both sides of the boundary are worth checking, because the
|
|
23
|
+
* offending listener is usually the one on the Windows host.
|
|
24
|
+
*/
|
|
25
|
+
function inspectCommands() {
|
|
26
|
+
if (isWsl())
|
|
27
|
+
return [INSPECT_WINDOWS, INSPECT_LINUX];
|
|
28
|
+
if (process.platform === "win32")
|
|
29
|
+
return [INSPECT_WINDOWS];
|
|
30
|
+
if (process.platform === "darwin")
|
|
31
|
+
return [INSPECT_DARWIN];
|
|
32
|
+
return [INSPECT_LINUX];
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Why a listener on the other side of the Windows/WSL boundary may be at fault.
|
|
36
|
+
*
|
|
37
|
+
* @returns Explanatory lines, or an empty array when no WSL boundary is in play.
|
|
38
|
+
*/
|
|
39
|
+
function crossBoundaryNote() {
|
|
40
|
+
if (isWsl()) {
|
|
41
|
+
const distro = getWslDistroName();
|
|
42
|
+
const where = distro ? `WSL (${distro})` : "WSL";
|
|
43
|
+
return [
|
|
44
|
+
`You are running inside ${where}, but the browser opens on the Windows host.`,
|
|
45
|
+
`Windows and ${where} contend for localhost:${AUTH_REDIRECT.port}, so a codex-multi-auth`,
|
|
46
|
+
"or Codex login or proxy on the Windows side can take the callback meant for this one.",
|
|
47
|
+
];
|
|
48
|
+
}
|
|
49
|
+
if (process.platform === "win32") {
|
|
50
|
+
return [
|
|
51
|
+
`A codex-multi-auth login or proxy running inside WSL can also hold port ${AUTH_REDIRECT.port}.`,
|
|
52
|
+
];
|
|
53
|
+
}
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Build the lines shown to the user when a browser OAuth callback fails.
|
|
58
|
+
*
|
|
59
|
+
* Contention is only *asserted* when it was actually observed — that is, the
|
|
60
|
+
* listen failed with `EADDRINUSE`. A callback that never arrives is far more
|
|
61
|
+
* often a cancelled or abandoned sign-in than a stolen redirect, so that case
|
|
62
|
+
* is phrased as a conditional ("if you completed sign-in and still landed
|
|
63
|
+
* here") rather than a diagnosis.
|
|
64
|
+
*
|
|
65
|
+
* @param reason - Which half of the callback flow broke.
|
|
66
|
+
* @param context - Extra detail from the failed bind, when available.
|
|
67
|
+
* @returns Guidance lines. Empty strings are intentional blank separators.
|
|
68
|
+
*/
|
|
69
|
+
export function describeCallbackFailure(reason, context = {}) {
|
|
70
|
+
const port = AUTH_REDIRECT.port;
|
|
71
|
+
if (reason === "bind-failed") {
|
|
72
|
+
// A failed listen is hard evidence: something is on the port right now.
|
|
73
|
+
if (context.bindErrorCode === "EADDRINUSE") {
|
|
74
|
+
return [
|
|
75
|
+
`Could not listen on port ${port} for the OAuth callback — another process already holds it.`,
|
|
76
|
+
...crossBoundaryNote(),
|
|
77
|
+
"",
|
|
78
|
+
`Find the listener:`,
|
|
79
|
+
...inspectCommands(),
|
|
80
|
+
"",
|
|
81
|
+
"Close it, then retry.",
|
|
82
|
+
USE_DEVICE_AUTH,
|
|
83
|
+
];
|
|
84
|
+
}
|
|
85
|
+
return [
|
|
86
|
+
`Could not listen on port ${port} for the OAuth callback${context.bindErrorCode ? ` (${context.bindErrorCode})` : ""}.`,
|
|
87
|
+
"",
|
|
88
|
+
"The callback port is fixed by the provider and cannot be changed.",
|
|
89
|
+
USE_DEVICE_AUTH,
|
|
90
|
+
];
|
|
91
|
+
}
|
|
92
|
+
// The listener bound cleanly and nothing arrived. Usually the sign-in was
|
|
93
|
+
// simply cancelled or abandoned — say so first, and do not misdiagnose it.
|
|
94
|
+
return [
|
|
95
|
+
`No OAuth callback arrived on port ${port} before the sign-in window closed.`,
|
|
96
|
+
"",
|
|
97
|
+
"If you closed or cancelled the browser sign-in, just run login again.",
|
|
98
|
+
"",
|
|
99
|
+
"If you completed sign-in in the browser and still landed here, something else",
|
|
100
|
+
`may have taken the callback on port ${port}:`,
|
|
101
|
+
...crossBoundaryNote(),
|
|
102
|
+
...inspectCommands(),
|
|
103
|
+
"",
|
|
104
|
+
USE_DEVICE_AUTH,
|
|
105
|
+
];
|
|
106
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/auth/server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAWnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,EACrC,KAAK,GACL,EAAE;IACF,KAAK,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../lib/auth/server.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAWnD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,EACrC,KAAK,GACL,EAAE;IACF,KAAK,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,eAAe,CAAC,CAiH3B"}
|
package/dist/lib/auth/server.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describeCodexProbeFailure } from "../../quota-probe.js";
|
|
2
|
-
import {
|
|
2
|
+
import { resolveNormalizedModel } from "../../request/helpers/model-map.js";
|
|
3
3
|
import { DEFAULT_LIVE_PROBE_MODEL } from "../quota-cache-helpers.js";
|
|
4
4
|
/**
|
|
5
5
|
* Usage text and argument parsing for `best`. Previously module-private in
|
|
@@ -79,7 +79,7 @@ export async function runBestCommand(args, deps) {
|
|
|
79
79
|
return 1;
|
|
80
80
|
}
|
|
81
81
|
const options = parsedArgs.options;
|
|
82
|
-
const probeModel = resolveNormalizedModel(options.model?.trim() ||
|
|
82
|
+
const probeModel = resolveNormalizedModel(options.model?.trim() || DEFAULT_LIVE_PROBE_MODEL);
|
|
83
83
|
if (options.modelProvided && !options.live) {
|
|
84
84
|
logError("--model requires --live for codex-multi-auth best");
|
|
85
85
|
deps.printBestUsage();
|
|
@@ -2,7 +2,7 @@ import { extractAccountEmail, sanitizeEmail } from "../../accounts.js";
|
|
|
2
2
|
import { buildForecastExplanation, } from "../../forecast.js";
|
|
3
3
|
import { applyRefreshedAccountPatch, persistRefreshedAccountPatch, serializeForecastResults, } from "../forecast-report-shared.js";
|
|
4
4
|
import { describeCodexProbeFailure } from "../../quota-probe.js";
|
|
5
|
-
import {
|
|
5
|
+
import { DEFAULT_PROBE_MODEL, resolveNormalizedModel } from "../../request/helpers/model-map.js";
|
|
6
6
|
function joinStyledSegments(parts, styleText) {
|
|
7
7
|
if (parts.length === 0)
|
|
8
8
|
return "";
|
|
@@ -17,7 +17,7 @@ function printForecastUsage(logInfo) {
|
|
|
17
17
|
" --live, -l Probe live quota headers via Codex backend",
|
|
18
18
|
" --json, -j Print machine-readable JSON output",
|
|
19
19
|
" --explain Include structured recommendation reasoning",
|
|
20
|
-
` --model, -m Probe model for live mode (default: ${
|
|
20
|
+
` --model, -m Probe model for live mode (default: ${DEFAULT_PROBE_MODEL})`,
|
|
21
21
|
" --no-runtime-overlay Ignore persisted runtime skip diagnostics",
|
|
22
22
|
].join("\n"));
|
|
23
23
|
}
|
|
@@ -26,7 +26,7 @@ function parseForecastArgs(args) {
|
|
|
26
26
|
live: false,
|
|
27
27
|
json: false,
|
|
28
28
|
explain: false,
|
|
29
|
-
model:
|
|
29
|
+
model: DEFAULT_PROBE_MODEL,
|
|
30
30
|
runtimeOverlay: true,
|
|
31
31
|
};
|
|
32
32
|
for (let i = 0; i < args.length; i += 1) {
|
|
@@ -84,7 +84,7 @@ export async function runForecastCommand(args, deps) {
|
|
|
84
84
|
return 1;
|
|
85
85
|
}
|
|
86
86
|
const options = parsedArgs.options;
|
|
87
|
-
const requestedModel = options.model?.trim() ||
|
|
87
|
+
const requestedModel = options.model?.trim() || DEFAULT_PROBE_MODEL;
|
|
88
88
|
const probeModel = resolveNormalizedModel(requestedModel);
|
|
89
89
|
const display = deps.loadDashboardDisplaySettings
|
|
90
90
|
? (await deps.loadDashboardDisplaySettings().catch(() => null)) ??
|
|
@@ -4,7 +4,7 @@ import { extractAccountEmail, extractAccountId, formatAccountLabel, sanitizeEmai
|
|
|
4
4
|
import { evaluateForecastAccounts, recommendForecastAccount, summarizeForecast, } from "../../forecast.js";
|
|
5
5
|
import { applyRefreshedAccountPatch, persistRefreshedAccountPatch, serializeForecastResults, } from "../forecast-report-shared.js";
|
|
6
6
|
import { formatQuotaSnapshotLine, describeCodexProbeFailure, } from "../../quota-probe.js";
|
|
7
|
-
import {
|
|
7
|
+
import { DEFAULT_PROBE_MODEL, getModelCapabilities, getModelProfile, resolveNormalizedModel, } from "../../request/helpers/model-map.js";
|
|
8
8
|
import { sleep } from "../../utils.js";
|
|
9
9
|
import { tempPathFor } from "../../temp-path.js";
|
|
10
10
|
function parsePositiveIntegerOption(rawValue) {
|
|
@@ -31,7 +31,7 @@ function printReportUsage(logInfo) {
|
|
|
31
31
|
" --live, -l Probe live quota headers via Codex backend",
|
|
32
32
|
" --json, -j Print machine-readable JSON output",
|
|
33
33
|
" --explain Print per-account reasoning in text mode",
|
|
34
|
-
` --model, -m Probe model for live mode (default: ${
|
|
34
|
+
` --model, -m Probe model for live mode (default: ${DEFAULT_PROBE_MODEL})`,
|
|
35
35
|
" --max-accounts N Limit how many enabled accounts live mode can consider",
|
|
36
36
|
" --max-probes N Limit how many live quota probes can run",
|
|
37
37
|
" --cached-only Skip refreshes and only use already-usable access tokens",
|
|
@@ -43,7 +43,7 @@ function parseReportArgs(args) {
|
|
|
43
43
|
live: false,
|
|
44
44
|
json: false,
|
|
45
45
|
explain: false,
|
|
46
|
-
model:
|
|
46
|
+
model: DEFAULT_PROBE_MODEL,
|
|
47
47
|
cachedOnly: false,
|
|
48
48
|
};
|
|
49
49
|
for (let i = 0; i < args.length; i += 1) {
|
|
@@ -209,7 +209,7 @@ export async function runReportCommand(args, deps) {
|
|
|
209
209
|
return 1;
|
|
210
210
|
}
|
|
211
211
|
const options = parsedArgs.options;
|
|
212
|
-
const requestedModel = options.model?.trim() ||
|
|
212
|
+
const requestedModel = options.model?.trim() || DEFAULT_PROBE_MODEL;
|
|
213
213
|
const modelInspection = inspectRequestedModel(requestedModel);
|
|
214
214
|
deps.setStoragePath(null);
|
|
215
215
|
const storagePath = deps.getStoragePath();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
const DEFAULT_LIVE_PROBE_MODEL =
|
|
1
|
+
import { DEFAULT_PROBE_MODEL } from "../request/helpers/model-map.js";
|
|
2
|
+
const DEFAULT_LIVE_PROBE_MODEL = DEFAULT_PROBE_MODEL;
|
|
3
3
|
export function printUsage() {
|
|
4
4
|
console.log([
|
|
5
5
|
"Codex Multi-Auth CLI",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-oauth.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/login-oauth.ts"],"names":[],"mappings":"AAEA,OAAO,EAON,KAAK,SAAS,EACd,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"login-oauth.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/login-oauth.ts"],"names":[],"mappings":"AAEA,OAAO,EAON,KAAK,SAAS,EACd,MAAM,gBAAgB,CAAC;AAsBxB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE,OAAO,EACN,KAAK,uBAAuB,EAG5B,MAAM,yBAAyB,CAAC;AAOjC;;;;;GAKG;AAEH,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AACrE,gBAAgB;AAChB,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CACzB,CAAC;AAIF,gBAAgB;AAChB,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,GAC/C,OAAO,CAGT;AAED,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,YAAY,EACpB,WAAW,CAAC,EAAE,MAAM,GAClB,uBAAuB,CA+DzB;AA0FD,gBAAgB;AAChB,MAAM,MAAM,eAAe,GACxB,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,gBAAgB,GAChB,QAAQ,CAAC;AACZ,gBAAgB;AAChB,MAAM,MAAM,iBAAiB,GAAG;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,gBAAgB;AAChB,wBAAsB,YAAY,CACjC,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC,GACxD,OAAO,CAAC,WAAW,CAAC,CAsItB;AAED,gBAAgB;AAChB,wBAAsB,aAAa,CAClC,aAAa,EAAE,OAAO,EACtB,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC,EACrE,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAetB;AAED,gBAAgB;AAChB,MAAM,MAAM,yBAAyB,GAAG,uBAAuB,CAAC;AAEhE,gBAAgB;AAChB,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,uBAAuB,EAAE,EAClC,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAuD3C;AAED,gBAAgB;AAChB,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,uBAAuB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -6,6 +6,7 @@ import { copyTextToClipboard, openBrowserUrl, } from "../auth/browser.js";
|
|
|
6
6
|
import { runDeviceAuthFlow } from "../auth/device-auth.js";
|
|
7
7
|
import { resolveOrgOverride } from "../auth/org-override.js";
|
|
8
8
|
import { startLocalOAuthServer } from "../auth/server.js";
|
|
9
|
+
import { describeCallbackFailure } from "../auth/callback-guidance.js";
|
|
9
10
|
import { setCodexCliActiveSelection } from "../codex-cli/writer.js";
|
|
10
11
|
import { createLogger } from "../logger.js";
|
|
11
12
|
import { MODEL_FAMILIES } from "../prompts/codex.js";
|
|
@@ -230,6 +231,16 @@ export async function runOAuthFlow(forceNewLogin, signInMode) {
|
|
|
230
231
|
: signInMode === "manual"
|
|
231
232
|
? UI_COPY.oauth.callbackBypassed
|
|
232
233
|
: UI_COPY.oauth.callbackUnavailable, "warning"));
|
|
234
|
+
// Explain *why* the callback failed before dropping the user into the
|
|
235
|
+
// manual-paste prompt. A contended port 1455 — most often a Windows
|
|
236
|
+
// listener shadowing a WSL one, or vice versa — otherwise presents as
|
|
237
|
+
// an unexplained broken login.
|
|
238
|
+
if (signInMode === "browser") {
|
|
239
|
+
const failureLines = describeCallbackFailure(waitingForCallback ? "callback-timeout" : "bind-failed", { bindErrorCode: oauthServer?.bindErrorCode });
|
|
240
|
+
for (const line of failureLines) {
|
|
241
|
+
console.log(line.length > 0 ? stylePromptText(line, "muted") : "");
|
|
242
|
+
}
|
|
243
|
+
}
|
|
233
244
|
const manualResult = await promptManualCallback(state, {
|
|
234
245
|
allowNonTty: signInMode === "manual",
|
|
235
246
|
});
|
|
@@ -10,7 +10,7 @@ import type { AccountMetadataV3 } from "../storage.js";
|
|
|
10
10
|
* implementation.
|
|
11
11
|
*/
|
|
12
12
|
/** Default model used for live quota probes across manager commands. */
|
|
13
|
-
export declare const DEFAULT_LIVE_PROBE_MODEL = "gpt-5.
|
|
13
|
+
export declare const DEFAULT_LIVE_PROBE_MODEL = "gpt-5.6-sol";
|
|
14
14
|
export declare function getPersistedQuotaViewForAccount(cache: QuotaCacheData | null, account: Pick<AccountMetadataV3, "accountId" | "email" | "rateLimitResetTimes">, accounts: readonly Pick<AccountMetadataV3, "accountId" | "email">[], now: number, emailFallbackState?: ReadonlyMap<string, import("../quota-readiness.js").QuotaEmailFallbackState>): QuotaCacheEntry | null;
|
|
15
15
|
export declare function updateQuotaCacheForAccount(cache: QuotaCacheData, account: Pick<AccountMetadataV3, "accountId" | "email">, snapshot: CodexQuotaSnapshot, accounts: readonly Pick<AccountMetadataV3, "accountId" | "email">[], emailFallbackState?: ReadonlyMap<string, import("../quota-readiness.js").QuotaEmailFallbackState>): boolean;
|
|
16
16
|
export declare function cloneQuotaCacheData(cache: QuotaCacheData): QuotaCacheData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-cache-helpers.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/quota-cache-helpers.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"quota-cache-helpers.d.ts","sourceRoot":"","sources":["../../../lib/codex-manager/quota-cache-helpers.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;GAOG;AAEH,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,gBAAsB,CAAC;AA2B5D,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,cAAc,GAAG,IAAI,EAC5B,OAAO,EAAE,IAAI,CACZ,iBAAiB,EACjB,WAAW,GAAG,OAAO,GAAG,qBAAqB,CAC7C,EACD,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,GAAG,EAAE,MAAM,EACX,kBAAkB,+EAAyC,GACzD,eAAe,GAAG,IAAI,CA+BxB;AAED,wBAAgB,0BAA0B,CACzC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EACvD,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,kBAAkB,+EAAyC,GACzD,OAAO,CAuCT;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,cAAc,GAAG,cAAc,CAOzE;AAED,wBAAgB,+BAA+B,CAC9C,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,SAAS,IAAI,CAAC,iBAAiB,EAAE,WAAW,GAAG,OAAO,CAAC,EAAE,EACnE,kBAAkB,+EAAyC,GACzD,OAAO,CAeT"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { buildQuotaEmailFallbackState, hasSafeQuotaEmailFallback, hasUniqueQuotaAccountId, normalizeQuotaAccountId, normalizeQuotaEmail, } from "../quota-readiness.js";
|
|
2
|
-
import { DEFAULT_MODEL } from "../request/helpers/model-map.js";
|
|
2
|
+
import { DEFAULT_MODEL, DEFAULT_PROBE_MODEL, } from "../request/helpers/model-map.js";
|
|
3
3
|
import { getRateLimitResetTimeForFamily } from "../runtime/account-status.js";
|
|
4
4
|
/**
|
|
5
5
|
* Quota-cache lookup/update helpers shared by the manager CLI commands (audit
|
|
@@ -10,7 +10,7 @@ import { getRateLimitResetTimeForFamily } from "../runtime/account-status.js";
|
|
|
10
10
|
* implementation.
|
|
11
11
|
*/
|
|
12
12
|
/** Default model used for live quota probes across manager commands. */
|
|
13
|
-
export const DEFAULT_LIVE_PROBE_MODEL =
|
|
13
|
+
export const DEFAULT_LIVE_PROBE_MODEL = DEFAULT_PROBE_MODEL;
|
|
14
14
|
function getQuotaCacheEntryForAccount(cache, account, accounts, emailFallbackState = buildQuotaEmailFallbackState(accounts)) {
|
|
15
15
|
const accountId = normalizeQuotaAccountId(account.accountId);
|
|
16
16
|
if (accountId &&
|
|
@@ -11,7 +11,7 @@ import { findMatchingAccountIndex, getStoragePath, loadAccounts, loadFlaggedAcco
|
|
|
11
11
|
import { getCodexCliAuthPath, getCodexCliConfigPath, loadCodexCliState, } from "../codex-cli/state.js";
|
|
12
12
|
import { setCodexCliActiveSelection } from "../codex-cli/writer.js";
|
|
13
13
|
import { MODEL_FAMILIES } from "../prompts/codex.js";
|
|
14
|
-
import {
|
|
14
|
+
import { DEFAULT_PROBE_MODEL, resolveNormalizedModel } from "../request/helpers/model-map.js";
|
|
15
15
|
import { loadPersistedRuntimeObservabilitySnapshot } from "../runtime/runtime-observability.js";
|
|
16
16
|
function printFixUsage() {
|
|
17
17
|
console.log([
|
|
@@ -22,7 +22,7 @@ function printFixUsage() {
|
|
|
22
22
|
" --dry-run, -n Preview changes without writing storage",
|
|
23
23
|
" --json, -j Print machine-readable JSON output",
|
|
24
24
|
" --live, -l Run live session probe before deciding health",
|
|
25
|
-
` --model, -m Probe model for live mode (default: ${
|
|
25
|
+
` --model, -m Probe model for live mode (default: ${DEFAULT_PROBE_MODEL})`,
|
|
26
26
|
"",
|
|
27
27
|
"Behavior:",
|
|
28
28
|
" - Refreshes tokens for enabled accounts",
|
|
@@ -66,7 +66,7 @@ export function parseFixArgs(args) {
|
|
|
66
66
|
dryRun: false,
|
|
67
67
|
json: false,
|
|
68
68
|
live: false,
|
|
69
|
-
model:
|
|
69
|
+
model: DEFAULT_PROBE_MODEL,
|
|
70
70
|
};
|
|
71
71
|
for (let i = 0; i < args.length; i += 1) {
|
|
72
72
|
const argValue = args[i];
|
|
@@ -822,7 +822,7 @@ export async function runFix(args, deps) {
|
|
|
822
822
|
return 1;
|
|
823
823
|
}
|
|
824
824
|
const options = parsedArgs.options;
|
|
825
|
-
const probeModel = resolveNormalizedModel(options.model.trim() ||
|
|
825
|
+
const probeModel = resolveNormalizedModel(options.model.trim() || DEFAULT_PROBE_MODEL);
|
|
826
826
|
const display = DEFAULT_DASHBOARD_DISPLAY_SETTINGS;
|
|
827
827
|
const quotaCache = options.live ? await loadQuotaCache() : null;
|
|
828
828
|
const workingQuotaCache = quotaCache ? deps.cloneQuotaCacheData(quotaCache) : null;
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAoE/C,MAAM,MAAM,sBAAsB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE3D,KAAK,wBAAwB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,CAAC;AAE3E,KAAK,yBAAyB,GAAG,OAAO,CACvC,wBAAwB,EACxB,SAAS,GAAG,MAAM,CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,yBAAyB,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE,MAAM,YAAY,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,wBAAwB,CAAC;IACtC,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC9B;AAUD,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAoED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -144,7 +144,11 @@ export const DEFAULT_PLUGIN_CONFIG = {
|
|
|
144
144
|
rateLimitStateResetMs: 120_000,
|
|
145
145
|
rateLimitMaxBackoffMs: 60_000,
|
|
146
146
|
rateLimitShortRetryThresholdMs: 5_000,
|
|
147
|
-
|
|
147
|
+
// Default-on so parallel `codex-multi-auth-codex` processes (e.g. many agents
|
|
148
|
+
// run concurrently) each bias toward a different account, reducing cascading
|
|
149
|
+
// 429s under high parallelism (#628). No-op for single-account pools; a manual
|
|
150
|
+
// pin and health/quota scoring still take precedence over the small offset.
|
|
151
|
+
pidOffsetEnabled: true,
|
|
148
152
|
fetchTimeoutMs: 60_000,
|
|
149
153
|
streamStallTimeoutMs: 45_000,
|
|
150
154
|
liveAccountSync: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-probe.d.ts","sourceRoot":"","sources":["../../lib/quota-probe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota-probe.d.ts","sourceRoot":"","sources":["../../lib/quota-probe.ts"],"names":[],"mappings":"AAYA;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,yCAAyC,CAAC;AAEnF;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GACrC,MAAM,CAMR;AAED,MAAM,WAAW,gBAAgB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;CACd;AAiQD;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAa5E;AAED,MAAM,WAAW,sBAAsB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,uBAAuB,CAC5C,OAAO,EAAE,sBAAsB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CA4G7B"}
|
package/dist/lib/quota-probe.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CODEX_BASE_URL } from "./constants.js";
|
|
2
2
|
import { createCodexHeaders, getUnsupportedCodexModelInfo } from "./request/fetch-helpers.js";
|
|
3
|
-
import { QUOTA_PROBE_MODEL_CHAIN } from "./request/helpers/model-map.js";
|
|
3
|
+
import { QUOTA_PROBE_MODEL_CHAIN, resolveProbeReasoningEffort, } from "./request/helpers/model-map.js";
|
|
4
4
|
import { CodexUnavailableError, isCodexUnavailableError } from "./errors.js";
|
|
5
5
|
import { getCodexInstructions } from "./prompts/codex.js";
|
|
6
6
|
import { mutateRuntimeObservabilitySnapshot } from "./runtime/runtime-observability.js";
|
|
@@ -338,7 +338,10 @@ export async function fetchCodexQuotaSnapshot(options) {
|
|
|
338
338
|
content: [{ type: "input_text", text: "quota ping" }],
|
|
339
339
|
},
|
|
340
340
|
],
|
|
341
|
-
|
|
341
|
+
// Send the cheapest effort each probe model actually declares (the
|
|
342
|
+
// GPT-5.6 tiers and codex models do not list `none`), keeping the
|
|
343
|
+
// probe consistent with normal request routing (issue #627).
|
|
344
|
+
reasoning: { effort: resolveProbeReasoningEffort(model), summary: "auto" },
|
|
342
345
|
text: { verbosity: "low" },
|
|
343
346
|
};
|
|
344
347
|
const headers = createCodexHeaders(undefined, options.accountId, options.accessToken, {
|
|
@@ -33,7 +33,8 @@ export interface ModelProfile {
|
|
|
33
33
|
}
|
|
34
34
|
export declare const CURRENT_CODEX_MODEL = "gpt-5.3-codex";
|
|
35
35
|
export declare const DEFAULT_MODEL = "gpt-5.5";
|
|
36
|
-
export declare const
|
|
36
|
+
export declare const DEFAULT_PROBE_MODEL = "gpt-5.6-sol";
|
|
37
|
+
export declare const QUOTA_PROBE_MODEL_CHAIN: readonly ["gpt-5.6-sol", "gpt-5.5", "gpt-5.4", "gpt-5.3-codex", "gpt-5.2-codex", "gpt-5-codex"];
|
|
37
38
|
/**
|
|
38
39
|
* Effective model profiles keyed by canonical model name.
|
|
39
40
|
*
|
|
@@ -68,6 +69,19 @@ export declare function getModelProfile(model: string | undefined): ModelProfile
|
|
|
68
69
|
* Expose current tool-surface metadata for diagnostics and capability checks.
|
|
69
70
|
*/
|
|
70
71
|
export declare function getModelCapabilities(model: string | undefined): ModelCapabilities;
|
|
72
|
+
/**
|
|
73
|
+
* Resolve the cheapest reasoning effort a probe model actually supports.
|
|
74
|
+
*
|
|
75
|
+
* A quota probe only needs the response's quota headers, so it wants the
|
|
76
|
+
* lowest-cost effort. Rather than hardcoding `none`, it sends the cheapest
|
|
77
|
+
* effort the probe model actually declares support for, mirroring how
|
|
78
|
+
* `getReasoningConfig` coerces a real request: the GPT-5.6 tiers and the codex
|
|
79
|
+
* models do not list `none`/`minimal` in the upstream catalog, so the probe
|
|
80
|
+
* sends `low` for them and `none` for the pre-5.6 general models that do
|
|
81
|
+
* (issue #627). Keeps the probe's effort consistent with normal routing and
|
|
82
|
+
* within each model's declared range. Never returns `ultra`.
|
|
83
|
+
*/
|
|
84
|
+
export declare function resolveProbeReasoningEffort(model: string | undefined): WireReasoningEffort;
|
|
71
85
|
/**
|
|
72
86
|
* Check if a model ID is in the explicit model map.
|
|
73
87
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-map.d.ts","sourceRoot":"","sources":["../../../../lib/request/helpers/model-map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EACX,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAC1B,aAAa,GACb,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEb;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAMvC,CAAC;AAEX,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,yBAAyB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,YAAY,EAAE,iBAAiB,CAAC;CAChC;AA6CD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,aAAa,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"model-map.d.ts","sourceRoot":"","sources":["../../../../lib/request/helpers/model-map.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EACX,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;AAE1D,MAAM,MAAM,iBAAiB,GAC1B,aAAa,GACb,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEb;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,WAAW,EAMvC,CAAC;AAEX,MAAM,WAAW,iBAAiB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,yBAAyB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,YAAY,EAAE,iBAAiB,CAAC;CAChC;AA6CD,eAAO,MAAM,mBAAmB,kBAAkB,CAAC;AACnD,eAAO,MAAM,aAAa,YAAY,CAAC;AAQvC,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAOjD,eAAO,MAAM,uBAAuB,iGAO1B,CAAC;AA4EX;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CA6G9C,CAAC;AAEX,QAAA,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,CAAC;AAqG7C,OAAO,EAAE,SAAS,EAAE,CAAC;AAoKrB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQtE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CA2BxE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY,CAavE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,iBAAiB,CAEjF;AAeD;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,GACvB,mBAAmB,CASrB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAErD"}
|
|
@@ -54,10 +54,20 @@ const TOOL_CAPABILITIES = {
|
|
|
54
54
|
};
|
|
55
55
|
export const CURRENT_CODEX_MODEL = "gpt-5.3-codex";
|
|
56
56
|
export const DEFAULT_MODEL = "gpt-5.5";
|
|
57
|
+
// Model used for diagnostic live/quota probes (`check`, `report`, `best`).
|
|
58
|
+
// Deliberately distinct from DEFAULT_MODEL: GPT-5.6 is the latest general family
|
|
59
|
+
// (issue #627), so the probe leads with it, while DEFAULT_MODEL stays on 5.5 so
|
|
60
|
+
// actual request routing and the legacy `gpt-5` alias remain opt-in per 2.5.0.
|
|
61
|
+
// Bare `gpt-5.6` aliases to Sol; we pin the canonical id so the probe display
|
|
62
|
+
// and report `modelSelection` read `gpt-5.6-sol` without a remap arrow.
|
|
63
|
+
export const DEFAULT_PROBE_MODEL = "gpt-5.6-sol";
|
|
57
64
|
// Single source of truth for the live/quota probe fallback chain. Both the
|
|
58
65
|
// manager probe (lib/quota-probe.ts) and the runtime probe (lib/runtime/quota-probe.ts)
|
|
59
|
-
// import this so the ordered candidate list cannot drift between them.
|
|
66
|
+
// import this so the ordered candidate list cannot drift between them. It leads
|
|
67
|
+
// with GPT-5.6 and steps down so accounts without 5.6 entitlement still resolve
|
|
68
|
+
// a working probe model.
|
|
60
69
|
export const QUOTA_PROBE_MODEL_CHAIN = [
|
|
70
|
+
DEFAULT_PROBE_MODEL,
|
|
61
71
|
DEFAULT_MODEL,
|
|
62
72
|
"gpt-5.4",
|
|
63
73
|
"gpt-5.3-codex",
|
|
@@ -501,6 +511,40 @@ export function getModelProfile(model) {
|
|
|
501
511
|
export function getModelCapabilities(model) {
|
|
502
512
|
return getModelProfile(model).capabilities;
|
|
503
513
|
}
|
|
514
|
+
// Cheapest-first ordering used to pick a quota-probe reasoning effort. `ultra`
|
|
515
|
+
// is intentionally absent: it never reaches the wire (upstream rewrites it to
|
|
516
|
+
// `max`) and would only ever be a more expensive choice than `max` anyway.
|
|
517
|
+
const PROBE_REASONING_EFFORT_PREFERENCE = [
|
|
518
|
+
"none",
|
|
519
|
+
"minimal",
|
|
520
|
+
"low",
|
|
521
|
+
"medium",
|
|
522
|
+
"high",
|
|
523
|
+
"xhigh",
|
|
524
|
+
"max",
|
|
525
|
+
];
|
|
526
|
+
/**
|
|
527
|
+
* Resolve the cheapest reasoning effort a probe model actually supports.
|
|
528
|
+
*
|
|
529
|
+
* A quota probe only needs the response's quota headers, so it wants the
|
|
530
|
+
* lowest-cost effort. Rather than hardcoding `none`, it sends the cheapest
|
|
531
|
+
* effort the probe model actually declares support for, mirroring how
|
|
532
|
+
* `getReasoningConfig` coerces a real request: the GPT-5.6 tiers and the codex
|
|
533
|
+
* models do not list `none`/`minimal` in the upstream catalog, so the probe
|
|
534
|
+
* sends `low` for them and `none` for the pre-5.6 general models that do
|
|
535
|
+
* (issue #627). Keeps the probe's effort consistent with normal routing and
|
|
536
|
+
* within each model's declared range. Never returns `ultra`.
|
|
537
|
+
*/
|
|
538
|
+
export function resolveProbeReasoningEffort(model) {
|
|
539
|
+
const profile = getModelProfile(model);
|
|
540
|
+
for (const effort of PROBE_REASONING_EFFORT_PREFERENCE) {
|
|
541
|
+
if (profile.supportedReasoningEfforts.includes(effort)) {
|
|
542
|
+
return effort;
|
|
543
|
+
}
|
|
544
|
+
}
|
|
545
|
+
const fallback = profile.defaultReasoningEffort;
|
|
546
|
+
return fallback === "ultra" ? "max" : fallback;
|
|
547
|
+
}
|
|
504
548
|
/**
|
|
505
549
|
* Check if a model ID is in the explicit model map.
|
|
506
550
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-probe.d.ts","sourceRoot":"","sources":["../../../lib/runtime/quota-probe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"quota-probe.d.ts","sourceRoot":"","sources":["../../../lib/runtime/quota-probe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAQnE,wBAAsB,8BAA8B,CAAC,MAAM,EAAE;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,kBAAkB,EAAE,CACnB,IAAI,EAAE,WAAW,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KACnB,OAAO,CAAC;IACb,uBAAuB,EAAE,CACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,KACV,wBAAwB,GAAG,IAAI,CAAC;IACrC,4BAA4B,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK;QACrD,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACF,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA8F9B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { QUOTA_PROBE_MODEL_CHAIN } from "../request/helpers/model-map.js";
|
|
1
|
+
import { QUOTA_PROBE_MODEL_CHAIN, resolveProbeReasoningEffort, } from "../request/helpers/model-map.js";
|
|
2
2
|
const QUOTA_PROBE_MODELS = QUOTA_PROBE_MODEL_CHAIN;
|
|
3
3
|
export async function fetchRuntimeCodexQuotaSnapshot(params) {
|
|
4
4
|
let lastError = null;
|
|
@@ -18,7 +18,10 @@ export async function fetchRuntimeCodexQuotaSnapshot(params) {
|
|
|
18
18
|
content: [{ type: "input_text", text: "quota ping" }],
|
|
19
19
|
},
|
|
20
20
|
],
|
|
21
|
-
|
|
21
|
+
// Send the cheapest effort each probe model actually declares (the
|
|
22
|
+
// GPT-5.6 tiers and codex models do not list `none`), keeping the
|
|
23
|
+
// probe consistent with normal request routing (issue #627).
|
|
24
|
+
reasoning: { effort: resolveProbeReasoningEffort(model), summary: "auto" },
|
|
22
25
|
text: { verbosity: "low" },
|
|
23
26
|
};
|
|
24
27
|
const headers = params.createCodexHeaders(undefined, params.accountId, params.accessToken, { model });
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -104,6 +104,12 @@ export type TextFormatConfig = {
|
|
|
104
104
|
export interface OAuthServerInfo {
|
|
105
105
|
port: number;
|
|
106
106
|
ready: boolean;
|
|
107
|
+
/**
|
|
108
|
+
* The `errno` code from a failed listen (for example `EADDRINUSE`) when
|
|
109
|
+
* `ready` is `false`. Lets callers distinguish a contended callback port
|
|
110
|
+
* from other bind failures. Absent when `ready` is `true`.
|
|
111
|
+
*/
|
|
112
|
+
bindErrorCode?: string;
|
|
107
113
|
close: () => void;
|
|
108
114
|
waitForCode: (state: string) => Promise<{
|
|
109
115
|
code: string;
|
package/dist/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../lib/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WSL (Windows Subsystem for Linux) detection.
|
|
3
|
+
*
|
|
4
|
+
* WSL reports `process.platform === "linux"`, so every platform switch in this
|
|
5
|
+
* package treats it as a native Linux host. That is wrong for anything crossing
|
|
6
|
+
* the Windows boundary: the default browser, the clipboard, and the loopback
|
|
7
|
+
* interface that receives the OAuth callback all belong to the Windows host
|
|
8
|
+
* rather than to the distro.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Whether the current process is running inside WSL.
|
|
12
|
+
*
|
|
13
|
+
* The result is cached because it cannot change within a process lifetime.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isWsl(): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* The WSL distro name (for example `Debian`), when WSL exposes it.
|
|
18
|
+
*
|
|
19
|
+
* @returns The distro name, or `undefined` outside WSL or when unset.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getWslDistroName(): string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Clear the memoized {@link isWsl} result.
|
|
24
|
+
*
|
|
25
|
+
* @internal Test seam — production code must not call this.
|
|
26
|
+
*/
|
|
27
|
+
export declare function resetWslDetectionCacheForTests(): void;
|
|
28
|
+
//# sourceMappingURL=wsl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsl.d.ts","sourceRoot":"","sources":["../../lib/wsl.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyBH;;;;GAIG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAK/B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAIrD;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
|