@eddyskywalker/dsh-chatgpt-subscription 0.35.0 → 0.36.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.
Files changed (69) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +6 -6
  3. package/lib/client.js +1991 -167
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +113 -10
  6. package/lib/types/client/antigravity/AntigravitySection.d.ts.map +1 -1
  7. package/lib/types/client/claude/ClaudeSection.d.ts.map +1 -1
  8. package/lib/types/client/claude/useClaudeSection.d.ts.map +1 -1
  9. package/lib/types/client/cline-pass/ClinePassSection.d.ts.map +1 -1
  10. package/lib/types/client/command-code/CommandCodeSection.d.ts.map +1 -1
  11. package/lib/types/client/common/line-locale.d.ts +21 -0
  12. package/lib/types/client/common/line-locale.d.ts.map +1 -0
  13. package/lib/types/client/glm-coding-plan/GlmCodingPlanSection.d.ts.map +1 -1
  14. package/lib/types/client/glm-coding-plan/locales.d.ts +2 -2
  15. package/lib/types/client/index.d.ts.map +1 -1
  16. package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
  17. package/lib/types/client/kimi-code/KimiModelCapabilities.d.ts.map +1 -1
  18. package/lib/types/client/kimi-code/locales.d.ts +2 -2
  19. package/lib/types/client/locales-ru/account-pool.d.ts +11 -0
  20. package/lib/types/client/locales-ru/account-pool.d.ts.map +1 -0
  21. package/lib/types/client/locales-ru/antigravity.d.ts +10 -0
  22. package/lib/types/client/locales-ru/antigravity.d.ts.map +1 -0
  23. package/lib/types/client/locales-ru/claude.d.ts +3 -0
  24. package/lib/types/client/locales-ru/claude.d.ts.map +1 -0
  25. package/lib/types/client/locales-ru/cline-pass.d.ts +11 -0
  26. package/lib/types/client/locales-ru/cline-pass.d.ts.map +1 -0
  27. package/lib/types/client/locales-ru/command-code.d.ts +9 -0
  28. package/lib/types/client/locales-ru/command-code.d.ts.map +1 -0
  29. package/lib/types/client/locales-ru/glm-coding-plan.d.ts +10 -0
  30. package/lib/types/client/locales-ru/glm-coding-plan.d.ts.map +1 -0
  31. package/lib/types/client/locales-ru/hub.d.ts +3 -0
  32. package/lib/types/client/locales-ru/hub.d.ts.map +1 -0
  33. package/lib/types/client/locales-ru/index.d.ts +27 -0
  34. package/lib/types/client/locales-ru/index.d.ts.map +1 -0
  35. package/lib/types/client/locales-ru/kimi-code.d.ts +10 -0
  36. package/lib/types/client/locales-ru/kimi-code.d.ts.map +1 -0
  37. package/lib/types/client/locales-ru/minimax-code.d.ts +9 -0
  38. package/lib/types/client/locales-ru/minimax-code.d.ts.map +1 -0
  39. package/lib/types/client/locales-ru/ollama.d.ts +10 -0
  40. package/lib/types/client/locales-ru/ollama.d.ts.map +1 -0
  41. package/lib/types/client/locales-ru/opendesign.d.ts +10 -0
  42. package/lib/types/client/locales-ru/opendesign.d.ts.map +1 -0
  43. package/lib/types/client/locales-ru/progress-updates.d.ts +8 -0
  44. package/lib/types/client/locales-ru/progress-updates.d.ts.map +1 -0
  45. package/lib/types/client/locales-ru/qoder.d.ts +11 -0
  46. package/lib/types/client/locales-ru/qoder.d.ts.map +1 -0
  47. package/lib/types/client/locales-ru/step-code.d.ts +9 -0
  48. package/lib/types/client/locales-ru/step-code.d.ts.map +1 -0
  49. package/lib/types/client/minimax-code/locales.d.ts +2 -2
  50. package/lib/types/client/ollama/OllamaSection.d.ts.map +1 -1
  51. package/lib/types/client/opendesign/OpenDesignSection.d.ts +4 -3
  52. package/lib/types/client/opendesign/OpenDesignSection.d.ts.map +1 -1
  53. package/lib/types/client/opendesign/locales.d.ts +108 -42
  54. package/lib/types/client/opendesign/locales.d.ts.map +1 -1
  55. package/lib/types/client/opendesign/styles.d.ts.map +1 -1
  56. package/lib/types/client/qoder/QoderSection.d.ts +2 -1
  57. package/lib/types/client/qoder/QoderSection.d.ts.map +1 -1
  58. package/lib/types/client/qoder/locales.d.ts +1 -1
  59. package/lib/types/client/step-code/StepCodeSection.d.ts.map +1 -1
  60. package/lib/types/client/step-code/locales.d.ts +2 -2
  61. package/lib/types/host/opendesign/client.d.ts +53 -0
  62. package/lib/types/host/opendesign/client.d.ts.map +1 -1
  63. package/lib/types/host/opendesign/routes.d.ts +4 -3
  64. package/lib/types/host/opendesign/routes.d.ts.map +1 -1
  65. package/lib/types/host/opendesign/types.d.ts +10 -0
  66. package/lib/types/host/opendesign/types.d.ts.map +1 -1
  67. package/lib/types/shared/opendesign-contracts.d.ts +35 -2
  68. package/lib/types/shared/opendesign-contracts.d.ts.map +1 -1
  69. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -66441,6 +66441,16 @@ const AMR_API_BASE = "https://amr-api.open-design.ai/api/v1";
