codex-multi-auth 2.0.2 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +17 -5
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +91 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/account-policy.d.ts +22 -0
  6. package/dist/lib/account-policy.d.ts.map +1 -0
  7. package/dist/lib/account-policy.js +159 -0
  8. package/dist/lib/account-policy.js.map +1 -0
  9. package/dist/lib/accounts.d.ts.map +1 -1
  10. package/dist/lib/accounts.js +2 -1
  11. package/dist/lib/accounts.js.map +1 -1
  12. package/dist/lib/budget-guard.d.ts +39 -0
  13. package/dist/lib/budget-guard.d.ts.map +1 -0
  14. package/dist/lib/budget-guard.js +201 -0
  15. package/dist/lib/budget-guard.js.map +1 -0
  16. package/dist/lib/codex-manager/commands/account.d.ts +13 -0
  17. package/dist/lib/codex-manager/commands/account.d.ts.map +1 -0
  18. package/dist/lib/codex-manager/commands/account.js +156 -0
  19. package/dist/lib/codex-manager/commands/account.js.map +1 -0
  20. package/dist/lib/codex-manager/commands/bridge.d.ts +6 -0
  21. package/dist/lib/codex-manager/commands/bridge.d.ts.map +1 -0
  22. package/dist/lib/codex-manager/commands/bridge.js +167 -0
  23. package/dist/lib/codex-manager/commands/bridge.js.map +1 -0
  24. package/dist/lib/codex-manager/commands/budget.d.ts +12 -0
  25. package/dist/lib/codex-manager/commands/budget.d.ts.map +1 -0
  26. package/dist/lib/codex-manager/commands/budget.js +123 -0
  27. package/dist/lib/codex-manager/commands/budget.js.map +1 -0
  28. package/dist/lib/codex-manager/commands/integrations.d.ts +6 -0
  29. package/dist/lib/codex-manager/commands/integrations.d.ts.map +1 -0
  30. package/dist/lib/codex-manager/commands/integrations.js +78 -0
  31. package/dist/lib/codex-manager/commands/integrations.js.map +1 -0
  32. package/dist/lib/codex-manager/commands/models.d.ts +14 -0
  33. package/dist/lib/codex-manager/commands/models.d.ts.map +1 -0
  34. package/dist/lib/codex-manager/commands/models.js +74 -0
  35. package/dist/lib/codex-manager/commands/models.js.map +1 -0
  36. package/dist/lib/codex-manager/commands/monitor.d.ts +22 -0
  37. package/dist/lib/codex-manager/commands/monitor.d.ts.map +1 -0
  38. package/dist/lib/codex-manager/commands/monitor.js +94 -0
  39. package/dist/lib/codex-manager/commands/monitor.js.map +1 -0
  40. package/dist/lib/codex-manager/commands/rotation.d.ts +1 -0
  41. package/dist/lib/codex-manager/commands/rotation.d.ts.map +1 -1
  42. package/dist/lib/codex-manager/commands/rotation.js +293 -10
  43. package/dist/lib/codex-manager/commands/rotation.js.map +1 -1
  44. package/dist/lib/codex-manager/commands/usage.d.ts +13 -0
  45. package/dist/lib/codex-manager/commands/usage.d.ts.map +1 -0
  46. package/dist/lib/codex-manager/commands/usage.js +347 -0
  47. package/dist/lib/codex-manager/commands/usage.js.map +1 -0
  48. package/dist/lib/codex-manager/help.d.ts.map +1 -1
  49. package/dist/lib/codex-manager/help.js +8 -0
  50. package/dist/lib/codex-manager/help.js.map +1 -1
  51. package/dist/lib/codex-manager.d.ts.map +1 -1
  52. package/dist/lib/codex-manager.js +42 -2
  53. package/dist/lib/codex-manager.js.map +1 -1
  54. package/dist/lib/config.d.ts.map +1 -1
  55. package/dist/lib/config.js +2 -22
  56. package/dist/lib/config.js.map +1 -1
  57. package/dist/lib/constants.d.ts +1 -0
  58. package/dist/lib/constants.d.ts.map +1 -1
  59. package/dist/lib/constants.js +1 -0
  60. package/dist/lib/constants.js.map +1 -1
  61. package/dist/lib/env-parsing.d.ts +21 -0
  62. package/dist/lib/env-parsing.d.ts.map +1 -0
  63. package/dist/lib/env-parsing.js +34 -0
  64. package/dist/lib/env-parsing.js.map +1 -0
  65. package/dist/lib/index.d.ts +9 -0
  66. package/dist/lib/index.d.ts.map +1 -1
  67. package/dist/lib/index.js +9 -0
  68. package/dist/lib/index.js.map +1 -1
  69. package/dist/lib/integration-generators.d.ts +14 -0
  70. package/dist/lib/integration-generators.d.ts.map +1 -0
  71. package/dist/lib/integration-generators.js +93 -0
  72. package/dist/lib/integration-generators.js.map +1 -0
  73. package/dist/lib/local-bridge.d.ts +17 -0
  74. package/dist/lib/local-bridge.d.ts.map +1 -0
  75. package/dist/lib/local-bridge.js +249 -0
  76. package/dist/lib/local-bridge.js.map +1 -0
  77. package/dist/lib/local-client-tokens.d.ts +37 -0
  78. package/dist/lib/local-client-tokens.d.ts.map +1 -0
  79. package/dist/lib/local-client-tokens.js +200 -0
  80. package/dist/lib/local-client-tokens.js.map +1 -0
  81. package/dist/lib/model-capability-matrix.d.ts +38 -0
  82. package/dist/lib/model-capability-matrix.d.ts.map +1 -0
  83. package/dist/lib/model-capability-matrix.js +89 -0
  84. package/dist/lib/model-capability-matrix.js.map +1 -0
  85. package/dist/lib/policy/runtime-policy.d.ts +59 -0
  86. package/dist/lib/policy/runtime-policy.d.ts.map +1 -0
  87. package/dist/lib/policy/runtime-policy.js +156 -0
  88. package/dist/lib/policy/runtime-policy.js.map +1 -0
  89. package/dist/lib/proactive-refresh.js +4 -4
  90. package/dist/lib/proactive-refresh.js.map +1 -1
  91. package/dist/lib/refresh-lease.d.ts.map +1 -1
  92. package/dist/lib/refresh-lease.js +1 -10
  93. package/dist/lib/refresh-lease.js.map +1 -1
  94. package/dist/lib/routing-profiles.d.ts +36 -0
  95. package/dist/lib/routing-profiles.d.ts.map +1 -0
  96. package/dist/lib/routing-profiles.js +203 -0
  97. package/dist/lib/routing-profiles.js.map +1 -0
  98. package/dist/lib/runtime-rotation-proxy.d.ts.map +1 -1
  99. package/dist/lib/runtime-rotation-proxy.js +96 -6
  100. package/dist/lib/runtime-rotation-proxy.js.map +1 -1
  101. package/dist/lib/usage/index.d.ts +5 -0
  102. package/dist/lib/usage/index.d.ts.map +1 -0
  103. package/dist/lib/usage/index.js +5 -0
  104. package/dist/lib/usage/index.js.map +1 -0
  105. package/dist/lib/usage/ledger.d.ts +12 -0
  106. package/dist/lib/usage/ledger.d.ts.map +1 -0
  107. package/dist/lib/usage/ledger.js +493 -0
  108. package/dist/lib/usage/ledger.js.map +1 -0
  109. package/dist/lib/usage/pricing.d.ts +11 -0
  110. package/dist/lib/usage/pricing.d.ts.map +1 -0
  111. package/dist/lib/usage/pricing.js +67 -0
  112. package/dist/lib/usage/pricing.js.map +1 -0
  113. package/dist/lib/usage/redaction.d.ts +10 -0
  114. package/dist/lib/usage/redaction.d.ts.map +1 -0
  115. package/dist/lib/usage/redaction.js +129 -0
  116. package/dist/lib/usage/redaction.js.map +1 -0
  117. package/dist/lib/usage/types.d.ts +89 -0
  118. package/dist/lib/usage/types.d.ts.map +1 -0
  119. package/dist/lib/usage/types.js +2 -0
  120. package/dist/lib/usage/types.js.map +1 -0
  121. package/package.json +1 -1
  122. package/scripts/codex-routing.js +19 -12
