codex-multi-auth 2.0.0 → 2.0.2
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/README.md +13 -10
- package/config/README.md +4 -4
- package/config/codex-legacy.json +45 -120
- package/config/codex-modern.json +36 -52
- package/config/minimal-codex.json +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -14
- package/dist/index.js.map +1 -1
- package/dist/lib/auth/device-auth.d.ts +46 -0
- package/dist/lib/auth/device-auth.d.ts.map +1 -0
- package/dist/lib/auth/device-auth.js +325 -0
- package/dist/lib/auth/device-auth.js.map +1 -0
- package/dist/lib/auth/index.d.ts +2 -0
- package/dist/lib/auth/index.d.ts.map +1 -1
- package/dist/lib/auth/index.js +1 -0
- package/dist/lib/auth/index.js.map +1 -1
- package/dist/lib/auto-update-checker.d.ts +23 -1
- package/dist/lib/auto-update-checker.d.ts.map +1 -1
- package/dist/lib/auto-update-checker.js +481 -8
- package/dist/lib/auto-update-checker.js.map +1 -1
- package/dist/lib/cli.d.ts +5 -0
- package/dist/lib/cli.d.ts.map +1 -1
- package/dist/lib/cli.js.map +1 -1
- package/dist/lib/codex-manager/commands/best.js +1 -1
- package/dist/lib/codex-manager/commands/best.js.map +1 -1
- package/dist/lib/codex-manager/commands/forecast.js +3 -3
- package/dist/lib/codex-manager/commands/forecast.js.map +1 -1
- package/dist/lib/codex-manager/commands/report.js +3 -3
- package/dist/lib/codex-manager/commands/report.js.map +1 -1
- package/dist/lib/codex-manager/commands/rotation.d.ts +4 -0
- package/dist/lib/codex-manager/commands/rotation.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/rotation.js +37 -11
- package/dist/lib/codex-manager/commands/rotation.js.map +1 -1
- package/dist/lib/codex-manager/commands/status.d.ts +6 -0
- package/dist/lib/codex-manager/commands/status.d.ts.map +1 -1
- package/dist/lib/codex-manager/commands/status.js +26 -3
- package/dist/lib/codex-manager/commands/status.js.map +1 -1
- package/dist/lib/codex-manager/forecast-report-commands.js +4 -4
- package/dist/lib/codex-manager/forecast-report-commands.js.map +1 -1
- package/dist/lib/codex-manager/help.d.ts +1 -0
- package/dist/lib/codex-manager/help.d.ts.map +1 -1
- package/dist/lib/codex-manager/help.js +20 -3
- package/dist/lib/codex-manager/help.js.map +1 -1
- package/dist/lib/codex-manager/rate-limit-markers.d.ts +2 -0
- package/dist/lib/codex-manager/rate-limit-markers.d.ts.map +1 -0
- package/dist/lib/codex-manager/rate-limit-markers.js +4 -0
- package/dist/lib/codex-manager/rate-limit-markers.js.map +1 -0
- package/dist/lib/codex-manager/repair-commands.js +3 -3
- package/dist/lib/codex-manager/repair-commands.js.map +1 -1
- package/dist/lib/codex-manager.d.ts.map +1 -1
- package/dist/lib/codex-manager.js +78 -91
- package/dist/lib/codex-manager.js.map +1 -1
- package/dist/lib/config.js +2 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/prompts/codex.d.ts +1 -1
- package/dist/lib/prompts/codex.d.ts.map +1 -1
- package/dist/lib/prompts/codex.js +3 -3
- package/dist/lib/prompts/codex.js.map +1 -1
- package/dist/lib/quota-probe.js +1 -1
- package/dist/lib/quota-probe.js.map +1 -1
- package/dist/lib/quota-readiness.d.ts +16 -0
- package/dist/lib/quota-readiness.d.ts.map +1 -0
- package/dist/lib/quota-readiness.js +82 -0
- package/dist/lib/quota-readiness.js.map +1 -0
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +19 -8
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/helpers/model-map.d.ts +2 -1
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +52 -60
- package/dist/lib/request/helpers/model-map.js.map +1 -1
- package/dist/lib/request/request-transformer.d.ts +2 -2
- package/dist/lib/request/request-transformer.js +4 -3
- package/dist/lib/request/request-transformer.js.map +1 -1
- package/dist/lib/runtime/login-menu-accounts.d.ts +5 -0
- package/dist/lib/runtime/login-menu-accounts.d.ts.map +1 -1
- package/dist/lib/runtime/login-menu-accounts.js +7 -2
- package/dist/lib/runtime/login-menu-accounts.js.map +1 -1
- package/dist/lib/runtime/quota-probe.js +1 -1
- package/dist/lib/runtime/quota-probe.js.map +1 -1
- package/dist/lib/runtime/runtime-current-account.d.ts +52 -0
- package/dist/lib/runtime/runtime-current-account.d.ts.map +1 -0
- package/dist/lib/runtime/runtime-current-account.js +252 -0
- package/dist/lib/runtime/runtime-current-account.js.map +1 -0
- package/dist/lib/runtime-rotation-proxy.js +1 -1
- package/dist/lib/runtime-rotation-proxy.js.map +1 -1
- package/dist/lib/schemas.d.ts +3 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +1 -0
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/ui/auth-menu.d.ts +6 -1
- package/dist/lib/ui/auth-menu.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.js +22 -2
- package/dist/lib/ui/auth-menu.js.map +1 -1
- package/package.json +1 -1
- package/scripts/bench-format/codex-host.mjs +142 -142
- package/scripts/bench-format/models.mjs +20 -22
- package/scripts/benchmark-edit-formats.mjs +9 -9
- package/scripts/codex-app-router.js +121 -121
- package/scripts/codex.js +3636 -3473
- package/scripts/postinstall.js +120 -14
|
@@ -0,0 +1,325 @@
|
|
|
1
|
+
import { CLIENT_ID, exchangeAuthorizationCode, sanitizeOAuthResponseBodyForLog, } from "./auth.js";
|
|
2
|
+
export const DEVICE_AUTH_BASE_URL = "https://auth.openai.com";
|
|
3
|
+
export const DEVICE_AUTH_API_BASE_URL = `${DEVICE_AUTH_BASE_URL}/api/accounts`;
|
|
4
|
+
export const DEVICE_AUTH_VERIFICATION_URL = `${DEVICE_AUTH_BASE_URL}/codex/device`;
|
|
5
|
+
export const DEVICE_AUTH_REDIRECT_URI = `${DEVICE_AUTH_BASE_URL}/deviceauth/callback`;
|
|
6
|
+
export const DEVICE_AUTH_TIMEOUT_MS = 15 * 60 * 1000;
|
|
7
|
+
export const DEVICE_AUTH_DEFAULT_INTERVAL_MS = 5_000;
|
|
8
|
+
const DEVICE_AUTH_ABORTED_MESSAGE = "aborted";
|
|
9
|
+
const DEVICE_AUTH_TRANSIENT_PENDING_STATUSES = new Set([
|
|
10
|
+
408,
|
|
11
|
+
429,
|
|
12
|
+
502,
|
|
13
|
+
503,
|
|
14
|
+
504,
|
|
15
|
+
]);
|
|
16
|
+
function getFetch(options) {
|
|
17
|
+
return options.fetchImpl ?? fetch;
|
|
18
|
+
}
|
|
19
|
+
function getNow(options) {
|
|
20
|
+
return options.now ?? Date.now;
|
|
21
|
+
}
|
|
22
|
+
function unrefTimer(timer) {
|
|
23
|
+
timer.unref?.();
|
|
24
|
+
}
|
|
25
|
+
function getSleep(options) {
|
|
26
|
+
return (options.sleep ??
|
|
27
|
+
((ms) => new Promise((resolve) => {
|
|
28
|
+
const timeout = setTimeout(resolve, ms);
|
|
29
|
+
unrefTimer(timeout);
|
|
30
|
+
})));
|
|
31
|
+
}
|
|
32
|
+
function getRandom(options) {
|
|
33
|
+
return options.random ?? Math.random;
|
|
34
|
+
}
|
|
35
|
+
function failedResult(reason, message, statusCode) {
|
|
36
|
+
return {
|
|
37
|
+
type: "failed",
|
|
38
|
+
reason,
|
|
39
|
+
statusCode,
|
|
40
|
+
message,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
function createAbortError() {
|
|
44
|
+
const error = new Error(DEVICE_AUTH_ABORTED_MESSAGE);
|
|
45
|
+
error.name = "AbortError";
|
|
46
|
+
return error;
|
|
47
|
+
}
|
|
48
|
+
function isAbortError(error) {
|
|
49
|
+
return error instanceof Error && error.name === "AbortError";
|
|
50
|
+
}
|
|
51
|
+
function abortedResult() {
|
|
52
|
+
return failedResult("network_error", DEVICE_AUTH_ABORTED_MESSAGE);
|
|
53
|
+
}
|
|
54
|
+
function sleepWithAbort(ms, options) {
|
|
55
|
+
const signal = options.signal;
|
|
56
|
+
if (!signal) {
|
|
57
|
+
return getSleep(options)(ms);
|
|
58
|
+
}
|
|
59
|
+
if (signal.aborted) {
|
|
60
|
+
return Promise.reject(createAbortError());
|
|
61
|
+
}
|
|
62
|
+
const customSleep = options.sleep;
|
|
63
|
+
if (customSleep) {
|
|
64
|
+
let removeAbortListener = () => { };
|
|
65
|
+
const abortPromise = new Promise((_resolve, reject) => {
|
|
66
|
+
const onAbort = () => reject(createAbortError());
|
|
67
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
68
|
+
removeAbortListener = () => signal.removeEventListener("abort", onAbort);
|
|
69
|
+
});
|
|
70
|
+
return Promise.race([customSleep(ms), abortPromise]).finally(removeAbortListener);
|
|
71
|
+
}
|
|
72
|
+
return new Promise((resolve, reject) => {
|
|
73
|
+
const onAbort = () => {
|
|
74
|
+
clearTimeout(timeout);
|
|
75
|
+
cleanup();
|
|
76
|
+
reject(createAbortError());
|
|
77
|
+
};
|
|
78
|
+
const cleanup = () => signal.removeEventListener("abort", onAbort);
|
|
79
|
+
const timeout = setTimeout(() => {
|
|
80
|
+
cleanup();
|
|
81
|
+
resolve();
|
|
82
|
+
}, ms);
|
|
83
|
+
unrefTimer(timeout);
|
|
84
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function formatWaitBudget(timeoutMs) {
|
|
88
|
+
const totalSeconds = Math.max(1, Math.ceil(timeoutMs / 1000));
|
|
89
|
+
if (totalSeconds < 60) {
|
|
90
|
+
return `${totalSeconds} second${totalSeconds === 1 ? "" : "s"}`;
|
|
91
|
+
}
|
|
92
|
+
const totalMinutes = Math.ceil(totalSeconds / 60);
|
|
93
|
+
return `${totalMinutes} minute${totalMinutes === 1 ? "" : "s"}`;
|
|
94
|
+
}
|
|
95
|
+
function isPendingStatus(status) {
|
|
96
|
+
return (status === 403 ||
|
|
97
|
+
status === 404 ||
|
|
98
|
+
DEVICE_AUTH_TRANSIENT_PENDING_STATUSES.has(status));
|
|
99
|
+
}
|
|
100
|
+
function parseRetryAfterMs(value, nowMs) {
|
|
101
|
+
if (!value)
|
|
102
|
+
return null;
|
|
103
|
+
const trimmed = value.trim();
|
|
104
|
+
if (!trimmed)
|
|
105
|
+
return null;
|
|
106
|
+
const seconds = Number(trimmed);
|
|
107
|
+
if (Number.isFinite(seconds) && seconds >= 0) {
|
|
108
|
+
return Math.ceil(seconds * 1000);
|
|
109
|
+
}
|
|
110
|
+
const dateMs = Date.parse(trimmed);
|
|
111
|
+
if (Number.isFinite(dateMs)) {
|
|
112
|
+
return Math.max(0, dateMs - nowMs);
|
|
113
|
+
}
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
function applyLightJitter(delayMs, options) {
|
|
117
|
+
const jitterRatio = 1 + (getRandom(options)() - 0.5) * 0.2;
|
|
118
|
+
return Math.max(1_000, Math.round(delayMs * jitterRatio));
|
|
119
|
+
}
|
|
120
|
+
function resolvePollDelayMs(response, deviceCode, nowMs, options) {
|
|
121
|
+
const retryAfterMs = parseRetryAfterMs(response.headers.get("retry-after"), nowMs);
|
|
122
|
+
if (retryAfterMs !== null) {
|
|
123
|
+
return Math.max(1_000, retryAfterMs);
|
|
124
|
+
}
|
|
125
|
+
if (response.status === 403 || response.status === 404) {
|
|
126
|
+
return deviceCode.intervalMs;
|
|
127
|
+
}
|
|
128
|
+
return applyLightJitter(deviceCode.intervalMs, options);
|
|
129
|
+
}
|
|
130
|
+
function asRecord(value) {
|
|
131
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
return value;
|
|
135
|
+
}
|
|
136
|
+
async function readJsonRecord(response) {
|
|
137
|
+
const text = await response.text().catch(() => "");
|
|
138
|
+
if (!text.trim()) {
|
|
139
|
+
return null;
|
|
140
|
+
}
|
|
141
|
+
try {
|
|
142
|
+
return asRecord(JSON.parse(text));
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
return null;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
function parseIntervalMs(value) {
|
|
149
|
+
if (typeof value === "number" && Number.isFinite(value) && value > 0) {
|
|
150
|
+
return Math.trunc(value * 1000);
|
|
151
|
+
}
|
|
152
|
+
if (typeof value === "string") {
|
|
153
|
+
const parsed = Number.parseFloat(value.trim());
|
|
154
|
+
if (Number.isFinite(parsed) && parsed > 0) {
|
|
155
|
+
return Math.trunc(parsed * 1000);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return DEVICE_AUTH_DEFAULT_INTERVAL_MS;
|
|
159
|
+
}
|
|
160
|
+
function parseExpirationMs(value, nowMs) {
|
|
161
|
+
if (typeof value === "number" && Number.isFinite(value) && value > 0) {
|
|
162
|
+
return nowMs + Math.trunc(value * 1000);
|
|
163
|
+
}
|
|
164
|
+
if (typeof value === "string") {
|
|
165
|
+
const trimmed = value.trim();
|
|
166
|
+
if (/^\d+(?:\.\d+)?$/.test(trimmed)) {
|
|
167
|
+
const seconds = Number.parseFloat(trimmed);
|
|
168
|
+
return nowMs + Math.trunc(seconds * 1000);
|
|
169
|
+
}
|
|
170
|
+
const dateMs = Date.parse(trimmed);
|
|
171
|
+
if (Number.isFinite(dateMs)) {
|
|
172
|
+
return dateMs;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return null;
|
|
176
|
+
}
|
|
177
|
+
function parseNonEmptyString(value) {
|
|
178
|
+
if (typeof value !== "string") {
|
|
179
|
+
return null;
|
|
180
|
+
}
|
|
181
|
+
const trimmed = value.trim();
|
|
182
|
+
return trimmed.length > 0 ? trimmed : null;
|
|
183
|
+
}
|
|
184
|
+
function parseDeviceCodePayload(payload, nowMs) {
|
|
185
|
+
const deviceAuthId = parseNonEmptyString(payload.device_auth_id);
|
|
186
|
+
const userCode = parseNonEmptyString(payload.user_code) ??
|
|
187
|
+
parseNonEmptyString(payload.usercode);
|
|
188
|
+
if (!deviceAuthId || !userCode) {
|
|
189
|
+
return null;
|
|
190
|
+
}
|
|
191
|
+
const expiresAtMs = parseExpirationMs(payload.expires_at, nowMs) ??
|
|
192
|
+
parseExpirationMs(payload.expires_in, nowMs);
|
|
193
|
+
return {
|
|
194
|
+
verificationUrl: DEVICE_AUTH_VERIFICATION_URL,
|
|
195
|
+
userCode,
|
|
196
|
+
deviceAuthId,
|
|
197
|
+
intervalMs: parseIntervalMs(payload.interval),
|
|
198
|
+
...(expiresAtMs === null ? {} : { expiresAtMs }),
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
function parseCompletionPayload(payload) {
|
|
202
|
+
const authorizationCode = parseNonEmptyString(payload.authorization_code);
|
|
203
|
+
const codeVerifier = parseNonEmptyString(payload.code_verifier);
|
|
204
|
+
if (!authorizationCode || !codeVerifier) {
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
// OpenAI Codex's device-code endpoint intentionally returns the PKCE
|
|
208
|
+
// verifier with the issued authorization code. This mirrors the upstream
|
|
209
|
+
// Codex CLI flow. The verifier is never persisted to account storage; keep
|
|
210
|
+
// this poll response out of logs and only hand it directly to the token
|
|
211
|
+
// exchange.
|
|
212
|
+
return { authorizationCode, codeVerifier };
|
|
213
|
+
}
|
|
214
|
+
async function readFailureText(response) {
|
|
215
|
+
const text = await response.text().catch(() => "");
|
|
216
|
+
return sanitizeOAuthResponseBodyForLog(text);
|
|
217
|
+
}
|
|
218
|
+
export async function requestDeviceAuthorization(options = {}) {
|
|
219
|
+
if (options.signal?.aborted) {
|
|
220
|
+
return abortedResult();
|
|
221
|
+
}
|
|
222
|
+
try {
|
|
223
|
+
const response = await getFetch(options)(`${DEVICE_AUTH_API_BASE_URL}/deviceauth/usercode`, {
|
|
224
|
+
method: "POST",
|
|
225
|
+
headers: { "Content-Type": "application/json" },
|
|
226
|
+
signal: options.signal,
|
|
227
|
+
body: JSON.stringify({ client_id: CLIENT_ID }),
|
|
228
|
+
});
|
|
229
|
+
if (!response.ok) {
|
|
230
|
+
if (response.status === 404) {
|
|
231
|
+
return failedResult("http_error", "Device auth login is not enabled for this Codex server. Use browser login or --manual.", response.status);
|
|
232
|
+
}
|
|
233
|
+
const safeText = await readFailureText(response);
|
|
234
|
+
return failedResult("http_error", safeText || `Device code request failed with status ${response.status}`, response.status);
|
|
235
|
+
}
|
|
236
|
+
const payload = await readJsonRecord(response);
|
|
237
|
+
const deviceCode = payload
|
|
238
|
+
? parseDeviceCodePayload(payload, getNow(options)())
|
|
239
|
+
: null;
|
|
240
|
+
if (!deviceCode) {
|
|
241
|
+
return failedResult("invalid_response", "Device code request response failed schema validation");
|
|
242
|
+
}
|
|
243
|
+
return { type: "success", deviceCode };
|
|
244
|
+
}
|
|
245
|
+
catch (error) {
|
|
246
|
+
if (isAbortError(error) || options.signal?.aborted) {
|
|
247
|
+
return abortedResult();
|
|
248
|
+
}
|
|
249
|
+
return failedResult("network_error", error instanceof Error ? error.message : String(error));
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
export function printDeviceAuthorizationPrompt(deviceCode, log = console.log, timeoutMs = DEVICE_AUTH_TIMEOUT_MS, nowMs = Date.now()) {
|
|
253
|
+
const effectiveTimeoutMs = deviceCode.expiresAtMs === undefined
|
|
254
|
+
? timeoutMs
|
|
255
|
+
: Math.min(timeoutMs, Math.max(0, deviceCode.expiresAtMs - nowMs));
|
|
256
|
+
log("Device auth login");
|
|
257
|
+
log(`Open: ${deviceCode.verificationUrl}`);
|
|
258
|
+
log(`Code: ${deviceCode.userCode}`);
|
|
259
|
+
log(`This code expires in ${formatWaitBudget(effectiveTimeoutMs)}. Never share it.`);
|
|
260
|
+
}
|
|
261
|
+
export async function pollDeviceAuthorization(deviceCode, options = {}) {
|
|
262
|
+
const now = getNow(options);
|
|
263
|
+
const startMs = now();
|
|
264
|
+
const timeoutMs = options.timeoutMs ?? DEVICE_AUTH_TIMEOUT_MS;
|
|
265
|
+
const deadline = Math.min(startMs + timeoutMs, deviceCode.expiresAtMs ?? Number.POSITIVE_INFINITY);
|
|
266
|
+
const effectiveTimeoutMs = Math.max(0, deadline - startMs);
|
|
267
|
+
try {
|
|
268
|
+
while (true) {
|
|
269
|
+
if (options.signal?.aborted) {
|
|
270
|
+
return abortedResult();
|
|
271
|
+
}
|
|
272
|
+
const response = await getFetch(options)(`${DEVICE_AUTH_API_BASE_URL}/deviceauth/token`, {
|
|
273
|
+
method: "POST",
|
|
274
|
+
headers: { "Content-Type": "application/json" },
|
|
275
|
+
signal: options.signal,
|
|
276
|
+
body: JSON.stringify({
|
|
277
|
+
device_auth_id: deviceCode.deviceAuthId,
|
|
278
|
+
user_code: deviceCode.userCode,
|
|
279
|
+
}),
|
|
280
|
+
});
|
|
281
|
+
if (response.ok) {
|
|
282
|
+
const payload = await readJsonRecord(response);
|
|
283
|
+
const completion = payload ? parseCompletionPayload(payload) : null;
|
|
284
|
+
if (!completion) {
|
|
285
|
+
return failedResult("invalid_response", "Device auth token response failed schema validation");
|
|
286
|
+
}
|
|
287
|
+
return { type: "success", completion };
|
|
288
|
+
}
|
|
289
|
+
if (isPendingStatus(response.status)) {
|
|
290
|
+
const nowMs = now();
|
|
291
|
+
const remainingMs = deadline - nowMs;
|
|
292
|
+
if (remainingMs <= 0) {
|
|
293
|
+
return failedResult("timeout", `Device auth timed out after ${formatWaitBudget(effectiveTimeoutMs)}`);
|
|
294
|
+
}
|
|
295
|
+
const delayMs = resolvePollDelayMs(response, deviceCode, nowMs, options);
|
|
296
|
+
await sleepWithAbort(Math.min(delayMs, remainingMs), options);
|
|
297
|
+
continue;
|
|
298
|
+
}
|
|
299
|
+
const safeText = await readFailureText(response);
|
|
300
|
+
return failedResult("http_error", safeText || `Device auth failed with status ${response.status}`, response.status);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
catch (error) {
|
|
304
|
+
if (isAbortError(error) || options.signal?.aborted) {
|
|
305
|
+
return abortedResult();
|
|
306
|
+
}
|
|
307
|
+
return failedResult("network_error", error instanceof Error ? error.message : String(error));
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
export async function runDeviceAuthFlow(options = {}) {
|
|
311
|
+
const deviceCodeResult = await requestDeviceAuthorization(options);
|
|
312
|
+
if (deviceCodeResult.type !== "success") {
|
|
313
|
+
return deviceCodeResult;
|
|
314
|
+
}
|
|
315
|
+
if (options.signal?.aborted) {
|
|
316
|
+
return abortedResult();
|
|
317
|
+
}
|
|
318
|
+
printDeviceAuthorizationPrompt(deviceCodeResult.deviceCode, options.log ?? console.log, options.timeoutMs ?? DEVICE_AUTH_TIMEOUT_MS, getNow(options)());
|
|
319
|
+
const completionResult = await pollDeviceAuthorization(deviceCodeResult.deviceCode, options);
|
|
320
|
+
if (completionResult.type !== "success") {
|
|
321
|
+
return completionResult;
|
|
322
|
+
}
|
|
323
|
+
return exchangeAuthorizationCode(completionResult.completion.authorizationCode, completionResult.completion.codeVerifier, DEVICE_AUTH_REDIRECT_URI);
|
|
324
|
+
}
|
|
325
|
+
//# sourceMappingURL=device-auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-auth.js","sourceRoot":"","sources":["../../../lib/auth/device-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/auth/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/lib/auth/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -4,7 +4,29 @@ export interface UpdateCheckResult {
|
|
|
4
4
|
latestVersion: string | null;
|
|
5
5
|
updateCommand: string;
|
|
6
6
|
}
|
|
7
|
-
export
|
|
7
|
+
export interface AutoUpdateResult extends UpdateCheckResult {
|
|
8
|
+
checked: boolean;
|
|
9
|
+
updated: boolean;
|
|
10
|
+
reason: "disabled" | "not-updateable-install" | "already-running" | "current" | "updated" | "update-failed";
|
|
11
|
+
exitCode: number | null;
|
|
12
|
+
error: string | null;
|
|
13
|
+
}
|
|
14
|
+
export interface AutoUpdateOptions {
|
|
15
|
+
env?: NodeJS.ProcessEnv;
|
|
16
|
+
forceCheck?: boolean;
|
|
17
|
+
forceInstall?: boolean;
|
|
18
|
+
npmCommand?: string;
|
|
19
|
+
packageRoot?: string;
|
|
20
|
+
platform?: NodeJS.Platform;
|
|
21
|
+
fetchTimeoutMs?: number;
|
|
22
|
+
timeoutMs?: number;
|
|
23
|
+
onUpdateStart?: (result: UpdateCheckResult) => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function isAutoUpdateEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
26
|
+
export declare function resolvePackageRootFromModuleDir(moduleDir: string): string;
|
|
27
|
+
export declare function isUpdateablePackageInstall(packageRoot?: string): boolean;
|
|
28
|
+
export declare function checkForUpdates(force?: boolean, fetchTimeoutMs?: number): Promise<UpdateCheckResult>;
|
|
29
|
+
export declare function autoUpdateIfAvailable(options?: AutoUpdateOptions): Promise<AutoUpdateResult>;
|
|
8
30
|
export declare function checkAndNotify(showToast?: (message: string, variant: "info" | "warning") => Promise<void>): Promise<void>;
|
|
9
31
|
export declare function clearUpdateCache(): void;
|
|
10
32
|
//# sourceMappingURL=auto-update-checker.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-update-checker.d.ts","sourceRoot":"","sources":["../../lib/auto-update-checker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auto-update-checker.d.ts","sourceRoot":"","sources":["../../lib/auto-update-checker.ts"],"names":[],"mappings":"AAiSA,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EACH,UAAU,GACV,wBAAwB,GACxB,iBAAiB,GACjB,SAAS,GACT,SAAS,GACT,eAAe,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACpD;AAmBD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAIjF;AAUD,wBAAgB,+BAA+B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAmBzE;AAOD,wBAAgB,0BAA0B,CACzC,WAAW,SAAmB,GAC5B,OAAO,CAGT;AA6TD,wBAAsB,eAAe,CACpC,KAAK,UAAQ,EACb,cAAc,SAA0B,GACtC,OAAO,CAAC,iBAAiB,CAAC,CA+B5B;AAED,wBAAsB,qBAAqB,CAC1C,OAAO,GAAE,iBAAsB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAyF3B;AAED,wBAAsB,cAAc,CAClC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAC1E,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAUvC"}
|