66441
66441
  const DEVICE_AUTHORIZATIONS_PATH = "/cli/device-authorizations";
66442
66442
  const WALLET_BALANCE_PATH = "/wallet/balance";
66443
66443
  /**
66444
+ * The account's plan + credits summary.
66445
+ *
66446
+ * The only endpoint that states the paid tier: `/me` carries a `plan` field, but
66447
+ * it answers `free` for a subscribed account (probed 2026-10-21 against a Go
66448
+ * account whose billing period was active), so it is a rough profile flag and
66449
+ * never the tier. This one reports `membershipTier` plus the credit buckets the
66450
+ * plan grants, the amounts consumed, and the current billing period.
66451
+ */
66452
+ const BILLING_SUMMARY_PATH = "/billing/summary";
66453
+ /**
66444
66454
  * What the create call says about this client. The service stores host /
66445
66455
  * profile / cliVersion per authorization (its console lists devices by them);
66446
66456
  * the profile vocabulary is 'prod' | 'test' | 'feature-test' | 'local' per the
@@ -67915,6 +67925,82 @@ async function fetchWalletBalance({ fetchFn, controlKey, apiBase = AMR_API_BASE,
67915
67925
  };
67916
67926
  }
67917
67927
  }
67928
+ function usdString(value) {
67929
+ return typeof value === "string" && /^-?\d+(?:\.\d+)?$/.test(value) ? value : null;
67930
+ }
67931
+ function creditString(value) {
67932
+ return typeof value === "string" && /^\d+$/.test(value) ? value : null;
67933
+ }
67934
+ function isoString(value) {
67935
+ return typeof value === "string" && Number.isFinite(Date.parse(value)) ? value : null;
67936
+ }
67937
+ function textString(value) {
67938
+ return typeof value === "string" ? value.trim() : "";
67939
+ }
67940
+ /**
67941
+ * Read one OAuth account's plan and credits with its control key.
67942
+ *
67943
+ * The summary is display data: a refusal is returned as data, never thrown, and
67944
+ * must never mark the account (billing 401/403 is display-only upstream —
67945
+ * OPEND-3553 — exactly like the wallet read). A summary with no
67946
+ * `membershipTier` is not treated as a plan: "the tier is unknown" and "the plan
67947
+ * is free" are different statements.
67948
+ */
67949
+ async function fetchBillingSummary({ fetchFn, controlKey, apiBase = AMR_API_BASE, signal, timeoutMs = 15e3 }) {
67950
+ const refusal = {
67951
+ ok: false,
67952
+ billing: null,
67953
+ error: ""
67954
+ };
67955
+ try {
67956
+ const result = await sendJSON$1(fetchFn, trimBase$1(apiBase) + BILLING_SUMMARY_PATH, {
67957
+ apiKey: controlKey,
67958
+ signal,
67959
+ timeoutMs
67960
+ });
67961
+ if (!result.ok) {
67962
+ const detail = firstMessage(result.json) || result.text.slice(0, 120);
67963
+ return {
67964
+ ...refusal,
67965
+ error: "the billing summary answered HTTP " + result.status + (detail === "" ? "" : ": " + detail)
67966
+ };
67967
+ }
67968
+ const body = isRecord$2(result.json) ? result.json : {};
67969
+ const plan = textString(body.membershipTier);
67970
+ if (plan === "") return {
67971
+ ...refusal,
67972
+ error: "the billing summary named no membershipTier"
67973
+ };
67974
+ const balances = isRecord$2(body.balances) ? body.balances : {};
67975
+ return {
67976
+ ok: true,
67977
+ billing: {
67978
+ plan,
67979
+ status: textString(body.subscriptionStatus),
67980
+ entitlementStatus: textString(body.subscriptionEntitlementStatus),
67981
+ billingInterval: textString(body.billingInterval),
67982
+ periodStart: isoString(body.subscriptionCurrentPeriodStart),
67983
+ periodEnd: isoString(body.subscriptionCurrentPeriodEnd),
67984
+ subscriptionCredits: creditString(balances.subscriptionCredits),
67985
+ rechargeCredits: creditString(balances.rechargeCredits),
67986
+ totalAvailableCredits: creditString(balances.totalAvailableCredits),
67987
+ subscriptionCreditsUsd: usdString(body.subscriptionCreditsUsd),
67988
+ rechargeCreditsUsd: usdString(body.rechargeCreditsUsd),
67989
+ totalAvailableCreditsUsd: usdString(body.totalAvailableCreditsUsd),
67990
+ totalConsumedUsd: usdString(body.totalConsumedUsd),
67991
+ todayConsumedUsd: usdString(body.todayConsumedUsd),
67992
+ usageCount: typeof body.usageCount === "number" && Number.isSafeInteger(body.usageCount) && body.usageCount >= 0 ? body.usageCount : null,
67993
+ updatedAt: isoString(body.updatedAt)
67994
+ },
67995
+ error: ""
67996
+ };
67997
+ } catch (error) {
67998
+ return {
67999
+ ...refusal,
68000
+ error: error instanceof Error ? error.message : String(error)
68001
+ };
68002
+ }
68003
+ }
67918
68004
  //#endregion