@@ -1,7 +1,22 @@
1
1
  import { existsSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { formatAccountLabel, formatCooldown, formatWaitTime } from "../../accounts.js";
4
+ import { parseBooleanEnv } from "../../env-parsing.js";
4
5
  import { getCodexMultiAuthDir } from "../../runtime-paths.js";
6
+ import { saveAccountsWithRetry } from "../forecast-report-shared.js";
7
+ /**
8
+ * Build a privacy-safe label for {@link runResetRateLimits} change reports.
9
+ *
10
+ * `formatAccountLabel` includes the raw email, which leaks PII into JSON output
11
+ * that can be ingested by automation. This helper keeps just the 1-based index
12
+ * and a tail-only fragment of the accountId so a human can still tell which
13
+ * pool entry was affected.
14
+ */
15
+ function redactedResetRateLimitsLabel(account, index) {
16
+ const id = typeof account.accountId === "string" ? account.accountId : "";
17
+ const tail = id.length > 4 ? `***${id.slice(-4)}` : "***";
18
+ return `account ${index + 1} (id:${tail})`;
19
+ }
5
20
  import { formatAppBindStatus, } from "../../runtime/app-bind.js";
6
21
  import { APP_RUNTIME_HELPER_STATUS_FILE } from "../../runtime-constants.js";
7
22
  import { findQuotaCacheEntryForAccount, isQuotaCacheEntryExhausted, } from "../../quota-readiness.js";
@@ -15,31 +30,296 @@ function printRotationUsage(logInfo) {
15
30
  " codex auth rotation status",
16
31
  " codex auth rotation bind-app",
17
32
  " codex auth rotation unbind-app",
33
+ " codex auth rotation reset-rate-limits [--all | --account <idx>] [--dry-run] [--json]",
18
34
  "",
19
35
  "Behavior:",
20
36
  " - Runtime rotation is enabled by default for request-bearing Codex sessions",
21
37
  " - Binds the packaged Codex desktop app to the same localhost router when enabled or repaired",
22
38
  " - Use CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY=0 to disable the proxy for the current process without changing persistent settings",
39
+ " - reset-rate-limits clears stored rateLimitResetTimes and active coolingDownUntil entries; use when `fix --live` confirms quota is available but the proxy still returns 503 pool-exhausted",
23
40
  ].join("\n"));
