oc-codex-multi-auth 6.3.3 → 6.3.4
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/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/accounts/stale-state.d.ts +139 -0
- package/dist/lib/accounts/stale-state.d.ts.map +1 -0
- package/dist/lib/accounts/stale-state.js +192 -0
- package/dist/lib/accounts/stale-state.js.map +1 -0
- package/dist/lib/auth/login-runner.d.ts.map +1 -1
- package/dist/lib/auth/login-runner.js +5 -1
- package/dist/lib/auth/login-runner.js.map +1 -1
- package/dist/lib/request/fetch-helpers.d.ts +11 -0
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +25 -0
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/storage/identity.d.ts +1 -0
- package/dist/lib/storage/identity.d.ts.map +1 -1
- package/dist/lib/storage/identity.js +45 -2
- package/dist/lib/storage/identity.js.map +1 -1
- package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
- package/dist/lib/tools/codex-doctor.js +110 -2
- package/dist/lib/tools/codex-doctor.js.map +1 -1
- package/dist/lib/tools/codex-health.d.ts.map +1 -1
- package/dist/lib/tools/codex-health.js +21 -0
- package/dist/lib/tools/codex-health.js.map +1 -1
- package/package.json +7 -4
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account stale-state repair helpers used by `codex-doctor --fix`.
|
|
3
|
+
*
|
|
4
|
+
* Background (issue #171): after a successful token refresh, an account can
|
|
5
|
+
* still be skipped by rotation because it carries stale account-health state
|
|
6
|
+
* that nothing in the normal request path clears:
|
|
7
|
+
*
|
|
8
|
+
* - an `auth-failure` / `network-error` cooldown left over from a transient
|
|
9
|
+
* failure that has since recovered, and/or
|
|
10
|
+
* - `rateLimitResetTimes` entries that point at a future reset that no longer
|
|
11
|
+
* reflects real quota (the user's own `--pure` requests succeed, proving the
|
|
12
|
+
* account is usable).
|
|
13
|
+
*
|
|
14
|
+
* A successful token refresh is strong, explicit evidence that the credential
|
|
15
|
+
* is alive, so when the user runs the explicit `--fix` repair we clear that
|
|
16
|
+
* stale state for the refreshed account. The next genuine 401/429 re-establishes
|
|
17
|
+
* accurate state, so the blast radius of clearing is a single real retry.
|
|
18
|
+
*
|
|
19
|
+
* These helpers are intentionally pure (operate on a mutable record, return what
|
|
20
|
+
* changed) so they can be unit-tested without the AccountManager or the plugin
|
|
21
|
+
* runtime.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Subset of a stored account record this module mutates. Kept permissive so the
|
|
25
|
+
* doctor can pass `AccountMetadataV3` records without coupling to the full
|
|
26
|
+
* schema shape.
|
|
27
|
+
*/
|
|
28
|
+
export interface StaleStateAccount {
|
|
29
|
+
coolingDownUntil?: number;
|
|
30
|
+
cooldownReason?: string;
|
|
31
|
+
rateLimitResetTimes?: Record<string, number | undefined>;
|
|
32
|
+
}
|
|
33
|
+
export interface ClearedStaleState {
|
|
34
|
+
/** True when an active cooldown window was cleared. */
|
|
35
|
+
clearedCooldown: boolean;
|
|
36
|
+
/** Number of rate-limit reset entries removed. */
|
|
37
|
+
clearedRateLimitKeys: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Clear stale health state from an account that has just been proven healthy
|
|
41
|
+
* (its token refresh succeeded this run).
|
|
42
|
+
*
|
|
43
|
+
* - Removes any cooldown (`coolingDownUntil` / `cooldownReason`). A successful
|
|
44
|
+
* refresh contradicts both `auth-failure` (auth just worked) and
|
|
45
|
+
* `network-error` (the network call just worked) cooldowns.
|
|
46
|
+
* - Removes all `rateLimitResetTimes` entries. On an explicit repair, a stale
|
|
47
|
+
* future-dated reset is exactly the dark-state bug from #171; the next real
|
|
48
|
+
* 429 re-sets it accurately.
|
|
49
|
+
*
|
|
50
|
+
* @returns what was cleared, so the caller can report it.
|
|
51
|
+
*/
|
|
52
|
+
export declare function clearRefreshedAccountStaleState(account: StaleStateAccount): ClearedStaleState;
|
|
53
|
+
export interface StaleStateRepairSummary {
|
|
54
|
+
/** Accounts that had an active cooldown cleared. */
|
|
55
|
+
cooldownsCleared: number;
|
|
56
|
+
/** Total rate-limit reset entries removed across all accounts. */
|
|
57
|
+
rateLimitKeysCleared: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Apply {@link clearRefreshedAccountStaleState} across the given accounts and
|
|
61
|
+
* return an aggregate summary. Only call this for accounts whose refresh
|
|
62
|
+
* succeeded.
|
|
63
|
+
*/
|
|
64
|
+
export declare function clearRefreshedAccountsStaleState(accounts: StaleStateAccount[]): StaleStateRepairSummary;
|
|
65
|
+
/**
|
|
66
|
+
* Subset of a stored account used for duplicate detection. Permissive on
|
|
67
|
+
* purpose so callers can pass full `AccountMetadataV3` records.
|
|
68
|
+
*/
|
|
69
|
+
export interface DuplicateScanAccount {
|
|
70
|
+
organizationId?: string;
|
|
71
|
+
accountIdSource?: string;
|
|
72
|
+
email?: string;
|
|
73
|
+
enabled?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Detect disabled `token`-source duplicates that shadow an enabled,
|
|
77
|
+
* org-backed real account sharing the same email (issue #171).
|
|
78
|
+
*
|
|
79
|
+
* A fresh host re-login can mint a `accountIdSource: "token"` entry from the
|
|
80
|
+
* raw auth token instead of updating the matching `org`-source account. When
|
|
81
|
+
* that token entry is left `enabled: false`, it is harmless for rotation but
|
|
82
|
+
* pollutes diagnostics (account count, TUI quota cache index) and confuses
|
|
83
|
+
* recovery. We only *flag* these — never auto-remove — because a `token`-source
|
|
84
|
+
* and an `org`-source record are linked solely by email, and email-only merges
|
|
85
|
+
* are exactly what multi-org handling (#64) must not collapse blindly. Removal
|
|
86
|
+
* stays a user decision (`codex-remove`).
|
|
87
|
+
*
|
|
88
|
+
* @returns the 0-based indexes of disabled token-source duplicates.
|
|
89
|
+
*/
|
|
90
|
+
export declare function findDisabledTokenSourceDuplicates(accounts: DuplicateScanAccount[]): number[];
|
|
91
|
+
/**
|
|
92
|
+
* Subset of a stored account used for the read-only stale-state diagnostic.
|
|
93
|
+
*/
|
|
94
|
+
export interface StaleStateScanAccount {
|
|
95
|
+
enabled?: boolean;
|
|
96
|
+
coolingDownUntil?: number;
|
|
97
|
+
cooldownReason?: string;
|
|
98
|
+
rateLimitResetTimes?: Record<string, number | undefined>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Identify enabled accounts that are currently blocked ONLY by a future-dated
|
|
102
|
+
* cooldown and/or future-dated rate-limit reset — i.e. the exact dark state from
|
|
103
|
+
* issue #171 that `codex-doctor --fix` can recover (a successful token refresh
|
|
104
|
+
* proves the credential is alive, so the block is stale).
|
|
105
|
+
*
|
|
106
|
+
* This is read-only (it mutates nothing) so both `codex-health` and the
|
|
107
|
+
* non-`--fix` `codex-doctor` path can surface the finding and point the user at
|
|
108
|
+
* the repair. Expired cooldowns / rate-limits are ignored because the normal
|
|
109
|
+
* request path already clears those.
|
|
110
|
+
*
|
|
111
|
+
* @returns the 0-based indexes of accounts blocked by recoverable stale state.
|
|
112
|
+
*/
|
|
113
|
+
export declare function findStaleRecoverableAccounts(accounts: StaleStateScanAccount[], now?: number): number[];
|
|
114
|
+
/**
|
|
115
|
+
* Subset of a stored account used for the absorbed-credential diagnostic.
|
|
116
|
+
*/
|
|
117
|
+
export interface FreshCredentialScanAccount {
|
|
118
|
+
enabled?: boolean;
|
|
119
|
+
expiresAt?: number;
|
|
120
|
+
accessToken?: string;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Identify accounts that are DISABLED yet carry a fresh (unexpired) access
|
|
124
|
+
* token — the fingerprint of a user-disabled account that absorbed a newer
|
|
125
|
+
* enabled re-login during dedup (issue #171).
|
|
126
|
+
*
|
|
127
|
+
* The merge is intentionally fail-closed: a user-disabled record stays disabled
|
|
128
|
+
* even after it absorbs a fresh credential. That is correct, but it is silent —
|
|
129
|
+
* the absorbing record is org-source AND disabled, so it is skipped by every
|
|
130
|
+
* other #171 diagnostic and the user gets no hint that a fresh login they just
|
|
131
|
+
* performed landed on a deliberately-disabled slot. This read-only detector
|
|
132
|
+
* surfaces that case so tooling can suggest re-enabling the account if intended.
|
|
133
|
+
*
|
|
134
|
+
* Read-only: mutates nothing, and never re-enables (that stays a user decision).
|
|
135
|
+
*
|
|
136
|
+
* @returns the 0-based indexes of disabled accounts holding a fresh credential.
|
|
137
|
+
*/
|
|
138
|
+
export declare function findDisabledAccountsWithFreshCredential(accounts: FreshCredentialScanAccount[], now?: number): number[];
|
|
139
|
+
//# sourceMappingURL=stale-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stale-state.d.ts","sourceRoot":"","sources":["../../../lib/accounts/stale-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,iBAAiB;IACjC,uDAAuD;IACvD,eAAe,EAAE,OAAO,CAAC;IACzB,kDAAkD;IAClD,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,+BAA+B,CAC9C,OAAO,EAAE,iBAAiB,GACxB,iBAAiB,CAsBnB;AAED,MAAM,WAAW,uBAAuB;IACvC,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,oBAAoB,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAC/C,QAAQ,EAAE,iBAAiB,EAAE,GAC3B,uBAAuB,CASzB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iCAAiC,CAChD,QAAQ,EAAE,oBAAoB,EAAE,GAC9B,MAAM,EAAE,CAgCV;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAC3C,QAAQ,EAAE,qBAAqB,EAAE,EACjC,GAAG,GAAE,MAAgB,GACnB,MAAM,EAAE,CAyBV;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uCAAuC,CACtD,QAAQ,EAAE,0BAA0B,EAAE,EACtC,GAAG,GAAE,MAAgB,GACnB,MAAM,EAAE,CAeV"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Account stale-state repair helpers used by `codex-doctor --fix`.
|
|
3
|
+
*
|
|
4
|
+
* Background (issue #171): after a successful token refresh, an account can
|
|
5
|
+
* still be skipped by rotation because it carries stale account-health state
|
|
6
|
+
* that nothing in the normal request path clears:
|
|
7
|
+
*
|
|
8
|
+
* - an `auth-failure` / `network-error` cooldown left over from a transient
|
|
9
|
+
* failure that has since recovered, and/or
|
|
10
|
+
* - `rateLimitResetTimes` entries that point at a future reset that no longer
|
|
11
|
+
* reflects real quota (the user's own `--pure` requests succeed, proving the
|
|
12
|
+
* account is usable).
|
|
13
|
+
*
|
|
14
|
+
* A successful token refresh is strong, explicit evidence that the credential
|
|
15
|
+
* is alive, so when the user runs the explicit `--fix` repair we clear that
|
|
16
|
+
* stale state for the refreshed account. The next genuine 401/429 re-establishes
|
|
17
|
+
* accurate state, so the blast radius of clearing is a single real retry.
|
|
18
|
+
*
|
|
19
|
+
* These helpers are intentionally pure (operate on a mutable record, return what
|
|
20
|
+
* changed) so they can be unit-tested without the AccountManager or the plugin
|
|
21
|
+
* runtime.
|
|
22
|
+
*/
|
|
23
|
+
import { nowMs } from "../utils.js";
|
|
24
|
+
/**
|
|
25
|
+
* Clear stale health state from an account that has just been proven healthy
|
|
26
|
+
* (its token refresh succeeded this run).
|
|
27
|
+
*
|
|
28
|
+
* - Removes any cooldown (`coolingDownUntil` / `cooldownReason`). A successful
|
|
29
|
+
* refresh contradicts both `auth-failure` (auth just worked) and
|
|
30
|
+
* `network-error` (the network call just worked) cooldowns.
|
|
31
|
+
* - Removes all `rateLimitResetTimes` entries. On an explicit repair, a stale
|
|
32
|
+
* future-dated reset is exactly the dark-state bug from #171; the next real
|
|
33
|
+
* 429 re-sets it accurately.
|
|
34
|
+
*
|
|
35
|
+
* @returns what was cleared, so the caller can report it.
|
|
36
|
+
*/
|
|
37
|
+
export function clearRefreshedAccountStaleState(account) {
|
|
38
|
+
const now = nowMs();
|
|
39
|
+
const hadActiveCooldown = typeof account.coolingDownUntil === "number" && account.coolingDownUntil > now;
|
|
40
|
+
if (account.coolingDownUntil !== undefined || account.cooldownReason !== undefined) {
|
|
41
|
+
delete account.coolingDownUntil;
|
|
42
|
+
delete account.cooldownReason;
|
|
43
|
+
}
|
|
44
|
+
let clearedRateLimitKeys = 0;
|
|
45
|
+
if (account.rateLimitResetTimes) {
|
|
46
|
+
clearedRateLimitKeys = Object.keys(account.rateLimitResetTimes).length;
|
|
47
|
+
if (clearedRateLimitKeys > 0) {
|
|
48
|
+
account.rateLimitResetTimes = {};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
clearedCooldown: hadActiveCooldown,
|
|
53
|
+
clearedRateLimitKeys,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Apply {@link clearRefreshedAccountStaleState} across the given accounts and
|
|
58
|
+
* return an aggregate summary. Only call this for accounts whose refresh
|
|
59
|
+
* succeeded.
|
|
60
|
+
*/
|
|
61
|
+
export function clearRefreshedAccountsStaleState(accounts) {
|
|
62
|
+
let cooldownsCleared = 0;
|
|
63
|
+
let rateLimitKeysCleared = 0;
|
|
64
|
+
for (const account of accounts) {
|
|
65
|
+
const cleared = clearRefreshedAccountStaleState(account);
|
|
66
|
+
if (cleared.clearedCooldown)
|
|
67
|
+
cooldownsCleared += 1;
|
|
68
|
+
rateLimitKeysCleared += cleared.clearedRateLimitKeys;
|
|
69
|
+
}
|
|
70
|
+
return { cooldownsCleared, rateLimitKeysCleared };
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Detect disabled `token`-source duplicates that shadow an enabled,
|
|
74
|
+
* org-backed real account sharing the same email (issue #171).
|
|
75
|
+
*
|
|
76
|
+
* A fresh host re-login can mint a `accountIdSource: "token"` entry from the
|
|
77
|
+
* raw auth token instead of updating the matching `org`-source account. When
|
|
78
|
+
* that token entry is left `enabled: false`, it is harmless for rotation but
|
|
79
|
+
* pollutes diagnostics (account count, TUI quota cache index) and confuses
|
|
80
|
+
* recovery. We only *flag* these — never auto-remove — because a `token`-source
|
|
81
|
+
* and an `org`-source record are linked solely by email, and email-only merges
|
|
82
|
+
* are exactly what multi-org handling (#64) must not collapse blindly. Removal
|
|
83
|
+
* stays a user decision (`codex-remove`).
|
|
84
|
+
*
|
|
85
|
+
* @returns the 0-based indexes of disabled token-source duplicates.
|
|
86
|
+
*/
|
|
87
|
+
export function findDisabledTokenSourceDuplicates(accounts) {
|
|
88
|
+
const enabledOrgEmails = new Set();
|
|
89
|
+
for (const account of accounts) {
|
|
90
|
+
const email = account.email?.trim().toLowerCase();
|
|
91
|
+
if (!email)
|
|
92
|
+
continue;
|
|
93
|
+
const isEnabled = account.enabled !== false;
|
|
94
|
+
const isOrgBacked = account.accountIdSource === "org" ||
|
|
95
|
+
(typeof account.organizationId === "string" && account.organizationId.trim().length > 0);
|
|
96
|
+
if (isEnabled && isOrgBacked) {
|
|
97
|
+
enabledOrgEmails.add(email);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (enabledOrgEmails.size === 0)
|
|
101
|
+
return [];
|
|
102
|
+
const duplicates = [];
|
|
103
|
+
for (let i = 0; i < accounts.length; i += 1) {
|
|
104
|
+
const account = accounts[i];
|
|
105
|
+
if (!account)
|
|
106
|
+
continue;
|
|
107
|
+
if (account.enabled !== false)
|
|
108
|
+
continue;
|
|
109
|
+
if (account.accountIdSource !== "token")
|
|
110
|
+
continue;
|
|
111
|
+
const hasOrg = typeof account.organizationId === "string" && account.organizationId.trim().length > 0;
|
|
112
|
+
if (hasOrg)
|
|
113
|
+
continue;
|
|
114
|
+
const email = account.email?.trim().toLowerCase();
|
|
115
|
+
if (!email)
|
|
116
|
+
continue;
|
|
117
|
+
if (enabledOrgEmails.has(email)) {
|
|
118
|
+
duplicates.push(i);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return duplicates;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Identify enabled accounts that are currently blocked ONLY by a future-dated
|
|
125
|
+
* cooldown and/or future-dated rate-limit reset — i.e. the exact dark state from
|
|
126
|
+
* issue #171 that `codex-doctor --fix` can recover (a successful token refresh
|
|
127
|
+
* proves the credential is alive, so the block is stale).
|
|
128
|
+
*
|
|
129
|
+
* This is read-only (it mutates nothing) so both `codex-health` and the
|
|
130
|
+
* non-`--fix` `codex-doctor` path can surface the finding and point the user at
|
|
131
|
+
* the repair. Expired cooldowns / rate-limits are ignored because the normal
|
|
132
|
+
* request path already clears those.
|
|
133
|
+
*
|
|
134
|
+
* @returns the 0-based indexes of accounts blocked by recoverable stale state.
|
|
135
|
+
*/
|
|
136
|
+
export function findStaleRecoverableAccounts(accounts, now = nowMs()) {
|
|
137
|
+
const blocked = [];
|
|
138
|
+
for (let i = 0; i < accounts.length; i += 1) {
|
|
139
|
+
const account = accounts[i];
|
|
140
|
+
if (!account)
|
|
141
|
+
continue;
|
|
142
|
+
if (account.enabled === false)
|
|
143
|
+
continue;
|
|
144
|
+
const hasFutureCooldown = typeof account.coolingDownUntil === "number" && account.coolingDownUntil > now;
|
|
145
|
+
let hasFutureRateLimit = false;
|
|
146
|
+
if (account.rateLimitResetTimes) {
|
|
147
|
+
for (const reset of Object.values(account.rateLimitResetTimes)) {
|
|
148
|
+
if (typeof reset === "number" && reset > now) {
|
|
149
|
+
hasFutureRateLimit = true;
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
if (hasFutureCooldown || hasFutureRateLimit) {
|
|
155
|
+
blocked.push(i);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return blocked;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Identify accounts that are DISABLED yet carry a fresh (unexpired) access
|
|
162
|
+
* token — the fingerprint of a user-disabled account that absorbed a newer
|
|
163
|
+
* enabled re-login during dedup (issue #171).
|
|
164
|
+
*
|
|
165
|
+
* The merge is intentionally fail-closed: a user-disabled record stays disabled
|
|
166
|
+
* even after it absorbs a fresh credential. That is correct, but it is silent —
|
|
167
|
+
* the absorbing record is org-source AND disabled, so it is skipped by every
|
|
168
|
+
* other #171 diagnostic and the user gets no hint that a fresh login they just
|
|
169
|
+
* performed landed on a deliberately-disabled slot. This read-only detector
|
|
170
|
+
* surfaces that case so tooling can suggest re-enabling the account if intended.
|
|
171
|
+
*
|
|
172
|
+
* Read-only: mutates nothing, and never re-enables (that stays a user decision).
|
|
173
|
+
*
|
|
174
|
+
* @returns the 0-based indexes of disabled accounts holding a fresh credential.
|
|
175
|
+
*/
|
|
176
|
+
export function findDisabledAccountsWithFreshCredential(accounts, now = nowMs()) {
|
|
177
|
+
const flagged = [];
|
|
178
|
+
for (let i = 0; i < accounts.length; i += 1) {
|
|
179
|
+
const account = accounts[i];
|
|
180
|
+
if (!account)
|
|
181
|
+
continue;
|
|
182
|
+
if (account.enabled !== false)
|
|
183
|
+
continue;
|
|
184
|
+
const hasToken = typeof account.accessToken === "string" && account.accessToken.length > 0;
|
|
185
|
+
const fresh = typeof account.expiresAt === "number" && account.expiresAt > now;
|
|
186
|
+
if (hasToken && fresh) {
|
|
187
|
+
flagged.push(i);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
return flagged;
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=stale-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stale-state.js","sourceRoot":"","sources":["../../../lib/accounts/stale-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-runner.d.ts","sourceRoot":"","sources":["../../../lib/auth/login-runner.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;GAIG;AACH,KAAK,sBAAsB,GAAG;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,sBAAsB,EACtE,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,GACP,CAAC,CAmFH;AAED,KAAK,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAE9D,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,uBAAuB,CAAC;IACjC,sBAAsB,EAAE,uBAAuB,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CACtC,OAAO,EAAE,uBAAuB,EAAE,EAClC,UAAU,EAAE,OAAO,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC3C,uBAAuB,EACvB,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,cAAc,CACnF,CAAC;AAqBF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,sBAAsB,CA8DpF;AAED,wBAAgB,8BAA8B,CAC7C,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,yBAAyB,GAClC,sBAAsB,CAsCxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,+BAA+B,CACpD,SAAS,EAAE,sBAAsB,EACjC,OAAO,CAAC,EAAE;IACT,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,GACC,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,iCAAiC,CACtD,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IACT,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,GACC,OAAO,CAAC,sBAAsB,CAAC,CAMjC;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,uBAAuB,EAAE,EAClC,UAAU,GAAE,OAAe,GACzB,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"login-runner.d.ts","sourceRoot":"","sources":["../../../lib/auth/login-runner.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhE;;;;GAIG;AACH,KAAK,sBAAsB,GAAG;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,sBAAsB,EACtE,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,CAAC,GACP,CAAC,CAmFH;AAED,KAAK,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAE9D,MAAM,MAAM,uBAAuB,GAAG,YAAY,GAAG;IACpD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,uBAAuB,CAAC;IACjC,sBAAsB,EAAE,uBAAuB,EAAE,CAAC;CAClD,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,CACtC,OAAO,EAAE,uBAAuB,EAAE,EAClC,UAAU,EAAE,OAAO,KACf,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC3C,uBAAuB,EACvB,mBAAmB,GAAG,iBAAiB,GAAG,wBAAwB,GAAG,cAAc,CACnF,CAAC;AAqBF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,YAAY,GAAG,sBAAsB,CA8DpF;AAED,wBAAgB,8BAA8B,CAC7C,SAAS,EAAE,sBAAsB,EACjC,SAAS,EAAE,yBAAyB,GAClC,sBAAsB,CAsCxB;AAED;;;;;;;;GAQG;AACH,wBAAsB,+BAA+B,CACpD,SAAS,EAAE,sBAAsB,EACjC,OAAO,CAAC,EAAE;IACT,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,GACC,OAAO,CAAC,sBAAsB,CAAC,CAgBjC;AAED;;;;;;;;GAQG;AACH,wBAAsB,iCAAiC,CACtD,MAAM,EAAE,YAAY,EACpB,OAAO,CAAC,EAAE;IACT,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,GACC,OAAO,CAAC,sBAAsB,CAAC,CAMjC;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,uBAAuB,EAAE,EAClC,UAAU,GAAE,OAAe,GACzB,OAAO,CAAC,IAAI,CAAC,CAmgBf"}
|
|
@@ -395,7 +395,11 @@ export async function persistAccountPool(results, replaceAll = false) {
|
|
|
395
395
|
const organizationId = account.organizationId?.trim();
|
|
396
396
|
const accountId = account.accountId?.trim();
|
|
397
397
|
const refreshToken = account.refreshToken?.trim();
|
|
398
|
-
|
|
398
|
+
// Lowercase the email index key to match the lookup side
|
|
399
|
+
// (sanitizeEmail) and getExactIdentityKey; a trim-only key here let a
|
|
400
|
+
// mixed-case re-login miss its existing no-org entry and append a
|
|
401
|
+
// duplicate (#171 email-identity consistency).
|
|
402
|
+
const email = sanitizeEmail(account.email);
|
|
399
403
|
if (refreshToken) {
|
|
400
404
|
pushIndex(byRefreshTokenGlobal, refreshToken, i);
|
|
401
405
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login-runner.js","sourceRoot":"","sources":["../../../lib/auth/login-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACtB,aAAa,EACb,0BAA0B,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAoB,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAC;AA2B9D;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACrC,MAAS,EACT,MAAS;IAET,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAClB,cAAc,GAAG,cAAc;QAC/B,CAAC,cAAc,KAAK,cAAc,IAAI,aAAa,GAAG,aAAa,CAAC,CAAC;IACtE,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9C,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAE9C,MAAM,yBAAyB,GAA2B,EAAE,CAAC;IAC7D,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;QAClC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;QAC/C,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC;KAC/C,CAAC,CAAC;IACH,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,mBAAmB,EAAE,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,UAAU,GACf,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,UAAU,GACf,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAClB,yBAAyB,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC3C,CAAC;IACF,CAAC;IAED,MAAM,aAAa,GAClB,MAAM,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QACnD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC;IAErC,MAAM,sBAAsB,GAC3B,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtF,CAAC,CAAC,MAAM,CAAC,gBAAgB;QACzB,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,sBAAsB,GAC3B,OAAO,MAAM,CAAC,gBAAgB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACtF,CAAC,CAAC,MAAM,CAAC,gBAAgB;QACzB,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,2BAA2B,GAAG,IAAI,CAAC,GAAG,CAC3C,sBAAsB,EACtB,sBAAsB,CACtB,CAAC;IACF,MAAM,sBAAsB,GAC3B,2BAA2B,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE;QAClC,IAAI,2BAA2B,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACvD,CAAC;QACD,IAAI,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACvD,CAAC;QACD,IAAI,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;YACrD,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACN,GAAG,MAAM;QACT,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS;QAC/C,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc;QAC9D,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe;QACjE,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY;QACxD,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK;QACnC,8EAA8E;QAC9E,uEAAuE;QACvE,oDAAoD;QACpD,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY;QACtD,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW;QACnD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;QAC7C,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU;QAChD,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;QAC3D,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QAC9D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB;QACpE,mBAAmB,EAAE,yBAAyB;QAC9C,gBAAgB,EAAE,sBAAsB;QACxC,cAAc,EAAE,oBAAoB;KACpC,CAAC;AACH,CAAC;AA0BD,MAAM,sCAAsC,GAC3C,qDAAqD,CAAC;AAEvD,MAAM,sBAAsB,GAAG,CAC9B,MAAoB,EACpB,SAKC,EACyB,EAAE,CAAC,CAAC;IAC9B,GAAG,MAAM;IACT,iBAAiB,EAAE,SAAS,CAAC,SAAS;IACtC,sBAAsB,EAAE,SAAS,CAAC,cAAc;IAChD,eAAe,EAAE,SAAS,CAAC,MAAM;IACjC,YAAY,EAAE,SAAS,CAAC,KAAK;CAC7B,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB,CAAC,MAAoB;IAC3D,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACnE,OAAO,CAAC,yDAAyD,MAAM,IAAI,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG;YACf,GAAG,MAAM;YACT,iBAAiB,EAAE,QAAQ;YAC3B,eAAe,EAAE,QAAiB;YAClC,YAAY,EAAE,gBAAgB,MAAM,GAAG;SACvC,CAAC;QACF,OAAO;YACN,OAAO;YACP,sBAAsB,EAAE,CAAC,OAAO,CAAC;SACjC,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACzE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO;YACN,OAAO,EAAE,MAAM;YACf,sBAAsB,EAAE,CAAC,MAAM,CAAC;SAChC,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO;YACN,OAAO,EAAE,MAAM;YACf,sBAAsB,EAAE,CAAC,MAAM,CAAC;SAChC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE;QAC9C,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,OAAO;QAChC,KAAK,EAAE,MAAM,CAAC,KAAK;KACnB,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAA8B,CAAC,OAAO,CAAC,CAAC;IACpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,IACC,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,iBAAiB;YACjD,CAAC,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,sBAAsB,IAAI,EAAE,CAAC,EAC1E,CAAC;YACF,SAAS;QACV,CAAC;QACD,sBAAsB,CAAC,IAAI,CAC1B,sBAAsB,CAAC,MAAM,EAAE;YAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,KAAK,EAAE,SAAS,CAAC,KAAK;SACtB,CAAC,CACF,CAAC;IACH,CAAC;IAED,OAAO;QACN,OAAO;QACP,sBAAsB;KACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC7C,SAAiC,EACjC,SAAoC;IAEpC,MAAM,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACzC,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACrE,MAAM,qBAAqB,GAAG,SAAS,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC;IAC/E,MAAM,yBAAyB,GAC9B,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF,8EAA8E;IAC9E,oEAAoE;IACpE,IAAI,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC7E,OAAO,KAAK,SAAS,CAAC,OAAO;QAC7B,CAAC,yBAAyB;YACzB,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;YACtE,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,CACjB,CAAC;IAEF,MAAM,iBAAiB,GAAG,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC9D,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,iBAAiB,EAAE,CAAC;QACrD,OAAO,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC9C,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,eAAe,IAAI,QAAQ,CAAC;QAChE,sBAAsB,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,sBAAsB,GAAG,SAAS,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC;IACxE,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,sBAAsB,EAAE,CAAC;QAC/D,OAAO,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;IACzD,CAAC;IAED,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,YAAY,EAAE,CAAC;QAC3C,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;IACrC,CAAC;IAED,OAAO;QACN,OAAO;QACP,sBAAsB;KACtB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACpD,SAAiC,EACjC,OAGC;IAED,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACJ,MAAM,OAAO,CAAC,iBAAiB,CAC9B,SAAS,CAAC,sBAAsB,EAChC,OAAO,CAAC,UAAU,IAAI,KAAK,CAC3B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,sCAAsC,EAAE;YACvD,KAAK,EAAE,KAAK;SACZ,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACtD,MAAoB,EACpB,OAIC;IAED,IAAI,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;QACxB,SAAS,GAAG,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,+BAA+B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,OAAkC,EAClC,aAAsB,KAAK;IAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEjC,MAAM,6BAA6B,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;QACjD,IAAI,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5D,MAAM,SAAS,GAAG,CACjB,GAA0B,EAC1B,GAAW,EACX,KAAa,EACN,EAAE;YACT,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,QAAQ,EAAE,CAAC;gBACd,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrB,OAAO;YACR,CAAC;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,OAA6B,EAAsB,EAAE;YAC3E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACvD,MAAM,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;YAC5B,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,CAAC,CAAC;QAEF,MAAM,sBAAsB,GAAG,CAAC,aAAqB,EAAE,cAAsB,EAAU,EAAE;YACxF,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC3C,IAAI,CAAC,QAAQ;gBAAE,OAAO,cAAc,CAAC;YACrC,IAAI,CAAC,SAAS;gBAAE,OAAO,aAAa,CAAC;YACrC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;YAChD,MAAM,iBAAiB,GAAG,SAAS,CAAC,QAAQ,IAAI,CAAC,CAAC;YAClD,IAAI,iBAAiB,GAAG,gBAAgB;gBAAE,OAAO,cAAc,CAAC;YAChE,IAAI,iBAAiB,GAAG,gBAAgB;gBAAE,OAAO,aAAa,CAAC;YAC/D,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;YAC9C,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,IAAI,CAAC,CAAC;YAChD,OAAO,gBAAgB,IAAI,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;QAC7E,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAE,WAAmB,EAAQ,EAAE;YAC9E,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;gBAAE,OAAO;YAC/B,QAAQ,CAAC,WAAW,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC,CAAC;QAEF,MAAM,wBAAwB,GAAG,CAChC,OAA2C,EACtB,EAAE;YACvB,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC7C,OAAO,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,CAAC,CAAC;QAEF,MAAM,iCAAiC,GAAG,CACzC,QAA4C,EAC5C,kBAAsC,EAC5B,EAAE;YACZ,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,mBAAmB,GAAG,kBAAkB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;YACpE,IAAI,CAAC,iBAAiB,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAChD,OAAO,IAAI,CAAC;YACb,CAAC;YACD,OAAO,iBAAiB,KAAK,mBAAmB,CAAC;QAClD,CAAC,CAAC;QAYF,MAAM,wBAAwB,GAAG,CAChC,OAAwB,EACxB,cAAsB,EACtB,kBAAsC,EACjB,EAAE;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YAEvD,MAAM,WAAW,GAAG,kBAAkB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;YAC5D,IAAI,iBAAqC,CAAC;YAC1C,IAAI,oBAAwC,CAAC;YAC7C,IAAI,0BAA8C,CAAC;YACnD,MAAM,0BAA0B,GAAG,IAAI,GAAG,EAAU,CAAC;YAErD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ;oBAAE,SAAS;gBACxB,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACxB,iBAAiB;wBAChB,OAAO,iBAAiB,KAAK,QAAQ;4BACpC,CAAC,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,KAAK,CAAC;4BAClD,CAAC,CAAC,KAAK,CAAC;oBACV,SAAS;gBACV,CAAC;gBACD,0BAA0B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAClD,0BAA0B;oBACzB,OAAO,0BAA0B,KAAK,QAAQ;wBAC7C,CAAC,CAAC,sBAAsB,CAAC,0BAA0B,EAAE,KAAK,CAAC;wBAC3D,CAAC,CAAC,KAAK,CAAC;gBACV,IAAI,WAAW,IAAI,iBAAiB,KAAK,WAAW,EAAE,CAAC;oBACtD,oBAAoB;wBACnB,OAAO,oBAAoB,KAAK,QAAQ;4BACvC,CAAC,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,CAAC;4BACrD,CAAC,CAAC,KAAK,CAAC;gBACX,CAAC;YACF,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBACjB,OAAO,oBAAoB,IAAI,iBAAiB,CAAC;YAClD,CAAC;YACD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;gBAC3C,OAAO,iBAAiB,CAAC;YAC1B,CAAC;YACD,IAAI,0BAA0B,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC3C,OAAO,0BAA0B,CAAC;YACnC,CAAC;YACD,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,wBAAwB,GAAG,CAChC,OAAwB,EACxB,YAAoB,EACpB,kBAAsC,EACjB,EAAE;YACvB,MAAM,WAAW,GAAG,kBAAkB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;YAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC9D,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACvD,IAAI,iBAAqC,CAAC;YAC1C,IAAI,oBAAwC,CAAC;YAE7C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACjC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACxB,iBAAiB;wBAChB,OAAO,iBAAiB,KAAK,QAAQ;4BACpC,CAAC,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,KAAK,CAAC;4BAClD,CAAC,CAAC,KAAK,CAAC;oBACV,SAAS;gBACV,CAAC;gBACD,IAAI,WAAW,IAAI,iBAAiB,KAAK,WAAW,EAAE,CAAC;oBACtD,oBAAoB;wBACnB,OAAO,oBAAoB,KAAK,QAAQ;4BACvC,CAAC,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,KAAK,CAAC;4BACrD,CAAC,CAAC,KAAK,CAAC;gBACX,CAAC;YACF,CAAC;YAED,OAAO,oBAAoB,IAAI,iBAAiB,CAAC;QAClD,CAAC,CAAC;QAEF,MAAM,2BAA2B,GAAG,CACnC,OAAwB,EACxB,SAA6B,EAC7B,YAAoB,EACC,EAAE;YACvB,MAAM,WAAW,GAAG,SAAS;gBAC5B,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5D,CAAC,CAAC,SAAS,CAAC;YACb,IAAI,WAAW,KAAK,SAAS;gBAAE,OAAO,WAAW,CAAC;YAElD,IAAI,SAAS,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACnE,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjD,IAAI,kBAAsC,CAAC;oBAC3C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;wBACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACjC,IAAI,CAAC,QAAQ;4BAAE,SAAS;wBACxB,MAAM,eAAe,GAAG,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;wBACtD,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;4BAC1D,SAAS;wBACV,CAAC;wBACD,kBAAkB;4BACjB,OAAO,kBAAkB,KAAK,QAAQ;gCACrC,CAAC,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,KAAK,CAAC;gCACnD,CAAC,CAAC,KAAK,CAAC;oBACX,CAAC;oBACD,IAAI,OAAO,kBAAkB,KAAK,QAAQ,EAAE,CAAC;wBAC5C,OAAO,kBAAkB,CAAC;oBAC3B,CAAC;gBACF,CAAC;YACF,CAAC;YAED,IAAI,SAAS;gBAAE,OAAO,SAAS,CAAC;YAChC,OAAO,aAAa,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,GAAoB,EAAE;YAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;YACrD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACnD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;YACxD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;YAC/C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAoB,CAAC;YACzD,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAoB,CAAC;YAC5D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAoB,CAAC;YAEzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAEvB,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;gBACtD,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC;gBAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;gBAEpC,IAAI,YAAY,EAAE,CAAC;oBAClB,SAAS,CAAC,oBAAoB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC;gBAED,IAAI,cAAc,EAAE,CAAC;oBACpB,SAAS,CAAC,gBAAgB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;oBAC/C,IAAI,SAAS,EAAE,CAAC;wBACf,SAAS,CAAC,oBAAoB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBAC/C,CAAC;oBACD,IAAI,YAAY,EAAE,CAAC;wBAClB,SAAS,CAAC,uBAAuB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;oBACrD,CAAC;oBACD,SAAS;gBACV,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACf,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,YAAY,EAAE,CAAC;oBAClB,SAAS,CAAC,mBAAmB,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;gBACjD,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACX,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;YAED,OAAO;gBACN,gBAAgB;gBAChB,gBAAgB;gBAChB,mBAAmB;gBACnB,YAAY;gBACZ,oBAAoB;gBACpB,uBAAuB;gBACvB,oBAAoB;aACpB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,eAAe,GAAG,oBAAoB,EAAE,CAAC;QAE7C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,MAAM,CAAC,iBAAiB,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9E,MAAM,mBAAmB,GAAG,SAAS,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;YAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;YAC1E,MAAM,eAAe,GACpB,mBAAmB;gBAClB,CAAC,CAAC,MAAM,CAAC,eAAe;oBACvB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;gBAChD,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACzC,MAAM,YAAY,GAAG,aAAa,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YAEvF,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;gBAC3B,IAAI,cAAc,EAAE,CAAC;oBACpB,OAAO,wBAAwB,CAC9B,eAAe,EACf,cAAc,EACd,mBAAmB,CACnB,CAAC;gBACH,CAAC;gBACD,IAAI,mBAAmB,EAAE,CAAC;oBACzB,MAAM,WAAW,GAAG,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;oBAC9E,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;wBAC/B,OAAO,WAAW,CAAC;oBACpB,CAAC;gBACF,CAAC;gBAED,MAAM,cAAc,GAAG,wBAAwB,CAC9C,eAAe,EACf,MAAM,CAAC,OAAO,EACd,mBAAmB,CACnB,CAAC;gBACF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBAClC,OAAO,cAAc,CAAC;gBACvB,CAAC;gBAED,IAAI,YAAY,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC1C,MAAM,OAAO,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC/D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;wBAC3B,OAAO,OAAO,CAAC;oBAChB,CAAC;gBACF,CAAC;gBAED,MAAM,SAAS,GAAG,2BAA2B,CAC5C,eAAe,EACf,mBAAmB,EACnB,MAAM,CAAC,OAAO,CACd,CAAC;gBACF,IAAI,SAAS,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAE9C,MAAM,kBAAkB,GAAG,aAAa,CACvC,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CACxD,CAAC;gBACF,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;oBACtC,OAAO,SAAS,CAAC;gBAClB,CAAC;gBACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAAC;gBAC9C,IAAI,CAAC,iCAAiC,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE,CAAC;oBACvE,OAAO,SAAS,CAAC;gBAClB,CAAC;gBACD,OAAO,kBAAkB,CAAC;YAC3B,CAAC,CAAC,EAAE,CAAC;YAEL,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC;oBACb,SAAS,EAAE,mBAAmB;oBAC9B,cAAc;oBACd,eAAe;oBACf,YAAY;oBACZ,KAAK,EAAE,YAAY;oBACnB,YAAY,EAAE,MAAM,CAAC,OAAO;oBAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;oBAC1B,SAAS,EAAE,MAAM,CAAC,OAAO;oBACzB,UAAU,EAAE,MAAM,CAAC,KAAK;oBACxB,OAAO,EAAE,GAAG;oBACZ,QAAQ,EAAE,GAAG;iBACb,CAAC,CAAC;gBACH,eAAe,GAAG,oBAAoB,EAAE,CAAC;gBACzC,SAAS;YACV,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,SAAS,GAAG,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC;YACjD,MAAM,kBAAkB,GAAG,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC;YACrE,MAAM,mBAAmB,GACxB,OAAO,QAAQ,CAAC,cAAc,KAAK,QAAQ;gBAC3C,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBACzC,CAAC,cAAc,CAAC;YACjB,MAAM,aAAa,GAAG,mBAAmB;gBACxC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,mBAAmB;gBAC3C,CAAC,CAAC,mBAAmB,IAAI,QAAQ,CAAC,SAAS,CAAC;YAC7C,MAAM,mBAAmB,GAAG,mBAAmB;gBAC9C,CAAC,CAAC,QAAQ,CAAC,eAAe,IAAI,eAAe;gBAC7C,CAAC,CAAC,mBAAmB;oBACpB,CAAC,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe;oBAC7C,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC7B,MAAM,gBAAgB,GAAG,mBAAmB;gBAC3C,CAAC,CAAC,QAAQ,CAAC,YAAY,IAAI,YAAY;gBACvC,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC;YACzC,QAAQ,CAAC,aAAa,CAAC,GAAG;gBACzB,GAAG,QAAQ;gBACX,SAAS,EAAE,aAAa;gBACxB,cAAc,EAAE,kBAAkB;gBAClC,eAAe,EAAE,mBAAmB;gBACpC,YAAY,EAAE,gBAAgB;gBAC9B,KAAK,EAAE,SAAS;gBAChB,YAAY,EAAE,MAAM,CAAC,OAAO;gBAC5B,WAAW,EAAE,MAAM,CAAC,MAAM;gBAC1B,SAAS,EAAE,MAAM,CAAC,OAAO;gBACzB,UAAU,EAAE,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,UAAU;gBAC/C,QAAQ,EAAE,GAAG;aACb,CAAC;YACF,eAAe,GAAG,oBAAoB,EAAE,CAAC;QAC1C,CAAC;QAED,MAAM,2BAA2B,GAAG,GAAS,EAAE;YAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;YAC1C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;YAEvD,MAAM,mBAAmB,GAAG,CAC3B,OAKa,EACJ,EAAE;gBACX,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC7D,MAAM,SAAS,GAAG,wBAAwB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC1D,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;gBACzD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACzD,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;oBACjC,OAAO,OAAO,cAAc,YAAY,SAAS,YAAY,YAAY,EAAE,CAAC;gBAC7E,CAAC;gBACD,OAAO,SAAS,KAAK,YAAY,YAAY,EAAE,CAAC;YACjD,CAAC,CAAC;YAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAEvB,MAAM,WAAW,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBACjD,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;oBACjC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBACzC,SAAS;gBACV,CAAC;gBAED,MAAM,WAAW,GAAG,sBAAsB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAC7D,MAAM,aAAa,GAAG,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gBACxE,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;gBAChD,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBACnC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YACvE,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,CAC3B,OAA2F,EAChF,EAAE;YACb,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;YACvD,IAAI,cAAc;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,cAAc,EAAE,CAAC,CAAC;YACvD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;YACjD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;YACnD,IAAI,YAAY;gBAAE,IAAI,CAAC,IAAI,CAAC,WAAW,YAAY,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,uBAAuB,GAAG,CAAC,QAAiB,EAAE,EAAE;YACrD,MAAM,cAAc,GAAG,MAAM,EAAE,QAAQ,CAAC;YACxC,IAAI,CAAC,cAAc;gBAAE,OAAO,SAAS,CAAC;YACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,SAAS,CAAC;YACjF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,cAAc,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC;YAC1E,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,UAAU;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;QACrE,MAAM,wBAAwB,GAA2C,EAAE,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE,CAAC;YACjB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;gBACrC,MAAM,UAAU,GAAG,mBAAmB,CACrC,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC,CAC9D,CAAC;gBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,wBAAwB,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;gBAC/C,CAAC;YACF,CAAC;QACF,CAAC;QAED,2BAA2B,EAAE,CAAC;QAE9B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAElC,MAAM,0BAA0B,GAAG,CAAC,YAAkC,EAAsB,EAAE;YAC7F,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,SAAS,CAAC;YACjE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAC/B,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC/D,CAAC;gBACF,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBAChB,OAAO,KAAK,CAAC;gBACd,CAAC;YACF,CAAC;YACD,OAAO,SAAS,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,UAAU;YACrC,CAAC,CAAC,CAAC;YACH,CAAC,CAAC,OAAO,MAAM,EAAE,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC;gBAC/E,CAAC,CAAC,MAAM,CAAC,WAAW;gBACpB,CAAC,CAAC,CAAC,CAAC;QACN,MAAM,mBAAmB,GAAG,UAAU;YACrC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,0BAA0B,CAAC,gBAAgB,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,mBAAmB,IAAI,mBAAmB,CAAC;QAE/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/F,MAAM,mBAAmB,GAAyC,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,UAAU;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;gBAClC,MAAM,iBAAiB,GAAG,MAAM,EAAE,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC;gBAChE,OAAO,OAAO,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACpF,CAAC,CAAC,CAAC;QACJ,KAAK,MAAM,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACxC,MAAM,iBAAiB,GAAG,MAAM,EAAE,mBAAmB,EAAE,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,mBAAmB,GAAG,UAAU;gBACrC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;YAChE,MAAM,cAAc,GAAG,UAAU;gBAChC,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,OAAO,mBAAmB,KAAK,QAAQ;oBACxC,CAAC,CAAC,mBAAmB;oBACrB,CAAC,CAAC,OAAO,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;wBAC5E,CAAC,CAAC,iBAAiB;wBACnB,CAAC,CAAC,kBAAkB,CAAC;YACxB,mBAAmB,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CACrC,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CACzD,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC;YACb,OAAO,EAAE,CAAC;YACV,QAAQ;YACR,WAAW,EAAE,kBAAkB;YAC/B,mBAAmB;SACnB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"login-runner.js","sourceRoot":"","sources":["../../../lib/auth/login-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,17 @@ export interface EntitlementError {
|
|
|
13
13
|
code: string;
|
|
14
14
|
message: string;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Build an AbortError for caller-cancellation during retry/backoff waits.
|
|
18
|
+
*
|
|
19
|
+
* The request retry loop (index.ts) awaits sleeps that watch the caller
|
|
20
|
+
* AbortSignal. A bare `new Error("Aborted")` surfaced as an opaque, unnamed
|
|
21
|
+
* error and dropped `signal.reason` (issue #176). This mirrors the fetch-path
|
|
22
|
+
* behavior and the `isAbortError` convention in lib/codex-usage.ts: when the
|
|
23
|
+
* signal carries an Error reason it is propagated as-is; otherwise a fresh
|
|
24
|
+
* Error named "AbortError" is returned (carrying a string reason if present).
|
|
25
|
+
*/
|
|
26
|
+
export declare function createAbortError(signal?: AbortSignal | null): Error;
|
|
16
27
|
export declare const DEFAULT_UNSUPPORTED_CODEX_FALLBACK_CHAIN: Record<string, string[]>;
|
|
17
28
|
export interface UnsupportedCodexModelInfo {
|
|
18
29
|
isUnsupported: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-helpers.d.ts","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fetch-helpers.d.ts","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,31 @@ import { CodexAuthError } from "../errors.js";
|
|
|
12
12
|
import { DEACTIVATED_WORKSPACE_ERROR_CODE, isInvalidatedAuthTokenMessage, } from "../error-sentinels.js";
|
|
13
13
|
import { isRecord } from "../utils.js";
|
|
14
14
|
import { CODEX_BASE_URL, HTTP_STATUS, OPENAI_HEADERS, OPENAI_HEADER_VALUES, URL_PATHS, ERROR_MESSAGES, LOG_STAGES, } from "../constants.js";
|
|
15
|
+
/**
|
|
16
|
+
* Build an AbortError for caller-cancellation during retry/backoff waits.
|
|
17
|
+
*
|
|
18
|
+
* The request retry loop (index.ts) awaits sleeps that watch the caller
|
|
19
|
+
* AbortSignal. A bare `new Error("Aborted")` surfaced as an opaque, unnamed
|
|
20
|
+
* error and dropped `signal.reason` (issue #176). This mirrors the fetch-path
|
|
21
|
+
* behavior and the `isAbortError` convention in lib/codex-usage.ts: when the
|
|
22
|
+
* signal carries an Error reason it is propagated as-is; otherwise a fresh
|
|
23
|
+
* Error named "AbortError" is returned (carrying a string reason if present).
|
|
24
|
+
*/
|
|
25
|
+
export function createAbortError(signal) {
|
|
26
|
+
const reason = signal?.reason;
|
|
27
|
+
if (reason instanceof Error) {
|
|
28
|
+
// Preserve the original message/stack, but ensure the result is
|
|
29
|
+
// recognizable as an abort by isAbortError (lib/codex-usage.ts checks
|
|
30
|
+
// name === "AbortError"). A caller may abort with a generic Error.
|
|
31
|
+
if (reason.name !== "AbortError") {
|
|
32
|
+
reason.name = "AbortError";
|
|
33
|
+
}
|
|
34
|
+
return reason;
|
|
35
|
+
}
|
|
36
|
+
const err = new Error(typeof reason === "string" && reason.length > 0 ? reason : "Aborted");
|
|
37
|
+
err.name = "AbortError";
|
|
38
|
+
return err;
|
|
39
|
+
}
|
|
15
40
|
const CODEX_BASE_URL_OBJECT = new URL(CODEX_BASE_URL);
|
|
16
41
|
const CODEX_BASE_PATH_PREFIX = CODEX_BASE_URL_OBJECT.pathname.endsWith("/")
|
|
17
42
|
? CODEX_BASE_URL_OBJECT.pathname.slice(0, -1)
|