67919
68005
  //#region src/host/opendesign/mapper.ts
67920
68006
  /**
@@ -69124,14 +69210,26 @@ async function getOpenDesignWebStatus(options, usageStore) {
69124
69210
  const settings = await settingsStore.read().catch(() => settingsStore.status());
69125
69211
  const data = await accountPool.read().catch(() => null);
69126
69212
  const accounts = await accountPool.listAccounts().catch(() => []);
69213
+ const billedPlans = /* @__PURE__ */ new Map();
69214
+ if (usageStore !== void 0) for (const reading of usageStore.readings.values()) {
69215
+ const plan = reading.billing?.plan;
69216
+ if (plan !== void 0 && plan !== "") billedPlans.set(reading.accountId, plan);
69217
+ }
69218
+ const projectedAccounts = billedPlans.size === 0 ? accounts : accounts.map((account) => {
69219
+ const plan = billedPlans.get(account.id);
69220
+ return plan === void 0 ? account : {
69221
+ ...account,
69222
+ plan
69223
+ };
69224
+ });
69127
69225
  const now = Date.now();
69128
69226
  const pool = {
69129
- accounts,
69227
+ accounts: projectedAccounts,
69130
69228
  rotationStrategy: data?.rotationStrategy ?? "sequential",
69131
69229
  ...data?.activeAccountId === void 0 ? {} : { activeAccountId: data.activeAccountId }
69132
69230
  };