24
41
  }
25
- function parseBooleanEnv(value) {
26
- if (value === undefined || value.trim().length === 0)
27
- return null;
28
- const normalized = value.trim().toLowerCase();
29
- if (normalized === "1" || normalized === "true" || normalized === "yes") {
30
- return true;
42
+ /**
43
+ * Parse argv tokens into a {@link ResetRateLimitsOptions} bag (or an error / help signal).
44
+ *
45
+ * Accepts `--all`, `--account <1-based-int>`, `--dry-run`, `--json` / `-j`, and `--help` /
46
+ * `-h` / `help`. Rejects fractional or non-numeric account indexes and combinations of
47
+ * `--all` with `--account`. Returns a discriminated union so callers can route help and
48
+ * error paths without parsing twice.
49
+ */
50
+ function parseResetRateLimitsArgs(args) {
51
+ let scope = "all";
52
+ let scopeExplicit = false;
53
+ let accountIndex = null;
54
+ let dryRun = false;
55
+ let json = false;
56
+ for (let i = 0; i < args.length; i += 1) {
57
+ const arg = args[i];
58
+ if (arg === "--help" || arg === "-h" || arg === "help") {
59
+ return { ok: true, help: true };
60
+ }
61
+ if (arg === "--all") {
62
+ if (scopeExplicit && scope !== "all") {
63
+ return { ok: false, error: "--all and --account are mutually exclusive" };
64
+ }
65
+ scope = "all";
66
+ scopeExplicit = true;
67
+ continue;
68
+ }
69
+ if (arg === "--account") {
70
+ if (scopeExplicit && scope === "all") {
71
+ return { ok: false, error: "--all and --account are mutually exclusive" };
72
+ }
73
+ const next = args[i + 1];
74
+ if (!next) {
75
+ return { ok: false, error: "--account requires a 1-based index" };
76
+ }
77
+ if (!/^[0-9]+$/.test(next)) {
78
+ return {
79
+ ok: false,
80
+ error: `--account expects a positive 1-based integer, got: ${next}`,
81
+ };
82
+ }
83
+ const parsed = Number.parseInt(next, 10);
84
+ if (!Number.isInteger(parsed) || parsed < 1) {
85
+ return {
86
+ ok: false,
87
+ error: `--account expects a positive 1-based integer, got: ${next}`,
88
+ };
89
+ }
90
+ scope = "account";
91
+ scopeExplicit = true;
92
+ accountIndex = parsed - 1;
93
+ i += 1;
94
+ continue;
95
+ }
96
+ if (arg === "--dry-run") {
97
+ dryRun = true;
98
+ continue;
99
+ }
100
+ if (arg === "--json" || arg === "-j") {
101
+ json = true;
102
+ continue;
103
+ }
104
+ return { ok: false, error: `Unknown reset-rate-limits option: ${arg}` };
31
105
  }
32
- if (normalized === "0" || normalized === "false" || normalized === "no") {
33
- return false;
106
+ return { ok: true, help: false, options: { scope, accountIndex, dryRun, json } };
107
+ }
108
+ /**
109
+ * Print the focused `codex auth rotation reset-rate-limits` help block, including the
110
+ * proxy-restart guidance users need to run after a successful clear.
111
+ */
112
+ function printResetRateLimitsUsage(logInfo) {
113
+ logInfo([
114
+ "Usage:",
115
+ " codex auth rotation reset-rate-limits [--all | --account <idx>] [--dry-run] [--json]",
116
+ "",
117
+ "Options:",
118
+ " --all Clear timers for every account (default)",
119
+ " --account <idx> Clear timers for a single 1-based account index",
120
+ " --dry-run Report what would change without writing",
121
+ " --json, -j Print machine-readable JSON output",
122
+ "",
123
+ "Notes:",
124
+ " - Clears stored rateLimitResetTimes entries with reset times still in the future",
125
+ " and any active coolingDownUntil entries.",
126
+ " - Use when `codex auth fix --live` confirms upstream quota is available but the",
127
+ " runtime rotation proxy still returns 503 pool-exhausted.",
128
+ " - If a runtime rotation proxy is currently running it may re-persist its in-memory",
129
+ " timers and revert these changes. After clearing, run `codex auth rotation disable`",
130
+ " then `codex auth rotation enable` (or restart the Codex app) to flush in-memory",
131
+ " state and reload from disk.",
132
+ ].join("\n"));
133
+ }
134
+ const RESET_RATE_LIMITS_RESTART_HINT = "If a runtime rotation proxy is currently running it may re-persist its in-memory timers and revert these changes. Run `codex auth rotation disable` then `codex auth rotation enable` (or restart the Codex app) to flush in-memory state and reload from disk.";
135
+ /**
136
+ * Implement `codex auth rotation reset-rate-limits`: load the shared (non-project-scoped)
137
+ * account pool, scan for currently-blocking `rateLimitResetTimes` and `coolingDownUntil`
138
+ * entries, optionally clear them, and persist via {@link saveAccountsWithRetry}.
139
+ *
140
+ * The shared-path scope is held across both load and save so the write lands on the
141
+ * pool file even when the CLI was invoked from a project-scoped working directory.
142
+ *
143
+ * @returns 0 on success (including no-op runs and dry-runs), 1 on parse errors,
144
+ * missing accounts, out-of-range index, missing writable `saveAccounts` for a real
145
+ * write, or persistent save failures (e.g. Windows EBUSY exhaustion).
146
+ */
147
+ async function runResetRateLimits(args, deps) {
148
+ const logInfo = deps.logInfo ?? console.log;
149
+ const logError = deps.logError ?? console.error;
150
+ const now = deps.getNow?.() ?? Date.now();
151
+ const parsed = parseResetRateLimitsArgs(args);
152
+ if (!parsed.ok) {
153
+ logError(parsed.error);
154
+ return 1;
155
+ }
156
+ if (parsed.help) {
157
+ printResetRateLimitsUsage(logInfo);
158
+ return 0;
159
+ }
160
+ const { scope, accountIndex, dryRun, json } = parsed.options;
161
+ // Defer the saveAccounts check to the actual write branch so a non-dry-run scan that
162
+ // finds nothing to clear can still succeed without writable storage.
163
+ // Keep the shared (non-project-scoped) path scope active across both load AND save so that
164
+ // `saveAccounts` writes to the same file we loaded from, even when the CLI was invoked from
165
+ // a project directory with a non-null project-scoped path. Restoring the previous path
166
+ // between load and save would silently route the write to the project storage file.
167
+ const previousStoragePath = deps.getStoragePath();
168
+ deps.setStoragePath(null);
169
+ try {
170
+ const storage = await deps.loadAccounts();
171
+ const storagePath = deps.getStoragePath();
172
+ if (!storage || storage.accounts.length === 0) {
173
+ const payload = {
174
+ ok: false,
175
+ error: "no accounts configured",
176
+ storagePath,
177
+ };
178
+ if (json)
179
+ logInfo(JSON.stringify(payload));
180
+ else
181
+ logError("No accounts configured.");
182
+ return 1;
183
+ }
184
+ if (scope === "account") {
185
+ if (accountIndex === null) {
186
+ logError("internal: account scope without index");
187
+ return 1;
188
+ }
189
+ if (accountIndex < 0 || accountIndex >= storage.accounts.length) {
190
+ const message = `Account index out of range (1..${storage.accounts.length}): ${accountIndex + 1}`;
191
+ if (json) {
192
+ logInfo(JSON.stringify({ ok: false, error: message, storagePath }));
193
+ }
194
+ else {
195
+ logError(message);
196
+ }
197
+ return 1;
198
+ }
199
+ }
200
+ const targetIndexes = scope === "all"
201
+ ? storage.accounts.map((_, i) => i)
202
+ : accountIndex !== null
203
+ ? [accountIndex]
204
+ : [];
205
+ const changes = [];
206
+ for (const index of targetIndexes) {
207
+ const account = storage.accounts[index];
208
+ if (!account)
209
+ continue;
210
+ const clearedRateLimitKeys = [];
211
+ if (account.rateLimitResetTimes) {
212
+ for (const [key, value] of Object.entries(account.rateLimitResetTimes)) {
213
+ if (typeof value === "number" && value > now) {
214
+ clearedRateLimitKeys.push(key);
215
+ }
216
+ }
217
+ }
218
+ const clearedCoolingDown = typeof account.coolingDownUntil === "number" && account.coolingDownUntil > now;
219
+ if (clearedRateLimitKeys.length === 0 && !clearedCoolingDown)
220
+ continue;
221
+ changes.push({
222
+ index,
223
+ label: redactedResetRateLimitsLabel(account, index),
224
+ clearedRateLimitKeys,
225
+ clearedCoolingDown,
226
+ });
227
+ if (!dryRun) {
228
+ // Only delete the keys we reported (future-active resets) so callers who inspect
229
+ // the JSON output can trust the report matches the action exactly. Past entries are
230
+ // no-ops for `getMinWaitTimeForFamily` and are pruned naturally by
231
+ // `clearExpiredRateLimits`.
232
+ if (account.rateLimitResetTimes) {
233
+ for (const key of clearedRateLimitKeys) {
234
+ delete account.rateLimitResetTimes[key];
235
+ }
236
+ }
237
+ if (clearedCoolingDown) {
238
+ delete account.coolingDownUntil;
239
+ }
240
+ }
241
+ }
242
+ if (!dryRun && changes.length > 0) {
243
+ if (!deps.saveAccounts) {
244
+ const message = "reset-rate-limits requires writable account storage but saveAccounts dep was not provided";
245
+ if (json) {
246
+ logInfo(JSON.stringify({ ok: false, error: message, storagePath }));
247
+ }
248
+ else {
249
+ logError(message);
250
+ }
251
+ return 1;
252
+ }
253
+ try {
254
+ // Use saveAccountsWithRetry to absorb transient Windows EBUSY/EPERM contention,
255
+ // matching every other saveAccounts call site in the codebase.
256
+ await saveAccountsWithRetry(storage, deps.saveAccounts);
257
+ }
258
+ catch (error) {
259
+ const code = error && typeof error === "object" && "code" in error
260
+ ? String(error.code ?? "")
261
+ : "";
262
+ const message = code
263
+ ? `Failed to persist reset-rate-limits (${code}); rate-limit timers were not cleared.`
264
+ : `Failed to persist reset-rate-limits: ${error instanceof Error ? error.message : String(error)}`;
265
+ if (json) {
266
+ logInfo(JSON.stringify({ ok: false, error: message, storagePath }));
267
+ }
268
+ else {
269
+ logError(message);
270
+ }
271
+ return 1;
272
+ }
273
+ }
274
+ if (json) {
275
+ logInfo(JSON.stringify({
276
+ ok: true,
277
+ dryRun,
278
+ scope,
279
+ storagePath,
280
+ accountsScanned: targetIndexes.length,
281
+ accountsChanged: changes.length,
282
+ changes,
283
+ ...(changes.length > 0 && !dryRun
284
+ ? { restartHint: RESET_RATE_LIMITS_RESTART_HINT }
285
+ : {}),
286
+ }));
287
+ return 0;
288
+ }
289
+ if (changes.length === 0) {
290
+ logInfo(scope === "all"
291
+ ? "No accounts had active rate-limit or cooldown timers to clear."
292
+ : `Account ${(accountIndex ?? 0) + 1} had no active rate-limit or cooldown timers to clear.`);
293
+ return 0;
294
+ }
295
+ logInfo(`${dryRun ? "Would clear" : "Cleared"} ${changes.length}/${targetIndexes.length} account(s):`);
296
+ for (const change of changes) {
297
+ const parts = [];
298
+ if (change.clearedRateLimitKeys.length > 0) {
299
+ parts.push(`rate-limit keys: ${change.clearedRateLimitKeys.join(", ")}`);
300
+ }
301
+ if (change.clearedCoolingDown)
302
+ parts.push("cooldown");
303
+ logInfo(` ${change.index + 1}. ${change.label} | ${parts.join(" | ")}`);
304
+ }
305
+ if (dryRun) {
306
+ logInfo("(dry-run; no changes written)");
307
+ }
308
+ else {
309
+ logInfo(`Note: ${RESET_RATE_LIMITS_RESTART_HINT}`);
310
+ }
311
+ return 0;
312
+ }
313
+ finally {
314
+ deps.setStoragePath(previousStoragePath);
34
315
  }
35
- return null;
36
316
  }
37
317
  function formatEnvOverride() {
38
318
  const raw = process.env.CODEX_MULTI_AUTH_RUNTIME_ROTATION_PROXY;
39
319
  if (raw === undefined || raw.trim().length === 0)
40
320
  return "none";
41
321
  const parsed = parseBooleanEnv(raw);
42
- if (parsed === null)
322
+ if (parsed === undefined)
43
323
  return `invalid (${raw})`;
44
324
  return parsed ? "enabled" : "disabled";
45
325
  }
@@ -247,6 +527,9 @@ export async function runRotationCommand(args, deps) {
247
527
  printRotationUsage(logInfo);
248
528
  return 0;
249
529
  }
530
+ if (subcommand === "reset-rate-limits") {
531
+ return runResetRateLimits(rest, deps);
532
+ }
250
533
  if (rest.length > 0) {
251
534
  logError(`Unknown rotation option: ${rest[0]}`);
252
535
  return 1;
@@ -1 +1 @@
1
- {"version":3,"file":"rotation.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/rotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EACN,mBAAmB,GAGnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EACN,6BAA6B,EAC7B,0BAA0B,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACN,8BAA8B,IAAI,qCAAqC,EACvE,4BAA4B,EAC5B,4BAA4B,GAC5B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAuC/D,SAAS,kBAAkB,CAAC,OAAkC;IAC7D,OAAO,CACN;QACC,QAAQ;QACR,8BAA8B;QAC9B,+BAA+B;QAC/B,8BAA8B;QAC9B,gCAAgC;QAChC,kCAAkC;QAClC,EAAE;QACF,WAAW;QACX,+EAA+E;QAC/E,gGAAgG;QAChG,qIAAqI;KACrI,CAAC,IAAI,CAAC,IAAI,CAAC,CACZ,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAyB;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACzE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC;IAChE,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IAChE,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,YAAY,GAAG,GAAG,CAAC;IAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC/B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACpD,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA+B,EAAE,GAAW;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3E,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA+B,EAAE,GAAW;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QAC1D,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;QACd,CAAC,CAAC,IAAI,CAAC;AACT,CAAC;AAED,SAAS,0BAA0B;IAClC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,8BAA8B,CAAC,CAAC;IAChF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAY,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,OAAO;YACN,KAAK,EAAE,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC;YAC1C,IAAI,EAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC;YACxC,GAAG,EAAE,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC;YACtC,aAAa,EAAE,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC;YAC1D,aAAa,EAAE,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC;YAC1D,SAAS,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC;YAClD,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC;YAChE,gBAAgB,EAAE,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC;YAChE,gBAAgB,EAAE,IAAI;YACtB,aAAa,EAAE,kBAAkB,CAAC,MAAM,EAAE,eAAe,CAAC;YAC1D,oBAAoB,EAAE,kBAAkB,CAAC,MAAM,EAAE,sBAAsB,CAAC;YACxE,SAAS,EAAE,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC;SAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,cAAc,CAAC,GAAkB;IACzC,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC;QACJ,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,GACT,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3E,OAAO,IAAI,KAAK,OAAO,CAAC;IACzB,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA8B;IAC9D,IAAI,MAAM,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvE,OAAO,MAAM,CAAC,gBAAgB,CAAC;IAChC,CAAC;IACD,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,gBAAgB,KAAK,IAAI;YACtC,CAAC,CAAC,WAAW,MAAM,CAAC,gBAAgB,GAAG,CAAC,KAAK,MAAM,CAAC,aAAa,GAAG;YACpE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;IACzB,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,WAAW,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,4BAA4B,CACpC,GAAW,EACX,MAAM,GAAG,0BAA0B,EAAE;IAErC,IAAI,CAAC,MAAM;QAAE,OAAO,+BAA+B,CAAC;IACpD,IAAI,MAAM,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;QACzD,OAAO,+BAA+B,CAAC;IACxC,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7E,OAAO,+BAA+B,CAAC;IACxC,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,UAAU,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;IAClF,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3E,MAAM,WAAW,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,WAAW;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,gBAAgB,cAAc,CAAC,MAAM,CAAC,aAAa,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAyB,OAAO,CAAC,GAAG;IACnE,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,iCAAiC,IAAI,GAAG,CAAC;SAC7D,IAAI,EAAE;SACN,WAAW,EAAE,CAAC;IAChB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,uBAAuB,CACrC,IAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAC5C,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAClD,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,OAAO,CAAC,gCAAgC,OAAO,GAAG,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAyB;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAC5C,MAAM,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAClD,IAAI,MAAqB,CAAC;IAC1B,IAAI,OAAiB,CAAC;IACtB,IAAI,OAAuB,CAAC;IAC5B,IAAI,WAA2B,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1C,IAAI,CAAC;QACJ,wFAAwF;QACxF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACzF,OAAO,GAAG,WAAW,IAAI,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;YAAS,CAAC;QACV,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,CAAC,2BAA2B,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;IACvE,OAAO,CACN,mBAAmB,MAAM,CAAC,yBAAyB,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CACvF,CAAC;IACF,OAAO,CAAC,iBAAiB,iBAAiB,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,0BAA0B,EAAE,CAAC;IAClD,OAAO,CAAC,4BAA4B,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;IACzD,MAAM,aAAa,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,2BAA2B,CAAC,CAAC;QACrC,OAAO,CAAC,CAAC;IACV,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACvD,IAAI,CAAC,gCAAgC;YACpC,CAAC,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YAC3D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc;YAClB,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;YACzC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KACxB,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,4BAA4B,CAClD,OAAO,EACP;QACC,eAAe;QACf,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;QACnE,eAAe,EAAE,qCAAqC,CAAC,YAAY,CAAC;KACpE,EACD,EAAE,GAAG,EAAE,CACP,CAAC;IACF,OAAO,CAAC,aAAa,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACjE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,SAAS;QACvB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,GAAG,4BAA4B,CAAC,KAAK,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;QAClF,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;QACnD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC;aAC1E,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;aAC7D,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;QACjC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,GAAG,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,gBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,UAAU,GAAG,6BAA6B,CAC/C,UAAU,EACV,OAAO,EACP,OAAO,CAAC,QAAQ,CAChB,CAAC;QACF,IACC,UAAU,EAAE,MAAM,KAAK,GAAG;YAC1B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EACrD,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,0BAA0B,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,OAAO,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,OAAO,CAAC,CAAC;AACV,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACvC,IAAc,EACd,IAAyB;IAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;IAChD,MAAM,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,CAAC,mCAAmC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,CAAC;QACV,CAAC;QACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,MAAM,EAAE,CAAC;QAC7E,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,QAAQ,CAAC,4BAA4B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO,CAAC,iCAAiC,CAAC,CAAC;QAC3C,OAAO,CAAC,8EAA8E,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,YAAY,IAAI,sBAAsB,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;gBACzC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxB,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,QAAQ,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;gBAC9C,OAAO,CAAC,mEAAmE,CAAC,CAAC;YAC9E,CAAC;QACF,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,kCAAkC,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,CAAC;gBACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;gBAC3C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxB,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,QAAQ,CAAC,4BAA4B,OAAO,EAAE,CAAC,CAAC;gBAChD,OAAO,CAAC,CAAC;YACV,CAAC;QACF,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,QAAQ,CAAC,8CAA8C,CAAC,CAAC;YACzD,OAAO,CAAC,CAAC;QACV,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACV,CAAC;IACD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1B,QAAQ,CAAC,8CAA8C,CAAC,CAAC;YACzD,OAAO,CAAC,CAAC;QACV,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,CAAC;IACV,CAAC;IAED,QAAQ,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;IACpD,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,CAAC,CAAC;AACV,CAAC"}
1
+ {"version":3,"file":"rotation.js","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/rotation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { readUsageLedgerRows, rotateUsageLedger, summarizeUsageRows, summarizeUsageLedger } from "../../usage/index.js";
2
+ export interface UsageCommandDeps {
3
+ summarizeUsage?: typeof summarizeUsageLedger;
4
+ summarizeRows?: typeof summarizeUsageRows;
5
+ readRows?: typeof readUsageLedgerRows;
6
+ rotateLedger?: typeof rotateUsageLedger;
7
+ logInfo?: (message: string) => void;
8
+ logError?: (message: string) => void;
9
+ getCwd?: () => string;
10
+ writeFile?: (path: string, contents: string) => Promise<void>;
11
+ }
12
+ export declare function runUsageCommand(args: string[], deps?: UsageCommandDeps): Promise<number>;
13
+ //# sourceMappingURL=usage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../../../lib/codex-manager/commands/usage.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EAKpB,MAAM,sBAAsB,CAAC;AAmB9B,MAAM,WAAW,gBAAgB;IAChC,cAAc,CAAC,EAAE,OAAO,oBAAoB,CAAC;IAC7C,aAAa,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,mBAAmB,CAAC;IACtC,YAAY,CAAC,EAAE,OAAO,iBAAiB,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9D;AAoRD,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,gBAAqB,GACzB,OAAO,CAAC,MAAM,CAAC,CAiGjB"}