oc-codex-multi-auth 6.20.0 → 6.22.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 +729 -568
- 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 +177 -177
- package/config/minimal-opencode.json +14 -14
- package/config/opencode-legacy.json +1496 -1496
- package/config/opencode-modern.json +555 -555
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +567 -102
- package/dist/index.js.map +1 -1
- package/dist/lib/account-display.d.ts +46 -0
- package/dist/lib/account-display.d.ts.map +1 -1
- package/dist/lib/account-display.js +263 -1
- package/dist/lib/account-display.js.map +1 -1
- package/dist/lib/accounts/persistence.d.ts +3 -1
- package/dist/lib/accounts/persistence.d.ts.map +1 -1
- package/dist/lib/accounts/persistence.js +27 -3
- package/dist/lib/accounts/persistence.js.map +1 -1
- package/dist/lib/accounts/stale-state.d.ts +1 -0
- package/dist/lib/accounts/stale-state.d.ts.map +1 -1
- package/dist/lib/accounts/stale-state.js +30 -0
- package/dist/lib/accounts/stale-state.js.map +1 -1
- package/dist/lib/accounts/warm-recovery.d.ts +8 -0
- package/dist/lib/accounts/warm-recovery.d.ts.map +1 -0
- package/dist/lib/accounts/warm-recovery.js +70 -0
- package/dist/lib/accounts/warm-recovery.js.map +1 -0
- package/dist/lib/accounts/warm-request.d.ts +2 -0
- package/dist/lib/accounts/warm-request.d.ts.map +1 -1
- package/dist/lib/accounts/warm-request.js +4 -2
- package/dist/lib/accounts/warm-request.js.map +1 -1
- package/dist/lib/accounts.d.ts +5 -1
- package/dist/lib/accounts.d.ts.map +1 -1
- package/dist/lib/accounts.js +22 -17
- package/dist/lib/accounts.js.map +1 -1
- package/dist/lib/auth/login-runner.d.ts.map +1 -1
- package/dist/lib/auth/login-runner.js +79 -2
- package/dist/lib/auth/login-runner.js.map +1 -1
- package/dist/lib/auto-update-checker.d.ts +17 -1
- package/dist/lib/auto-update-checker.d.ts.map +1 -1
- package/dist/lib/auto-update-checker.js +49 -3
- package/dist/lib/auto-update-checker.js.map +1 -1
- package/dist/lib/circuit-breaker.d.ts +5 -0
- package/dist/lib/circuit-breaker.d.ts.map +1 -1
- package/dist/lib/circuit-breaker.js +23 -6
- package/dist/lib/circuit-breaker.js.map +1 -1
- package/dist/lib/cli.d.ts +1 -0
- package/dist/lib/cli.d.ts.map +1 -1
- package/dist/lib/cli.js +9 -3
- package/dist/lib/cli.js.map +1 -1
- package/dist/lib/codex-reset.d.ts +7 -1
- package/dist/lib/codex-reset.d.ts.map +1 -1
- package/dist/lib/codex-reset.js +9 -2
- package/dist/lib/codex-reset.js.map +1 -1
- package/dist/lib/codex-usage.d.ts +7 -4
- package/dist/lib/codex-usage.d.ts.map +1 -1
- package/dist/lib/codex-usage.js +48 -13
- package/dist/lib/codex-usage.js.map +1 -1
- package/dist/lib/config.d.ts +77 -1
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +190 -15
- package/dist/lib/config.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/parallel-probe.d.ts.map +1 -1
- package/dist/lib/parallel-probe.js +2 -1
- package/dist/lib/parallel-probe.js.map +1 -1
- package/dist/lib/plan-allotment.d.ts +72 -0
- package/dist/lib/plan-allotment.d.ts.map +1 -0
- package/dist/lib/plan-allotment.js +142 -0
- package/dist/lib/plan-allotment.js.map +1 -0
- package/dist/lib/plugin-origin.d.ts +77 -0
- package/dist/lib/plugin-origin.d.ts.map +1 -0
- package/dist/lib/plugin-origin.js +301 -0
- package/dist/lib/plugin-origin.js.map +1 -0
- package/dist/lib/prompts/codex-opencode-bridge.js +67 -67
- package/dist/lib/prompts/codex.js +75 -75
- package/dist/lib/quota-display.d.ts +40 -0
- package/dist/lib/quota-display.d.ts.map +1 -0
- package/dist/lib/quota-display.js +45 -0
- package/dist/lib/quota-display.js.map +1 -0
- package/dist/lib/quota-notifications.d.ts +2 -1
- package/dist/lib/quota-notifications.d.ts.map +1 -1
- package/dist/lib/quota-notifications.js +43 -14
- package/dist/lib/quota-notifications.js.map +1 -1
- package/dist/lib/quota-overview.d.ts +253 -0
- package/dist/lib/quota-overview.d.ts.map +1 -0
- package/dist/lib/quota-overview.js +707 -0
- package/dist/lib/quota-overview.js.map +1 -0
- package/dist/lib/request/fetch-helpers.js +22 -18
- package/dist/lib/request/fetch-helpers.js.map +1 -1
- package/dist/lib/request/response-handler.d.ts.map +1 -1
- package/dist/lib/request/response-handler.js +85 -43
- package/dist/lib/request/response-handler.js.map +1 -1
- package/dist/lib/request/retry-budget.d.ts +26 -0
- package/dist/lib/request/retry-budget.d.ts.map +1 -1
- package/dist/lib/request/retry-budget.js +43 -0
- package/dist/lib/request/retry-budget.js.map +1 -1
- package/dist/lib/rotation.d.ts +1 -1
- package/dist/lib/schemas.d.ts +67 -0
- package/dist/lib/schemas.d.ts.map +1 -1
- package/dist/lib/schemas.js +53 -0
- package/dist/lib/schemas.js.map +1 -1
- package/dist/lib/storage/backup.d.ts +33 -0
- package/dist/lib/storage/backup.d.ts.map +1 -1
- package/dist/lib/storage/backup.js +43 -7
- package/dist/lib/storage/backup.js.map +1 -1
- package/dist/lib/storage/credential-snapshots.d.ts +78 -0
- package/dist/lib/storage/credential-snapshots.d.ts.map +1 -0
- package/dist/lib/storage/credential-snapshots.js +302 -0
- package/dist/lib/storage/credential-snapshots.js.map +1 -0
- package/dist/lib/storage/export-import.d.ts.map +1 -1
- package/dist/lib/storage/export-import.js +7 -0
- package/dist/lib/storage/export-import.js.map +1 -1
- package/dist/lib/storage/flagged.d.ts.map +1 -1
- package/dist/lib/storage/flagged.js +23 -1
- package/dist/lib/storage/flagged.js.map +1 -1
- package/dist/lib/storage/load-save.d.ts +5 -0
- package/dist/lib/storage/load-save.d.ts.map +1 -1
- package/dist/lib/storage/load-save.js +61 -0
- package/dist/lib/storage/load-save.js.map +1 -1
- package/dist/lib/storage/normalize.d.ts.map +1 -1
- package/dist/lib/storage/normalize.js +38 -2
- package/dist/lib/storage/normalize.js.map +1 -1
- package/dist/lib/storage/paths.d.ts +1 -0
- package/dist/lib/storage/paths.d.ts.map +1 -1
- package/dist/lib/storage/paths.js +1 -1
- package/dist/lib/storage/paths.js.map +1 -1
- package/dist/lib/storage/state.d.ts +1 -0
- package/dist/lib/storage/state.d.ts.map +1 -1
- package/dist/lib/storage/state.js +12 -0
- package/dist/lib/storage/state.js.map +1 -1
- package/dist/lib/storage/test-home-guard.d.ts +35 -0
- package/dist/lib/storage/test-home-guard.d.ts.map +1 -0
- package/dist/lib/storage/test-home-guard.js +59 -0
- package/dist/lib/storage/test-home-guard.js.map +1 -0
- package/dist/lib/tools/codex-dashboard.d.ts.map +1 -1
- package/dist/lib/tools/codex-dashboard.js +3 -2
- package/dist/lib/tools/codex-dashboard.js.map +1 -1
- package/dist/lib/tools/codex-doctor.d.ts.map +1 -1
- package/dist/lib/tools/codex-doctor.js +16 -0
- 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 +10 -2
- package/dist/lib/tools/codex-health.js.map +1 -1
- package/dist/lib/tools/codex-label.d.ts.map +1 -1
- package/dist/lib/tools/codex-label.js +1 -0
- package/dist/lib/tools/codex-label.js.map +1 -1
- package/dist/lib/tools/codex-limits.d.ts.map +1 -1
- package/dist/lib/tools/codex-limits.js +26 -10
- package/dist/lib/tools/codex-limits.js.map +1 -1
- package/dist/lib/tools/codex-list.d.ts.map +1 -1
- package/dist/lib/tools/codex-list.js +28 -3
- package/dist/lib/tools/codex-list.js.map +1 -1
- package/dist/lib/tools/codex-note.d.ts.map +1 -1
- package/dist/lib/tools/codex-note.js +4 -1
- package/dist/lib/tools/codex-note.js.map +1 -1
- package/dist/lib/tools/codex-pool.d.ts.map +1 -1
- package/dist/lib/tools/codex-pool.js +6 -2
- package/dist/lib/tools/codex-pool.js.map +1 -1
- package/dist/lib/tools/codex-refresh.d.ts.map +1 -1
- package/dist/lib/tools/codex-refresh.js +4 -1
- package/dist/lib/tools/codex-refresh.js.map +1 -1
- package/dist/lib/tools/codex-remove.d.ts.map +1 -1
- package/dist/lib/tools/codex-remove.js +1 -0
- package/dist/lib/tools/codex-remove.js.map +1 -1
- package/dist/lib/tools/codex-reset.d.ts.map +1 -1
- package/dist/lib/tools/codex-reset.js +53 -8
- package/dist/lib/tools/codex-reset.js.map +1 -1
- package/dist/lib/tools/codex-status.d.ts.map +1 -1
- package/dist/lib/tools/codex-status.js +25 -2
- package/dist/lib/tools/codex-status.js.map +1 -1
- package/dist/lib/tools/codex-switch.d.ts.map +1 -1
- package/dist/lib/tools/codex-switch.js +1 -0
- package/dist/lib/tools/codex-switch.js.map +1 -1
- package/dist/lib/tools/codex-tag.d.ts.map +1 -1
- package/dist/lib/tools/codex-tag.js +4 -1
- package/dist/lib/tools/codex-tag.js.map +1 -1
- package/dist/lib/tools/codex-warm.d.ts +2 -1
- package/dist/lib/tools/codex-warm.d.ts.map +1 -1
- package/dist/lib/tools/codex-warm.js +49 -5
- package/dist/lib/tools/codex-warm.js.map +1 -1
- package/dist/lib/tools/index.d.ts +10 -1
- package/dist/lib/tools/index.d.ts.map +1 -1
- package/dist/lib/tools/index.js.map +1 -1
- package/dist/lib/tui-quota-cache.d.ts +35 -0
- package/dist/lib/tui-quota-cache.d.ts.map +1 -1
- package/dist/lib/tui-quota-cache.js +79 -12
- package/dist/lib/tui-quota-cache.js.map +1 -1
- package/dist/lib/tui-quota-overview.d.ts +55 -0
- package/dist/lib/tui-quota-overview.d.ts.map +1 -0
- package/dist/lib/tui-quota-overview.js +209 -0
- package/dist/lib/tui-quota-overview.js.map +1 -0
- package/dist/lib/tui-status.d.ts +55 -0
- package/dist/lib/tui-status.d.ts.map +1 -1
- package/dist/lib/tui-status.js +155 -14
- package/dist/lib/tui-status.js.map +1 -1
- package/dist/lib/ui/auth-menu.d.ts +2 -0
- package/dist/lib/ui/auth-menu.d.ts.map +1 -1
- package/dist/lib/ui/auth-menu.js +10 -6
- package/dist/lib/ui/auth-menu.js.map +1 -1
- package/dist/tui.d.ts +59 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +535 -43
- package/dist/tui.js.map +1 -1
- package/package.json +155 -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 +2003 -1469
- 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
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gather every account's quota for the pool-wide status line.
|
|
3
|
+
*
|
|
4
|
+
* The single-account status the request path maintains cannot answer "where
|
|
5
|
+
* does the pool stand" - it only ever describes the account that served the
|
|
6
|
+
* last response. This reads `/wham/usage` for each distinct account instead,
|
|
7
|
+
* on a bounded interval, and caches the result where every OpenCode window on
|
|
8
|
+
* the machine can share it.
|
|
9
|
+
*
|
|
10
|
+
* The cache is what keeps this cheap. A reader takes a snapshot that is still
|
|
11
|
+
* fresh rather than issuing its own requests, so N terminals open on the same
|
|
12
|
+
* pool cost one round of requests between them rather than N, and a terminal
|
|
13
|
+
* that has just started renders immediately instead of showing nothing while
|
|
14
|
+
* seven accounts are queried one after another.
|
|
15
|
+
*/
|
|
16
|
+
import { createUsageAccountFingerprint, deduplicateUsageAccountIndices, ensureCodexUsageAccessToken, fetchCodexUsage, getUsageLeftPercent, hasUsageWindow, parseCodexUsagePayload, resolveCodexUsageAccountId, } from "./codex-usage.js";
|
|
17
|
+
import { logDebug } from "./logger.js";
|
|
18
|
+
import { loadAccounts } from "./storage.js";
|
|
19
|
+
import { isFreshTuiQuotaSnapshot, readTuiQuotaOverviewSnapshot, writeTuiQuotaOverviewSnapshot, TUI_QUOTA_CACHE_VERSION, } from "./tui-quota-cache.js";
|
|
20
|
+
/**
|
|
21
|
+
* Accounts queried at once. Matches the quota monitor's own limit: this talks
|
|
22
|
+
* to the same endpoint with the same credentials, and a pool of a dozen seats
|
|
23
|
+
* should not arrive as a dozen simultaneous requests.
|
|
24
|
+
*/
|
|
25
|
+
const MAX_CONCURRENCY = 2;
|
|
26
|
+
function toOverviewLimit(window, label) {
|
|
27
|
+
return {
|
|
28
|
+
label,
|
|
29
|
+
leftPercent: getUsageLeftPercent(window.usedPercent) ?? null,
|
|
30
|
+
usedPercent: window.usedPercent,
|
|
31
|
+
windowMinutes: window.windowMinutes,
|
|
32
|
+
resetAtMs: window.resetAtMs,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Reduce one account's usage document to what the status line needs.
|
|
37
|
+
*
|
|
38
|
+
* Only the primary and secondary windows are kept. Code-review and the other
|
|
39
|
+
* additional quotas do not govern ordinary model requests, so counting them
|
|
40
|
+
* would let a spent code-review allowance report an account as unusable for
|
|
41
|
+
* work it can still do.
|
|
42
|
+
*/
|
|
43
|
+
export function toOverviewAccount(params) {
|
|
44
|
+
const limits = [
|
|
45
|
+
{ window: params.usage.primary, label: "5h" },
|
|
46
|
+
{ window: params.usage.secondary, label: "weekly" },
|
|
47
|
+
]
|
|
48
|
+
.filter(({ window }) => hasUsageWindow(window))
|
|
49
|
+
.map(({ window, label }) => toOverviewLimit(window, label));
|
|
50
|
+
const resetCredits = params.usage.resetCredits;
|
|
51
|
+
return {
|
|
52
|
+
fingerprint: params.fingerprint,
|
|
53
|
+
index: params.index,
|
|
54
|
+
email: params.email?.trim() || undefined,
|
|
55
|
+
// Only a label the user set, never the accountId/organizationId
|
|
56
|
+
// fallbacks other surfaces use: those identify an account without
|
|
57
|
+
// naming it, and a 36-character UUID on a status line names nothing.
|
|
58
|
+
label: params.label?.trim() || undefined,
|
|
59
|
+
planType: params.usage.planType ?? undefined,
|
|
60
|
+
// `applicableNow` is the count that can be redeemed against a window
|
|
61
|
+
// that is actually spent, which is the only one worth showing beside a
|
|
62
|
+
// percentage. It falls back to the banked total only when the server
|
|
63
|
+
// stated a count this build could not read.
|
|
64
|
+
resetCredits: resetCredits?.applicableNow ?? resetCredits?.available ?? undefined,
|
|
65
|
+
limits,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
async function fetchOverviewAccount(storage, index) {
|
|
69
|
+
const account = storage.accounts[index];
|
|
70
|
+
if (!account)
|
|
71
|
+
return undefined;
|
|
72
|
+
try {
|
|
73
|
+
const credentials = await ensureCodexUsageAccessToken({ storage, account });
|
|
74
|
+
const accountId = resolveCodexUsageAccountId({
|
|
75
|
+
account,
|
|
76
|
+
accessToken: credentials.accessToken,
|
|
77
|
+
});
|
|
78
|
+
if (!accountId)
|
|
79
|
+
return undefined;
|
|
80
|
+
const usage = parseCodexUsagePayload(await fetchCodexUsage({
|
|
81
|
+
accountId,
|
|
82
|
+
accessToken: credentials.accessToken,
|
|
83
|
+
organizationId: account.organizationId,
|
|
84
|
+
normalizeAccountErrors: true,
|
|
85
|
+
}));
|
|
86
|
+
return toOverviewAccount({
|
|
87
|
+
fingerprint: createUsageAccountFingerprint(account),
|
|
88
|
+
index: index + 1,
|
|
89
|
+
usage,
|
|
90
|
+
email: account.email,
|
|
91
|
+
label: account.accountLabel,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
logDebug(`Failed to fetch pool quota for one account: ${error.message}`);
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export async function fetchTuiQuotaOverview(params) {
|
|
100
|
+
const now = params.now ?? Date.now();
|
|
101
|
+
const cached = await readTuiQuotaOverviewSnapshot(params.cachePath);
|
|
102
|
+
if (cached && isFreshTuiQuotaSnapshot(cached, now))
|
|
103
|
+
return cached;
|
|
104
|
+
const storage = await (params.loadStorage ?? loadAccounts)();
|
|
105
|
+
if (!storage || storage.accounts.length === 0)
|
|
106
|
+
return undefined;
|
|
107
|
+
const indices = deduplicateUsageAccountIndices(storage);
|
|
108
|
+
const accounts = [];
|
|
109
|
+
// Set when an account this pass could not fetch keeps its previous
|
|
110
|
+
// reading instead of dropping out of the snapshot.
|
|
111
|
+
let carriedOver = false;
|
|
112
|
+
for (let offset = 0; offset < indices.length; offset += MAX_CONCURRENCY) {
|
|
113
|
+
const chunk = indices.slice(offset, offset + MAX_CONCURRENCY);
|
|
114
|
+
const results = await Promise.all(chunk.map((index) => fetchOverviewAccount(storage, index)));
|
|
115
|
+
for (const [position, result] of results.entries()) {
|
|
116
|
+
if (result) {
|
|
117
|
+
accounts.push(result);
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
// A failed fetch must not drop the account out of the snapshot: the
|
|
121
|
+
// pool would be judged on a subset, and one transient error on the
|
|
122
|
+
// only account with headroom would flip the line to "fully spent"
|
|
123
|
+
// and surface the resets screen wrongly. The cached reading is reused
|
|
124
|
+
// only for the SAME account - same pool position and same credential
|
|
125
|
+
// fingerprint, so a pool that changed membership never inherits a
|
|
126
|
+
// stranger's numbers - and the snapshot below keeps the older fetch
|
|
127
|
+
// time so the reading is rendered stale rather than current.
|
|
128
|
+
const index = chunk[position];
|
|
129
|
+
const account = index === undefined ? undefined : storage.accounts[index];
|
|
130
|
+
const previous = index === undefined || account === undefined
|
|
131
|
+
? undefined
|
|
132
|
+
: cached?.accounts.find((candidate) => candidate.index === index + 1 &&
|
|
133
|
+
candidate.fingerprint ===
|
|
134
|
+
createUsageAccountFingerprint(account));
|
|
135
|
+
if (previous) {
|
|
136
|
+
accounts.push(previous);
|
|
137
|
+
carriedOver = true;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// Every account failing means the pool was not observed at all, which is a
|
|
142
|
+
// different statement from "the pool is empty". Keeping the previous
|
|
143
|
+
// snapshot lets the line stay on the last thing known to be true rather
|
|
144
|
+
// than blanking on one bad network moment.
|
|
145
|
+
if (accounts.length === 0)
|
|
146
|
+
return cached;
|
|
147
|
+
accounts.sort((left, right) => left.index - right.index);
|
|
148
|
+
const snapshot = {
|
|
149
|
+
version: TUI_QUOTA_CACHE_VERSION,
|
|
150
|
+
// A snapshot carrying a reused reading is only as fresh as that
|
|
151
|
+
// reading, so it keeps the previous fetch time - the stale flag is how
|
|
152
|
+
// the line says "part of this is not new" without dropping it.
|
|
153
|
+
fetchedAt: carriedOver && cached ? Math.min(cached.fetchedAt, now) : now,
|
|
154
|
+
accounts,
|
|
155
|
+
};
|
|
156
|
+
try {
|
|
157
|
+
await writeTuiQuotaOverviewSnapshot(snapshot, params.cachePath);
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
logDebug(`Failed to cache the pool quota snapshot: ${error.message}`);
|
|
161
|
+
}
|
|
162
|
+
return snapshot;
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Fold the request path's live reading of one account into the polled pool.
|
|
166
|
+
*
|
|
167
|
+
* The pool is re-read on an interval, but the account currently serving
|
|
168
|
+
* requests has its quota pushed from response headers after every single
|
|
169
|
+
* response. Without this the line would show that account's numbers as they
|
|
170
|
+
* were up to five minutes ago while the user watches their own requests spend
|
|
171
|
+
* it - the one account whose figure a reader can check against their own
|
|
172
|
+
* activity would be the one that looks wrong.
|
|
173
|
+
*
|
|
174
|
+
* Only a snapshot NEWER than the poll is merged, so a header reading left over
|
|
175
|
+
* from before the poll cannot overwrite it with older numbers.
|
|
176
|
+
*/
|
|
177
|
+
export function mergeOverviewWithLatestAccount(snapshot, latest) {
|
|
178
|
+
if (!latest || latest.fetchedAt <= snapshot.fetchedAt)
|
|
179
|
+
return snapshot;
|
|
180
|
+
if (latest.limits.length === 0)
|
|
181
|
+
return snapshot;
|
|
182
|
+
let merged = false;
|
|
183
|
+
const accounts = snapshot.accounts.map((account) => {
|
|
184
|
+
if (account.fingerprint !== latest.fingerprint)
|
|
185
|
+
return account;
|
|
186
|
+
merged = true;
|
|
187
|
+
return {
|
|
188
|
+
...account,
|
|
189
|
+
planType: latest.planType ?? account.planType,
|
|
190
|
+
email: account.email ?? (latest.accountEmail?.trim() || undefined),
|
|
191
|
+
limits: latest.limits,
|
|
192
|
+
};
|
|
193
|
+
});
|
|
194
|
+
return merged ? { ...snapshot, accounts } : snapshot;
|
|
195
|
+
}
|
|
196
|
+
export function toQuotaOverviewAccounts(snapshot) {
|
|
197
|
+
return snapshot.accounts.map((account) => ({
|
|
198
|
+
index: account.index,
|
|
199
|
+
email: account.email,
|
|
200
|
+
label: account.label,
|
|
201
|
+
planType: account.planType,
|
|
202
|
+
resetCredits: account.resetCredits,
|
|
203
|
+
windows: account.limits.map((limit) => ({
|
|
204
|
+
leftPercent: limit.leftPercent ?? undefined,
|
|
205
|
+
resetAtMs: limit.resetAtMs,
|
|
206
|
+
})),
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=tui-quota-overview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tui-quota-overview.js","sourceRoot":"","sources":["../../lib/tui-quota-overview.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tui-status.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { Config } from "@opencode-ai/sdk/v2";
|
|
2
|
+
import { type QuotaOverviewAccount, type QuotaOverviewOptions } from "./quota-overview.js";
|
|
3
|
+
import { type QuotaDisplayMode } from "./quota-display.js";
|
|
2
4
|
export type ReasoningVariant = "none" | "low" | "medium" | "high" | "xhigh" | "max" | "ultra";
|
|
3
5
|
export type CompactQuotaLimit = {
|
|
4
6
|
label: string;
|
|
@@ -49,10 +51,63 @@ export declare function formatPromptStatusText(params: {
|
|
|
49
51
|
quota: CompactQuotaStatus;
|
|
50
52
|
width?: number;
|
|
51
53
|
maskEmail?: boolean;
|
|
54
|
+
quotaDisplay?: QuotaDisplayMode;
|
|
52
55
|
}): string;
|
|
56
|
+
/**
|
|
57
|
+
* Break one rendering across rows, at the separators it already has.
|
|
58
|
+
*
|
|
59
|
+
* Only `, ` boundaries are used, so a row never ends mid-account: a line cut
|
|
60
|
+
* between `#2` and its percentage is worse than no second row at all. A
|
|
61
|
+
* candidate with any single segment wider than the row cannot be laid out this
|
|
62
|
+
* way and is rejected, which sends the caller to the next rung down.
|
|
63
|
+
*/
|
|
64
|
+
export declare function wrapStatusCandidate(candidate: string, maxChars: number, maxRows: number): string[] | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Lay a candidate ladder out in the space available, in up to `maxRows` rows.
|
|
67
|
+
*
|
|
68
|
+
* The ladder is walked once, and the first rung that fits wins - whether it
|
|
69
|
+
* fits on one row or has to be broken across two. Trying every rung on one row
|
|
70
|
+
* before allowing a second would shed detail the reader has room for.
|
|
71
|
+
*/
|
|
72
|
+
export declare function fitStatusLines(candidates: readonly string[], maxChars: number, maxRows: number): string[];
|
|
73
|
+
/**
|
|
74
|
+
* Render the whole account pool, degrading through
|
|
75
|
+
* {@link formatQuotaOverviewCandidates} until one form fits.
|
|
76
|
+
*/
|
|
77
|
+
export declare function formatQuotaOverviewStatusLines(params: {
|
|
78
|
+
accounts: readonly QuotaOverviewAccount[];
|
|
79
|
+
options: QuotaOverviewOptions;
|
|
80
|
+
width?: number;
|
|
81
|
+
availableChars?: number;
|
|
82
|
+
maxRows?: number;
|
|
83
|
+
}): string[];
|
|
84
|
+
export declare function formatQuotaOverviewStatusText(params: {
|
|
85
|
+
accounts: readonly QuotaOverviewAccount[];
|
|
86
|
+
options: QuotaOverviewOptions;
|
|
87
|
+
width?: number;
|
|
88
|
+
availableChars?: number;
|
|
89
|
+
}): string;
|
|
90
|
+
/** The banked-reset line, laid out the same way as the pool line. */
|
|
91
|
+
export declare function formatQuotaResetsStatusLines(params: {
|
|
92
|
+
accounts: readonly QuotaOverviewAccount[];
|
|
93
|
+
options: QuotaOverviewOptions;
|
|
94
|
+
width?: number;
|
|
95
|
+
availableChars?: number;
|
|
96
|
+
maxRows?: number;
|
|
97
|
+
}): string[];
|
|
53
98
|
export type QuotaPromptTone = "normal" | "warning" | "danger" | "stale" | "unknown";
|
|
99
|
+
/**
|
|
100
|
+
* Colour the pool by its healthiest account.
|
|
101
|
+
*
|
|
102
|
+
* A pool is only in trouble when nothing in it has room left, so the account
|
|
103
|
+
* with the most headroom decides the colour: keying on the worst account would
|
|
104
|
+
* paint the line red for a spent seat that rotation has already stopped
|
|
105
|
+
* selecting while six healthy ones serve every request.
|
|
106
|
+
*/
|
|
107
|
+
export declare function resolveQuotaOverviewTone(accounts: readonly QuotaOverviewAccount[], stale?: boolean): QuotaPromptTone;
|
|
54
108
|
export declare function resolveQuotaPromptTone(quota: CompactQuotaStatus): QuotaPromptTone;
|
|
55
109
|
export declare function formatQuotaDetailsText(quota: CompactQuotaStatus, now?: number, options?: {
|
|
56
110
|
maskEmail?: boolean;
|
|
111
|
+
quotaDisplay?: QuotaDisplayMode;
|
|
57
112
|
}): string;
|
|
58
113
|
//# sourceMappingURL=tui-status.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-status.d.ts","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"tui-status.d.ts","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/tui-status.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { maskEmailForDisplay } from "./account-display.js";
|
|
2
2
|
import { getEffortSuffix } from "./request/helpers/effort-suffix.js";
|
|
3
3
|
import { formatPlanType } from "./auth/plan-tier.js";
|
|
4
|
+
import { formatQuotaOverviewCandidates, formatQuotaResetsCandidates, resolveQuotaOverviewTonePercent, } from "./quota-overview.js";
|
|
5
|
+
import { DEFAULT_QUOTA_DISPLAY_MODE, formatNamedQuotaPercent, formatQuotaPercent, } from "./quota-display.js";
|
|
4
6
|
const variantSuffixes = [
|
|
5
7
|
"ultra",
|
|
6
8
|
"max",
|
|
@@ -190,11 +192,11 @@ function maskEmailsInText(value, maskEmail) {
|
|
|
190
192
|
return value;
|
|
191
193
|
return value.replace(TEXT_TOKEN_GLOBAL, (token) => token.includes("@") ? maskEmailToken(token) : token);
|
|
192
194
|
}
|
|
193
|
-
function formatQuotaLimit(limit, resetLimit, includeReset) {
|
|
195
|
+
function formatQuotaLimit(limit, resetLimit, includeReset, mode) {
|
|
194
196
|
if (!isPercent(limit.leftPercent))
|
|
195
197
|
return undefined;
|
|
196
198
|
const label = limit.label.trim() || "quota";
|
|
197
|
-
const base = `${label} ${limit.leftPercent}
|
|
199
|
+
const base = `${label} ${formatQuotaPercent(limit.leftPercent, mode)}`;
|
|
198
200
|
const reset = includeReset && limit === resetLimit ? formatResetTime(limit.resetAtMs) : undefined;
|
|
199
201
|
return reset ? `${base} resets ${reset}` : base;
|
|
200
202
|
}
|
|
@@ -243,19 +245,19 @@ function findResetLimitForStatus(limits) {
|
|
|
243
245
|
}
|
|
244
246
|
return formatResetTime(lowest.resetAtMs) ? lowest : undefined;
|
|
245
247
|
}
|
|
246
|
-
function formatQuotaParts(quota, includeReset) {
|
|
248
|
+
function formatQuotaParts(quota, includeReset, mode) {
|
|
247
249
|
if (quota.type !== "ready")
|
|
248
250
|
return [];
|
|
249
251
|
const resetLimit = includeReset
|
|
250
252
|
? findResetLimitForStatus(quota.limits)
|
|
251
253
|
: undefined;
|
|
252
254
|
return quota.limits
|
|
253
|
-
.map((limit) => formatQuotaLimit(limit, resetLimit, includeReset))
|
|
255
|
+
.map((limit) => formatQuotaLimit(limit, resetLimit, includeReset, mode))
|
|
254
256
|
.filter((part) => Boolean(part));
|
|
255
257
|
}
|
|
256
|
-
function formatQuota(quota) {
|
|
258
|
+
function formatQuota(quota, mode) {
|
|
257
259
|
if (quota.type === "ready") {
|
|
258
|
-
const parts = formatQuotaParts(quota, true);
|
|
260
|
+
const parts = formatQuotaParts(quota, true, mode);
|
|
259
261
|
return parts.length > 0 ? parts.join(STATUS_SEPARATOR) : undefined;
|
|
260
262
|
}
|
|
261
263
|
if (quota.type === "missing")
|
|
@@ -298,12 +300,13 @@ function maxStatusChars(width) {
|
|
|
298
300
|
}
|
|
299
301
|
export function formatPromptStatusText(params) {
|
|
300
302
|
const variant = params.variant;
|
|
303
|
+
const mode = params.quotaDisplay ?? DEFAULT_QUOTA_DISPLAY_MODE;
|
|
301
304
|
const accountForms = formatAccountHints(params.quota, params.maskEmail);
|
|
302
|
-
const quotaParts = formatQuotaParts(params.quota, true);
|
|
303
|
-
const quotaPartsWithoutReset = formatQuotaParts(params.quota, false);
|
|
305
|
+
const quotaParts = formatQuotaParts(params.quota, true, mode);
|
|
306
|
+
const quotaPartsWithoutReset = formatQuotaParts(params.quota, false, mode);
|
|
304
307
|
const quota = quotaParts.length > 0
|
|
305
308
|
? quotaParts.join(STATUS_SEPARATOR)
|
|
306
|
-
: formatQuota(params.quota);
|
|
309
|
+
: formatQuota(params.quota, mode);
|
|
307
310
|
const primaryQuota = quotaParts[0] ?? quota;
|
|
308
311
|
const quotaWithoutReset = quotaPartsWithoutReset.length > 0
|
|
309
312
|
? quotaPartsWithoutReset.join(STATUS_SEPARATOR)
|
|
@@ -329,6 +332,144 @@ export function formatPromptStatusText(params) {
|
|
|
329
332
|
const maxChars = maxStatusChars(params.width);
|
|
330
333
|
return candidates.find((candidate) => candidate.length <= maxChars) ?? "";
|
|
331
334
|
}
|
|
335
|
+
/**
|
|
336
|
+
* Columns this line may not spend, because something else on the row owns
|
|
337
|
+
* them: the prompt border and padding, and the model label sitting to the
|
|
338
|
+
* left of this slot ("Build - Big Pickle OpenCode Zen" is 31 characters).
|
|
339
|
+
*/
|
|
340
|
+
const OVERVIEW_STATUS_RESERVED_CHARS = 40;
|
|
341
|
+
/**
|
|
342
|
+
* Character budget for the pool-wide line.
|
|
343
|
+
*
|
|
344
|
+
* Two bounds, whichever is tighter. The share cap keeps a wide terminal from
|
|
345
|
+
* handing the whole row to this line; the reserve keeps a narrow one from
|
|
346
|
+
* overrunning the model label beside it. The reserve is what binds at ordinary
|
|
347
|
+
* widths, and it has to: unlike the single-account line above - which is short
|
|
348
|
+
* enough that its budget is never the thing that stops it - this line grows
|
|
349
|
+
* with the size of the pool and reaches its budget on every render.
|
|
350
|
+
*
|
|
351
|
+
* Overflow is NOT absorbed by the renderer's truncation. At 80 columns a
|
|
352
|
+
* 48-character line was ellipsized through its middle, destroying account
|
|
353
|
+
* numbers and reset times either side of the cut, AND pushed the model label
|
|
354
|
+
* into a second row. The reserve is sized so that does not happen: 40 at 80
|
|
355
|
+
* columns, which is what measurably fits beside a 31-character label.
|
|
356
|
+
*/
|
|
357
|
+
function maxOverviewStatusChars(width) {
|
|
358
|
+
if (!width || !Number.isFinite(width))
|
|
359
|
+
return 32;
|
|
360
|
+
return Math.max(Math.min(12, width), Math.min(Math.floor(width * 0.6), width - OVERVIEW_STATUS_RESERVED_CHARS));
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Columns available to this line, preferring what the renderer measured.
|
|
364
|
+
*
|
|
365
|
+
* `width` is the whole terminal, which is the wrong number whenever anything
|
|
366
|
+
* else is on the row - a sidebar, the model label - and it is wrong by however
|
|
367
|
+
* much those take. A measured value comes from the laid-out node itself and
|
|
368
|
+
* needs no reserve at all, so it is used verbatim.
|
|
369
|
+
*/
|
|
370
|
+
function resolveOverviewChars(width, availableChars) {
|
|
371
|
+
if (typeof availableChars === "number" &&
|
|
372
|
+
Number.isFinite(availableChars) &&
|
|
373
|
+
availableChars > 0) {
|
|
374
|
+
return Math.floor(availableChars);
|
|
375
|
+
}
|
|
376
|
+
return maxOverviewStatusChars(width);
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Break one rendering across rows, at the separators it already has.
|
|
380
|
+
*
|
|
381
|
+
* Only `, ` boundaries are used, so a row never ends mid-account: a line cut
|
|
382
|
+
* between `#2` and its percentage is worse than no second row at all. A
|
|
383
|
+
* candidate with any single segment wider than the row cannot be laid out this
|
|
384
|
+
* way and is rejected, which sends the caller to the next rung down.
|
|
385
|
+
*/
|
|
386
|
+
export function wrapStatusCandidate(candidate, maxChars, maxRows) {
|
|
387
|
+
if (candidate.length <= maxChars)
|
|
388
|
+
return [candidate];
|
|
389
|
+
if (maxRows <= 1 || maxChars <= 0)
|
|
390
|
+
return undefined;
|
|
391
|
+
const segments = candidate.split(", ");
|
|
392
|
+
const rows = [];
|
|
393
|
+
let row = "";
|
|
394
|
+
for (const [position, segment] of segments.entries()) {
|
|
395
|
+
const piece = position === segments.length - 1 ? segment : `${segment},`;
|
|
396
|
+
if (piece.length > maxChars)
|
|
397
|
+
return undefined;
|
|
398
|
+
if (row.length === 0) {
|
|
399
|
+
row = piece;
|
|
400
|
+
continue;
|
|
401
|
+
}
|
|
402
|
+
const joined = `${row} ${piece}`;
|
|
403
|
+
if (joined.length <= maxChars) {
|
|
404
|
+
row = joined;
|
|
405
|
+
continue;
|
|
406
|
+
}
|
|
407
|
+
rows.push(row);
|
|
408
|
+
if (rows.length >= maxRows)
|
|
409
|
+
return undefined;
|
|
410
|
+
row = piece;
|
|
411
|
+
}
|
|
412
|
+
if (row.length > 0)
|
|
413
|
+
rows.push(row);
|
|
414
|
+
return rows.length > 0 && rows.length <= maxRows ? rows : undefined;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Lay a candidate ladder out in the space available, in up to `maxRows` rows.
|
|
418
|
+
*
|
|
419
|
+
* The ladder is walked once, and the first rung that fits wins - whether it
|
|
420
|
+
* fits on one row or has to be broken across two. Trying every rung on one row
|
|
421
|
+
* before allowing a second would shed detail the reader has room for.
|
|
422
|
+
*/
|
|
423
|
+
export function fitStatusLines(candidates, maxChars, maxRows) {
|
|
424
|
+
for (const candidate of candidates) {
|
|
425
|
+
const rows = wrapStatusCandidate(candidate, maxChars, maxRows);
|
|
426
|
+
if (rows)
|
|
427
|
+
return rows;
|
|
428
|
+
}
|
|
429
|
+
const last = candidates.at(-1);
|
|
430
|
+
return last ? [last] : [];
|
|
431
|
+
}
|
|
432
|
+
/**
|
|
433
|
+
* Render the whole account pool, degrading through
|
|
434
|
+
* {@link formatQuotaOverviewCandidates} until one form fits.
|
|
435
|
+
*/
|
|
436
|
+
export function formatQuotaOverviewStatusLines(params) {
|
|
437
|
+
return fitStatusLines(formatQuotaOverviewCandidates(params.accounts, params.options), resolveOverviewChars(params.width, params.availableChars), params.maxRows ?? 1);
|
|
438
|
+
}
|
|
439
|
+
export function formatQuotaOverviewStatusText(params) {
|
|
440
|
+
return formatQuotaOverviewStatusLines(params)[0] ?? "";
|
|
441
|
+
}
|
|
442
|
+
/** The banked-reset line, laid out the same way as the pool line. */
|
|
443
|
+
export function formatQuotaResetsStatusLines(params) {
|
|
444
|
+
const candidates = formatQuotaResetsCandidates(params.accounts, {
|
|
445
|
+
maskEmail: params.options.maskEmail,
|
|
446
|
+
names: params.options.names,
|
|
447
|
+
now: params.options.now,
|
|
448
|
+
});
|
|
449
|
+
if (candidates.length === 0)
|
|
450
|
+
return [];
|
|
451
|
+
return fitStatusLines(candidates, resolveOverviewChars(params.width, params.availableChars), params.maxRows ?? 1);
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Colour the pool by its healthiest account.
|
|
455
|
+
*
|
|
456
|
+
* A pool is only in trouble when nothing in it has room left, so the account
|
|
457
|
+
* with the most headroom decides the colour: keying on the worst account would
|
|
458
|
+
* paint the line red for a spent seat that rotation has already stopped
|
|
459
|
+
* selecting while six healthy ones serve every request.
|
|
460
|
+
*/
|
|
461
|
+
export function resolveQuotaOverviewTone(accounts, stale = false) {
|
|
462
|
+
if (stale)
|
|
463
|
+
return "stale";
|
|
464
|
+
const best = resolveQuotaOverviewTonePercent(accounts);
|
|
465
|
+
if (best === undefined)
|
|
466
|
+
return "unknown";
|
|
467
|
+
if (best <= DANGER_LIMIT_LEFT_PERCENT)
|
|
468
|
+
return "danger";
|
|
469
|
+
if (best <= WARNING_LIMIT_LEFT_PERCENT)
|
|
470
|
+
return "warning";
|
|
471
|
+
return "normal";
|
|
472
|
+
}
|
|
332
473
|
export function resolveQuotaPromptTone(quota) {
|
|
333
474
|
if (quota.type === "ready") {
|
|
334
475
|
if (quota.stale)
|
|
@@ -440,13 +581,13 @@ function formatUpdatedAge(fetchedAt, now) {
|
|
|
440
581
|
const days = Math.floor(hours / 24);
|
|
441
582
|
return `${days}d ago`;
|
|
442
583
|
}
|
|
443
|
-
function formatDetailsLimit(limit) {
|
|
584
|
+
function formatDetailsLimit(limit, mode) {
|
|
444
585
|
const label = limit.label.trim() || "quota";
|
|
445
|
-
const
|
|
446
|
-
?
|
|
586
|
+
const percent = isPercent(limit.leftPercent)
|
|
587
|
+
? formatNamedQuotaPercent(limit.leftPercent, mode)
|
|
447
588
|
: "unavailable";
|
|
448
589
|
const reset = formatReset(limit.resetAtMs);
|
|
449
|
-
return reset ? `${label}: ${
|
|
590
|
+
return reset ? `${label}: ${percent}, resets ${reset}` : `${label}: ${percent}`;
|
|
450
591
|
}
|
|
451
592
|
export function formatQuotaDetailsText(quota, now = Date.now(), options = {}) {
|
|
452
593
|
if (quota.type === "loading")
|
|
@@ -469,7 +610,7 @@ export function formatQuotaDetailsText(quota, now = Date.now(), options = {}) {
|
|
|
469
610
|
lines.push(`Account: ${accountHint}`);
|
|
470
611
|
}
|
|
471
612
|
for (const limit of quota.limits) {
|
|
472
|
-
lines.push(formatDetailsLimit(limit));
|
|
613
|
+
lines.push(formatDetailsLimit(limit, options.quotaDisplay ?? DEFAULT_QUOTA_DISPLAY_MODE));
|
|
473
614
|
}
|
|
474
615
|
// Named through formatPlanType like the stored copy, so one seat does not
|
|
475
616
|
// print "Business" in codex-list and "team" here in the same session.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui-status.js","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAuDrD,MAAM,eAAe,GAAuB;IAC3C,OAAO;IACP,KAAK;IACL,OAAO;IACP,MAAM;IACN,QAAQ;IACR,KAAK;IACL,MAAM;CACN,CAAC;AACF,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AACzD,MAAM,UAAU,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AACvC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,MAAM,gBAAgB,GAAG,IAAI,YAAY,GAAG,CAAC;AAC7C,uEAAuE;AACvE,0EAA0E;AAC1E,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAClD,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAE1C,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAChC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,yBAAyB,CACxC,KAAyB;IAEzB,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChE,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC/C,OAA2B;IAE3B,MAAM,SAAS,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,CAAC;IAC3D,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IACjC,gFAAgF;IAChF,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAyB;IAIpD,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,IAAI,CAAC,IAAI,UAAU,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACnD,CAAC;IACD,OAAO;QACN,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;QACxC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;KACtC,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAC1B,MAA0B;IAE1B,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,IAAI,OAAO,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,aAAa,CAAC;IAClD,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC;IACjD,IAAI,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,+BAA+B,CACvC,MAA0B,EAC1B,KAAyB;IAEzB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,WAAW,GAAG,QAAQ,EAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;QAClD,CAAC,CAAC,WAAW,CAAC,OAAO;QACrB,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAClD,CAAC,CAAC,QAAQ,CAAC,OAAO;QAClB,CAAC,CAAC,SAAS,CAAC;IAEb,OAAO,CACN,yBAAyB,CAAC,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QACnE,yBAAyB,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CACtE,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CACpC,KAA0C;IAE1C,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,OAAO,CACN,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,yBAAyB,CAAC,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAC3D,yBAAyB,CAAC,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAG7C;IACA,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;IACvC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,OAAO,GACZ,yBAAyB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;gBACrD,gCAAgC,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;YAC5B,SAAS;QACV,CAAC;QACD,MAAM,OAAO,GACZ,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1C,gCAAgC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC7B,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,KAAK,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACzD,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC;IACzC,OAAO,CACN,gCAAgC,CAAC,KAAK,CAAC;QACvC,+BAA+B,CAAC,MAAM,EAAE,KAAK,CAAC,CAC9C,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,KAAoB;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACvD,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,KAAa;IACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACpC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,YAAY,CAAC;IAC9D,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC;AACnD,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CAC1B,KAAyB,EACzB,SAAkB;IAElB,MAAM,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,OAAO,GAAG,CAAC;IACtC,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC;AAChE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,gBAAgB,CACxB,KAAyB,EACzB,SAAkB;IAElB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,CAAC,SAAS;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CACjD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACnD,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACxB,KAAwB,EACxB,UAAyC,EACzC,YAAqB;IAErB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC;IAC9C,MAAM,KAAK,GACV,YAAY,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrF,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjD,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAC1B,KAAyB,EACzB,SAAS,GAAG,KAAK;IAEjB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IACtC,IACC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EACnC,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IACC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;QACnC,KAAK,CAAC,YAAY,IAAI,CAAC,EACtB,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GACV,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,SAAS,CAAC;QACjD,kBAAkB,CAAC,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9C,yEAAyE;IACzE,yEAAyE;IACzE,gCAAgC;IAChC,OAAO,SAAS,IAAI,KAAK,KAAK,gBAAgB;QAC7C,CAAC,CAAC,CAAC,KAAK,EAAE,gBAAgB,CAAC;QAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACZ,CAAC;AAED,SAAS,uBAAuB,CAC/B,MAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CACjD,CAAC,KAAK,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC;QACxD,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,CACV,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,GAAG,CAAC,GAAG,0BAA0B,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,gBAAgB,CACxB,KAAyB,EACzB,YAAqB;IAErB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY;QAC9B,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,SAAS,CAAC;IACb,OAAO,KAAK,CAAC,MAAM;SACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;SACjE,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,KAAyB;IAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,UAAU,CAAC;IACpD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAyB;IAChD,0EAA0E;IAC1E,sEAAsE;IACtE,yEAAyE;IACzE,iEAAiE;IACjE,2DAA2D;IAC3D,EAAE;IACF,sEAAsE;IACtE,qEAAqE;IACrE,0EAA0E;IAC1E,wDAAwD;IACxD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjD,IAAI,KAAK,IAAI,GAAG;QAAE,OAAO,EAAE,CAAC;IAC5B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,KAAK,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IAC3B,wEAAwE;IACxE,oEAAoE;IACpE,yEAAyE;IACzE,2DAA2D;IAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAKtC;IACA,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACxD,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;QAClC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACnC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IAC5C,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,GAAG,CAAC;QAC1D,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,gBAAgB,CAAC;QAC/C,CAAC,CAAC,KAAK,CAAC;IACT,MAAM,wBAAwB,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;IAC3E,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,WAAW,GAAG,CAAC,IAAwB,EAAE,MAAe,EAAE,EAAE,CACjE,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACzB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAC3D,CAAC;IACH,MAAM,UAAU,GAAG;QAClB,GAAG,WAAW,CAAC,KAAK,CAAC;QACrB,GAAG,WAAW,CAAC,YAAY,CAAC;QAC5B,KAAK;QACL,YAAY;QACZ,GAAG,WAAW,CAAC,iBAAiB,CAAC;QACjC,GAAG,WAAW,CAAC,wBAAwB,CAAC;QACxC,iBAAiB;QACjB,wBAAwB;QACxB,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;QAC9B,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACvD,OAAO;QACP,GAAG,YAAY;KACf,CAAC,MAAM,CAAC,CAAC,SAAS,EAAuB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3E,CAAC;AASD,MAAM,UAAU,sBAAsB,CACrC,KAAyB;IAEzB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,KAAK;YAAE,OAAO,OAAO,CAAC;QAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM;aAC3B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;aACjC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QACrC,IAAI,MAAM,IAAI,yBAAyB;YAAE,OAAO,QAAQ,CAAC;QACzD,IAAI,MAAM,IAAI,0BAA0B;YAAE,OAAO,SAAS,CAAC;QAC3D,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/C,OAAO,SAAS,CAAC;AAClB,CAAC;AAeD;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,SAA6B;IACnD,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAAE,OAAO,SAAS,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,OAAO;QACN,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACxC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,KAAK;SACb,CAAC;QACF,OAAO,EACN,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;YACxC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE;YAClC,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE;QACjC,OAAO,EAAE,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC;KACnC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAU;IACjC,OAAO,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;QACzC,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,SAA6B;IACjD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACrC,OAAO,GAAG,KAAK,CAAC,IAAI,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,eAAe,CAAC,SAA6B;IACrD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC;IACrC,uEAAuE;IACvE,oEAAoE;IACpE,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE;YACxD,OAAO,EAAE,OAAO;SAChB,CAAC,CAAC;QACH,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAU,EAAE,EAAQ;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CACvB,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,QAAQ,EAAE,EACf,IAAI,CAAC,OAAO,EAAE,CACd,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,gBAAgB,CAAC,SAA6B,EAAE,GAAW;IACnE,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,MAAM;QAAE,OAAO,UAAU,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC;IAC3C,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,OAAO,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,OAAO,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,OAAO,GAAG,IAAI,OAAO,CAAC;AACvB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAwB;IACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC;IAC5C,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC;QACxC,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,QAAQ;QAC9B,CAAC,CAAC,aAAa,CAAC;IACjB,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,EAAE,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,sBAAsB,CACrC,KAAyB,EACzB,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,EAChB,UAAmC,EAAE;IAErC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,mBAAmB,CAAC;IACzD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,uCAAuC,CAAC;IAC7E,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO,uBAAuB,CAAC;IAEjE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACtF,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW,KAAK,YAAY,GAAG,CAAC,CAAC;IACzD,CAAC;SAAM,IAAI,YAAY,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,YAAY,YAAY,EAAE,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,SAAS,GAAG,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,EAAE,CAAC,CAAC;IAChD,IACC,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EACjC,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CACT,WAAW,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAC/E,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,YAAY,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACjE,IAAI,KAAK,CAAC,KAAK;QAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"tui-status.js","sourceRoot":"","sources":["../../lib/tui-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export type AccountStatus = "active" | "ok" | "rate-limited" | "cooldown" | "dis
|
|
|
3
3
|
export interface AccountInfo {
|
|
4
4
|
index: number;
|
|
5
5
|
accountId?: string;
|
|
6
|
+
accountUserId?: string;
|
|
6
7
|
accountLabel?: string;
|
|
7
8
|
email?: string;
|
|
8
9
|
addedAt?: number;
|
|
@@ -37,6 +38,7 @@ export type AccountAction = "back" | "delete" | "refresh" | "toggle" | "cancel";
|
|
|
37
38
|
export declare function showAuthMenu(accounts: AccountInfo[], options?: AuthMenuOptions): Promise<AuthMenuAction>;
|
|
38
39
|
export declare function showAccountDetails(account: AccountInfo, options?: {
|
|
39
40
|
maskEmail?: boolean;
|
|
41
|
+
peerAccounts?: readonly AccountInfo[];
|
|
40
42
|
}): Promise<AccountAction>;
|
|
41
43
|
export { isTTY };
|
|
42
44
|
//# sourceMappingURL=auth-menu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-menu.d.ts","sourceRoot":"","sources":["../../../lib/ui/auth-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,MAAM,WAAW,CAAC;AAOxC,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,IAAI,GACJ,cAAc,GACd,UAAU,GACV,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEb,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-menu.d.ts","sourceRoot":"","sources":["../../../lib/ui/auth-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAE,MAAM,WAAW,CAAC;AAOxC,MAAM,MAAM,aAAa,GACtB,QAAQ,GACR,IAAI,GACJ,cAAc,GACd,UAAU,GACV,UAAU,GACV,OAAO,GACP,SAAS,GACT,SAAS,CAAC;AAEb,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,cAAc,GACvB;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GACf;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,GACtB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEtB,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AA+FhF,wBAAsB,YAAY,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,GAAE,eAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAwDzB;AAED,wBAAsB,kBAAkB,CACvC,OAAO,EAAE,WAAW,EACpB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;CAAO,GAC1E,OAAO,CAAC,aAAa,CAAC,CA6CxB;AAED,OAAO,EAAE,KAAK,EAAE,CAAC"}
|