69133
69231
  const models = projectModels(settings);
69134
- const usable = accounts.some((account) => isUsable(account, now));
69232
+ const usable = projectedAccounts.some((account) => isUsable(account, now));
69135
69233
  const authenticated = usable && settings.enabled;
69136
69234
  return {
69137
69235
  enabled: settings.enabled,
@@ -69621,7 +69719,7 @@ function registerOpenDesignRoutes(ctx, options) {
69621
69719
  const readable = (data?.accounts ?? []).filter((account) => isUsable(account, now) && isOpenDesignOAuthCredentials(account.credentials));
69622
69720
  if (readable.length === 0) return sendJson(response, 400, {
69623
69721
  ok: false,
69624
- error: "No OAuth-signed-in account can be read. Wallet balances come from the control key a browser sign-in issues; a pasted API key has none."
69722
+ error: "No OAuth-signed-in account can be read. Plan, credits and wallet balances come from the control key a browser sign-in issues; a pasted API key has none."
69625
69723
  });
69626
69724
  const readings = await Promise.all(readable.map(async (account) => {
69627
69725
  const fetchedAt = Date.now();
@@ -69636,18 +69734,23 @@ function registerOpenDesignRoutes(ctx, options) {
69636
69734
  error: "no control key on this account",
69637
69735
  fetchedAt
69638
69736
  };
69639
- const result = await fetchWalletBalance({
69737
+ const [wallet, billing] = await Promise.all([fetchWalletBalance({
69640
69738
  fetchFn,
69641
69739
  controlKey
69642
- });
69740
+ }), fetchBillingSummary({
69741
+ fetchFn,
69742
+ controlKey
69743
+ })]);
69744
+ const balanceUsd = wallet.balanceUsd ?? billing.billing?.totalAvailableCreditsUsd ?? null;
69643
69745
  return {
69644
69746
  accountId: account.id,
69645
69747
  alias: account.alias,
69646
- ok: result.ok,
69647
- balanceUsd: result.balanceUsd,
69648
- updatedAt: result.updatedAt,
69649
- error: result.error,
69650
- fetchedAt
69748
+ ok: wallet.ok || billing.ok,
69749
+ balanceUsd,
69750
+ updatedAt: wallet.updatedAt,
69751
+ error: wallet.error,
69752
+ fetchedAt,
69753
+ ...billing.billing === null ? {} : { billing: billing.billing }
69651
69754
  };
69652
69755
  } catch (error) {
69653
69756
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"AntigravitySection.d.ts","sourceRoot":"","sources":["../../../../src/client/antigravity/AntigravitySection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAiBvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAwBD,wBAAgB,kBAAkB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAyiBnG"}
1
+ {"version":3,"file":"AntigravitySection.d.ts","sourceRoot":"","sources":["../../../../src/client/antigravity/AntigravitySection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAkBvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAwBD,wBAAgB,kBAAkB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAyiBnG"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/claude/ClaudeSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAmCjF,wBAAgB,aAAa,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CA6Z3G"}
1
+ {"version":3,"file":"ClaudeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/claude/ClaudeSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAoCjF,wBAAgB,aAAa,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CA6Z3G"}
@@ -1 +1 @@
1
- {"version":3,"file":"useClaudeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/claude/useClaudeSection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useClaudeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/claude/useClaudeSection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ClinePassSection.d.ts","sourceRoot":"","sources":["../../../../src/client/cline-pass/ClinePassSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAsBxE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAsDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAsyBjE"}
1
+ {"version":3,"file":"ClinePassSection.d.ts","sourceRoot":"","sources":["../../../../src/client/cline-pass/ClinePassSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAuBxE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAoDD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAwyBjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommandCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAkCvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAsBD,wBAAgB,kBAAkB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAqiBnG"}
1
+ {"version":3,"file":"CommandCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAmCvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAsBD,wBAAgB,kBAAkB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAqiBnG"}
@@ -0,0 +1,21 @@
1
+ import type { LocaleRuntime } from '@deepseek-ai/dsh-client-locale/client';
2
+ /**
3
+ * Hand the client locale runtime to this module.
4
+ *
5
+ * Called once from the plugin entry, before any card mounts. Rendering without
6
+ * it (unit tests that mount a card bare) keeps the dictionary's own values,
7
+ * which is what those tests assert against.
8
+ *
9
+ * @param locale - the plugin context's locale runtime.
10
+ */
11
+ export declare function installLineLocale(locale: LocaleRuntime): void;
12
+ /**
13
+ * Dictionary-shaped view of one namespace, resolved through the active locale.
14
+ *
15
+ * @param ns - the namespace the card registered its dictionaries under.
16
+ * @param fallback - the card's own `zh` dictionary: source of the key set and
17
+ * of the value used when no locale service is installed.
18
+ * @returns the same key shape as `fallback`, with values read at render time.
19
+ */
20
+ export declare function useLineDict<D extends Record<string, string>>(ns: string, fallback: D): D;
21
+ //# sourceMappingURL=line-locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-locale.d.ts","sourceRoot":"","sources":["../../../../src/client/common/line-locale.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAA;AAa1E;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAU7D;AAkBD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAMxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"GlmCodingPlanSection.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/GlmCodingPlanSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAA2B,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAOtG,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE,yBAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwazG"}
1
+ {"version":3,"file":"GlmCodingPlanSection.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/GlmCodingPlanSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAA2B,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAQtG,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE,yBAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwazG"}
@@ -384,8 +384,8 @@ export declare const dictionaries: {
384
384
  readonly quotaFactsScope: string;
385
385
  readonly composerLabel: string;
386
386
  };
387
- en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
388
- 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
387
+ en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopt" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "quotaPlanLevel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
388
+ 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopt" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "quotaPlanLevel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
389
389
  };
390
390
  export type GlmCodingPlanLocaleKey = keyof typeof zh;
391
391
  /** 一个配额窗口的键到「窗口长度(分钟)」的映射。 */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAM5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAKxH,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAiD,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGhH,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG9F,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAMlH,OAAO,EAA6D,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAExI,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;QAC7B,eAAe,EAAE,iBAAiB,CAAA;QAClC,gBAAgB,EAAE,kBAAkB,CAAA;QACpC,WAAW,EAAE,cAAc,CAAA;QAC3B,gBAAgB,EAAE,mBAAmB,CAAA;QACrC,sBAAsB,EAAE,wBAAwB,CAAA;KACjD;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAqN9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAQ/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAM5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAKxH,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAiD,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAGhH,OAAO,EAAwC,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAG9F,OAAO,EAAkD,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAMlH,OAAO,EAA6D,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAA;AAExI,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;QAC7B,eAAe,EAAE,iBAAiB,CAAA;QAClC,gBAAgB,EAAE,kBAAkB,CAAA;QACpC,WAAW,EAAE,cAAc,CAAA;QAC3B,gBAAgB,EAAE,mBAAmB,CAAA;QACrC,sBAAsB,EAAE,wBAAwB,CAAA;KACjD;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA2N9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"KimiCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAsBvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAoCD,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA6qBhG"}
1
+ {"version":3,"file":"KimiCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAuBvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAuCD,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA6qBhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"KimiModelCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiModelCapabilities.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAe9E,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAC9B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CAkEhG"}
1
+ {"version":3,"file":"KimiModelCapabilities.d.ts","sourceRoot":"","sources":["../../../../src/client/kimi-code/KimiModelCapabilities.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAA;AAc9E,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,mBAAmB,EAAE,CAAA;CAC9B;AAED,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,EAAE,0BAA0B,GAAG,KAAK,CAAC,YAAY,CAmEhG"}
@@ -460,8 +460,8 @@ export declare const dictionaries: {
460
460
  readonly quotaFactsScope: string;
461
461
  readonly composerLabel: string;
462
462
  };
463
- en: Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "cacheTtl" | "cacheTtlHint" | "cacheTtl1h" | "cacheTtl5m" | "effortLow" | "effortHigh" | "effortMax" | "resetAt" | "copied" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "region" | "quotaPlan" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "deviceCodeHint" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "cacheTtlDefault" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
464
- 'en-US': Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "cacheTtl" | "cacheTtlHint" | "cacheTtl1h" | "cacheTtl5m" | "effortLow" | "effortHigh" | "effortMax" | "resetAt" | "copied" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "region" | "quotaPlan" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "deviceCodeHint" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "cacheTtlDefault" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
463
+ en: Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "cacheTtl" | "cacheTtlHint" | "cacheTtl1h" | "cacheTtl5m" | "effortLow" | "effortHigh" | "effortMax" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "deviceCodeHint" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "cacheTtlDefault" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
464
+ 'en-US': Record<"account" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "signedOut" | "signedIn" | "plan" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "cooldownRemaining" | "cooldownRemainingSeconds" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "cacheSection" | "cacheDesc" | "cacheEmpty" | "cacheHitRatio" | "cacheCached" | "cacheFresh" | "cacheRequests" | "cacheDriftTools" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "testSuccess" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "cacheTtl" | "cacheTtlHint" | "cacheTtl1h" | "cacheTtl5m" | "effortLow" | "effortHigh" | "effortMax" | "resetAt" | "copied" | "region" | "quotaPlan" | "authenticatedAt" | "openSignInPage" | "wireAnthropic" | "wireOpenai" | "nickname" | "regionMainland" | "regionGlobal" | "refreshRejected" | "deviceCodeSection" | "deviceCodeHint" | "copyCode" | "userCode" | "codeExpires" | "waitingAuthorization" | "requestingCode" | "oauthHost" | "codingEndpoint" | "capVideo" | "capDynamicTools" | "capImageOnly" | "capNone" | "capVideoFootnote" | "capabilitiesTitle" | "capColMedia" | "capColTools" | "capColNotes" | "capPlan" | "capInputCap" | "capNoTools" | "speedRegular" | "speedHighspeed" | "quotaCost" | "minimumPlan" | "cacheTtlDefault" | "effortNone" | "contextWindowPlan" | "cacheOutput" | "cacheHint" | "cacheExpired" | "cacheDrift" | "cacheDriftFirst" | "cacheDriftStable" | "cacheDriftSystemPrompt" | "cacheDriftCacheKey" | "cacheDriftColdKey" | "preserveThinking" | "preserveOn" | "preserveOff" | "outputCap" | "quotaWallet" | "quotaWalletLimit" | "quotaWalletUsed" | "requests", string>;
465
465
  };
466
466
  export type KimiCodeLocaleKey = keyof typeof zh;
467
467
  //# sourceMappingURL=locales.d.ts.map
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Russian wording of the labels every provider tab's account-pool card renders.
3
+ *
4
+ * Same role as `common/account-pool-labels.ts` on the `zh`/`en` side: one shared
5
+ * set, so the twelve tabs cannot drift apart in wording, ordering or meaning.
6
+ * Each Russian namespace spreads the subset it needs and may override keys that
7
+ * would be untrue for its line (a pasted API key never expires, for instance).
8
+ */
9
+ import type { AccountPoolLabels } from '../common/account-pool-labels.ts';
10
+ export declare const accountPoolRu: AccountPoolLabels;
11
+ //# sourceMappingURL=account-pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-pool.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/account-pool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEzE,eAAO,MAAM,aAAa,EAAE,iBAiC3B,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Russian wording for the Antigravity namespace.
3
+ *
4
+ * Key set and order follow the `zh` object key for key; the meaning is taken
5
+ * from `en`. The account-pool subset comes from `account-pool.ts` and is
6
+ * repeated here only because the source re-lists it in place.
7
+ */
8
+ import type { AntigravityLocaleKey } from '../antigravity/locales.ts';
9
+ export declare const dictionary: Record<AntigravityLocaleKey, string>;
10
+ //# sourceMappingURL=antigravity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/antigravity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGrE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CA6E3D,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { ClaudeLocaleKey } from '../claude/locales.ts';
2
+ export declare const dictionary: Record<ClaudeLocaleKey, string>;
3
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/claude.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE3D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAsItD,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Russian dictionary for the Cline Pass tab.
3
+ *
4
+ * Mirrors `cline-pass/locales.ts` key for key, wording taken from `en`. The
5
+ * shared account-pool card supplies its labels; the two overrides the source
6
+ * makes (a Cline Pass key never expires and is replaced rather than re-signed-in)
7
+ * are kept here as well.
8
+ */
9
+ import type { ClinePassLocaleKey } from '../cline-pass/locales.ts';
10
+ export declare const dictionary: Record<ClinePassLocaleKey, string>;
11
+ //# sourceMappingURL=cline-pass.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline-pass.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/cline-pass.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAGlE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAwJzD,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Russian wording for the Command Code namespace.
3
+ *
4
+ * Key set and order follow the `zh` object key for key; the meaning is taken
5
+ * from `en`. The account-pool subset comes from `account-pool.ts`.
6
+ */
7
+ import type { CommandCodeLocaleKey } from '../command-code/locales.ts';
8
+ export declare const dictionary: Record<CommandCodeLocaleKey, string>;
9
+ //# sourceMappingURL=command-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/command-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGtE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAmE3D,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Russian wording for the GLM Coding Plan namespace.
3
+ *
4
+ * Key set and order follow the `zh` object key for key; the meaning is taken
5
+ * from `en`. Shared account-pool labels come from `account-pool.ts` so this
6
+ * line cannot drift from the other provider tabs.
7
+ */
8
+ import type { GlmCodingPlanLocaleKey } from '../glm-coding-plan/locales.ts';
9
+ export declare const dictionary: Record<GlmCodingPlanLocaleKey, string>;
10
+ //# sourceMappingURL=glm-coding-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glm-coding-plan.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/glm-coding-plan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAG3E,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAsG7D,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { LocaleKey } from '../locales.ts';
2
+ export declare const dictionary: Record<LocaleKey, string>;
3
+ //# sourceMappingURL=hub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hub.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/hub.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAmLhD,CAAA"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Russian language pack for this plugin's own settings surface.
3
+ *
4
+ * `@deepseek-ai/dsh-client-locale` has one registration form for a whole
5
+ * namespace-bilingual dictionary (`register(ns, { zh, en })`, both shipped
6
+ * locales required) and a single-locale form for everything a language pack
7
+ * contributes. Russian goes through the second path: the language definition
8
+ * first, then one dictionary per namespace.
9
+ *
10
+ * The declared fallback is `en`, so a key this pack misses reads as English
11
+ * rather than as a raw key name, and the harness's own UI (which ships only
12
+ * `zh`/`en`) keeps speaking English underneath — a native Russian DSH locale
13
+ * would be a separate pack of its own.
14
+ */
15
+ import type { Context as ClientContext } from '@deepseek-ai/cordis';
16
+ /** Language id of this pack: the value stored as `locale.preference`. */
17
+ export declare const RU_LOCALE = "ru";
18
+ /**
19
+ * Register the Russian language and every dictionary it covers.
20
+ *
21
+ * The runtime lives in `locale`, which the client plugin already injects, so
22
+ * this cannot be mounted without it.
23
+ *
24
+ * @param ctx - client plugin context owning the locale service.
25
+ */
26
+ export declare function installRussianLocale(ctx: ClientContext): void;
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AA6BnE,yEAAyE;AACzE,eAAO,MAAM,SAAS,OAAO,CAAA;AAE7B;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAmD7D"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Russian dictionary for the Kimi Code tab.
3
+ *
4
+ * Mirrors `kimi-code/locales.ts`: the same keys in the same order, wording taken
5
+ * from `en`. The account-pool card is shared, so its labels come from
6
+ * `./account-pool.ts` rather than being restated here.
7
+ */
8
+ import type { KimiCodeLocaleKey } from '../kimi-code/locales.ts';
9
+ export declare const dictionary: Record<KimiCodeLocaleKey, string>;
10
+ //# sourceMappingURL=kimi-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kimi-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/kimi-code.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CA2HxD,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Russian dictionary for the MiniMax Code namespace.
3
+ *
4
+ * Key set and order mirror `minimax-code/locales.ts` `zh`; the meaning comes from
5
+ * `en`, which is the source of truth. Placeholders are kept verbatim.
6
+ */
7
+ import type { MinimaxCodeLocaleKey } from '../minimax-code/locales.ts';
8
+ export declare const dictionary: Record<MinimaxCodeLocaleKey, string>;
9
+ //# sourceMappingURL=minimax-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"minimax-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/minimax-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAGtE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAqM3D,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Russian wording for the Ollama namespace.
3
+ *
4
+ * Key set and order follow the `zh` object key for key; the meaning is taken
5
+ * from `en`. Shared account-pool labels come from `account-pool.ts`; only the
6
+ * keys this line overrides are repeated here.
7
+ */
8
+ import type { OllamaLocaleKey } from '../ollama/locales.ts';
9
+ export declare const dictionary: Record<OllamaLocaleKey, string>;
10
+ //# sourceMappingURL=ollama.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/ollama.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAyDtD,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Russian wording for the OpenDesign namespace.
3
+ *
4
+ * Key set and order follow the `zh` object key for key; the meaning is taken
5
+ * from `en`. Shared account-pool labels come from `account-pool.ts`; only the
6
+ * keys this line overrides are repeated here.
7
+ */
8
+ import type { OpenDesignLocaleKey } from '../opendesign/locales.ts';
9
+ export declare const dictionary: Record<OpenDesignLocaleKey, string>;
10
+ //# sourceMappingURL=opendesign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opendesign.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/opendesign.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAGnE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAyG1D,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Russian dictionary for the progress-updates namespace.
3
+ *
4
+ * Key set and order mirror the `zh` source; meaning follows `en`.
5
+ */
6
+ import type { ProgressUpdatesLocaleKey } from '../progress-updates/locales.ts';
7
+ export declare const dictionary: Record<ProgressUpdatesLocaleKey, string>;
8
+ //# sourceMappingURL=progress-updates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-updates.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/progress-updates.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AAE9E,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,wBAAwB,EAAE,MAAM,CA6B/D,CAAA"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Russian dictionary for the Qoder (subscription) tab.
3
+ *
4
+ * Mirrors `qoder/locales.ts` key for key, wording taken from `en`. The three
5
+ * one-line model-row labels lead, then the shared account-pool card, and the two
6
+ * labels the Qoder card rewrites (the composer badge and the window fallback) are
7
+ * overridden at the tail, exactly where the source rewrites them.
8
+ */
9
+ import type { QoderLocaleKey } from '../qoder/locales.ts';
10
+ export declare const dictionary: Record<QoderLocaleKey, string>;
11
+ //# sourceMappingURL=qoder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qoder.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/qoder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGzD,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAkIrD,CAAA"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Russian dictionary for the Step Code namespace.
3
+ *
4
+ * Key set and order mirror `step-code/locales.ts` `zh`; the meaning comes from
5
+ * `en`, which is the source of truth. Placeholders are kept verbatim.
6
+ */
7
+ import type { StepCodeLocaleKey } from '../step-code/locales.ts';
8
+ export declare const dictionary: Record<StepCodeLocaleKey, string>;
9
+ //# sourceMappingURL=step-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"step-code.d.ts","sourceRoot":"","sources":["../../../../src/client/locales-ru/step-code.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAGhE,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAkLxD,CAAA"}