oc-codex-multi-auth 6.22.0 → 6.24.0
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/LICENSE +21 -21
- package/README.md +793 -729
- package/assets/icon.svg +7 -7
- package/assets/opencode-logo-ornate-dark.svg +18 -18
- package/assets/readme-hero.svg +31 -31
- package/config/README.md +197 -177
- package/config/minimal-opencode.json +14 -14
- package/config/opencode-legacy.json +1346 -1496
- package/config/opencode-modern.json +466 -555
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -19
- package/dist/index.js.map +1 -1
- package/dist/lib/accounts/warm-request.d.ts.map +1 -1
- package/dist/lib/accounts/warm-request.js +9 -11
- package/dist/lib/accounts/warm-request.js.map +1 -1
- package/dist/lib/codex-usage.d.ts +35 -0
- package/dist/lib/codex-usage.d.ts.map +1 -1
- package/dist/lib/codex-usage.js +51 -0
- package/dist/lib/codex-usage.js.map +1 -1
- package/dist/lib/config.d.ts +5 -3
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +2 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/constants.d.ts +13 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +13 -0
- package/dist/lib/constants.js.map +1 -1
- package/dist/lib/context-overflow.js +10 -10
- package/dist/lib/desktop-notifications.js +6 -6
- package/dist/lib/oauth-success.js +202 -202
- package/dist/lib/opencode-v2-provider.d.ts +2 -0
- package/dist/lib/opencode-v2-provider.d.ts.map +1 -0
- package/dist/lib/opencode-v2-provider.js +4 -0
- package/dist/lib/opencode-v2-provider.js.map +1 -0
- package/dist/lib/opencode-v2-rpc.d.ts +27 -0
- package/dist/lib/opencode-v2-rpc.d.ts.map +1 -0
- package/dist/lib/opencode-v2-rpc.js +16 -0
- package/dist/lib/opencode-v2-rpc.js.map +1 -0
- package/dist/lib/opencode-v2-status.d.ts +17 -0
- package/dist/lib/opencode-v2-status.d.ts.map +1 -0
- package/dist/lib/opencode-v2-status.js +91 -0
- package/dist/lib/opencode-v2-status.js.map +1 -0
- package/dist/lib/opencode-v2-tui.d.ts +4 -0
- package/dist/lib/opencode-v2-tui.d.ts.map +1 -0
- package/dist/lib/opencode-v2-tui.js +105 -0
- package/dist/lib/opencode-v2-tui.js.map +1 -0
- package/dist/lib/opencode-v2.d.ts +11 -0
- package/dist/lib/opencode-v2.d.ts.map +1 -0
- package/dist/lib/opencode-v2.js +235 -0
- package/dist/lib/opencode-v2.js.map +1 -0
- package/dist/lib/prompts/codex-opencode-bridge.js +67 -67
- package/dist/lib/prompts/codex.d.ts +12 -2
- package/dist/lib/prompts/codex.d.ts.map +1 -1
- package/dist/lib/prompts/codex.js +126 -91
- package/dist/lib/prompts/codex.js.map +1 -1
- package/dist/lib/quota-capacity.d.ts +4 -0
- package/dist/lib/quota-capacity.d.ts.map +1 -0
- package/dist/lib/quota-capacity.js +45 -0
- package/dist/lib/quota-capacity.js.map +1 -0
- package/dist/lib/quota-overview.d.ts +13 -27
- package/dist/lib/quota-overview.d.ts.map +1 -1
- package/dist/lib/quota-overview.js +59 -99
- package/dist/lib/quota-overview.js.map +1 -1
- package/dist/lib/quota-recovery.d.ts +5 -0
- package/dist/lib/quota-recovery.d.ts.map +1 -0
- package/dist/lib/quota-recovery.js +66 -0
- package/dist/lib/quota-recovery.js.map +1 -0
- package/dist/lib/request/fetch-helpers.d.ts +1 -1
- package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
- package/dist/lib/request/fetch-helpers.js +85 -51
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/helpers/model-map.d.ts +10 -0
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +39 -11
- package/dist/lib/request/helpers/model-map.js.map +1 -1
- package/dist/lib/request/helpers/responses-lite.d.ts.map +1 -1
- package/dist/lib/request/helpers/responses-lite.js +4 -1
- package/dist/lib/request/helpers/responses-lite.js.map +1 -1
- package/dist/lib/request/request-transformer.d.ts.map +1 -1
- package/dist/lib/request/request-transformer.js +37 -15
- package/dist/lib/request/request-transformer.js.map +1 -1
- package/dist/lib/schemas.d.ts +9 -1
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +3 -2
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/storage/state.d.ts +8 -0
- package/dist/lib/storage/state.d.ts.map +1 -1
- package/dist/lib/storage/state.js +47 -20
- package/dist/lib/storage/state.js.map +1 -1
- package/dist/lib/tools/codex-limits.d.ts.map +1 -1
- package/dist/lib/tools/codex-limits.js +49 -3
- package/dist/lib/tools/codex-limits.js.map +1 -1
- package/dist/lib/tui-quota-cache.d.ts +1 -0
- package/dist/lib/tui-quota-cache.d.ts.map +1 -1
- package/dist/lib/tui-quota-cache.js +2 -0
- package/dist/lib/tui-quota-cache.js.map +1 -1
- package/dist/lib/tui-quota-overview.d.ts.map +1 -1
- package/dist/lib/tui-quota-overview.js +4 -0
- package/dist/lib/tui-quota-overview.js.map +1 -1
- package/dist/lib/tui-status-slot.d.ts +3 -0
- package/dist/lib/tui-status-slot.d.ts.map +1 -0
- package/dist/lib/tui-status-slot.js +27 -0
- package/dist/lib/tui-status-slot.js.map +1 -0
- package/dist/lib/tui-status.d.ts +1 -0
- package/dist/lib/tui-status.d.ts.map +1 -1
- package/dist/lib/tui-status.js +1 -0
- package/dist/lib/tui-status.js.map +1 -1
- package/dist/tui.d.ts +10 -3
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +22 -1
- package/dist/tui.js.map +1 -1
- package/package.json +157 -155
- package/scripts/audit-dev-allowlist.js +114 -114
- package/scripts/clean-dist.js +27 -27
- package/scripts/copy-oauth-success.js +47 -47
- package/scripts/install-oc-codex-multi-auth-core.js +2092 -2003
- package/scripts/install-oc-codex-multi-auth.js +37 -37
- package/scripts/test-all-models.sh +260 -260
- package/scripts/validate-model-map.sh +97 -97
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
* whole rendering can be exercised without a network, a clock or a terminal.
|
|
29
29
|
*/
|
|
30
30
|
import { maskEmailForDisplay } from "./account-display.js";
|
|
31
|
+
import { computeWeightedLeftPercent, resolveGoverningWindow } from "./quota-capacity.js";
|
|
32
|
+
import { resolveNextQuotaRecovery, resolveQuotaRecoveryEvents } from "./quota-recovery.js";
|
|
33
|
+
export { computeWeightedLeftPercent, resolveGoverningWindow } from "./quota-capacity.js";
|
|
31
34
|
import { formatPlanMultiplier, getPlanWeight } from "./plan-allotment.js";
|
|
32
35
|
import { formatQuotaPercent, toQuotaDisplayPercent, } from "./quota-display.js";
|
|
33
36
|
const MS_PER_MINUTE = 60_000;
|
|
@@ -46,8 +49,6 @@ const MS_PER_DAY = 24 * MS_PER_HOUR;
|
|
|
46
49
|
* not the same situation.
|
|
47
50
|
*/
|
|
48
51
|
export const OVERVIEW_RESET_LEFT_PERCENT = 25;
|
|
49
|
-
/** Smallest pool-total movement worth spending characters on. */
|
|
50
|
-
const MIN_RECOVERY_DELTA_PERCENT = 1;
|
|
51
52
|
function isPercent(value) {
|
|
52
53
|
return typeof value === "number" && Number.isFinite(value);
|
|
53
54
|
}
|
|
@@ -66,59 +67,6 @@ export function formatCompactDuration(ms) {
|
|
|
66
67
|
return `${Math.floor(ms / MS_PER_HOUR)}h`;
|
|
67
68
|
return `${Math.max(1, Math.floor(ms / MS_PER_MINUTE))}m`;
|
|
68
69
|
}
|
|
69
|
-
/**
|
|
70
|
-
* The window that decides what an account can still do.
|
|
71
|
-
*
|
|
72
|
-
* An account reports several windows at once - typically a 5-hour and a weekly
|
|
73
|
-
* one - and the one with the least headroom is the one that stops a request,
|
|
74
|
-
* so it is the one the account is described by. On a tie the window that
|
|
75
|
-
* blocks for longer governs: two windows both fully spent are not equally
|
|
76
|
-
* costly when one returns in four hours and the other in three days.
|
|
77
|
-
*/
|
|
78
|
-
export function resolveGoverningWindow(account) {
|
|
79
|
-
let governing;
|
|
80
|
-
for (const window of account.windows) {
|
|
81
|
-
if (!isPercent(window.leftPercent))
|
|
82
|
-
continue;
|
|
83
|
-
if (!governing) {
|
|
84
|
-
governing = window;
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
const governingLeft = governing.leftPercent ?? 100;
|
|
88
|
-
if (window.leftPercent < governingLeft) {
|
|
89
|
-
governing = window;
|
|
90
|
-
continue;
|
|
91
|
-
}
|
|
92
|
-
if (window.leftPercent === governingLeft &&
|
|
93
|
-
isPercent(window.resetAtMs) &&
|
|
94
|
-
(!isPercent(governing.resetAtMs) || window.resetAtMs > governing.resetAtMs)) {
|
|
95
|
-
governing = window;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
return governing;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Weighted mean headroom across the pool, or `undefined` when no account
|
|
102
|
-
* reported a readable window.
|
|
103
|
-
*
|
|
104
|
-
* Accounts with no readable window are left out rather than counted as full:
|
|
105
|
-
* a quota we could not read is not capacity we know we have.
|
|
106
|
-
*/
|
|
107
|
-
export function computeWeightedLeftPercent(accounts) {
|
|
108
|
-
let weighted = 0;
|
|
109
|
-
let totalWeight = 0;
|
|
110
|
-
for (const account of accounts) {
|
|
111
|
-
const governing = resolveGoverningWindow(account);
|
|
112
|
-
if (!governing || !isPercent(governing.leftPercent))
|
|
113
|
-
continue;
|
|
114
|
-
const weight = getPlanWeight(account.planType);
|
|
115
|
-
if (!Number.isFinite(weight) || weight <= 0)
|
|
116
|
-
continue;
|
|
117
|
-
weighted += weight * governing.leftPercent;
|
|
118
|
-
totalWeight += weight;
|
|
119
|
-
}
|
|
120
|
-
return totalWeight > 0 ? Math.round(weighted / totalWeight) : undefined;
|
|
121
|
-
}
|
|
122
70
|
/**
|
|
123
71
|
* What the pool the percentage is taken over adds up to, in 1x seats.
|
|
124
72
|
*
|
|
@@ -150,36 +98,7 @@ export function computePoolAllotment(accounts) {
|
|
|
150
98
|
* arrive. Movement below one point is dropped rather than rendered as `+0%`.
|
|
151
99
|
*/
|
|
152
100
|
export function resolveQuotaOverviewRecovery(accounts, now = Date.now()) {
|
|
153
|
-
|
|
154
|
-
if (current === undefined)
|
|
155
|
-
return undefined;
|
|
156
|
-
let earliest;
|
|
157
|
-
for (const account of accounts) {
|
|
158
|
-
for (const window of account.windows) {
|
|
159
|
-
if (!isPercent(window.leftPercent) || window.leftPercent >= 100)
|
|
160
|
-
continue;
|
|
161
|
-
const resetAtMs = window.resetAtMs;
|
|
162
|
-
if (!isPercent(resetAtMs) || resetAtMs <= now)
|
|
163
|
-
continue;
|
|
164
|
-
if (earliest === undefined || resetAtMs < earliest)
|
|
165
|
-
earliest = resetAtMs;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
if (earliest === undefined)
|
|
169
|
-
return undefined;
|
|
170
|
-
const refilled = accounts.map((account) => ({
|
|
171
|
-
...account,
|
|
172
|
-
windows: account.windows.map((window) => isPercent(window.resetAtMs) && window.resetAtMs <= earliest
|
|
173
|
-
? { ...window, leftPercent: 100 }
|
|
174
|
-
: window),
|
|
175
|
-
}));
|
|
176
|
-
const recovered = computeWeightedLeftPercent(refilled);
|
|
177
|
-
if (recovered === undefined)
|
|
178
|
-
return undefined;
|
|
179
|
-
const deltaPercent = recovered - current;
|
|
180
|
-
if (deltaPercent < MIN_RECOVERY_DELTA_PERCENT)
|
|
181
|
-
return undefined;
|
|
182
|
-
return { deltaPercent, atMs: earliest };
|
|
101
|
+
return resolveNextQuotaRecovery(accounts, now);
|
|
183
102
|
}
|
|
184
103
|
/**
|
|
185
104
|
* Whether nothing in the pool has capacity left.
|
|
@@ -326,6 +245,14 @@ function resolveResetCredits(account) {
|
|
|
326
245
|
? Math.trunc(credits)
|
|
327
246
|
: 0;
|
|
328
247
|
}
|
|
248
|
+
function resolveApplicableResetCredits(account) {
|
|
249
|
+
const applicable = account.resetCreditsApplicable;
|
|
250
|
+
if (applicable === null)
|
|
251
|
+
return 0;
|
|
252
|
+
if (applicable !== undefined)
|
|
253
|
+
return Math.min(resolveResetCredits(account), applicable);
|
|
254
|
+
return (governingLeftPercent(account) ?? 100) <= 0 ? resolveResetCredits(account) : 0;
|
|
255
|
+
}
|
|
329
256
|
function shouldPrintReset(leftPercent, resetTimes) {
|
|
330
257
|
if (resetTimes === "never")
|
|
331
258
|
return false;
|
|
@@ -429,6 +356,23 @@ function formatRecovery(recovery, options) {
|
|
|
429
356
|
const sign = options.mode === "used" ? "-" : "+";
|
|
430
357
|
return `${sign}${recovery.deltaPercent}% ${options.words ? "in " : ""}${at}`;
|
|
431
358
|
}
|
|
359
|
+
function formatRecoveryEventForms(events, now) {
|
|
360
|
+
const buckets = new Map();
|
|
361
|
+
for (const event of events) {
|
|
362
|
+
const duration = formatCompactDuration(event.atMs - now);
|
|
363
|
+
if (duration)
|
|
364
|
+
buckets.set(duration, (buckets.get(duration) ?? 0) + event.deltaPercent);
|
|
365
|
+
}
|
|
366
|
+
if (buckets.size === 0)
|
|
367
|
+
return [];
|
|
368
|
+
const long = [...buckets].map(([duration, delta]) => `+${delta}% in ${duration}`);
|
|
369
|
+
const short = [...buckets].map(([duration, delta]) => `+${delta}% ${duration}`);
|
|
370
|
+
const forms = [long.join(", ")];
|
|
371
|
+
for (let count = short.length; count > 0; count -= 1) {
|
|
372
|
+
forms.push(short.slice(0, count).join(", "));
|
|
373
|
+
}
|
|
374
|
+
return forms;
|
|
375
|
+
}
|
|
432
376
|
function formatAccountCount(count, style) {
|
|
433
377
|
if (style === "bare")
|
|
434
378
|
return `${count}`;
|
|
@@ -505,16 +449,18 @@ export function formatQuotaOverviewCandidates(accounts, options) {
|
|
|
505
449
|
const totalText = formatQuotaPercent(total, options.mode);
|
|
506
450
|
const ordered = orderOverviewAccounts(accounts, options.order);
|
|
507
451
|
const usable = ordered.filter((account) => resolveGoverningWindow(account));
|
|
508
|
-
const recovery = options.recovery
|
|
452
|
+
const recovery = options.recovery === true
|
|
509
453
|
? resolveQuotaOverviewRecovery(accounts, now)
|
|
510
454
|
: undefined;
|
|
511
|
-
const recoveryForms = recovery
|
|
512
|
-
?
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
455
|
+
const recoveryForms = options.recovery === "all"
|
|
456
|
+
? formatRecoveryEventForms(resolveQuotaRecoveryEvents(accounts, now), now)
|
|
457
|
+
: recovery
|
|
458
|
+
? [true, false]
|
|
459
|
+
.map((words) => formatRecovery(recovery, { mode: options.mode, now, words }))
|
|
460
|
+
.filter((form) => Boolean(form))
|
|
461
|
+
: [];
|
|
516
462
|
const bodies = [];
|
|
517
|
-
if (options.layout !== "count") {
|
|
463
|
+
if (options.layout !== "count" && options.layout !== "total") {
|
|
518
464
|
// Position identifies an account only when the accounts are in number
|
|
519
465
|
// order, none of them is missing from the line, and the numbers run
|
|
520
466
|
// 1..n with no gap - a deduplicated or disabled account leaves indices
|
|
@@ -552,6 +498,11 @@ export function formatQuotaOverviewCandidates(accounts, options) {
|
|
|
552
498
|
}
|
|
553
499
|
if (!heads.includes(totalText))
|
|
554
500
|
heads.push(totalText);
|
|
501
|
+
if (options.layout === "total") {
|
|
502
|
+
return heads.flatMap((head) => [
|
|
503
|
+
...recoveryForms.map((form) => `${head} ${form}`), head,
|
|
504
|
+
]);
|
|
505
|
+
}
|
|
555
506
|
const candidates = [];
|
|
556
507
|
const push = (head, ...tail) => {
|
|
557
508
|
const body = tail.filter((part) => Boolean(part));
|
|
@@ -602,16 +553,25 @@ export function formatQuotaOverviewText(accounts, options) {
|
|
|
602
553
|
* tomorrow throws the credit away, while the account six days out is the one
|
|
603
554
|
* worth spending it on.
|
|
604
555
|
*
|
|
605
|
-
* Returns nothing
|
|
606
|
-
*
|
|
607
|
-
* accounts still have headroom it is an invitation to waste it.
|
|
556
|
+
* Returns nothing unless the weighted-usage threshold is met and a credit is
|
|
557
|
+
* known to be applicable. The default threshold preserves full exhaustion.
|
|
608
558
|
*/
|
|
609
559
|
export function formatQuotaResetsCandidates(accounts, options) {
|
|
610
|
-
|
|
611
|
-
|
|
560
|
+
const minUsedPercent = options.minUsedPercent ?? 100;
|
|
561
|
+
if (minUsedPercent >= 100) {
|
|
562
|
+
// The default keeps the old rule on the DISPLAYED headroom: an account
|
|
563
|
+
// at 99.6% used reads `0%` left and counts as spent.
|
|
564
|
+
if (!isPoolFullySpent(accounts))
|
|
565
|
+
return [];
|
|
566
|
+
}
|
|
567
|
+
else {
|
|
568
|
+
const total = computeWeightedLeftPercent(accounts, "exact");
|
|
569
|
+
if (total === undefined || 100 - total < minUsedPercent)
|
|
570
|
+
return [];
|
|
571
|
+
}
|
|
612
572
|
const now = options.now ?? Date.now();
|
|
613
573
|
const maskEmail = options.maskEmail ?? false;
|
|
614
|
-
const redeemable = orderOverviewAccounts(accounts, "renewing-latest").filter((account) =>
|
|
574
|
+
const redeemable = orderOverviewAccounts(accounts, "renewing-latest").filter((account) => resolveApplicableResetCredits(account) > 0);
|
|
615
575
|
if (redeemable.length === 0)
|
|
616
576
|
return [];
|
|
617
577
|
const durations = redeemable.map((account) => {
|
|
@@ -620,7 +580,7 @@ export function formatQuotaResetsCandidates(accounts, options) {
|
|
|
620
580
|
? undefined
|
|
621
581
|
: formatCompactDuration(resetAtMs - now);
|
|
622
582
|
});
|
|
623
|
-
const credits = redeemable.map((account) =>
|
|
583
|
+
const credits = redeemable.map((account) => resolveApplicableResetCredits(account));
|
|
624
584
|
const everyAccountHasOneCredit = credits.every((count) => count === 1);
|
|
625
585
|
// The identity follows `accountNames` like the pool line does: the full
|
|
626
586
|
// address is the longest form of the `label` name and appears only there,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-overview.js","sourceRoot":"","sources":["../../lib/quota-overview.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACN,kBAAkB,EAClB,qBAAqB,GAErB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,WAAW,GAAG,EAAE,GAAG,aAAa,CAAC;AACvC,MAAM,UAAU,GAAG,EAAE,GAAG,WAAW,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C,iEAAiE;AACjE,MAAM,0BAA0B,GAAG,CAAC,CAAC;AA8FrC,SAAS,SAAS,CAAC,KAAyB;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAU;IAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,IAAI,EAAE,IAAI,UAAU;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC;IAC/D,IAAI,EAAE,IAAI,WAAW;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC;IACjE,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACrC,OAA6B;IAE7B,IAAI,SAA0C,CAAC;IAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YAAE,SAAS;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS,GAAG,MAAM,CAAC;YACnB,SAAS;QACV,CAAC;QACD,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,IAAI,GAAG,CAAC;QACnD,IAAI,MAAM,CAAC,WAAW,GAAG,aAAa,EAAE,CAAC;YACxC,SAAS,GAAG,MAAM,CAAC;YACnB,SAAS;QACV,CAAC;QACD,IACC,MAAM,CAAC,WAAW,KAAK,aAAa;YACpC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3B,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,EAC1E,CAAC;YACF,SAAS,GAAG,MAAM,CAAC;QACpB,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CACzC,QAAyC;IAEzC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;YAAE,SAAS;QAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,SAAS;QACtD,QAAQ,IAAI,MAAM,GAAG,SAAS,CAAC,WAAW,CAAC;QAC3C,WAAW,IAAI,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CACnC,QAAyC;IAEzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;YAAE,SAAS;QAC9D,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,SAAS;QACtD,KAAK,IAAI,MAAM,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC3C,QAAyC,EACzC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE5C,IAAI,QAA4B,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,GAAG;gBAAE,SAAS;YAC1E,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,GAAG;gBAAE,SAAS;YACxD,IAAI,QAAQ,KAAK,SAAS,IAAI,SAAS,GAAG,QAAQ;gBAAE,QAAQ,GAAG,SAAS,CAAC;QAC1E,CAAC;IACF,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACvC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,QAAQ;YAC1D,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,CAAC,CAAC,MAAM,CACT;KACD,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;IACzC,IAAI,YAAY,GAAG,0BAA0B;QAAE,OAAO,SAAS,CAAC;IAChE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC/B,QAAyC;IAEzC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;YAAE,SAAS;QAC9D,QAAQ,IAAI,CAAC,CAAC;QACd,IAAI,SAAS,CAAC,WAAW,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC7C,CAAC;IACD,OAAO,QAAQ,GAAG,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAC1B,OAA6B;IAE7B,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC;QACjD,CAAC,CAAC,SAAS,CAAC,SAAS;QACrB,CAAC,CAAC,SAAS,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAC5B,OAA6B;IAE7B,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,SAAS,IAAI,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;QACnD,CAAC,CAAC,SAAS,CAAC,WAAW;QACvB,CAAC,CAAC,SAAS,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACpC,QAAyC,EACzC,KAAyB;IAEzB,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;IAC7B,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QACrD,MAAM,SAAS,GAAG,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,WAAW,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC;YACD,IAAI,WAAW,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC;YACxC,IAAI,YAAY,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC,CAAC;YAC1C,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;gBAClC,OAAO,SAAS,GAAG,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,KAAK,KAAK,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAClC,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAC7C,IAAI,SAAS,KAAK,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACjC,CAAC;YACD,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC;YACtC,IAAI,UAAU,KAAK,SAAS;gBAAE,OAAO,CAAC,CAAC,CAAC;YACxC,IAAI,SAAS,KAAK,UAAU;gBAAE,OAAO,SAAS,GAAG,CAAC,SAAS,GAAG,UAAU,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC,CAAC,CAAC;IACJ,CAAC;IACD,yEAAyE;IACzE,2EAA2E;IAC3E,yCAAyC;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,GAAG,mBAAmB,CAAC;AAEvC;;;;;;GAMG;AACH,SAAS,oBAAoB,CAC5B,KAAa,EACb,SAAkB;IAElB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;AACvD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CACjC,OAA6B,EAC7B,KAAyB,EACzB,SAAS,GAAG,KAAK;IAEjB,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACpC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACtE,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;AACrC,CAAC;AAED,mEAAmE;AACnE,SAAS,mBAAmB,CAC3B,OAA6B,EAC7B,SAAkB;IAElB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;IACpC,MAAM,KAAK,GACV,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChF,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACvD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAA6B;IACzD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC;IACrC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;QAC5E,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,CAAC,CAAC;AACN,CAAC;AAgBD,SAAS,gBAAgB,CACxB,WAAmB,EACnB,UAAmC;IAEnC,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,OAAO,WAAW,IAAI,2BAA2B,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,SAAS,wBAAwB,CAChC,OAA6B,EAC7B,SAA8B,EAC9B,OAAuB;IAEvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;IAC1C,IACC,SAAS,CAAC,WAAW,CAAC;QACtB,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC;QACjD,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,EAC7B,CAAC;QACF,MAAM,KAAK,GAAG,qBAAqB,CAAC,SAAS,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QACvE,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,OAAO,GAAG,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAC5B,OAA6B,EAC7B,OAAuB;IAEvB,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3E,IAAI,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,UAAU;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,KAAK,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,uBAAuB,CAC/B,QAAyC,EACzC,OAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,GAAG,EAGnB,CAAC;IACJ,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;YAAE,SAAS;QAC9D,MAAM,OAAO,GAAG,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;YACpC,OAAO;YACP,IAAI,EAAE,CAAC;YACP,WAAW,EAAE,EAAE;SACf,CAAC;QACF,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC;QAChB,MAAM,WAAW,GAAG,wBAAwB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1E,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACjC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CACtB,QAA+B,EAC/B,OAAgE;IAEhE,MAAM,EAAE,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IACjD,OAAO,GAAG,IAAI,GAAG,QAAQ,CAAC,YAAY,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;AAC9E,CAAC;AAKD,SAAS,kBAAkB,CAC1B,KAAa,EACb,KAA8B;IAE9B,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,GAAG,KAAK,EAAE,CAAC;IACxC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,GAAG,KAAK,QAAQ,CAAC;IAC/C,OAAO,GAAG,KAAK,WAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,eAAe,CACvB,OAA6B,EAC7B,oBAA6B;IAE7B,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,IAAI,OAAO,GAAmB;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;KAClC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,IAAI,GAAG,CAAC,IAA6B,EAAQ,EAAE;QACpD,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC,CAAC;IACF,IAAI,OAAO,CAAC,WAAW;QAAE,IAAI,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO;QAAE,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,YAAY;QAAE,IAAI,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ;QAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACjE,IAAI,OAAO,CAAC,UAAU,KAAK,OAAO;QAAE,IAAI,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;IAClE,IAAI,OAAO,CAAC,KAAK,KAAK,MAAM,IAAI,oBAAoB;QAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,6BAA6B,CAC5C,QAAyC,EACzC,OAA6B;IAE7B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,KAAK,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ;QAChC,CAAC,CAAC,4BAA4B,CAAC,QAAQ,EAAE,GAAG,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,aAAa,GAAG,QAAQ;QAC7B,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;aACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACd,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAC5D;aACA,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC,CAAC,EAAE,CAAC;IAEN,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAChC,sEAAsE;QACtE,oEAAoE;QACpE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,oBAAoB,GACzB,OAAO,CAAC,KAAK,KAAK,QAAQ;YAC1B,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;YACjC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAAE,CAAC;YACnE,MAAM,cAAc,GAAmB;gBACtC,GAAG,IAAI;gBACP,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,SAAS;gBACT,GAAG;aACH,CAAC;YACF,MAAM,QAAQ,GACb,OAAO,CAAC,MAAM,KAAK,WAAW;gBAC7B,CAAC,CAAC,uBAAuB,CAAC,MAAM,EAAE,cAAc,CAAC;gBACjD,CAAC,CAAC,MAAM;qBACL,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;qBAC/D,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAED,mEAAmE;IACnE,2EAA2E;IAC3E,sCAAsC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,SAAS,GAAG,CAAC,CAAC;IAC1E,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEtD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,GAAG,IAA+B,EAAQ,EAAE;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,KAAK,MAAM,IAAI,IAAI,aAAa;gBAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,wEAAwE;QACxE,mEAAmE;QACnE,oEAAoE;QACpE,8CAA8C;QAC9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,IAAI,IAAI,aAAa;gBAAE,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;YAChG,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,uBAAuB,CACtC,QAAyC,EACzC,OAA6B;IAE7B,OAAO,6BAA6B,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,2BAA2B,CAC1C,QAAyC,EACzC,OAGC;IAED,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC7C,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC,MAAM,CAC3E,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,CAAC,CAC7C,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5C,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO,SAAS,KAAK,SAAS;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,qBAAqB,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,MAAM,wBAAwB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IAEvE,wEAAwE;IACxE,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,UAAU,GACf,KAAK,KAAK,MAAM;QACf,CAAC,CAAC,CAAC,OAAO,CAAC;QACX,CAAC,CAAC,KAAK,KAAK,QAAQ;YACnB,CAAC,CAAC;gBACA,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAChD;aACD;YACF,CAAC,CAAC;gBACA,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CACvC;gBACD,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAC/C;gBACD,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,kBAAkB,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAChD;aACD,CAAC;IAEN,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,CAAC,IAAY,EAAQ,EAAE;QAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,CACZ,MAAc,EACd,QAAmC,EACnC,YAAqB,EACrB,WAAoB,EACb,EAAE;QACT,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;YACtD,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,YAAY,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnD,IAAI,WAAW;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,IAAI;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,oEAAoE;QACpE,mEAAmE;QACnE,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;YAAE,OAAO;QAC7D,GAAG,CAAC,GAAG,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,oEAAoE;IACpE,qEAAqE;IACrE,kEAAkE;IAClE,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3D,KAAK,MAAM,QAAQ,IAAI,UAAU;QAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACzE,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,qBAAqB;IACrB,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,wBAAwB;YAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,GAAG,CAAC,WAAW,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACpC,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,+BAA+B,CAC9C,QAAyC;IAEzC,IAAI,IAAwB,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC;YAAE,SAAS;QAC9D,IAAI,IAAI,KAAK,SAAS,IAAI,SAAS,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC;YACxD,IAAI,GAAG,SAAS,CAAC,WAAW,CAAC;QAC9B,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,2EAA2E;AAC3E,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"quota-overview.js","sourceRoot":"","sources":["../../lib/quota-overview.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { QuotaOverviewAccount, QuotaOverviewRecovery } from "./quota-overview.js";
|
|
2
|
+
export declare function resolveNextQuotaRecovery(accounts: readonly QuotaOverviewAccount[], now: number): QuotaOverviewRecovery | undefined;
|
|
3
|
+
/** Simulate known ordinary windows once; deltas telescope rather than repeating cumulative gains. */
|
|
4
|
+
export declare function resolveQuotaRecoveryEvents(accounts: readonly QuotaOverviewAccount[], now?: number): QuotaOverviewRecovery[];
|
|
5
|
+
//# sourceMappingURL=quota-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota-recovery.d.ts","sourceRoot":"","sources":["../../lib/quota-recovery.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAuB,MAAM,qBAAqB,CAAC;AAQ5G,wBAAgB,wBAAwB,CACvC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,EACzC,GAAG,EAAE,MAAM,GACT,qBAAqB,GAAG,SAAS,CAwBnC;AAED,qGAAqG;AACrG,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,EACzC,GAAG,GAAE,MAAmB,GACtB,qBAAqB,EAAE,CA0BzB"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { computeWeightedLeftPercent } from "./quota-capacity.js";
|
|
2
|
+
function isFutureReset(window, now) {
|
|
3
|
+
return typeof window.leftPercent === "number" &&
|
|
4
|
+
Number.isFinite(window.leftPercent) && window.leftPercent >= 0 && window.leftPercent < 100 &&
|
|
5
|
+
typeof window.resetAtMs === "number" && Number.isFinite(window.resetAtMs) && window.resetAtMs > now;
|
|
6
|
+
}
|
|
7
|
+
export function resolveNextQuotaRecovery(accounts, now) {
|
|
8
|
+
const current = computeWeightedLeftPercent(accounts);
|
|
9
|
+
if (current === undefined)
|
|
10
|
+
return undefined;
|
|
11
|
+
let earliest;
|
|
12
|
+
for (const account of accounts) {
|
|
13
|
+
for (const window of account.windows) {
|
|
14
|
+
if (isFutureReset(window, now) && window.resetAtMs !== undefined) {
|
|
15
|
+
earliest = Math.min(earliest ?? Infinity, window.resetAtMs);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
if (earliest === undefined)
|
|
20
|
+
return undefined;
|
|
21
|
+
const atMs = earliest;
|
|
22
|
+
const refilled = accounts.map((account) => ({
|
|
23
|
+
...account,
|
|
24
|
+
windows: account.windows.map((window) =>
|
|
25
|
+
// Only readable future resets refill: an unreadable window would add
|
|
26
|
+
// an account `current` never counted, and a past reset is not news.
|
|
27
|
+
isFutureReset(window, now) && window.resetAtMs !== undefined && window.resetAtMs <= atMs
|
|
28
|
+
? { ...window, leftPercent: 100 } : window),
|
|
29
|
+
}));
|
|
30
|
+
const recovered = computeWeightedLeftPercent(refilled);
|
|
31
|
+
if (recovered === undefined || recovered - current < 1)
|
|
32
|
+
return undefined;
|
|
33
|
+
return { atMs, deltaPercent: recovered - current };
|
|
34
|
+
}
|
|
35
|
+
/** Simulate known ordinary windows once; deltas telescope rather than repeating cumulative gains. */
|
|
36
|
+
export function resolveQuotaRecoveryEvents(accounts, now = Date.now()) {
|
|
37
|
+
let previous = computeWeightedLeftPercent(accounts);
|
|
38
|
+
if (previous === undefined)
|
|
39
|
+
return [];
|
|
40
|
+
const timestamps = new Set();
|
|
41
|
+
for (const account of accounts) {
|
|
42
|
+
for (const window of account.windows) {
|
|
43
|
+
if (isFutureReset(window, now) && window.resetAtMs !== undefined)
|
|
44
|
+
timestamps.add(window.resetAtMs);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
let simulated = accounts;
|
|
48
|
+
const events = [];
|
|
49
|
+
for (const atMs of [...timestamps].sort((left, right) => left - right)) {
|
|
50
|
+
simulated = simulated.map((account) => ({
|
|
51
|
+
...account,
|
|
52
|
+
windows: account.windows.map((window) => window.resetAtMs === atMs && isFutureReset(window, now)
|
|
53
|
+
? { ...window, leftPercent: 100 }
|
|
54
|
+
: window),
|
|
55
|
+
}));
|
|
56
|
+
const recovered = computeWeightedLeftPercent(simulated);
|
|
57
|
+
if (recovered === undefined)
|
|
58
|
+
continue;
|
|
59
|
+
const deltaPercent = recovered - previous;
|
|
60
|
+
previous = recovered;
|
|
61
|
+
if (deltaPercent > 0)
|
|
62
|
+
events.push({ atMs, deltaPercent });
|
|
63
|
+
}
|
|
64
|
+
return events;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=quota-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota-recovery.js","sourceRoot":"","sources":["../../lib/quota-recovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAGjE,SAAS,aAAa,CAAC,MAA2B,EAAE,GAAW;IAC9D,OAAO,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QAC5C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,MAAM,CAAC,WAAW,GAAG,GAAG;QAC1F,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC;AACtG,CAAC;AAED,MAAM,UAAU,wBAAwB,CACvC,QAAyC,EACzC,GAAW;IAEX,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,QAA4B,CAAC;IACjC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC;QACF,CAAC;IACF,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC;IACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,GAAG,OAAO;QACV,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACvC,qEAAqE;QACrE,oEAAoE;QACpE,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,IAAI,IAAI;YACvF,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;KAC7C,CAAC,CAAC,CAAC;IACJ,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,OAAO,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,GAAG,OAAO,EAAE,CAAC;AACpD,CAAC;AAED,qGAAqG;AACrG,MAAM,UAAU,0BAA0B,CACzC,QAAyC,EACzC,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,QAAQ,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS;gBAAE,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpG,CAAC;IACF,CAAC;IACD,IAAI,SAAS,GAAG,QAAQ,CAAC;IACzB,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACxE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACvC,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACvC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC;gBACtD,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE;gBACjC,CAAC,CAAC,MAAM,CAAC;SACX,CAAC,CAAC,CAAC;QACJ,MAAM,SAAS,GAAG,0BAA0B,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACtC,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC1C,QAAQ,GAAG,SAAS,CAAC;QACrB,IAAI,YAAY,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -134,7 +134,7 @@ export declare function shouldRefreshToken(auth: Auth, skewMs?: number): boolean
|
|
|
134
134
|
* @param client - Opencode client for updating stored credentials
|
|
135
135
|
* @returns Updated auth (throws on failure)
|
|
136
136
|
*/
|
|
137
|
-
export declare function refreshAndUpdateToken(currentAuth: OAuthAuthDetails, client: OpencodeClient, identity?: Omit<PersistedRefreshIdentity, "refreshToken">): Promise<OAuthAuthDetails>;
|
|
137
|
+
export declare function refreshAndUpdateToken(currentAuth: OAuthAuthDetails, client: OpencodeClient | undefined, identity?: Omit<PersistedRefreshIdentity, "refreshToken">): Promise<OAuthAuthDetails>;
|
|
138
138
|
/**
|
|
139
139
|
* Extracts URL string from various request input types
|
|
140
140
|
* @param input - Request input (string, URL, or Request object)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-helpers.d.ts","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"fetch-helpers.d.ts","sourceRoot":"","sources":["../../../lib/request/fetch-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { coordinatePersistedRefresh, } from "../storage/coordinated-refresh.js";
|
|
|
6
6
|
import { logRequest, logError, logWarn } from "../logger.js";
|
|
7
7
|
import { ensureInstructionIdentity, getCodexInstructions, getModelFamily, } from "../prompts/codex.js";
|
|
8
8
|
import { transformRequestBody, normalizeModel, upsertBackendModelIdentityMessage, } from "./request-transformer.js";
|
|
9
|
-
import { DAYBREAK_BLUE_MODEL_ID, DAYBREAK_RED_MODEL_ID, GPT_55_MODEL_ID, GPT_56_CYBER_MODEL_ID, GPT_56_LUNA_MODEL_ID, GPT_56_SOL_MODEL_ID, GPT_56_TERRA_MODEL_ID, GPT_6_ASTRA_MODEL_ID, } from "./helpers/model-map.js";
|
|
9
|
+
import { DAYBREAK_BLUE_MODEL_ID, DAYBREAK_RED_MODEL_ID, GPT_55_MODEL_ID, GPT_56_CYBER_MODEL_ID, GPT_56_LUNA_MODEL_ID, GPT_56_SOL_MODEL_ID, GPT_56_TERRA_MODEL_ID, GPT_6_ASTRA_MODEL_ID, GPT_6_LUNA_MODEL_ID, GPT_6_SOL_MODEL_ID, } from "./helpers/model-map.js";
|
|
10
10
|
import { stripEffortSuffix } from "./helpers/effort-suffix.js";
|
|
11
11
|
import { RESPONSES_LITE_HEADER, RESPONSES_LITE_HEADER_VALUE, shapeBodyForModel, usesResponsesLite, } from "./helpers/responses-lite.js";
|
|
12
12
|
import { resolveClientIdentity } from "./helpers/client-identity.js";
|
|
@@ -49,66 +49,98 @@ const CHATGPT_CODEX_UNSUPPORTED_MODEL_CODE = "model_not_supported_with_chatgpt_a
|
|
|
49
49
|
const CHATGPT_CODEX_UNSUPPORTED_MODEL_PATTERN = /model is not supported when using codex with a chatgpt account/i;
|
|
50
50
|
const NORMALIZED_UNSUPPORTED_MODEL_PATTERN = /the model ['"]([^'"]+)['"] is not currently available for this chatgpt account/i;
|
|
51
51
|
export const DEFAULT_UNSUPPORTED_CODEX_FALLBACK_CHAIN = {
|
|
52
|
-
//
|
|
53
|
-
// reaching Plus/Pro/Business/Enterprise only "in the coming days", so an
|
|
54
|
-
// entitlement 400 is the expected result for most accounts today. Degrade
|
|
55
|
-
// into the 5.6 tiers, which are the closest thing in capability.
|
|
52
|
+
// The general rows follow one order, most capable first:
|
|
56
53
|
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
54
|
+
// gpt-6-astra > gpt-6-sol > gpt-5.6-sol > gpt-5.6-terra
|
|
55
|
+
// > gpt-5.5 > gpt-6-luna > gpt-5.6-luna
|
|
56
|
+
//
|
|
57
|
+
// and each row is that order's tail after its own model. The resolver walks
|
|
58
|
+
// the chain of whichever model it is CURRENTLY on, so a row that is not a
|
|
59
|
+
// suffix of the others dead-ends the walk early. Every walk ends on the
|
|
60
|
+
// terminal, `gpt-5.6-luna`, whose row lists everything else (minus Astra),
|
|
61
|
+
// so every entry point reaches every live general model.
|
|
62
|
+
//
|
|
63
|
+
// The terminal is `gpt-5.6-luna`, not `gpt-5.5`: OpenAI's Codex model docs
|
|
64
|
+
// say GPT-5.5 retires from Codex with ChatGPT sign-in on 2026-10-14. 5.6
|
|
65
|
+
// Luna is listed for every plan and has no retirement date. `gpt-5.2`, the
|
|
66
|
+
// terminal before that, left the catalog in openai/codex #44250.
|
|
67
|
+
//
|
|
68
|
+
// A GPT-6 tier crosses to the matching 5.6 tier before its GPT-6 sibling:
|
|
69
|
+
// Sol and Luna joined the catalog on 2026-09-22 (openai/codex 49e95cc7), so
|
|
70
|
+
// an entitlement 400 on one GPT-6 tier most likely means the account is not
|
|
71
|
+
// in the GPT-6 rollout yet, and the sibling would fail the same way.
|
|
72
|
+
//
|
|
73
|
+
// Astra is never a target: it is the frontier tier, so nothing degrades
|
|
74
|
+
// into it. The Daybreak tiers are absent entirely. They are cyber-specialty
|
|
75
|
+
// models (`model_specialty: "cyber"`); silently degrading a Daybreak request
|
|
76
|
+
// onto a general model would answer a security-research prompt with a model
|
|
77
|
+
// that was never asked for. They fail loudly instead.
|
|
61
78
|
[GPT_6_ASTRA_MODEL_ID]: [
|
|
79
|
+
GPT_6_SOL_MODEL_ID,
|
|
62
80
|
GPT_56_SOL_MODEL_ID,
|
|
63
81
|
GPT_56_TERRA_MODEL_ID,
|
|
82
|
+
GPT_55_MODEL_ID,
|
|
83
|
+
GPT_6_LUNA_MODEL_ID,
|
|
64
84
|
GPT_56_LUNA_MODEL_ID,
|
|
85
|
+
],
|
|
86
|
+
[GPT_6_SOL_MODEL_ID]: [
|
|
87
|
+
GPT_56_SOL_MODEL_ID,
|
|
88
|
+
GPT_56_TERRA_MODEL_ID,
|
|
65
89
|
GPT_55_MODEL_ID,
|
|
66
|
-
|
|
90
|
+
GPT_6_LUNA_MODEL_ID,
|
|
91
|
+
GPT_56_LUNA_MODEL_ID,
|
|
67
92
|
],
|
|
68
|
-
// GPT-5.6 shipped as a limited preview. Accounts outside it get
|
|
69
|
-
// `model_not_supported_with_chatgpt_account`, so degrade down the 5.6 tiers
|
|
70
|
-
// and then out to the generally-available 5.5 family.
|
|
71
|
-
//
|
|
72
|
-
// `gpt-5.2` repeats on every tier on purpose. The resolver walks the chain
|
|
73
|
-
// of whichever model it is currently on, so once a request hops from
|
|
74
|
-
// gpt-5.5 to terra it reads terra's list; a terminal that lived only on
|
|
75
|
-
// gpt-5.5's list would never be reached.
|
|
76
93
|
[GPT_56_SOL_MODEL_ID]: [
|
|
77
94
|
GPT_56_TERRA_MODEL_ID,
|
|
95
|
+
GPT_55_MODEL_ID,
|
|
96
|
+
GPT_6_LUNA_MODEL_ID,
|
|
78
97
|
GPT_56_LUNA_MODEL_ID,
|
|
98
|
+
],
|
|
99
|
+
[GPT_56_TERRA_MODEL_ID]: [GPT_55_MODEL_ID, GPT_6_LUNA_MODEL_ID, GPT_56_LUNA_MODEL_ID],
|
|
100
|
+
// The catalog names `gpt-6-sol` as gpt-5.5's `upgrade`, so its row leads
|
|
101
|
+
// with it rather than being a plain suffix.
|
|
102
|
+
[GPT_55_MODEL_ID]: [
|
|
103
|
+
GPT_6_SOL_MODEL_ID,
|
|
104
|
+
GPT_56_SOL_MODEL_ID,
|
|
105
|
+
GPT_56_TERRA_MODEL_ID,
|
|
106
|
+
GPT_6_LUNA_MODEL_ID,
|
|
107
|
+
GPT_56_LUNA_MODEL_ID,
|
|
108
|
+
],
|
|
109
|
+
// The two Luna tiers end the order, so both rows go up after trying each
|
|
110
|
+
// other: a walk hops between them, and whichever row it is on then has to
|
|
111
|
+
// list the rest, or the walk dead-ends. gpt-5.6-luna leads with gpt-6-luna,
|
|
112
|
+
// its catalog `upgrade`. The warm ping starts at gpt-6-luna and reaches 6
|
|
113
|
+
// models, exactly WARM_ATTEMPT_HARD_CEILING (lib/accounts/warm-request.ts).
|
|
114
|
+
[GPT_6_LUNA_MODEL_ID]: [
|
|
115
|
+
GPT_56_LUNA_MODEL_ID,
|
|
116
|
+
GPT_6_SOL_MODEL_ID,
|
|
117
|
+
GPT_56_SOL_MODEL_ID,
|
|
118
|
+
GPT_56_TERRA_MODEL_ID,
|
|
79
119
|
GPT_55_MODEL_ID,
|
|
80
|
-
"gpt-5.2",
|
|
81
120
|
],
|
|
82
|
-
[
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
// or `gpt-5.4-mini` directly still degrades, through their own keys below.
|
|
100
|
-
[GPT_55_MODEL_ID]: [GPT_56_TERRA_MODEL_ID, GPT_56_LUNA_MODEL_ID, "gpt-5.2"],
|
|
101
|
-
// Each retired id leads with the successor its own catalog entry names.
|
|
102
|
-
"gpt-5.4": [GPT_56_TERRA_MODEL_ID, GPT_55_MODEL_ID, "gpt-5.2"],
|
|
103
|
-
"gpt-5.4-mini": [GPT_56_LUNA_MODEL_ID, GPT_55_MODEL_ID, "gpt-5.2"],
|
|
104
|
-
// `gpt-5.4-nano` has no catalog entry, so no upgrade directive to follow. It
|
|
105
|
-
// was previously a dead end with no chain of its own, which made it a
|
|
106
|
-
// terminal failure for anyone who selected it; give it the same way out.
|
|
107
|
-
"gpt-5.4-nano": [GPT_56_LUNA_MODEL_ID, GPT_55_MODEL_ID, "gpt-5.2"],
|
|
121
|
+
[GPT_56_LUNA_MODEL_ID]: [
|
|
122
|
+
GPT_6_LUNA_MODEL_ID,
|
|
123
|
+
GPT_6_SOL_MODEL_ID,
|
|
124
|
+
GPT_56_SOL_MODEL_ID,
|
|
125
|
+
GPT_56_TERRA_MODEL_ID,
|
|
126
|
+
GPT_55_MODEL_ID,
|
|
127
|
+
],
|
|
128
|
+
// Retired ids lead with the successor OpenAI names for them: gpt-5.4 ->
|
|
129
|
+
// gpt-6-sol, gpt-5.4-mini -> gpt-6-luna (Codex models docs; both retired
|
|
130
|
+
// from Codex on 2026-08-31). `gpt-5.4-mini` has since left the catalog
|
|
131
|
+
// entirely (#44250), but Codex keeps migrating saved selections of it to
|
|
132
|
+
// Luna, so this row keeps doing the same. Each row ends on the terminal.
|
|
133
|
+
"gpt-5.4": [GPT_6_SOL_MODEL_ID, GPT_56_TERRA_MODEL_ID, GPT_56_LUNA_MODEL_ID],
|
|
134
|
+
"gpt-5.4-mini": [GPT_6_LUNA_MODEL_ID, GPT_56_LUNA_MODEL_ID],
|
|
135
|
+
// `gpt-5.4-nano` never had a catalog entry, so no upgrade directive to
|
|
136
|
+
// follow; it takes the budget line like its mini sibling.
|
|
137
|
+
"gpt-5.4-nano": [GPT_6_LUNA_MODEL_ID, GPT_56_LUNA_MODEL_ID],
|
|
108
138
|
// GPT-5.4 Pro has no catalog entry either; it inherits the 5.4 line's
|
|
109
139
|
// successor rather than degrading onto retired gpt-5.4 first.
|
|
110
|
-
"gpt-5.4-pro": [
|
|
111
|
-
|
|
140
|
+
"gpt-5.4-pro": [GPT_6_SOL_MODEL_ID, GPT_56_TERRA_MODEL_ID, GPT_56_LUNA_MODEL_ID],
|
|
141
|
+
// gpt-5-codex was shut down on 2026-07-23 (API deprecations page); a
|
|
142
|
+
// hand-typed selection still gets a way out.
|
|
143
|
+
"gpt-5-codex": [GPT_56_TERRA_MODEL_ID, GPT_56_LUNA_MODEL_ID],
|
|
112
144
|
// Legacy selectors normalize to `gpt-5-codex` before lookup during the
|
|
113
145
|
// request path. Keep these historical entries for direct helper callers and
|
|
114
146
|
// custom-chain documentation; the canonical `gpt-5-codex` edge above is the
|
|
@@ -128,8 +160,11 @@ const DEFAULT_AUTO_FALLBACK_ENTRY_OPT_OUT_ENV = {
|
|
|
128
160
|
[GPT_56_SOL_MODEL_ID]: "CODEX_AUTH_DISABLE_GPT56_AUTO_FALLBACK",
|
|
129
161
|
[GPT_56_TERRA_MODEL_ID]: "CODEX_AUTH_DISABLE_GPT56_AUTO_FALLBACK",
|
|
130
162
|
[GPT_56_LUNA_MODEL_ID]: "CODEX_AUTH_DISABLE_GPT56_AUTO_FALLBACK",
|
|
131
|
-
//
|
|
163
|
+
// Every GPT-6 tier is mid-rollout, so the same reasoning applies one
|
|
164
|
+
// generation up. One switch covers the generation, like the 5.6 one.
|
|
132
165
|
[GPT_6_ASTRA_MODEL_ID]: "CODEX_AUTH_DISABLE_GPT6_AUTO_FALLBACK",
|
|
166
|
+
[GPT_6_SOL_MODEL_ID]: "CODEX_AUTH_DISABLE_GPT6_AUTO_FALLBACK",
|
|
167
|
+
[GPT_6_LUNA_MODEL_ID]: "CODEX_AUTH_DISABLE_GPT6_AUTO_FALLBACK",
|
|
133
168
|
};
|
|
134
169
|
/**
|
|
135
170
|
* Models the default auto-fallback may keep degrading *from* after it has
|
|
@@ -140,8 +175,7 @@ const DEFAULT_AUTO_FALLBACK_ENTRY_OPT_OUT_ENV = {
|
|
|
140
175
|
* own a row in DEFAULT_UNSUPPORTED_CODEX_FALLBACK_CHAIN: membership here gates
|
|
141
176
|
* *whether* auto-fallback is allowed to continue, but the resolver still reads
|
|
142
177
|
* `chain[currentModel]`, so a member with no row of its own returns undefined
|
|
143
|
-
* either way.
|
|
144
|
-
* resort in every tail and has no row, so listing it would be a no-op.
|
|
178
|
+
* either way.
|
|
145
179
|
*/
|
|
146
180
|
const DEFAULT_AUTO_FALLBACK_CONTINUATION_MODELS = new Set([
|
|
147
181
|
"gpt-5.4",
|
|
@@ -604,7 +638,7 @@ export async function refreshAndUpdateToken(currentAuth, client, identity = {})
|
|
|
604
638
|
}
|
|
605
639
|
const currentScope = currentAuth.scope;
|
|
606
640
|
const nextScope = refreshResult.scope ?? currentScope;
|
|
607
|
-
await client
|
|
641
|
+
await client?.auth.set({
|
|
608
642
|
path: { id: "openai" },
|
|
609
643
|
body: {
|
|
610
644
|
type: "oauth",
|