@linxin666/dsh-usage 0.4.9 → 0.4.11

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/lib/client.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","names":["styles","styles","balanceLine","styles"],"sources":["../../../packages/dsh-usage/src/client/usage-store.ts","../../../packages/dsh-usage/src/client/locales.ts","../../../packages/dsh-usage/src/client/PeakBadge.tsx","../../../packages/dsh-usage/src/core/adapters.ts","../../../packages/dsh-usage/src/core/holidays.ts","../../../packages/dsh-usage/src/core/pricing.ts","../../../packages/dsh-usage/src/core/ledger.ts","../../../packages/dsh-usage/src/client/voucher-art.generated.ts","../../../packages/dsh-usage/src/client/voucher.ts","../../../packages/dsh-usage/src/core/spend.ts","../../../packages/dsh-usage/src/client/UsageSectionCard.tsx","../../../packages/dsh-usage/src/client/body-mutations.ts","../../../packages/dsh-usage/src/client/UsageFootCard.tsx","../../../packages/dsh-usage/src/client/foot-card-mount.tsx","../../../packages/dsh-usage/src/client/settings-entry-form.ts","../../../packages/dsh-usage/src/client/index.ts"],"sourcesContent":["/**\n * Browser-side usage store: the overview snapshot polled from the host plus\n * the fetch lifecycle. Section-local: the store lives while the settings\n * section is mounted, so polling only runs while the page is open.\n * @module @linxin666/dsh-usage/client/usage-store\n */\n\nimport { defineStore } from '@deepseek-ai/dsh-client-store'\nimport type { EngineStoreHandle, EngineStoreInstance } from '@deepseek-ai/dsh-client-store'\nimport type { UsageOverviewView } from '../core/types.ts'\n\n/** Section UI state as consumers see it. */\nexport interface UsageUiState {\n /** Latest host overview; null before the first successful fetch. */\n snapshot: UsageOverviewView | null\n /** Fetch lifecycle. */\n status: 'loading' | 'ready' | 'error'\n /** Transport error message, when any. */\n error: string | null\n}\n\n/** Store write set. */\nexport type UsageUiActions = {\n /** Replace the overview (poll result). */\n setSnapshot: (draft: UsageUiState, snapshot: UsageOverviewView) => void\n /** Mark the fetch lifecycle. */\n setState: (draft: UsageUiState, status: UsageUiState['status'], error: string | null) => void\n}\n\n/** Create the usage store handle (apply world only; never module-level). */\nexport function createUsageStore(): EngineStoreHandle<UsageUiState, UsageUiActions> {\n return defineStore({\n init: (): UsageUiState => ({\n snapshot: null,\n status: 'loading',\n error: null,\n }),\n actions: {\n setSnapshot: (draft, snapshot) => {\n draft.snapshot = snapshot\n draft.status = 'ready'\n draft.error = null\n },\n setState: (draft, status, error) => {\n draft.status = status\n draft.error = error\n },\n },\n })\n}\n\nexport type UsageStoreInstance = EngineStoreInstance<UsageUiState, UsageUiActions>\n","/**\n * dsh-usage locale dictionaries (zh/en). The zh dictionary is the key source;\n * `en` mirrors its full key set (packages/AGENTS.md bilingual discipline).\n * @module @linxin666/dsh-usage/client/locales\n */\n\n/** Dictionary namespace this package registers. */\nexport const NS = 'dsh-web-ui-usage'\n\n/** Chinese copy. */\nexport const zh = {\n 'usage.title': '使用统计',\n 'usage.tab.usage': '用量',\n 'usage.tab.plans': '个人套餐',\n 'usage.tab.bank': 'Token 银行',\n 'usage.refresh': '刷新',\n 'usage.refreshing': '刷新中…',\n 'usage.updated': '更新于 {time}',\n 'usage.loading': '正在加载用量数据…',\n 'usage.error': '加载失败:{error}',\n 'usage.disabled': '插件已停用:勾选下方「启用插件」即可恢复统计。',\n 'usage.current': '当前',\n 'usage.today': '今日用量',\n 'usage.today.cost': '今日消费(估算)',\n 'usage.day.label': '查看日期',\n 'usage.day.today': '今日',\n 'usage.day.title': '{date} 用量',\n 'usage.day.cost': '当日消费(估算)',\n 'usage.day.empty': '该日没有用量记录',\n 'usage.day.loading': '正在加载该日用量…',\n 'usage.day.error': '该日用量加载失败:{error}',\n 'usage.peak.on': 'DeepSeek 高峰时段:计价 ×2,{time} 结束',\n 'usage.peak.off': 'DeepSeek 空闲时段:计价为高峰一半,{time} 进入高峰',\n 'usage.peak.tag.on': '高峰',\n 'usage.peak.tag.off': '空闲',\n 'usage.peak.ends': '{time} 结束',\n 'usage.peak.starts': '{time} 进入高峰',\n 'usage.calls': '{n} 次调用',\n 'usage.tokens.total': '总 tokens',\n 'usage.tokens.input': '输入',\n 'usage.tokens.output': '输出',\n 'usage.tokens.cacheRead': '缓存读',\n 'usage.tokens.cacheWrite': '缓存写',\n 'usage.trend': '近 30 天',\n 'usage.noData': '暂无用量数据(统计自插件启用起)',\n 'usage.balance': '余额',\n 'usage.balance.unsupported': '暂不支持余额查询',\n 'usage.balance.noCredential': '未配置凭据',\n 'usage.balance.noneConfigured': '没有已配置的提供方',\n 'usage.oauth': 'OAuth 凭据,不做余额查询',\n 'usage.plan.reset': '{date} 重置',\n 'usage.plan.noPlan': '未检测到套餐数据',\n 'usage.plan.noneConfigured': '没有已配置的套餐类 provider(如 Kimi、GLM、OpenCode Go、MiniMax、Codex 订阅)',\n 'usage.plan.windows.5h': '5 小时',\n 'usage.plan.windows.week': '每周',\n 'usage.plan.windows.month': '每月',\n 'usage.provider.error': '查询失败:{error}',\n 'usage.errorListSeparator': ';',\n 'usage.config.title': '设置',\n 'usage.config.enabled': '启用插件',\n 'usage.config.pollIntervalSec': '轮询间隔(秒)',\n 'usage.config.spendCurrency': '消费显示货币',\n 'usage.config.cnyPerUsd': '汇率(1 美元兑人民币)',\n 'usage.config.saveFailed': '保存失败:设置未被接受。',\n 'usage.bank.title': '鲸元券',\n 'usage.bank.hint': '所有模型每消耗 100 万 tokens 铸造 1 鲸元;保存或分享这张票券。',\n 'usage.bank.noUsage': '暂无用量数据',\n 'usage.bank.minted': '累计铸造 {minted} 鲸元({tokens} tokens)',\n 'usage.bank.spend.observed': '官方余额实测花费 {cost}(自 {since} 起)',\n 'usage.bank.spend.estimated': '消费估算:约 {cost}',\n 'usage.bank.window': '统计窗口 {from} ~ {to}',\n 'usage.bank.windowAll': '全部保留期',\n 'usage.bank.save': '保存图片',\n 'usage.bank.share': '分享',\n 'usage.bank.drawError': '票券生成失败:{error}',\n 'usage.foot.cost': '今日消费',\n 'usage.foot.noData': '今日暂无用量',\n 'usage.foot.open': '打开使用统计设置',\n 'usage.foot.collapse': '收起用量卡片',\n 'usage.foot.expand': '展开用量卡片',\n}\n\n/** English mirror; every zh key present. */\nexport const en: Record<UsageKey, string> = {\n 'usage.title': 'Usage Statistics',\n 'usage.tab.usage': 'Usage',\n 'usage.tab.plans': 'Plans',\n 'usage.tab.bank': 'Token Bank',\n 'usage.refresh': 'Refresh',\n 'usage.refreshing': 'Refreshing…',\n 'usage.updated': 'Updated {time}',\n 'usage.loading': 'Loading usage data…',\n 'usage.error': 'Failed to load: {error}',\n 'usage.disabled': 'Plugin disabled. Tick \"Enable plugin\" below to resume statistics.',\n 'usage.current': 'Current',\n 'usage.today': 'Today',\n 'usage.today.cost': 'Today spend (estimated)',\n 'usage.day.label': 'Day',\n 'usage.day.today': 'Today',\n 'usage.day.title': 'Usage · {date}',\n 'usage.day.cost': 'Day spend (estimated)',\n 'usage.day.empty': 'No usage recorded on this day',\n 'usage.day.loading': 'Loading that day…',\n 'usage.day.error': 'Failed to load that day: {error}',\n 'usage.peak.on': 'DeepSeek peak hours: 2x pricing, ends {time}',\n 'usage.peak.off': 'DeepSeek off-peak: half of peak pricing, peak returns {time}',\n 'usage.peak.tag.on': 'Peak',\n 'usage.peak.tag.off': 'Off-peak',\n 'usage.peak.ends': 'ends {time}',\n 'usage.peak.starts': 'peak at {time}',\n 'usage.calls': '{n} calls',\n 'usage.tokens.total': 'Total tokens',\n 'usage.tokens.input': 'Input',\n 'usage.tokens.output': 'Output',\n 'usage.tokens.cacheRead': 'Cache read',\n 'usage.tokens.cacheWrite': 'Cache write',\n 'usage.trend': 'Last 30 days',\n 'usage.noData': 'No usage data yet (counting starts when the plugin is enabled)',\n 'usage.balance': 'Balance',\n 'usage.balance.unsupported': 'Balance query not supported',\n 'usage.balance.noCredential': 'No credential configured',\n 'usage.balance.noneConfigured': 'No providers configured',\n 'usage.oauth': 'OAuth credential, no balance query',\n 'usage.plan.reset': 'resets {date}',\n 'usage.plan.noPlan': 'No plan data detected',\n 'usage.plan.noneConfigured': 'No plan-capable provider configured (such as Kimi, GLM, OpenCode Go, MiniMax, Codex subscription)',\n 'usage.plan.windows.5h': '5 hours',\n 'usage.plan.windows.week': 'Weekly',\n 'usage.plan.windows.month': 'Monthly',\n 'usage.provider.error': 'Query failed: {error}',\n 'usage.errorListSeparator': '; ',\n 'usage.config.title': 'Settings',\n 'usage.config.enabled': 'Enable plugin',\n 'usage.config.pollIntervalSec': 'Poll interval (seconds)',\n 'usage.config.spendCurrency': 'Spend display currency',\n 'usage.config.cnyPerUsd': 'Exchange rate (CNY per USD)',\n 'usage.config.saveFailed': 'Save failed: the deployment did not accept the setting.',\n 'usage.bank.title': 'Whale-yuan voucher',\n 'usage.bank.hint': 'Every 1,000,000 tokens spent across all models mint one whale yuan; save or share the note.',\n 'usage.bank.noUsage': 'No usage data yet',\n 'usage.bank.minted': 'Minted {minted} whale yuan ({tokens} tokens)',\n 'usage.bank.spend.observed': 'Spent {cost} observed on the official balance (watching since {since})',\n 'usage.bank.spend.estimated': 'Estimated spend: about {cost}',\n 'usage.bank.window': 'Window {from} - {to}',\n 'usage.bank.windowAll': 'All retained days',\n 'usage.bank.save': 'Save image',\n 'usage.bank.share': 'Share',\n 'usage.bank.drawError': 'Failed to render the voucher: {error}',\n 'usage.foot.cost': 'Today spend',\n 'usage.foot.noData': 'No usage yet today',\n 'usage.foot.open': 'Open usage statistics settings',\n 'usage.foot.collapse': 'Collapse the usage card',\n 'usage.foot.expand': 'Expand the usage card',\n}\n\nexport type UsageKey = keyof typeof zh\n\n/**\n * Active dictionary, picked by the document language at call time. The\n * section resolves its copy the same tiny way the pet's DOM-injected surface\n * does (the settings section has no framework locale seat of its own).\n */\nexport function dictionary(): Record<UsageKey, string> {\n const lang = typeof document !== 'undefined' ? document.documentElement.lang : 'zh'\n return lang.toLowerCase().startsWith('en') ? en : zh\n}\n\n/** Translate a key with optional `{name}` template params; missing keys degrade to the key. */\nexport function t(key: string, params?: Record<string, unknown>): string {\n let text: string = (dictionary() as Record<string, string>)[key] ?? key\n if (params !== undefined) {\n for (const [name, value] of Object.entries(params)) {\n text = text.replaceAll(`{${name}}`, String(value))\n }\n }\n return text\n}\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n /** dsh-usage UI copy. */\n 'dsh-web-ui-usage': UsageKey\n }\n}\n","/**\n * DeepSeek pricing-clock marker, shared by the usage panel's peak line and the\n * sidebar foot card: a filled dot plus the period word, red while the peak\n * window bills double and green while off-peak bills half. The word always\n * rides with the colour (colour alone is not a signal), and the priced\n * sentence moves to the title so a tight surface stays one short token.\n * @module @linxin666/dsh-usage/client/PeakBadge\n */\n\nimport type { ReactNode } from 'react'\nimport { t } from './locales.ts'\nimport styles from './usage.module.css'\n\n/** Props: where the clock stands and how much copy the surface can hold. */\nexport interface PeakBadgeProps {\n /** Whether the published DeepSeek peak window is in force now. */\n peak: boolean\n /** End of the current period (the peak close), or the next peak open when off-peak. */\n boundaryMs: number\n /** compact: dot plus the period word; full: the whole priced sentence. */\n variant: 'compact' | 'full'\n}\n\n/** HH:MM of one instant; an unparsable instant drops the time. */\nexport function formatClock(ms: number): string {\n try {\n return new Date(ms).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })\n } catch {\n return ''\n }\n}\n\n/** The peak/off-peak marker itself; nothing renders outside the DeepSeek family. */\nexport function PeakBadge(props: PeakBadgeProps): ReactNode {\n const { peak, boundaryMs, variant } = props\n const sentence = t(peak ? 'usage.peak.on' : 'usage.peak.off', { time: formatClock(boundaryMs) })\n return (\n <span\n className={variant === 'full' ? styles.peakLine : styles.peakBadge}\n data-peak={peak ? 'on' : 'off'}\n data-dsh-part=\"peak-status\"\n title={sentence}\n >\n <span className={styles.peakDot} aria-hidden=\"true\" />\n {variant === 'full' ? sentence : t(peak ? 'usage.peak.tag.on' : 'usage.peak.tag.off')}\n </span>\n )\n}\n","/**\n * Provider adapters: one entry per provider family this plugin can query for\n * a pay-as-you-go balance or a coding-plan quota. Adapters are pure — they\n * build an HTTP probe from a resolved credential and parse the response — so\n * the service stays transport-only and every endpoint detail lives here.\n *\n * All probes run host-side (Node fetch); API keys never reach the browser.\n * @module @linxin666/dsh-usage/core/adapters\n */\n\nimport type { PlanWindowView } from './types.ts'\n\n/** One HTTP probe the service executes verbatim. */\nexport interface ProbeSpec {\n url: string\n headers: Record<string, string>\n}\n\n/** Inputs an adapter may use to build a probe. */\nexport interface AdapterProbeContext {\n /** Resolved credential value: a raw API key, or an OAuth access token for the oauth-aware adapters. */\n apiKey: string\n /** Provider account id riding a dedicated header, when the credential carries one (Codex). */\n accountId?: string\n /**\n * The route's configured base URL (the pi-ai profile's baseURL), when it\n * declares one. An adapter whose endpoint belongs to one provider origin\n * uses it to refuse an account that merely shares the route key, so a\n * differently-hosted model of the same family is never reported with the\n * other account's number.\n */\n baseURL?: string\n}\n\n/** A parsed balance fact. */\nexport interface BalanceParse {\n currency: string\n totalBalance: string\n}\n\n/** A parsed plan-quota fact. */\nexport interface PlanParse {\n planName?: string\n windows: PlanWindowView[]\n}\n\n/** One provider family's probing capability. */\nexport interface ProviderAdapter {\n /** Provider route keys this adapter serves. */\n ids: readonly string[]\n /**\n * Route keys that belong to this family for accounting (token folding, the\n * spend price book, the whale-yuan bank) but must never be probed with this\n * adapter's endpoints.\n *\n * A route reaches the DeepSeek family without an API key when the user is\n * signed in to a DeepSeek account: the llm-deepseek-account plugin registers\n * the route id deepseek-account, which authenticates with the account token\n * rather than a key. Its tokens bill the same account the official route\n * bills, so the family must own it, but the balance endpoint reads an\n * API-key account: probing it would either fail on the account token or,\n * when the user also configured DEEPSEEK_API_KEY, print the API-key account's\n * money under the account route's name (issue #1772, the same\n * mis-attribution class as #1688). adapterFor() deliberately does not\n * resolve these ids, so no probe, credential fallback, or alias fold can\n * reach them; family membership is read through isDeepSeekProviderRoute().\n */\n familyOnlyIds?: readonly string[]\n /** Fallback display name when the LLM runtime has none. */\n displayName: string\n balance?: {\n /**\n * Origin (scheme + host) whose account this balance endpoint reports.\n * Omitted when the endpoint is per-route by construction (a profile\n * supplies the host) or when the provider has only one origin. When set,\n * a route whose configured baseURL resolves elsewhere is not this\n * origin's account and must not be probed with this adapter.\n */\n origin?: string\n build(context: AdapterProbeContext): ProbeSpec\n parse(status: number, body: unknown): BalanceParse | undefined\n }\n plan?: {\n build(context: AdapterProbeContext): ProbeSpec\n parse(status: number, body: unknown): PlanParse | undefined\n }\n}\n\n/** Parse a string/number into a finite number, else undefined. */\nfunction toNum(value: unknown): number | undefined {\n if (typeof value === 'number') return Number.isFinite(value) ? value : undefined\n if (typeof value === 'string' && value.trim() !== '') {\n const parsed = Number(value)\n return Number.isFinite(parsed) ? parsed : undefined\n }\n return undefined\n}\n\n/** Read a string field that must be a non-empty string. */\nfunction str(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined\n}\n\n/** Clamp a provider percentage into the renderable 0-100 band. */\nfunction clampPercent(value: number): number {\n return Math.max(0, Math.min(100, value))\n}\n\n/** Format a number to a fixed 2-decimal display string. */\nfunction money(value: number): string {\n return value.toFixed(2)\n}\n\n/** Millisecond epoch or ISO string → normalized ISO 8601, else undefined. */\nfunction toIso(value: unknown): string | undefined {\n if (typeof value === 'number' && Number.isFinite(value) && value > 0) {\n const ms = value < 1e12 ? value * 1000 : value\n const date = new Date(ms)\n return Number.isNaN(date.getTime()) ? undefined : date.toISOString()\n }\n const text = str(value)\n if (text === undefined) return undefined\n // Epoch instants also arrive as strings (\"1756428000\"); route them through\n // the numeric branch instead of letting Date() reject them.\n if (/^\\d+$/.test(text)) return toIso(Number(text))\n const date = new Date(text)\n // The contract is \"normalized ISO 8601, else undefined\": returning the raw\n // text would render as \"Invalid Date\" downstream.\n return Number.isNaN(date.getTime()) ? undefined : date.toISOString()\n}\n\n/** Used-percent helper guarding zero/absent limits. */\nfunction usedPercent(used: unknown, limit: unknown): number | undefined {\n const usedNum = toNum(used)\n const limitNum = toNum(limit)\n if (usedNum === undefined || limitNum === undefined || limitNum <= 0) return undefined\n return Math.max(0, Math.min(100, (usedNum / limitNum) * 100))\n}\n\nfunction bearer(apiKey: string): Record<string, string> {\n return { authorization: `Bearer ${apiKey}` }\n}\n\n/**\n * The official pay-as-you-go balance. `deepseek` is the configurable-catalog\n * route key; `deepseek-official` is the live provider route the llm-deepseek\n * adapter registers (sessions and agent-default-model carry it), so both ids\n * must resolve here or the current provider would never be probed.\n */\n/** The official DeepSeek API origin: the only account its balance endpoint reports. */\nexport const DEEPSEEK_API_ORIGIN = 'https://api.deepseek.com'\n\nconst DEEPSEEK: ProviderAdapter = {\n ids: ['deepseek', 'deepseek-official'],\n // The signed-in DeepSeek account route bills the same account but holds no\n // API key, so it joins the family for accounting and stays out of the probe\n // directory (issue #1772).\n familyOnlyIds: ['deepseek-account'],\n displayName: 'DeepSeek',\n balance: {\n origin: DEEPSEEK_API_ORIGIN,\n build: ({ apiKey }) => ({ url: 'https://api.deepseek.com/user/balance', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const infos = (body as Record<string, unknown>).balance_infos\n if (!Array.isArray(infos) || infos.length === 0) return undefined\n const first = infos[0]\n if (typeof first !== 'object' || first === null) return undefined\n const currency = str((first as Record<string, unknown>).currency)\n const total = str((first as Record<string, unknown>).total_balance)\n if (currency === undefined || total === undefined) return undefined\n return { currency, totalBalance: total }\n },\n },\n}\n\n/** Moonshot pay-as-you-go balance; CN bills in CNY, international in USD. */\nfunction moonshotBalance(host: string, currency: string, ids: readonly string[]): ProviderAdapter {\n return {\n ids,\n displayName: 'Moonshot AI',\n balance: {\n build: ({ apiKey }) => ({ url: `https://${host}/v1/users/me/balance`, headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const available = toNum((data as Record<string, unknown>).available_balance)\n if (available === undefined) return undefined\n return { currency, totalBalance: money(available) }\n },\n },\n }\n}\n\n/** Kimi For Coding quota: top-level `usage` is the weekly summary, `limits[]` the per-window rows. */\nconst KIMI_CODING: ProviderAdapter = {\n ids: ['kimi-coding'],\n displayName: 'Kimi For Coding',\n plan: {\n build: ({ apiKey }) => ({ url: 'https://api.kimi.com/coding/v1/usages', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const root = body as Record<string, unknown>\n const windows: PlanWindowView[] = []\n const limits = root.limits\n if (Array.isArray(limits)) {\n for (const entry of limits) {\n if (typeof entry !== 'object' || entry === null) continue\n const detail = (entry as Record<string, unknown>).detail\n const window = (entry as Record<string, unknown>).window\n if (typeof detail !== 'object' || detail === null) continue\n const row = detail as Record<string, unknown>\n const duration = typeof window === 'object' && window !== null ? toNum((window as Record<string, unknown>).duration) : undefined\n const unit = typeof window === 'object' && window !== null ? str((window as Record<string, unknown>).timeUnit) : undefined\n const key = duration === 300 && unit === 'TIME_UNIT_MINUTE' ? '5h' : duration !== undefined ? `w-${duration}` : 'window'\n const percent = usedPercent(row.used, row.limit)\n windows.push({ key, name: str(row.name), percent, resetsAt: toIso(row.resetTime) })\n }\n }\n const usage = root.usage\n if (typeof usage === 'object' && usage !== null) {\n const weekly = usage as Record<string, unknown>\n windows.push({\n key: 'week',\n name: 'Weekly',\n percent: usedPercent(weekly.used, weekly.limit),\n resetsAt: toIso(weekly.resetTime),\n })\n }\n if (windows.length === 0) return undefined\n const user = root.user\n const membership = typeof user === 'object' && user !== null ? (user as Record<string, unknown>).membership : undefined\n const planName = typeof membership === 'object' && membership !== null ? str((membership as Record<string, unknown>).level) : undefined\n return { planName, windows }\n },\n },\n}\n\n/**\n * GLM Coding Plan quota windows, keyed by the provider's own `unit` code\n * rather than by row position so an added or reordered limit cannot shift a\n * window's meaning: 3 = the rolling 5-hour window, 6 = the weekly window,\n * 5 = the monthly one. Two row kinds carry quota — `TOKENS_LIMIT` (token\n * plans) and `CREDIT_LIMIT` (credit plans, whose exact ratio is\n * `currentValue` / `usage`) — while `TIME_LIMIT` is the MCP request cap and\n * is not a plan window at all. Auth is the RAW key without a Bearer prefix.\n */\nconst GLM_UNIT_KEYS: Readonly<Record<number, string>> = { 3: '5h', 5: 'month', 6: 'week' }\n\n/** Percent from a credit row's exact ratio, else the provider's own percentage. */\nfunction glmCreditPercent(row: Record<string, unknown>): number | undefined {\n const used = toNum(row.currentValue)\n const limit = toNum(row.usage)\n if (used !== undefined && limit !== undefined && limit > 0) return clampPercent((used / limit) * 100)\n const percentage = toNum(row.percentage)\n return percentage === undefined ? undefined : clampPercent(percentage)\n}\n\nfunction glmPlan(host: string, ids: readonly string[]): ProviderAdapter {\n return {\n ids,\n displayName: 'GLM Coding Plan',\n plan: {\n build: ({ apiKey }) => ({\n url: `https://${host}/api/monitor/usage/quota/limit`,\n headers: { authorization: apiKey, 'accept-language': 'en-US,en' },\n }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const root = body as Record<string, unknown>\n if (root.success !== true) return undefined\n const data = root.data\n if (typeof data !== 'object' || data === null) return undefined\n const limits = (data as Record<string, unknown>).limits\n if (!Array.isArray(limits)) return undefined\n const windows: PlanWindowView[] = []\n for (const entry of limits) {\n if (typeof entry !== 'object' || entry === null) continue\n const row = entry as Record<string, unknown>\n const kind = str(row.type)\n // The MCP request cap is a per-minute request budget, not a plan window.\n if (kind === 'TIME_LIMIT') continue\n const key = GLM_UNIT_KEYS[toNum(row.unit) ?? Number.NaN]\n // Unknown units fall through: rendering them would invent a window.\n if (key === undefined) continue\n if (kind !== 'TOKENS_LIMIT' && kind !== 'CREDIT_LIMIT') continue\n windows.push({\n key,\n percent: kind === 'CREDIT_LIMIT'\n ? glmCreditPercent(row)\n : (() => {\n const percentage = toNum(row.percentage)\n return percentage === undefined ? undefined : clampPercent(percentage)\n })(),\n resetsAt: toIso(row.nextResetTime),\n })\n }\n if (windows.length === 0) return undefined\n return { planName: str((data as Record<string, unknown>).level), windows }\n },\n },\n }\n}\n\n/** OpenCode Go quota: percent-only rolling/weekly/monthly windows. */\nconst OPENCODE_GO: ProviderAdapter = {\n ids: ['opencode-go'],\n displayName: 'OpenCode Go',\n plan: {\n build: ({ apiKey }) => ({ url: 'https://opencode.ai/zen/go/v1/usage', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const usage = (body as Record<string, unknown>).usage\n if (typeof usage !== 'object' || usage === null) return undefined\n const windows: PlanWindowView[] = []\n const keys: Array<[string, string]> = [['rolling', '5h'], ['weekly', 'week'], ['monthly', 'month']]\n for (const [field, key] of keys) {\n const entry = (usage as Record<string, unknown>)[field]\n if (typeof entry !== 'object' || entry === null) continue\n const row = entry as Record<string, unknown>\n const percent = toNum(row.percent)\n windows.push({\n key,\n percent: percent === undefined ? undefined : Math.max(0, Math.min(100, percent)),\n // percent 0 resetsAt is a placeholder (now + window); drop it.\n resetsAt: percent === 0 ? undefined : toIso(row.resetsAt),\n })\n }\n if (windows.length === 0) return undefined\n return { windows }\n },\n },\n}\n\n/** MiniMax coding-plan remains: remaining-percent semantics, `general` model entry. */\nfunction minimaxPlan(host: string, ids: readonly string[]): ProviderAdapter {\n return {\n ids,\n displayName: 'MiniMax Coding Plan',\n plan: {\n build: ({ apiKey }) => ({ url: `https://${host}/v1/api/openplatform/coding_plan/remains`, headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const remains = (body as Record<string, unknown>).model_remains\n if (!Array.isArray(remains)) return undefined\n const general = remains.find((entry) => typeof entry === 'object' && entry !== null\n && (entry as Record<string, unknown>).model_name === 'general')\n if (typeof general !== 'object' || general === null) return undefined\n const row = general as Record<string, unknown>\n const windows: PlanWindowView[] = []\n const intervalRemaining = toNum(row.current_interval_remaining_percent)\n if (intervalRemaining !== undefined) {\n windows.push({ key: '5h', percent: Math.max(0, Math.min(100, 100 - intervalRemaining)), resetsAt: toIso(row.end_time) })\n }\n if (row.current_weekly_status === 1) {\n const weeklyRemaining = toNum(row.current_weekly_remaining_percent)\n if (weeklyRemaining !== undefined) {\n windows.push({ key: 'week', percent: Math.max(0, Math.min(100, 100 - weeklyRemaining)), resetsAt: toIso(row.weekly_end_time) })\n }\n }\n if (windows.length === 0) return undefined\n return { windows }\n },\n },\n }\n}\n\nconst OPENROUTER: ProviderAdapter = {\n ids: ['openrouter'],\n displayName: 'OpenRouter',\n balance: {\n build: ({ apiKey }) => ({ url: 'https://openrouter.ai/api/v1/credits', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const credits = toNum((data as Record<string, unknown>).total_credits)\n const used = toNum((data as Record<string, unknown>).total_usage) ?? 0\n if (credits === undefined) return undefined\n return { currency: 'USD', totalBalance: money(credits - used) }\n },\n },\n}\n\nfunction siliconFlow(host: string, ids: readonly string[], currency: string): ProviderAdapter {\n return {\n ids,\n displayName: 'SiliconFlow',\n balance: {\n build: ({ apiKey }) => ({ url: `https://${host}/v1/user/info`, headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const total = str((data as Record<string, unknown>).totalBalance)\n if (total === undefined) return undefined\n return { currency, totalBalance: total }\n },\n },\n }\n}\n\nconst ZENMUX: ProviderAdapter = {\n ids: ['zenmux'],\n displayName: 'ZenMux',\n balance: {\n build: ({ apiKey }) => ({ url: 'https://zenmux.ai/api/v1/management/payg/balance', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const credits = toNum((data as Record<string, unknown>).total_credits)\n if (credits === undefined) return undefined\n return { currency: 'USD', totalBalance: money(credits) }\n },\n },\n}\n\n/**\n * OpenAI Codex (ChatGPT subscription) quota over the OAuth access token the\n * pi-ai grant stores — the one plan adapter whose credential is an OAuth\n * token rather than an API key. A 401 here means the stored access token has\n * expired; it refreshes when the harness next runs a Codex request, so the\n * error line tells the user to use Codex once and refresh.\n */\nconst OPENAI_CODEX: ProviderAdapter = {\n ids: ['openai-codex'],\n displayName: 'Codex (ChatGPT 订阅)',\n plan: {\n build: ({ apiKey, accountId }) => ({\n url: 'https://chatgpt.com/backend-api/wham/usage',\n headers: {\n authorization: `Bearer ${apiKey}`,\n 'user-agent': 'codex-cli',\n accept: 'application/json',\n ...(accountId !== undefined ? { 'chatgpt-account-id': accountId } : {}),\n },\n }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const rateLimit = (body as Record<string, unknown>).rate_limit\n if (typeof rateLimit !== 'object' || rateLimit === null) return undefined\n const windows: PlanWindowView[] = []\n const rows = (rateLimit as Record<string, unknown>).primary_window !== undefined || (rateLimit as Record<string, unknown>).secondary_window !== undefined\n ? [(rateLimit as Record<string, unknown>).primary_window, (rateLimit as Record<string, unknown>).secondary_window]\n : []\n for (const entry of rows) {\n if (typeof entry !== 'object' || entry === null) continue\n const row = entry as Record<string, unknown>\n const percent = toNum(row.used_percent)\n if (percent === undefined) continue\n const seconds = toNum(row.limit_window_seconds)\n windows.push({\n key: codexWindowKey(seconds),\n percent: Math.max(0, Math.min(100, percent)),\n // reset_at is unix seconds; toIso scales sub-millisecond-epoch values.\n resetsAt: toIso(row.reset_at),\n })\n }\n if (windows.length === 0) return undefined\n return { windows }\n },\n },\n}\n\n/** Map a Codex window length in seconds onto the shared window key vocabulary. */\nfunction codexWindowKey(seconds: number | undefined): string {\n if (seconds === undefined) return 'window'\n if (seconds === 18000) return '5h'\n if (seconds === 604800) return 'week'\n if (seconds === 2_592_000) return 'month'\n const hours = seconds / 3600\n return hours >= 24 ? `${Math.round(hours / 24)}_day` : `${Math.round(hours)}_hour`\n}\n\n/**\n * The adapter registry, in no particular order. Route keys come from the\n * pi-ai provider catalog plus the routes this deployment observed in user\n * configuration (`zenmux`).\n */\nexport const PROVIDER_ADAPTERS: readonly ProviderAdapter[] = [\n DEEPSEEK,\n moonshotBalance('api.moonshot.cn', 'CNY', ['moonshotai-cn']),\n moonshotBalance('api.moonshot.ai', 'USD', ['moonshotai']),\n KIMI_CODING,\n glmPlan('open.bigmodel.cn', ['zai-coding-cn']),\n glmPlan('api.z.ai', ['zai', 'zai-coding']),\n OPENCODE_GO,\n minimaxPlan('api.minimaxi.com', ['minimax-cn']),\n minimaxPlan('api.minimax.io', ['minimax']),\n OPENAI_CODEX,\n OPENROUTER,\n siliconFlow('api.siliconflow.cn', ['siliconflow', 'siliconflow-cn'], 'CNY'),\n siliconFlow('api.siliconflow.com', ['siliconflow-intl'], 'USD'),\n ZENMUX,\n]\n\n/** Find the adapter serving a provider route key, if any. */\nexport function adapterFor(provider: string): ProviderAdapter | undefined {\n return PROVIDER_ADAPTERS.find((adapter) => adapter.ids.includes(provider))\n}\n\n/** Origin of a configured base URL, or undefined when it cannot be parsed. */\nexport function originOf(baseURL: string | undefined): string | undefined {\n if (baseURL === undefined || baseURL.trim() === '') return undefined\n try {\n return new URL(baseURL).origin\n } catch {\n return undefined\n }\n}\n\n/**\n * Whether an adapter's balance endpoint reports THIS route's account.\n *\n * Some adapter families share one route key across providers that merely\n * speak the same API: `deepseek` is both the official DeepSeek catalog entry\n * and a common id for an OpenAI-compatible reseller (Alibaba Bailian, ...)\n * pointed at another host by the profile's `baseURL`. The balance endpoint is\n * per ORIGIN, not per route key, so probing the official endpoint for a\n * reseller profile reports the official account's money under the reseller's\n * name (issue #1688). An adapter published with a fixed `origin` therefore\n * only applies to a route whose configured base URL is that origin, or to a\n * route that pins no base URL at all (the catalog alias of the official\n * route, which resolves the family's own credential).\n *\n * @param adapter - the matched adapter.\n * @param baseURL - the route's configured base URL (pi-ai profile), if any.\n * @returns true when the adapter may probe its balance endpoint for the route.\n */\nexport function balanceAppliesToRoute(adapter: ProviderAdapter, baseURL: string | undefined): boolean {\n const expected = adapter.balance?.origin\n if (expected === undefined) return true\n const configured = originOf(baseURL)\n if (configured === undefined) return true\n return configured === expected\n}\n\n/**\n * Whether a provider route belongs to the official DeepSeek family: the only\n * family with a spend price book and a settings-section-owned env credential\n * (llm-deepseek) rather than a pi-ai profile. Drives the fold-time cost\n * stamping, the client fold-time spend estimate, and the whale-yuan bank.\n *\n * Family membership is wider than the probe directory. The account route\n * (deepseek-account) bills the same account but authenticates with the account\n * token, so it prices and mints while `adapterFor()` still returns undefined\n * for it and no probe or env-credential fallback can reach it. Every caller of\n * this predicate is an accounting decision; the credential and probing\n * decisions read `adapterFor()` instead, so the two never widen together\n * (issue #1772).\n */\nexport function isDeepSeekProviderRoute(provider: string): boolean {\n if (adapterFor(provider) === DEEPSEEK) return true\n return DEEPSEEK.familyOnlyIds?.includes(provider) === true\n}\n\n/**\n * Best-effort human message from a provider error body, for the per-provider\n * error line. Never throws; truncated to one short sentence.\n */\nexport function providerErrorMessage(status: number, body: unknown): string {\n let message: string | undefined\n if (typeof body === 'object' && body !== null) {\n const root = body as Record<string, unknown>\n const nested = typeof root.error === 'object' && root.error !== null ? (root.error as Record<string, unknown>) : undefined\n message = str(root.message) ?? str(root.msg) ?? (nested !== undefined ? str(nested.message) : undefined)\n }\n const detail = message === undefined ? '' : `: ${message.slice(0, 120)}`\n return `HTTP ${status}${detail}`\n}\n","/**\n * Chinese public-holiday dates, Beijing calendar days, as `YYYY-MM-DD`.\n *\n * The DeepSeek peak rule bills a public holiday off-peak in full, and the\n * State Council publishes these dates per year, so they cannot be derived\n * from a rule. This module is that data; `pricing.ts` keeps the arithmetic.\n *\n * Adjusted workdays are deliberately absent: the provider counts the\n * calendar day, so an adjusted Saturday or Sunday is off-peak exactly like\n * any other weekend and listing it would price it as peak.\n *\n * Source: the yearly schedules in bastengao/chinese-holidays-node\n * (`data/<year>.json`, MIT). Only the `holiday` entries are taken; that\n * package's runtime code (which fetches over the network) and its\n * dependencies are not vendored.\n *\n * Coverage ends at the newest year below. A year with no entry is priced as\n * if it had no holidays, which is the documented default of\n * {@link PublicHolidayCalendar} in `pricing.ts`.\n * @module @linxin666/dsh-usage/core/holidays\n */\n\n/** Public-holiday dates keyed by Beijing calendar year. */\nexport const CHINESE_PUBLIC_HOLIDAYS: Readonly<Record<string, readonly string[]>> = {\n \"2020\": [\n \"2020-01-24\",\n \"2020-01-25\",\n \"2020-01-26\",\n \"2020-01-27\",\n \"2020-01-28\",\n \"2020-01-29\",\n \"2020-01-30\",\n \"2020-04-04\",\n \"2020-04-05\",\n \"2020-04-06\",\n \"2020-05-01\",\n \"2020-05-02\",\n \"2020-05-03\",\n \"2020-05-04\",\n \"2020-05-05\",\n \"2020-06-25\",\n \"2020-06-26\",\n \"2020-06-27\",\n \"2020-10-01\",\n \"2020-10-02\",\n \"2020-10-03\",\n \"2020-10-04\",\n \"2020-10-05\",\n \"2020-10-06\",\n \"2020-10-07\",\n \"2020-10-08\"\n ],\n \"2021\": [\n \"2021-01-01\",\n \"2021-01-02\",\n \"2021-01-03\",\n \"2021-02-11\",\n \"2021-02-12\",\n \"2021-02-13\",\n \"2021-02-14\",\n \"2021-02-15\",\n \"2021-02-16\",\n \"2021-02-17\",\n \"2021-04-03\",\n \"2021-04-04\",\n \"2021-04-05\",\n \"2021-05-01\",\n \"2021-05-02\",\n \"2021-05-03\",\n \"2021-05-04\",\n \"2021-05-05\",\n \"2021-06-12\",\n \"2021-06-13\",\n \"2021-06-14\",\n \"2021-09-19\",\n \"2021-09-20\",\n \"2021-09-21\",\n \"2021-10-01\",\n \"2021-10-02\",\n \"2021-10-03\",\n \"2021-10-04\",\n \"2021-10-05\",\n \"2021-10-06\",\n \"2021-10-07\"\n ],\n \"2022\": [\n \"2022-01-01\",\n \"2022-01-02\",\n \"2022-01-03\",\n \"2022-01-31\",\n \"2022-02-01\",\n \"2022-02-02\",\n \"2022-02-03\",\n \"2022-02-04\",\n \"2022-02-05\",\n \"2022-02-06\",\n \"2022-04-03\",\n \"2022-04-04\",\n \"2022-04-05\",\n \"2022-04-30\",\n \"2022-05-01\",\n \"2022-05-02\",\n \"2022-05-03\",\n \"2022-05-04\",\n \"2022-06-03\",\n \"2022-06-04\",\n \"2022-06-05\",\n \"2022-09-10\",\n \"2022-09-11\",\n \"2022-09-12\",\n \"2022-10-01\",\n \"2022-10-02\",\n \"2022-10-03\",\n \"2022-10-04\",\n \"2022-10-05\",\n \"2022-10-06\",\n \"2022-10-07\"\n ],\n \"2023\": [\n \"2022-12-31\",\n \"2023-01-01\",\n \"2023-01-02\",\n \"2023-01-21\",\n \"2023-01-22\",\n \"2023-01-23\",\n \"2023-01-24\",\n \"2023-01-25\",\n \"2023-01-26\",\n \"2023-01-27\",\n \"2023-04-29\",\n \"2023-04-30\",\n \"2023-05-01\",\n \"2023-05-02\",\n \"2023-05-03\",\n \"2023-06-22\",\n \"2023-06-23\",\n \"2023-06-24\",\n \"2023-09-29\",\n \"2023-09-30\",\n \"2023-10-01\",\n \"2023-10-02\",\n \"2023-10-03\",\n \"2023-10-04\",\n \"2023-10-05\",\n \"2023-10-06\"\n ],\n \"2024\": [\n \"2023-12-30\",\n \"2023-12-31\",\n \"2024-01-01\",\n \"2024-02-10\",\n \"2024-02-11\",\n \"2024-02-12\",\n \"2024-02-13\",\n \"2024-02-14\",\n \"2024-02-15\",\n \"2024-02-16\",\n \"2024-02-17\",\n \"2024-04-04\",\n \"2024-04-05\",\n \"2024-04-06\",\n \"2024-05-01\",\n \"2024-05-02\",\n \"2024-05-03\",\n \"2024-05-04\",\n \"2024-05-05\",\n \"2024-06-08\",\n \"2024-06-09\",\n \"2024-06-10\",\n \"2024-09-15\",\n \"2024-09-16\",\n \"2024-09-17\",\n \"2024-10-01\",\n \"2024-10-02\",\n \"2024-10-03\",\n \"2024-10-04\",\n \"2024-10-05\",\n \"2024-10-06\",\n \"2024-10-07\"\n ],\n \"2025\": [\n \"2025-01-28\",\n \"2025-01-29\",\n \"2025-01-30\",\n \"2025-01-31\",\n \"2025-02-01\",\n \"2025-02-02\",\n \"2025-02-03\",\n \"2025-02-04\",\n \"2025-04-04\",\n \"2025-04-05\",\n \"2025-04-06\",\n \"2025-05-01\",\n \"2025-05-02\",\n \"2025-05-03\",\n \"2025-05-04\",\n \"2025-05-05\",\n \"2025-05-31\",\n \"2025-06-01\",\n \"2025-06-02\",\n \"2025-10-01\",\n \"2025-10-02\",\n \"2025-10-03\",\n \"2025-10-04\",\n \"2025-10-05\",\n \"2025-10-06\",\n \"2025-10-07\",\n \"2025-10-08\"\n ],\n \"2026\": [\n \"2026-01-01\",\n \"2026-01-02\",\n \"2026-01-03\",\n \"2026-02-15\",\n \"2026-02-16\",\n \"2026-02-17\",\n \"2026-02-18\",\n \"2026-02-19\",\n \"2026-02-20\",\n \"2026-02-21\",\n \"2026-02-22\",\n \"2026-02-23\",\n \"2026-04-04\",\n \"2026-04-05\",\n \"2026-04-06\",\n \"2026-05-01\",\n \"2026-05-02\",\n \"2026-05-03\",\n \"2026-05-04\",\n \"2026-05-05\",\n \"2026-06-19\",\n \"2026-06-20\",\n \"2026-06-21\",\n \"2026-09-25\",\n \"2026-09-26\",\n \"2026-09-27\",\n \"2026-10-01\",\n \"2026-10-02\",\n \"2026-10-03\",\n \"2026-10-04\",\n \"2026-10-05\",\n \"2026-10-06\",\n \"2026-10-07\"\n ]\n}\n\n/** The newest year this table covers; later years carry no entry. */\nexport const HOLIDAY_TABLE_LAST_YEAR = 2026\n","/**\n * DeepSeek official peak/off-peak pricing: the published price book plus the\n * peak-window clock, folded into a per-call spend estimate the ledger stamps\n * at fold time (the provider bills each request in the period the request ran\n * in, so pricing at the fold is the honest estimate).\n *\n * Policy (api-docs.deepseek.com pricing page): peak hours are Beijing time\n * Monday-Friday 09:00-12:00 and 14:00-18:00, excluding Chinese public\n * holidays; every other hour is off-peak and billed at half the peak price.\n * The published rule counts a calendar day, not the working schedule: a\n * Saturday or Sunday is off-peak in full even on an adjusted workday, and a\n * public holiday is off-peak in full even on a Monday-Friday. All prices\n * here are CNY per million tokens.\n *\n * Public-holiday dates are not derivable from the rule, so the rule takes them as\n * a `PublicHolidayCalendar`. The default is the published table in `./holidays.ts`,\n * covering 2020 through ${HOLIDAY_TABLE_LAST_YEAR}; a caller with newer dates\n * passes its own. A holiday weekday therefore prices off-peak, which is the half\n * of the published rule that is easy to get wrong.\n *\n * The published rows are `deepseek-flash` (DeepSeek-V4.1-Flash) and\n * `deepseek-v4-pro` (DeepSeek-V4-Pro-0813). The retired flash ids\n * (`deepseek-v4-flash`, `deepseek-v4-flash-vision-exp`) stay accepted and bill\n * at the flash row; DeepSeek routes `deepseek-v4-pro` to V4.1-Flash from the\n * retirement instant below until V4.1 Pro ships.\n * @module @linxin666/dsh-usage/core/pricing\n */\n\nimport type { UsageTokenTotals } from './types.ts'\nimport { CHINESE_PUBLIC_HOLIDAYS, HOLIDAY_TABLE_LAST_YEAR } from './holidays.ts'\n\n/** One peak window in minutes-of-day, Beijing time. */\ninterface PeakWindow {\n /** Inclusive start, minutes since midnight. */\n from: number\n /** Exclusive end, minutes since midnight. */\n to: number\n}\n\n/** The published peak windows: weekday 09:00-12:00 and 14:00-18:00. */\nconst PEAK_WINDOWS: readonly PeakWindow[] = [\n { from: 9 * 60, to: 12 * 60 },\n { from: 14 * 60, to: 18 * 60 },\n]\n\n/** Beijing is UTC+8 year-round (no DST), so a fixed shift is exact. */\nconst BEIJING_UTC_OFFSET_MS = 8 * 3_600_000\n\n/** One price row in CNY per million tokens, split by billing period. */\ninterface ModelPrice {\n /** Input served from the provider prompt cache. */\n cacheHit: { offPeak: number; peak: number }\n /** Uncached input (DeepSeek reports no separate cache-write class). */\n inputMiss: { offPeak: number; peak: number }\n /** Output; reasoning tokens bill as output. */\n output: { offPeak: number; peak: number }\n}\n\n/** deepseek-flash (DeepSeek-V4.1-Flash), including the retired flash-class ids it now serves. */\nconst FLASH_PRICE: ModelPrice = {\n cacheHit: { offPeak: 0.02, peak: 0.04 },\n inputMiss: { offPeak: 1.0, peak: 2.0 },\n output: { offPeak: 4.0, peak: 8.0 },\n}\n\n/** deepseek-v4-pro (DeepSeek-V4-Pro-0813); superseded by the flash row at the retirement instant. */\nconst PRO_PRICE: ModelPrice = {\n cacheHit: { offPeak: 0.15, peak: 0.3 },\n inputMiss: { offPeak: 4.5, peak: 9.0 },\n output: { offPeak: 13.5, peak: 27.0 },\n}\n\n/**\n * The instant DeepSeek starts serving `deepseek-v4-pro` requests from\n * V4.1-Flash and billing the flash row: 2026-09-14 12:00 Beijing (UTC+8).\n * Drop the pro row's time fence once V4.1 Pro ships with a published row.\n */\nconst V4_PRO_FOLDED_INTO_FLASH_AT_MS = Date.UTC(2026, 8, 14, 4, 0)\n\nfunction withinWindow(minuteOfDay: number): PeakWindow | undefined {\n return PEAK_WINDOWS.find((window) => minuteOfDay >= window.from && minuteOfDay < window.to)\n}\n\n/**\n * Supplies the Chinese public-holiday dates the peak rule excludes. The dates\n * are not derivable from any rule (the State Council publishes them per year),\n * so this repository ships no table of its own: the default calendar is empty,\n * and a caller that has real dates passes them in. A date is compared as a\n * Beijing-time `YYYY-MM-DD` string, which is the granularity the published\n * rule needs (a holiday is off-peak for the whole day, so times never matter).\n */\nexport interface PublicHolidayCalendar {\n /** True when the Beijing-time calendar day `date` is a Chinese public holiday. */\n isPublicHoliday(date: string): boolean\n}\n\n/**\n * The default calendar: the published Chinese public-holiday table, so a holiday\n * weekday prices off-peak instead of over-reporting at the peak rate. A year the\n * table does not cover holds no dates and falls back to peak on weekdays, which\n * is the safe direction to be wrong in: the estimate reads high rather than low.\n */\nexport const CN_PUBLIC_HOLIDAYS: PublicHolidayCalendar = {\n isPublicHoliday: (date) => {\n const year = date.slice(0, 4)\n if (Number(year) > HOLIDAY_TABLE_LAST_YEAR) return false\n return CHINESE_PUBLIC_HOLIDAYS[year]?.includes(date) ?? false\n },\n}\n\n/** The Beijing-time `YYYY-MM-DD` calendar day of `ms` (UTC+8 has no DST, so the shift is exact). */\nfunction beijingDate(ms: number): string {\n const shifted = new Date(ms + BEIJING_UTC_OFFSET_MS)\n const month = `${shifted.getUTCMonth() + 1}`.padStart(2, '0')\n const day = `${shifted.getUTCDate()}`.padStart(2, '0')\n return `${shifted.getUTCFullYear()}-${month}-${day}`\n}\n\n/**\n * Whether `ms` falls on a peak-eligible Beijing day: Monday-Friday that is\n * not a public holiday. A Saturday or Sunday is never eligible, including on\n * an adjusted workday — the provider counts the calendar day, not the\n * working schedule.\n */\nfunction isPeakDay(ms: number, calendar: PublicHolidayCalendar): boolean {\n const shifted = new Date(ms + BEIJING_UTC_OFFSET_MS)\n const weekday = shifted.getUTCDay()\n if (weekday < 1 || weekday > 5) return false\n return !calendar.isPublicHoliday(beijingDate(ms))\n}\n\n/**\n * The DeepSeek billing period at `ms`, plus when it next flips. The clock is\n * Beijing time regardless of the host timezone (UTC+8 has no DST, so a fixed\n * shift is exact). `boundaryMs` is the instant the current period ends — the\n * window's close while peaking, the next window's open otherwise.\n */\nexport function deepseekPeriodAt(ms: number, calendar: PublicHolidayCalendar = CN_PUBLIC_HOLIDAYS): { peak: boolean; boundaryMs: number } {\n const shifted = new Date(ms + BEIJING_UTC_OFFSET_MS)\n const minuteOfDay = shifted.getUTCHours() * 60 + shifted.getUTCMinutes()\n const current = isPeakDay(ms, calendar) ? withinWindow(minuteOfDay) : undefined\n if (current !== undefined) {\n return { peak: true, boundaryMs: ms + (current.to - minuteOfDay) * 60_000 - shifted.getUTCSeconds() * 1000 - shifted.getUTCMilliseconds() }\n }\n // Next window start: later today (on a peak-eligible day), else the first\n // peak-eligible day's morning window; the scan bound makes a malformed clock\n // terminate.\n for (let dayOffset = 0; dayOffset < 8; dayOffset += 1) {\n const dayStartMs = ms + dayOffset * 86_400_000\n if (!isPeakDay(dayStartMs, calendar)) continue\n const day = new Date(dayStartMs + BEIJING_UTC_OFFSET_MS)\n const realDayStart = Date.UTC(day.getUTCFullYear(), day.getUTCMonth(), day.getUTCDate()) - BEIJING_UTC_OFFSET_MS\n for (const window of PEAK_WINDOWS) {\n if (dayOffset === 0 && window.from <= minuteOfDay) continue\n return { peak: false, boundaryMs: realDayStart + window.from * 60_000 }\n }\n }\n // Unreachable (the scan covers a full week of peak-eligible days); a\n // conservative off-peak answer.\n return { peak: false, boundaryMs: ms + 86_400_000 }\n}\n\n/** The price row for a model id at `atMs`; unknown ids take the flash-class row (documented estimate). */\nfunction priceFor(model: string, atMs: number): ModelPrice {\n const proPriced = model.includes('v4-pro') && atMs < V4_PRO_FOLDED_INTO_FLASH_AT_MS\n return proPriced ? PRO_PRICE : FLASH_PRICE\n}\n\n/**\n * Estimate one call's DeepSeek spend in CNY from its token totals, priced in\n * the billing period at `atMs`. Uncatalogued model ids take the flash-class\n * row; ids from other providers never reach this function (the service gates\n * by route family). Rounded to micro-CNY so the ledger stays readable.\n */\nexport function deepseekModelSpend(model: string, totals: Readonly<UsageTokenTotals>, atMs: number, calendar: PublicHolidayCalendar = CN_PUBLIC_HOLIDAYS): number {\n const price = priceFor(model, atMs)\n const period = deepseekPeriodAt(atMs, calendar)\n const column = period.peak ? 'peak' : 'offPeak'\n const spend = (totals.cacheReadTokens * price.cacheHit[column]\n + (totals.inputTokens + totals.cacheWriteTokens) * price.inputMiss[column]\n + totals.outputTokens * price.output[column]) / 1_000_000\n return Math.round(spend * 1e6) / 1e6\n}","/**\n * The usage ledger: a pure fold from session usage facts into a per-day,\n * per-provider, per-model totals document, plus its JSON serialization.\n * Host-side state lives only in the document; the service owns persistence.\n * @module @linxin666/dsh-usage/core/ledger\n */\n\nimport { addTotals, emptyTotals, type UsageLedgerDocument, type UsageProviderSummary, type UsageTokenTotals } from './types.ts'\n\n/** Local-date key (`YYYY-MM-DD`) for an epoch ms timestamp. */\nexport function localDateKey(ms: number): string {\n const date = new Date(ms)\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n return `${date.getFullYear()}-${month}-${day}`\n}\n\n/**\n * Whether `key` is a real local-date key (`YYYY-MM-DD`). The shape check is\n * round-tripped: an impossible date (9999-99-99) parses to NaN and a rollover\n * (2026-02-30) lands on another day, so both would otherwise fold into a bogus,\n * never-pruned bucket. Shared by the persisted-document reader and the day\n * route's query gate.\n */\nexport function isLedgerDateKey(key: string): boolean {\n if (!/^\\d{4}-\\d{2}-\\d{2}$/.test(key)) return false\n const atMs = new Date(key + 'T12:00:00').getTime()\n return Number.isFinite(atMs) && localDateKey(atMs) === key\n}\n\n/** An empty ledger document. */\nexport function createLedgerDocument(): UsageLedgerDocument {\n return { version: 1, days: {} }\n}\n\n/**\n * Bucket keys come from untrusted directions (persisted JSON, provider and\n * model ids out of session events), so they must never collide with\n * `Object.prototype` plumbing: assigning `day['__proto__']` or reading\n * `day['constructor']` would pollute every object in the host process.\n */\nfunction isSafeBucketKey(key: string): boolean {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype'\n}\n\n/**\n * Fold one usage report into the ledger in place. `provider` is the route key\n * and `model` the provider-owned model id the step ran under. Reports keyed\n * by prototype-plumbing names are dropped.\n */\nexport function foldUsage(\n doc: UsageLedgerDocument,\n atMs: number,\n provider: string,\n model: string,\n usage: Readonly<UsageTokenTotals>,\n): void {\n if (!isSafeBucketKey(provider) || !isSafeBucketKey(model)) return\n if (usage.calls <= 0 && usage.inputTokens + usage.outputTokens + usage.cacheReadTokens + usage.cacheWriteTokens <= 0) return\n const dayKey = localDateKey(atMs)\n const day = doc.days[dayKey] ?? {}\n const models = day[provider] ?? {}\n const totals = models[model] ?? emptyTotals()\n addTotals(totals, usage)\n models[model] = totals\n day[provider] = models\n doc.days[dayKey] = day\n}\n\n/** Total tokens of a bucket (billed input + output; reasoning is inside output). */\nexport function totalTokens(totals: Readonly<UsageTokenTotals>): number {\n return totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens + totals.outputTokens\n}\n\n/** How many model rows one summarized provider keeps. */\nexport const SUMMARY_MODEL_CAP = 12\n\n/**\n * Aggregate whole per-day maps (each `provider -> model -> totals`) into the\n * per-provider/per-model summary the overview serves for one day or a range:\n * disjoint bucket sums per provider, per-model rows heaviest first, and the\n * grand total. Pure: reads its inputs, allocates fresh buckets.\n */\nexport function summarizeDays(days: ReadonlyArray<Record<string, Record<string, UsageTokenTotals>>>): {\n totals: UsageTokenTotals\n providers: UsageProviderSummary[]\n} {\n const merged = new Map<string, Map<string, UsageTokenTotals>>()\n for (const day of days) {\n for (const [provider, models] of Object.entries(day)) {\n if (!isSafeBucketKey(provider) || typeof models !== 'object' || models === null) continue\n let modelMap = merged.get(provider)\n if (modelMap === undefined) {\n modelMap = new Map()\n merged.set(provider, modelMap)\n }\n for (const [model, totals] of Object.entries(models)) {\n if (typeof totals !== 'object' || totals === null) continue\n const bucket = modelMap.get(model) ?? emptyTotals()\n addTotals(bucket, totals)\n modelMap.set(model, bucket)\n }\n }\n }\n const providers: UsageProviderSummary[] = []\n const totals = emptyTotals()\n for (const [provider, modelMap] of merged) {\n const providerTotals = emptyTotals()\n const modelRows = [...modelMap].map(([model, modelTotals]) => ({ model, totals: modelTotals }))\n for (const row of modelRows) addTotals(providerTotals, row.totals)\n modelRows.sort((a, b) => totalTokens(b.totals) - totalTokens(a.totals))\n providers.push({ provider, totals: providerTotals, models: modelRows.slice(0, SUMMARY_MODEL_CAP) })\n }\n providers.sort((a, b) => totalTokens(b.totals) - totalTokens(a.totals))\n for (const row of providers) addTotals(totals, row.totals)\n return { totals, providers }\n}\n\n/** All local-date keys in the ledger, ascending. */\nexport function ledgerDayKeys(doc: Readonly<UsageLedgerDocument>): string[] {\n return Object.keys(doc.days).sort()\n}\n\n/**\n * Drop every day older than `retainDays` local days before `todayKey`, in\n * place. Returns the number of pruned days.\n */\nexport function pruneLedger(doc: UsageLedgerDocument, todayKey: string, retainDays: number): number {\n const cutoff = new Date(todayKey + 'T00:00:00')\n cutoff.setDate(cutoff.getDate() - retainDays)\n const cutoffKey = localDateKey(cutoff.getTime())\n let pruned = 0\n for (const key of Object.keys(doc.days)) {\n if (key < cutoffKey) {\n delete doc.days[key]\n pruned += 1\n }\n }\n return pruned\n}\n\nfunction reviveTotals(value: unknown): UsageTokenTotals | undefined {\n if (typeof value !== 'object' || value === null) return undefined\n const source = value as Record<string, unknown>\n const num = (key: string): number => typeof source[key] === 'number' && Number.isFinite(source[key]) ? source[key] : 0\n return {\n inputTokens: num('inputTokens'),\n outputTokens: num('outputTokens'),\n cacheReadTokens: num('cacheReadTokens'),\n cacheWriteTokens: num('cacheWriteTokens'),\n reasoningTokens: num('reasoningTokens'),\n calls: num('calls'),\n cost: num('cost'),\n }\n}\n\n/**\n * Parse a ledger document from untrusted JSON: unknown shapes resolve to an\n * empty document, malformed entries are dropped, numbers are coerced to\n * finite values. Never throws.\n */\nexport function deserializeLedger(value: unknown): UsageLedgerDocument {\n const doc = createLedgerDocument()\n if (typeof value !== 'object' || value === null) return doc\n const days = (value as Record<string, unknown>).days\n if (typeof days !== 'object' || days === null) return doc\n for (const [dateKey, providers] of Object.entries(days as Record<string, unknown>)) {\n if (!isLedgerDateKey(dateKey) || typeof providers !== 'object' || providers === null) continue\n const atMs = new Date(dateKey + 'T12:00:00').getTime()\n for (const [provider, models] of Object.entries(providers as Record<string, unknown>)) {\n if (typeof models !== 'object' || models === null) continue\n for (const [model, totals] of Object.entries(models as Record<string, unknown>)) {\n const revived = reviveTotals(totals)\n if (revived !== undefined) foldUsage(doc, atMs, provider, model, revived)\n }\n }\n }\n return doc\n}\n","/**\n * Generated asset: the Jingyuan note artwork as a JPEG data URL, inlined so\n * the client bundle needs no binary-asset pipeline. Source of truth:\n * assets/jingyuan-note.jpg (1400x714, q80). Regenerate with:\n * base64 -i assets/jingyuan-note.jpg | tr -d '\\\\n'\n * Do not edit by hand.\n * @module @linxin666/dsh-usage/client/voucher-art\n */\n\nexport const VOUCHER_ART_DATA_URL = \"data:image/jpeg;base64,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\"\n","/**\n * The Whale-yuan voucher (鲸元券): the profile's retained ledger totals\n * stamped onto the banknote artwork as a denomination, ready\n * to save or share. The canvas copy is deliberately locale-neutral (digits,\n * latin captions, ISO dates) so the exported image needs no dictionary;\n * everything user-facing around it lives in the section's locales. The pure\n * helpers are unit-tested; the draw itself degrades to a thrown error the\n * section renders as its failure line.\n * @module @linxin666/dsh-usage/client/voucher\n */\n\nimport { isDeepSeekProviderRoute } from '../core/adapters.ts'\nimport { totalTokens } from '../core/ledger.ts'\nimport type { UsageWindowSummary } from '../core/types.ts'\nimport { VOUCHER_ART_DATA_URL } from './voucher-art.generated.ts'\n\n/** The facts stamped onto one voucher. */\nexport interface VoucherData {\n /** Every provider's total tokens over the retained window. */\n tokens: number\n /** Provider calls that reported usage, summed across every provider. */\n calls: number\n /** Fold-time spend estimate in CNY; only the priced (official DeepSeek) family contributes. */\n cost: number\n /** Retained window bounds (local date keys, inclusive). */\n from: string\n to: string\n}\n\n/** Anti-inflation exchange rate: 1,000,000 tokens mint one whale yuan. */\nexport const TOKENS_PER_WHALE_YUAN = 1_000_000\n\n/** The note's face value in whale yuan; the smallest denomination is 1. */\nexport function faceValue(tokens: number): number {\n return Math.max(1, Math.round(tokens / TOKENS_PER_WHALE_YUAN))\n}\n\n/** Local calendar day (`YYYY-MM-DD`) for an epoch ms timestamp. */\nexport function formatDay(ms: number): string {\n const date = new Date(ms)\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n return `${date.getFullYear()}-${month}-${day}`\n}\n\n/**\n * Sum every provider's rows out of a usage window: the note is a\n * proof-of-spend for what the profile actually used, so the tokens and calls\n * of every route in the ledger mint — the DeepSeek official family (the\n * `deepseek` catalog alias, the live `deepseek-official` route and the\n * signed-in `deepseek-account` route) beside every subscription and relay\n * route. Undefined when the window is absent (older host) or nothing was used\n * — a zero-token note mints nothing.\n *\n * Minting is an accounting decision over ledger rows, so it reads no adapter:\n * widening it must never widen the credential or balance-probe paths, which\n * keep reading `adapterFor()` (the split `isDeepSeekProviderRoute()` also\n * keeps, issue #1772).\n *\n * Only the priced family contributes `cost`: subscription and relay routes\n * ship no price book, so they mint tokens and calls while the spend line keeps\n * reporting the official family's fold-time estimate (and the observed-balance\n * watch above it).\n */\nexport function voucherData(window: UsageWindowSummary | undefined): VoucherData | undefined {\n if (window === undefined) return undefined\n let tokens = 0\n let calls = 0\n let cost = 0\n for (const row of window.providers) {\n tokens += totalTokens(row.totals)\n calls += row.totals.calls\n if (isDeepSeekProviderRoute(row.provider)) cost += row.totals.cost\n }\n if (tokens <= 0) return undefined\n return { tokens, calls, cost, from: window.from, to: window.to }\n}\n\n/** Banknote denomination: full digits with thousands separators. */\nexport function formatDenomination(value: number): string {\n return Math.max(0, Math.round(value)).toLocaleString('en-US')\n}\n\n/** Deterministic serial number flavor: the face value mod 1e9, zero-padded. */\nexport function voucherSerial(face: number): string {\n return String(Math.max(0, Math.round(face)) % 1_000_000_000).padStart(9, '0')\n}\n\n/** The decoded note artwork plus its intrinsic size. */\nexport interface VoucherArt {\n image: CanvasImageSource\n width: number\n height: number\n}\n\nlet artPromise: Promise<VoucherArt> | undefined\n\n/** Decode the note artwork once per page; a failed decode retries next call. */\nexport function loadVoucherArt(): Promise<VoucherArt> {\n artPromise ??= new Promise<VoucherArt>((resolve, reject) => {\n const image = new Image()\n image.onload = () => resolve({ image, width: image.naturalWidth, height: image.naturalHeight })\n image.onerror = () => {\n artPromise = undefined\n reject(new Error('voucher art decode failed'))\n }\n image.src = VOUCHER_ART_DATA_URL\n })\n return artPromise\n}\n\n/** Ink and seal-red the note's engraving palette, sampled off the artwork. */\nconst INK = '#2b2f38'\nconst SEAL_RED = '#9a3b2c'\nconst DENOMINATION_FONT = \"Georgia, 'Times New Roman', serif\"\n\n/**\n * Stamp the denomination block onto a canvas sized to the artwork: the\n * minted whale yuan as the face value under the note title, a small\n * `whale yuan` caption, and a seal-red serial line with the minting\n * window. All geometry is relative to the artwork size so a regenerated\n * asset reflows.\n */\nexport function drawVoucher(canvas: HTMLCanvasElement, art: VoucherArt, data: VoucherData): void {\n canvas.width = art.width\n canvas.height = art.height\n const ctx = canvas.getContext('2d')\n if (ctx === null) throw new Error('canvas 2d context unavailable')\n ctx.drawImage(art.image, 0, 0, art.width, art.height)\n\n const face = faceValue(data.tokens)\n const centerX = Math.round(art.width * 0.67)\n const denomination = formatDenomination(face)\n\n // Fit the face value into the free band between the note title and the\n // bottom ornament (the red seal sits to its right).\n let size = Math.round(art.height * 0.115)\n const minSize = Math.round(art.height * 0.055)\n const maxWidth = art.width * 0.28\n ctx.textAlign = 'center'\n ctx.textBaseline = 'alphabetic'\n while (size > minSize) {\n ctx.font = `700 ${size}px ${DENOMINATION_FONT}`\n if (ctx.measureText(denomination).width <= maxWidth) break\n size -= 2\n }\n ctx.fillStyle = INK\n ctx.fillText(denomination, centerX, Math.round(art.height * 0.75))\n\n ctx.font = `600 ${Math.round(art.height * 0.032)}px ${DENOMINATION_FONT}`\n ctx.fillText('whale yuan', centerX, Math.round(art.height * 0.8))\n\n ctx.fillStyle = SEAL_RED\n ctx.font = `500 ${Math.round(art.height * 0.026)}px ${DENOMINATION_FONT}`\n ctx.fillText(`NO.${voucherSerial(face)} ${data.from} - ${data.to}`, centerX, Math.round(art.height * 0.845))\n}\n","/**\n * Spend display: the ledger keeps every cost estimate in the priced provider's\n * billing currency (CNY), and that stored value never moves. This module turns\n * one CNY figure into the currency the user chose to READ it in, so switching\n * the display is a rendering decision, not a data migration (issue #1937).\n * @module @linxin666/dsh-usage/core/spend\n */\n\n/** A currency the spend display can render. */\nexport type SpendCurrency = 'CNY' | 'USD'\n\n/** How to read a stored CNY cost. */\nexport interface SpendDisplay {\n /** The currency to render in. */\n currency: SpendCurrency\n /** CNY per USD; consulted only when the display currency is USD. */\n cnyPerUsd: number\n}\n\n/**\n * The rate used when the row configures none: a plain default, so an\n * unconfigured display still has a defined美元 figure instead of a blank card.\n * The plugin never fetches a live rate (its host routes are loopback-fenced and\n * its browser half has no network), so there is no fetch that could fail and\n * leave the card empty.\n */\nexport const DEFAULT_CNY_PER_USD = 7.2\n\n/** The display used when the row carries no setting: the historical CNY rendering. */\nexport const DEFAULT_SPEND_DISPLAY: SpendDisplay = { currency: 'CNY', cnyPerUsd: DEFAULT_CNY_PER_USD }\n\n/**\n * Normalize a configured display.\n * An unknown currency reads as CNY, and a rate that is not a positive finite\n * number falls back to the default rate — the display must never be able to\n * blank the card.\n * @param input - the configured currency and rate, if any.\n * @returns a display that can always render.\n */\nexport function resolveSpendDisplay(input?: { currency?: unknown; cnyPerUsd?: unknown }): SpendDisplay {\n const currency: SpendCurrency = input?.currency === 'USD' ? 'USD' : 'CNY'\n const rate = typeof input?.cnyPerUsd === 'number' && Number.isFinite(input.cnyPerUsd) && input.cnyPerUsd > 0\n ? input.cnyPerUsd\n : DEFAULT_CNY_PER_USD\n return { currency, cnyPerUsd: rate }\n}\n\n/**\n * Render one stored CNY cost in the display currency.\n * A non-finite or negative cost renders as zero rather than as `NaN`/`¥-0.10`.\n * @param costCny - the stored cost in CNY.\n * @param display - the display to render in; defaults to CNY.\n * @returns the formatted amount with its currency symbol.\n */\nexport function formatSpend(costCny: number, display: SpendDisplay = DEFAULT_SPEND_DISPLAY): string {\n const safe = Number.isFinite(costCny) && costCny > 0 ? costCny : 0\n if (display.currency === 'USD') {\n const rate = Number.isFinite(display.cnyPerUsd) && display.cnyPerUsd > 0 ? display.cnyPerUsd : DEFAULT_CNY_PER_USD\n return '$' + (safe / rate).toFixed(2)\n }\n return '¥' + safe.toFixed(2)\n}\n","/**\n * The usage statistics settings section: three tabs (用量: today's usage,\n * balances, trend; 个人套餐: per-provider plan quota windows; Token 银行:\n * the whale-yuan voucher minted from every provider's ledger usage)\n * plus a compact settings row. Data comes from the host's loopback-fenced\n * /api/dsh-usage/overview document; polling runs only while the section is\n * mounted and the tab is visible.\n * @module @linxin666/dsh-usage/client/UsageSectionCard\n */\n\nimport { useEffect, useRef, useState, useSyncExternalStore, type ReactNode } from 'react'\nimport type { ConfigForm, ConfigFormSnapshot } from '@deepseek-ai/dsh-client-ui-settings/client'\nimport type { UsageStoreInstance } from './usage-store.ts'\nimport { t } from './locales.ts'\nimport styles from './usage.module.css'\nimport { PeakBadge } from './PeakBadge.tsx'\nimport { isDeepSeekProviderRoute } from '../core/adapters.ts'\nimport { deepseekPeriodAt } from '../core/pricing.ts'\nimport { voucherData, drawVoucher, faceValue, formatDay, formatDenomination, loadVoucherArt } from './voucher.ts'\nimport type { ObservedSpendView, ProviderSnapshotView, UsageDayView, UsageOverviewView, UsageProviderSummary, UsageTokenTotals, UsageWindowSummary } from '../core/types.ts'\nimport { formatSpend, type SpendDisplay } from '../core/spend.ts'\n\n/** The settings fields this section edits (immediate-apply semantics). */\nexport interface UsageSettings {\n enabled?: boolean\n pollIntervalSec?: number\n /** Currency the spend figures are displayed in; the ledger stays CNY. */\n spendCurrency?: 'CNY' | 'USD'\n /** CNY per USD, consulted only while the display currency is USD. */\n cnyPerUsd?: number\n}\n\n/** The registration-side face the section's slot entry injects. */\nexport interface UsageSectionFace {\n /** The section-local store (overview snapshot + lifecycle). */\n store: UsageStoreInstance\n /** Fetch one overview now. */\n poll: () => void\n /** Force a host probe cycle now (resolves with the fresh overview). */\n refresh: () => void\n /**\n * Fetch one retained local day (YYYY-MM-DD) from the host. The overview\n * only carries today plus the list of recorded days, so a day the user picks\n * is one small on-demand request.\n */\n loadDay: (date: string) => Promise<UsageDayView>\n /** The shared configuration form this section's settings row reads and writes. */\n settings: ConfigForm<UsageSettings>\n}\n\nexport interface UsageSectionProps extends UsageSectionFace {\n /** Close the settings panel (the shell owns the open state). */\n close: () => void\n}\n\n/** Poll cadence while the section is open. */\nconst SECTION_POLL_MS = 10_000\n\n/**\n * The Token bank's default window: the whole retained ledger. It is a select\n * value rather than a date, so it can never collide with a day key.\n */\nconst BANK_ALL_DAYS = 'all'\n\n/** Compact token count: 12345 -> 12.3k, 1234567 -> 1.23M. */\nexport function formatTokens(value: number): string {\n if (!Number.isFinite(value) || value <= 0) return '0'\n if (value < 1000) return String(value)\n if (value < 1_000_000) return trim(value / 1000) + 'k'\n if (value < 1_000_000_000) return trim(value / 1_000_000) + 'M'\n return trim(value / 1_000_000_000) + 'B'\n}\n\nfunction trim(value: number): string {\n return value >= 100 ? String(Math.round(value)) : value.toFixed(value >= 10 ? 1 : 2).replace(/\\.?0+$/, '')\n}\n\nfunction formatTime(ms: number): string {\n try {\n return new Date(ms).toLocaleTimeString()\n } catch {\n return ''\n }\n}\n\nfunction toneClass(percent: number): string {\n if (percent >= 90) return styles.barLow\n if (percent >= 70) return styles.barWarn\n return styles.barFill\n}\n\n/** A provider row backed by a configured credential (api key, env key, or OAuth grant). */\nfunction isConfigured(provider: ProviderSnapshotView): boolean {\n // An older wire document without the credential field renders as before.\n return provider.credential !== 'none'\n}\n\nfunction TotalsRow(props: { totals: UsageTokenTotals }): ReactNode {\n const { totals } = props\n return (\n <div className={styles.statRow}>\n <div className={styles.stat}>\n <span className={styles.statValue}>{formatTokens(totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens + totals.outputTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.total')}</span>\n </div>\n <div className={styles.stat}>\n <span className={styles.statValue}>{formatTokens(totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.input')}</span>\n </div>\n <div className={styles.stat}>\n <span className={styles.statValue}>{formatTokens(totals.outputTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.output')}</span>\n </div>\n <div className={styles.stat}>\n <span className={styles.statValue}>{formatTokens(totals.cacheReadTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.cacheRead')}</span>\n </div>\n <div className={styles.stat}>\n <span className={styles.statValue}>{formatTokens(totals.cacheWriteTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.cacheWrite')}</span>\n </div>\n <div className={styles.stat}>\n <span className={styles.statValue}>{formatTokens(totals.calls)}</span>\n <span className={styles.statLabel}>{t('usage.calls', { n: totals.calls })}</span>\n </div>\n </div>\n )\n}\n\nfunction balanceLine(provider: ProviderSnapshotView): ReactNode {\n if (provider.balance !== undefined) {\n return <span className={styles.providerBalance}>{provider.balance.currency.toUpperCase() === 'CNY' ? '¥' : provider.balance.currency.toUpperCase() === 'USD' ? '$' : ''}{provider.balance.totalBalance}{provider.balance.currency.toUpperCase() !== 'CNY' && provider.balance.currency.toUpperCase() !== 'USD' ? ' ' + provider.balance.currency.toUpperCase() : ''}</span>\n }\n if (provider.credential === 'oauth') return <span className={styles.muted}>{t('usage.oauth')}</span>\n if (provider.credential === 'none') return <span className={styles.muted}>{t('usage.balance.noCredential')}</span>\n // balanceSupported === false is the origin gate: the adapter has a balance\n // endpoint but it belongs to another provider's account (issue #1688), so\n // the row says so instead of silently vanishing from the card.\n if (provider.balanceSupported === false) return <span className={styles.muted}>{t('usage.balance.unsupported')}</span>\n if (!provider.supported) return <span className={styles.muted}>{t('usage.balance.unsupported')}</span>\n return null\n}\n\nfunction ProviderRow(props: { provider: ProviderSnapshotView; current?: string }): ReactNode {\n const { provider, current } = props\n return (\n <div className={styles.providerRow} data-dsh-part=\"provider-row\">\n <span className={styles.providerName}>\n {provider.displayName}\n {current === provider.provider && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n </span>\n <span className={styles.providerTokens}>{balanceLine(provider)}</span>\n </div>\n )\n}\n\n/** One day the pickers selected, as its fetch progresses. */\ninterface DayLoad {\n status: 'loading' | 'ready' | 'error'\n /** The served day, once the host answered. */\n view?: UsageDayView\n /** Transport error message, on a failed load. */\n error?: string\n}\n\n/**\n * Fetch the day a picker selected, or stay idle for the default window. Today\n * never fetches: the overview already carries it live, so switching back to\n * today is instant and keeps counting with the poll. A superseded selection\n * never lands (the effect cancels), and a failed load reports its own message\n * instead of leaving the card on a stale day.\n */\nfunction useDayView(loadDay: (date: string) => Promise<UsageDayView>, date: string | undefined, today: string | undefined): DayLoad | undefined {\n const [load, setLoad] = useState<DayLoad | undefined>(undefined)\n useEffect(() => {\n if (date === undefined || date === today) {\n setLoad((previous) => (previous === undefined ? previous : undefined))\n return undefined\n }\n let cancelled = false\n setLoad({ status: 'loading' })\n loadDay(date).then(\n (view) => { if (!cancelled) setLoad({ status: 'ready', view }) },\n (error: unknown) => { if (!cancelled) setLoad({ status: 'error', error: error instanceof Error ? error.message : String(error) }) },\n )\n return () => { cancelled = true }\n }, [date, today, loadDay])\n return load\n}\n\n/**\n * The day picker: today plus every retained day that recorded usage, newest\n * first (the host serves the list ascending). Without that list (an older host\n * document) no picker renders and the card stays on its default window.\n */\nfunction DayPicker(props: {\n value: string\n options: string[]\n today: string\n /** An extra leading option; the Token bank passes its whole-ledger window. */\n leading?: { value: string; label: string }\n onSelect: (date: string) => void\n /** Namespaces the element id, so the two tabs keep one control each. */\n part: string\n}): ReactNode {\n const { value, options, today, leading, onSelect, part } = props\n if (options.length === 0) return null\n return (\n <div className={styles.dayPicker}>\n <label className={styles.dayPickerLabel} htmlFor={'dsh-usage-day-' + part}>{t('usage.day.label')}</label>\n <select\n id={'dsh-usage-day-' + part}\n className={styles.daySelect}\n value={value}\n onChange={(event) => { onSelect(event.target.value) }}\n >\n {leading !== undefined && <option value={leading.value}>{leading.label}</option>}\n {options.map((date) => (\n <option key={date} value={date}>{date === today ? t('usage.day.today') : date}</option>\n ))}\n </select>\n </div>\n )\n}\n\n/** The section component; the slot merges the face into these props. */\nexport function UsageSectionCard(props: UsageSectionProps): ReactNode {\n const { store, poll, refresh, loadDay, settings } = props\n const ui = useSyncExternalStore(store.subscribe, store.getSnapshot)\n const settingsSnapshot = settings.getSnapshot()\n const settingsValue = settingsSnapshot.value ?? {}\n const [tab, setTab] = useState<'usage' | 'plans' | 'bank'>('usage')\n // Undefined means \"the default window of this tab\": today on the usage tab,\n // the whole retained ledger in the Token bank. A date switches that tab to\n // one retained day instead.\n const [usageDay, setUsageDay] = useState<string | undefined>(undefined)\n const [bankDay, setBankDay] = useState<string | undefined>(undefined)\n const [refreshing, setRefreshing] = useState(false)\n // The enable checkbox writes through the shared form, so subscribing here\n // keeps the flag below live: the form republishes the Host's accepted value,\n // and the poll starts and stops with it instead of waiting for an unrelated\n // render.\n const [, bumpSettings] = useState(0)\n useEffect(() => settings.subscribe(() => bumpSettings((count) => count + 1)), [settings])\n const enabled = settingsValue.enabled ?? true\n\n // Poll while mounted, enabled and visible; the overview is cheap (no probes —\n // the host's own cycle owns those) so 10 s keeps balances fresh-ish between\n // manual refreshes.\n useEffect(() => {\n // A disabled plugin deregisters its host routes, so the poll must stop with\n // it; the section re-enables by writing the flag back through the checkbox.\n if (!enabled) return undefined\n poll()\n let timer: number | undefined\n const start = (): void => {\n if (timer === undefined && document.visibilityState === 'visible') timer = window.setInterval(poll, SECTION_POLL_MS)\n }\n const onVisibility = (): void => {\n if (document.visibilityState === 'visible') {\n poll()\n start()\n } else if (timer !== undefined) {\n window.clearInterval(timer)\n timer = undefined\n }\n }\n start()\n document.addEventListener('visibilitychange', onVisibility)\n return () => {\n if (timer !== undefined) window.clearInterval(timer)\n document.removeEventListener('visibilitychange', onVisibility)\n }\n }, [poll, enabled])\n\n const snapshot = ui.snapshot\n const todayDate = snapshot?.usage.today.date\n // Every retained day that recorded usage, newest first, plus today so the\n // default window is always one of the options even before it has usage.\n const dayOptions = snapshot === null\n ? []\n : [...new Set([todayDate, ...(snapshot.usage.availableDays ?? [])]\n .filter((date): date is string => date !== undefined))].sort().reverse()\n // A selection retention no longer holds falls back to the tab's default\n // window, so a picker can never keep displaying a day the host dropped.\n const usageSelection = usageDay !== undefined && dayOptions.includes(usageDay) ? usageDay : undefined\n const bankSelection = bankDay !== undefined && dayOptions.includes(bankDay) ? bankDay : undefined\n const selectedDay = usageSelection ?? todayDate\n const isToday = selectedDay === todayDate\n const usageDayLoad = useDayView(loadDay, usageSelection, todayDate)\n const bankDayLoad = useDayView(loadDay, bankSelection, todayDate)\n // A selected day rides its own fetch; the default windows ride the overview.\n const day = isToday ? snapshot?.usage.today : usageDayLoad?.view\n const bankDayView = bankSelection === undefined\n ? undefined\n : bankSelection === todayDate ? snapshot?.usage.today : bankDayLoad?.view\n const bankWindow = bankSelection === undefined\n ? snapshot?.usage.all ?? snapshot?.usage.range\n : bankDayView === undefined\n ? undefined\n : { from: bankDayView.date, to: bankDayView.date, totals: bankDayView.totals, providers: bankDayView.providers }\n\n const onRefresh = (): void => {\n setRefreshing(true)\n try {\n refresh()\n } finally {\n // The POST resolves through the next poll tick; unlock shortly either way.\n window.setTimeout(() => setRefreshing(false), 3000)\n }\n }\n\n // Disabled, failed and still-loading states keep the settings row mounted:\n // it owns the enable checkbox, so replacing the whole panel would leave the\n // user no way back from the UI.\n if (!enabled || ui.status === 'error' || snapshot === null) {\n return (\n <div className={styles.section} data-dsh-plugin=\"usage\">\n <span className={styles.muted} data-dsh-part=\"status-line\">\n {!enabled\n ? t('usage.disabled')\n : ui.status === 'error'\n ? t('usage.error', { error: ui.error ?? '' })\n : t('usage.loading')}\n </span>\n <SettingsRow settings={settings} snapshot={settingsSnapshot.status === 'ready' ? settingsSnapshot : undefined} value={settingsValue} />\n </div>\n )\n }\n\n const current = snapshot.current\n const currentProvider = snapshot.providers.find((provider) => provider.provider === current.provider)\n // Peak-period line: only when the official DeepSeek family is in play this\n // session (the current route, or spend recorded under one today). It\n // describes the pricing window now, so a past day's card drops it.\n const deepseekPeriod = deepseekPeriodAt(Date.now())\n const deepseekVisible = isToday && ((current.provider !== undefined && isDeepSeekProviderRoute(current.provider))\n || snapshot.usage.today.providers.some((row) => isDeepSeekProviderRoute(row.provider)))\n // Plans tab: only configured routes with a real coding-plan/subscription\n // adapter (planSupported; an older host without the flag falls back to \"has\n // a plan fact\"). Balance-only providers (DeepSeek, ZenMux, ...) and\n // unconfigured routes (credential 'none') never appear here.\n const planProviders = snapshot.providers.filter((provider) => isConfigured(provider) && (provider.planSupported === true || (provider.planSupported === undefined && provider.plan !== undefined)))\n\n return (\n <div className={styles.section} data-dsh-plugin=\"usage\">\n <div className={styles.header} data-dsh-part=\"header\">\n <span className={styles.currentProvider}>\n {currentProvider !== undefined\n ? `${currentProvider.displayName}${current.model !== undefined && current.model !== '' ? ' · ' + current.model : ''}`\n : t('usage.noData')}\n </span>\n <span style={{ display: 'flex', gap: 8, alignItems: 'center' }}>\n <span className={styles.muted}>{t('usage.updated', { time: formatTime(snapshot.updatedAt) })}</span>\n <button type=\"button\" className={styles.refreshBtn} onClick={onRefresh} disabled={refreshing}>\n {refreshing ? t('usage.refreshing') : t('usage.refresh')}\n </button>\n </span>\n </div>\n\n <div className={styles.tabs} role=\"tablist\" data-dsh-part=\"tabs\">\n <button type=\"button\" role=\"tab\" aria-selected={tab === 'usage'} className={tab === 'usage' ? `${styles.tab} ${styles.tabActive}` : styles.tab} onClick={() => setTab('usage')}>\n {t('usage.tab.usage')}\n </button>\n <button type=\"button\" role=\"tab\" aria-selected={tab === 'plans'} className={tab === 'plans' ? `${styles.tab} ${styles.tabActive}` : styles.tab} onClick={() => setTab('plans')}>\n {t('usage.tab.plans')}\n </button>\n <button type=\"button\" role=\"tab\" aria-selected={tab === 'bank'} className={tab === 'bank' ? `${styles.tab} ${styles.tabActive}` : styles.tab} onClick={() => setTab('bank')}>\n {t('usage.tab.bank')}\n </button>\n </div>\n\n {tab === 'usage' && (\n <>\n <div className={styles.card} data-dsh-part=\"today-card\">\n <span className={styles.cardTitle}>{isToday ? t('usage.today') : t('usage.day.title', { date: selectedDay ?? '' })}</span>\n <DayPicker\n part=\"usage\"\n value={selectedDay ?? ''}\n options={dayOptions}\n today={todayDate ?? ''}\n onSelect={(date) => { setUsageDay(date === todayDate ? undefined : date) }}\n />\n {deepseekVisible && (\n <PeakBadge peak={deepseekPeriod.peak} boundaryMs={deepseekPeriod.boundaryMs} variant=\"full\" />\n )}\n {usageDayLoad?.status === 'error'\n ? <span className={styles.errorLine}>{t('usage.day.error', { error: usageDayLoad.error ?? '' })}</span>\n : day === undefined\n ? <span className={styles.muted}>{t('usage.day.loading')}</span>\n : day.totals.calls === 0\n ? <span className={styles.muted}>{isToday ? t('usage.noData') : t('usage.day.empty')}</span>\n : <TotalsRow totals={day.totals} />}\n {(day?.totals.cost ?? 0) > 0 && (\n <div className={styles.providerRow} data-dsh-part=\"today-cost\">\n <span className={styles.providerName}>{isToday ? t('usage.today.cost') : t('usage.day.cost')}</span>\n <span className={styles.providerTokens}>{formatSpend(day?.totals.cost ?? 0, snapshot.display)}</span>\n </div>\n )}\n {(day?.providers.length ?? 0) > 0 && (\n <div data-dsh-part=\"provider-list\">\n {(day?.providers ?? []).map((row) => (\n <div key={row.provider} className={styles.providerRow}>\n <span className={styles.providerName}>\n {snapshot.providers.find((provider) => provider.provider === row.provider)?.displayName ?? row.provider}\n {current.provider === row.provider && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n </span>\n <span className={styles.providerTokens}>{formatTokens(row.totals.inputTokens + row.totals.cacheReadTokens + row.totals.cacheWriteTokens + row.totals.outputTokens)} · {t('usage.calls', { n: row.totals.calls })}{row.totals.cost > 0 ? ` · ${formatSpend(row.totals.cost, snapshot.display)}` : ''}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n\n <div className={styles.card} data-dsh-part=\"balance-card\">\n <span className={styles.cardTitle}>{t('usage.balance')}</span>\n {(() => {\n const configured = snapshot.providers.filter(isConfigured)\n // Include rows whose balance is deliberately not applicable\n // (another origin's endpoint): the row itself explains why, which\n // a single generic line cannot (#1688).\n const rows = configured.filter((provider) => provider.balanceSupported === true || provider.balanceSupported === false || (provider.balanceSupported === undefined && provider.supported))\n if (rows.length === 0) {\n return <span className={styles.muted}>{configured.length === 0 ? t('usage.balance.noneConfigured') : t('usage.balance.unsupported')}</span>\n }\n return rows.map((provider) => (\n <ProviderRow key={provider.provider} provider={provider} current={current.provider} />\n ))\n })()}\n {snapshot.providers.some((provider) => isConfigured(provider) && provider.error !== undefined) && (\n <span className={styles.errorLine}>\n {snapshot.providers.filter((provider) => isConfigured(provider) && provider.error !== undefined).map((provider) => `${provider.displayName}: ${t('usage.provider.error', { error: provider.error ?? '' })}`).join(t('usage.errorListSeparator'))}\n </span>\n )}\n </div>\n\n <RangeCard range={snapshot.usage.range} providers={snapshot.providers} currentProvider={current.provider} />\n\n <SettingsRow settings={settings} snapshot={settingsSnapshot.status === 'ready' ? settingsSnapshot : undefined} value={settingsValue} />\n </>\n )}\n\n {tab === 'plans' && (\n planProviders.length === 0\n ? <div className={styles.card}><span className={styles.muted}>{t('usage.plan.noneConfigured')}</span></div>\n : planProviders.map((provider) => <PlanCard key={provider.provider} provider={provider} current={current.provider} />)\n )}\n\n {tab === 'bank' && (\n <>\n <DayPicker\n part=\"bank\"\n value={bankSelection ?? BANK_ALL_DAYS}\n options={dayOptions}\n today={todayDate ?? ''}\n leading={{ value: BANK_ALL_DAYS, label: t('usage.bank.windowAll') }}\n onSelect={(date) => { setBankDay(date === BANK_ALL_DAYS ? undefined : date) }}\n />\n <VoucherCard\n window={bankWindow}\n // The observed-spend watch accrues from its own first balance\n // reading, so it describes the whole window only: a single day's\n // voucher falls back to that day's fold-time estimate.\n observedSpend={bankSelection === undefined ? snapshot.usage.observedSpend : undefined}\n loading={bankSelection !== undefined && bankDayLoad?.status === 'loading'}\n display={snapshot.display}\n {...(bankDayLoad?.status === 'error' ? { error: bankDayLoad.error ?? '' } : {})}\n />\n </>\n )}\n </div>\n )\n}\n\n/** How many model sub-bars render under one provider bar. */\nconst CHART_MODEL_CAP = 3\n\n/**\n * The 近 30 天 card: horizontal bars per provider over the trend window,\n * each with its heaviest models as nested sub-bars. Window totals come from\n * the host's aggregated `usage.range` (an older host without it renders no\n * card instead of a wrong one).\n */\nfunction RangeCard(props: { range?: UsageOverviewView['usage']['range']; providers: ProviderSnapshotView[]; currentProvider?: string }): ReactNode {\n const { range, providers, currentProvider } = props\n if (range === undefined) return null\n const grandTotal = range.totals.inputTokens + range.totals.outputTokens + range.totals.cacheReadTokens + range.totals.cacheWriteTokens\n const maxProvider = Math.max(1, ...range.providers.map((row) => totalOf(row.totals)))\n const nameOf = (id: string): string => providers.find((provider) => provider.provider === id)?.displayName ?? id\n return (\n <div className={styles.card} data-dsh-part=\"trend-card\">\n <span className={styles.cardTitle}>{t('usage.trend')}</span>\n {range.providers.length === 0 || grandTotal === 0\n ? <span className={styles.muted}>{t('usage.noData')}</span>\n : <div className={styles.chart} data-dsh-part=\"usage-chart\">\n {range.providers.map((row) => (\n <ChartProviderRow key={row.provider} row={row} name={nameOf(row.provider)} max={maxProvider} current={currentProvider === row.provider} />\n ))}\n <span className={styles.trendAxis}>\n <span>{range.from.slice(5)}</span>\n <span>{range.to.slice(5)}</span>\n </span>\n </div>}\n </div>\n )\n}\n\nfunction ChartProviderRow(props: { row: UsageProviderSummary; name: string; max: number; current: boolean }): ReactNode {\n const { row, name, max, current } = props\n const total = totalOf(row.totals)\n const maxModel = Math.max(1, ...row.models.slice(0, CHART_MODEL_CAP).map((model) => totalOf(model.totals)))\n return (\n <div className={styles.chartProvider}>\n <span className={styles.chartHead}>\n <span className={styles.providerName}>\n {name}\n {current && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n </span>\n <span className={styles.chartTokens}>{formatTokens(total)} · {t('usage.calls', { n: row.totals.calls })}</span>\n </span>\n <span className={styles.chartBar}>\n <span className={styles.chartFill} style={{ width: `${Math.max(2, Math.round((total / max) * 100))}%` }} />\n </span>\n {row.models.slice(0, CHART_MODEL_CAP).map((model) => {\n const modelTotal = totalOf(model.totals)\n return (\n <span key={model.model} className={styles.chartModel} title={`${row.provider} · ${model.model}: ${formatTokens(modelTotal)}`}>\n <span className={styles.chartModelName}>{model.model}</span>\n <span className={styles.chartModelBar}>\n <span className={styles.chartModelFill} style={{ width: `${Math.max(3, Math.round((modelTotal / maxModel) * 100))}%` }} />\n </span>\n <span className={styles.chartTokens}>{formatTokens(modelTotal)}</span>\n </span>\n )\n })}\n </div>\n )\n}\n\nfunction totalOf(totals: UsageTokenTotals): number {\n return totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens + totals.outputTokens\n}\n\n/**\n * The Token 银行 card: every provider's retained-ledger usage minted onto the\n * whale-yuan note at 1,000,000 tokens per whale yuan. The window is the whole\n * retained ledger by default (the host's aggregate, falling back to the 30-day\n * trend when an older host serves no `all`) or the single day the user picked;\n * the spend line prefers the official balance watch (whole window only) and\n * falls back to the fold-time estimate, which only the priced family feeds;\n * the artwork draw failure degrades to an error line and never takes the\n * section down.\n */\nfunction VoucherCard(props: { window?: UsageWindowSummary; observedSpend?: ObservedSpendView; loading?: boolean; error?: string; display?: SpendDisplay }): ReactNode {\n const { window: ledger, observedSpend, loading, error, display } = props\n const data = voucherData(ledger)\n const canvasRef = useRef<HTMLCanvasElement | null>(null)\n const [drawError, setDrawError] = useState<string | undefined>(undefined)\n const dataKey = data === undefined ? '' : `${data.from}|${data.to}|${data.tokens}|${data.calls}|${data.cost}`\n\n useEffect(() => {\n if (data === undefined) return\n const voucher = data\n let cancelled = false\n loadVoucherArt().then((art) => {\n if (cancelled) return\n const canvas = canvasRef.current\n if (canvas !== null) {\n try {\n drawVoucher(canvas, art, voucher)\n } catch (error) {\n if (!cancelled) setDrawError(error instanceof Error ? error.message : String(error))\n }\n }\n }, (error) => {\n if (!cancelled) setDrawError(error instanceof Error ? error.message : String(error))\n })\n return () => {\n cancelled = true\n }\n // dataKey covers every field the draw and the buttons read.\n }, [dataKey])\n\n const onSave = (): void => {\n const canvas = canvasRef.current\n if (canvas === null || data === undefined) return\n canvas.toBlob((blob) => {\n if (blob === null) return\n const url = URL.createObjectURL(blob)\n const anchor = document.createElement('a')\n anchor.href = url\n anchor.download = `dsh-whale-voucher-${data.to}.png`\n anchor.click()\n window.setTimeout(() => URL.revokeObjectURL(url), 10_000)\n }, 'image/png')\n }\n\n const shareSupported = typeof navigator !== 'undefined' && typeof navigator.canShare === 'function'\n const onShare = (): void => {\n const canvas = canvasRef.current\n if (canvas === null || data === undefined || !shareSupported) return\n canvas.toBlob(async (blob) => {\n if (blob === null) return\n const file = new File([blob], `dsh-whale-voucher-${data.to}.png`, { type: 'image/png' })\n if (!navigator.canShare({ files: [file] })) return\n try {\n await navigator.share({ files: [file], title: t('usage.bank.title') })\n } catch {\n // A user-cancelled share sheet rejects; nothing to report.\n }\n }, 'image/png')\n }\n\n return (\n <div className={styles.card} data-dsh-part=\"bank-card\">\n <span className={styles.cardTitle}>{t('usage.bank.title')}</span>\n {error !== undefined\n ? <span className={styles.errorLine}>{t('usage.day.error', { error })}</span>\n : loading === true\n ? <span className={styles.muted}>{t('usage.day.loading')}</span>\n : data === undefined\n ? <span className={styles.muted}>{t('usage.bank.noUsage')}</span>\n : <>\n <span className={styles.muted}>{t('usage.bank.hint')}</span>\n <div className={styles.voucherPreview} data-dsh-part=\"voucher-preview\">\n <canvas ref={canvasRef} aria-label={t('usage.bank.title')} />\n </div>\n {drawError !== undefined && <span className={styles.errorLine}>{t('usage.bank.drawError', { error: drawError })}</span>}\n <div className={styles.providerRow}>\n <span className={styles.providerName}>{t('usage.bank.minted', { minted: formatDenomination(faceValue(data.tokens)), tokens: formatTokens(data.tokens) })}</span>\n <span className={styles.providerTokens}>{t('usage.calls', { n: data.calls })}</span>\n </div>\n <span className={styles.muted}>\n {observedSpend !== undefined\n ? t('usage.bank.spend.observed', { cost: formatSpend(observedSpend.cny, display), since: formatDay(observedSpend.since) })\n : t('usage.bank.spend.estimated', { cost: formatSpend(data.cost, display) })}\n </span>\n <span className={styles.muted}>{t('usage.bank.window', { from: data.from, to: data.to })}</span>\n <div className={styles.buttonRow}>\n <button type=\"button\" className={styles.refreshBtn} onClick={onSave}>{t('usage.bank.save')}</button>\n {shareSupported && <button type=\"button\" className={styles.refreshBtn} onClick={onShare}>{t('usage.bank.share')}</button>}\n </div>\n </>}\n </div>\n )\n}\n\nfunction PlanCard(props: { provider: ProviderSnapshotView; current?: string }): ReactNode {\n const { provider, current } = props\n return (\n <div className={`${styles.card} ${styles.planCard}`} data-dsh-part=\"plan-card\">\n <div className={styles.planHead}>\n <span className={styles.planName}>\n {provider.displayName}\n {current === provider.provider && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n {provider.plan?.planName !== undefined ? ` · ${provider.plan.planName}` : ''}\n </span>\n </div>\n {provider.error !== undefined && <span className={styles.errorLine}>{t('usage.provider.error', { error: provider.error })}</span>}\n {provider.credential === 'none' && provider.plan === undefined\n ? <span className={styles.muted}>{t('usage.balance.noCredential')}</span>\n : provider.plan === undefined || provider.plan.windows.length === 0\n ? <span className={styles.muted}>{t('usage.plan.noPlan')}</span>\n : provider.plan.windows.map((window) => (\n <div key={window.key} className={styles.windowRow} data-dsh-part=\"plan-window\">\n <span className={styles.windowLabel}>\n <span>{window.name ?? t(`usage.plan.windows.${window.key}`)}</span>\n <span>{window.percent !== undefined ? `${window.percent >= 10 ? Math.round(window.percent) : window.percent.toFixed(1)}%` : ''}</span>\n </span>\n {window.percent !== undefined && (\n <span className={styles.bar}>\n <span className={toneClass(window.percent)} style={{ width: `${Math.min(100, Math.max(0, window.percent))}%`, display: 'block' }} />\n </span>\n )}\n {window.resetsAt !== undefined && (\n <span className={styles.resetLine}>{t('usage.plan.reset', { date: new Date(window.resetsAt).toLocaleString() })}</span>\n )}\n </div>\n ))}\n </div>\n )\n}\n\n/**\n * The compact settings row. Both controls write through the shared form the\n * moment the user changes them, and the Host answers each write with a\n * boolean: a refused (or transport-failed) write is surfaced as a failed save,\n * because a value that did not land must never read as applied.\n */\nfunction SettingsRow(props: {\n settings: UsageSectionProps['settings']\n snapshot?: ConfigFormSnapshot<UsageSettings>\n value: UsageSettings\n}): ReactNode {\n const { settings, snapshot, value } = props\n const disabled = snapshot === undefined || !snapshot.writable\n const [failure, setFailure] = useState<string | undefined>(undefined)\n\n const write = (field: 'enabled' | 'pollIntervalSec' | 'spendCurrency' | 'cnyPerUsd', next: boolean | number | 'CNY' | 'USD'): void => {\n setFailure(undefined)\n let answer: Promise<boolean>\n try {\n answer = settings.set(field, next)\n } catch (error) {\n setFailure(error instanceof Error ? error.message : String(error))\n return\n }\n // false is the contract's refusal/skip answer (the Host rejected the value,\n // the entry is not writable, or the write was dropped); a rejecting\n // transport reports through the same failed-save surface.\n Promise.resolve(answer).then(\n (accepted) => { if (!accepted) setFailure('') },\n (error: unknown) => { setFailure(error instanceof Error ? error.message : String(error)) },\n )\n }\n\n return (\n <div className={styles.card} data-dsh-part=\"settings-row\">\n <span className={styles.cardTitle}>{t('usage.config.title')}</span>\n <div className={styles.settingsGrid}>\n <label className={styles.settingItem}>\n <input\n type=\"checkbox\"\n checked={value.enabled ?? true}\n disabled={disabled}\n onChange={(event) => { write('enabled', event.target.checked) }}\n />\n {t('usage.config.enabled')}\n </label>\n <label className={styles.settingItem}>\n {t('usage.config.pollIntervalSec')}\n <input\n type=\"number\"\n min={30}\n max={3600}\n value={typeof value.pollIntervalSec === 'number' ? value.pollIntervalSec : 60}\n disabled={disabled}\n onChange={(event) => {\n const parsed = Number(event.target.value)\n if (Number.isFinite(parsed) && parsed >= 30 && parsed <= 3600) write('pollIntervalSec', Math.round(parsed))\n }}\n />\n </label>\n <label className={styles.settingItem}>\n {t('usage.config.spendCurrency')}\n <select\n value={value.spendCurrency === 'USD' ? 'USD' : 'CNY'}\n disabled={disabled}\n onChange={(event) => { write('spendCurrency', event.target.value === 'USD' ? 'USD' : 'CNY') }}\n >\n <option value=\"CNY\">CNY</option>\n <option value=\"USD\">USD</option>\n </select>\n </label>\n <label className={styles.settingItem}>\n {t('usage.config.cnyPerUsd')}\n <input\n type=\"number\"\n min={0.01}\n max={1000}\n step={0.01}\n value={typeof value.cnyPerUsd === 'number' ? value.cnyPerUsd : 7.2}\n disabled={disabled}\n onChange={(event) => {\n const parsed = Number(event.target.value)\n // An unusable rate is simply not written: the stored value stays,\n // and rendering falls back to the documented default rate.\n if (Number.isFinite(parsed) && parsed >= 0.01 && parsed <= 1000) write('cnyPerUsd', Math.round(parsed * 100) / 100)\n }}\n />\n </label>\n </div>\n {failure !== undefined && (\n <span className={styles.errorLine} role=\"status\">\n {t('usage.config.saveFailed')}{failure === '' ? '' : ' - ' + failure}\n </span>\n )}\n </div>\n )\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/body-mutations.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * One `document.body` MutationObserver per page, shared by every family\n * plugin bundle.\n *\n * Family plugins that inject at the DOM level must notice when the shell\n * re-renders around their injected node: the aggregate shell's column shims\n * and any plugin surface still extending the shell from outside the official\n * slot seats. Each consumer used to install its OWN `MutationObserver` on\n * `document.body` with\n * `{ childList: true, subtree: true }`, so a page carrying N family plugins\n * paid N native observers and N callback invocations for EVERY mutation batch\n * the app produced — chat token streaming alone produces many per second, and\n * the count grows with the number of installed plugins.\n *\n * This module keeps exactly ONE body observer per page. The registry lives on\n * `globalThis` under a `Symbol.for` key, so the per-package generated copies\n * of this file (scripts/sync-shared.mjs) and separately bundled plugins all\n * reach the same hub at runtime instead of one hub per module instance.\n * Record subscribers receive the mutations accumulated since the last flush.\n * Consumers that only re-check their DOM use subscribeBodyInvalidations:\n * when all subscribers use that path, the hub retains no mutation records\n * (or detached subtrees) while a background page's animation frames pause.\n * Both paths run at most once per frame. The last subscriber disconnects the\n * observer, cancels the pending frame and releases its records.\n *\n * Failure policy: without a DOM or `MutationObserver` the subscription is a\n * no-op disposer (the same silence the per-consumer observers had), and when\n * `requestAnimationFrame` is unavailable the flush runs synchronously so a\n * subscriber is never silently dropped. A throwing subscriber cannot stop the\n * others.\n */\n\n/** The page-wide hub: one observer plus its subscribers and pending records. */\ninterface BodyMutationHub {\n observer: MutationObserver\n subscribers: Set<(records: MutationRecord[]) => void>\n pending: MutationRecord[]\n scheduled: boolean\n frame?: number\n}\n\n/** Cross-bundle registry key; `Symbol.for` so every module copy agrees. */\nconst HUB_KEY = Symbol.for('dsh-web.body-mutation-hub')\nconst INVALIDATION_ONLY = Symbol.for('dsh-web.body-mutation-invalidation')\ntype Subscriber = ((records: MutationRecord[]) => void) & { [INVALIDATION_ONLY]?: true }\n\nfunction needsRecords(subscribers: Set<(records: MutationRecord[]) => void>): boolean {\n for (const listener of subscribers) {\n if (!(listener as Subscriber)[INVALIDATION_ONLY]) return true\n }\n return false\n}\n\n/**\n * Subscribe to a coalesced DOM re-check without retaining mutation records.\n * The marked wrapper also works with an older hub, which delivers records\n * that it simply ignores until a page reload picks up the updated hub.\n */\nexport function subscribeBodyInvalidations(subscriber: () => void): () => void {\n const listener: Subscriber = () => { subscriber() }\n listener[INVALIDATION_ONLY] = true\n return subscribeBodyMutations(listener)\n}\n\n/**\n * Subscribe to body-level childList mutations.\n * @param subscriber - called at most once per animation frame with the records\n * collected since the previous flush; must be safe to run repeatedly.\n * @returns the disposer removing this subscriber (and the observer when it was\n * the last one).\n */\nexport function subscribeBodyMutations(subscriber: (records: MutationRecord[]) => void): () => void {\n if (typeof globalThis === 'undefined' || typeof document === 'undefined') return () => {}\n if (typeof MutationObserver !== 'function') return () => {}\n const registry = globalThis as unknown as Record<symbol, unknown>\n let hub = registry[HUB_KEY] as BodyMutationHub | undefined\n if (hub === undefined) {\n const subscribers = new Set<(records: MutationRecord[]) => void>()\n const created: BodyMutationHub = {\n observer: undefined as unknown as MutationObserver,\n subscribers,\n pending: [],\n scheduled: false,\n }\n const flush = (): void => {\n created.frame = undefined\n created.scheduled = false\n const batch = created.pending\n created.pending = []\n for (const listener of [...subscribers]) {\n if (!subscribers.has(listener)) continue\n try {\n listener(batch)\n } catch {\n // One subscriber must never break the others; the next flush retries it.\n }\n }\n }\n const schedule = (): void => {\n if (created.scheduled) return\n created.scheduled = true\n if (typeof requestAnimationFrame === 'function') created.frame = requestAnimationFrame(flush)\n else flush()\n }\n created.observer = new MutationObserver((records) => {\n if (needsRecords(subscribers)) {\n for (const record of records) created.pending.push(record)\n }\n schedule()\n })\n created.observer.observe(document.body ?? document.documentElement, { childList: true, subtree: true })\n registry[HUB_KEY] = created\n hub = created\n }\n const active = hub\n active.subscribers.add(subscriber)\n let subscribed = true\n return () => {\n if (!subscribed) return\n subscribed = false\n active.subscribers.delete(subscriber)\n if (!needsRecords(active.subscribers)) active.pending = []\n if (active.subscribers.size === 0 && registry[HUB_KEY] === active) {\n active.observer.disconnect()\n if (active.frame !== undefined && typeof cancelAnimationFrame === 'function') cancelAnimationFrame(active.frame)\n active.frame = undefined\n active.pending = []\n active.scheduled = false\n delete registry[HUB_KEY]\n }\n }\n}\n","/**\n * Sidebar foot card: the compact usage glance seated below the shell sidebar's\n * Settings row. It is deliberately a GLANCE, not the panel the 2026-09-18\n * removal took out. Two states, persisted across reloads:\n *\n * - expanded (default): a price-first headline (today's estimated spend,\n * falling back to today's tokens when nothing priced was recorded), a\n * tokens/calls line, up to two configured-provider balances, and an\n * updated-at footer;\n * - collapsed: a one-line strip with the gauge glyph, the spending\n * provider's name, the label and the headline value.\n *\n * The card body is one button that opens the settings panel on the usage\n * section, so detail lives in exactly one place; the corner chevron toggles\n * the collapse state (sibling buttons — buttons inside a button are invalid\n * HTML).\n *\n * Data comes from the same shared store the settings section reads; the card\n * runs its own relaxed poll loop (30 s, visible-tab only) because the sidebar\n * foot is permanently mounted. The card disappears while the plugin is\n * disabled (settings flag) or while the host serves no usage routes (a 404\n * means the host half is off), matching the section's own gating.\n * @module @linxin666/dsh-usage/client/UsageFootCard\n */\n\nimport { useEffect, useState, useSyncExternalStore, type ReactNode } from 'react'\nimport type { ConfigForm } from '@deepseek-ai/dsh-client-ui-settings/client'\nimport { t } from './locales.ts'\nimport styles from './usage.module.css'\nimport { formatClock, PeakBadge } from './PeakBadge.tsx'\nimport { formatTokens, type UsageSettings } from './UsageSectionCard.tsx'\nimport { deepseekPeriodAt } from '../core/pricing.ts'\nimport { isDeepSeekProviderRoute } from '../core/adapters.ts'\nimport { totalTokens } from '../core/ledger.ts'\nimport { formatSpend } from '../core/spend.ts'\nimport type { BalanceView, ProviderSnapshotView, UsageOverviewView } from '../core/types.ts'\nimport type { UsageStoreInstance } from './usage-store.ts'\n\n/** Props the mount forwards into the React tree. */\nexport interface UsageFootCardProps {\n /** The shared overview store (section and card read the same snapshot). */\n store: UsageStoreInstance\n /** Fetch one overview now. */\n poll: () => void\n /** Card-body click: open the settings panel on the usage section. */\n onOpen: () => void\n /** The shared settings form; the card hides while the plugin is disabled. */\n settings: ConfigForm<UsageSettings>\n /** Locale-change source; the plain copy re-renders on a language switch. */\n locale?: { subscribe(listener: () => void): () => void }\n}\n\n/** Poll cadence of the permanently seated card; the section's 10 s loop stays its own. */\nexport const FOOT_CARD_POLL_MS = 30_000\n\n/** localStorage key holding the collapsed flag ('1' = collapsed strip). */\nexport const FOOT_CARD_COLLAPSED_KEY = 'dsh-usage.foot-card.collapsed'\n\n/** At most this many provider balances render before a +N overflow marker. */\nconst BALANCE_CAP = 2\n\n/** Read the persisted collapsed flag (absent = expanded). */\nexport function readFootCardCollapsed(): boolean {\n try {\n return window.localStorage.getItem(FOOT_CARD_COLLAPSED_KEY) === '1'\n } catch {\n // Storage can be unavailable (privacy modes); the card stays expanded.\n return false\n }\n}\n\n/** Persist the collapsed flag; storage failures keep the session state. */\nfunction writeFootCardCollapsed(collapsed: boolean): void {\n try {\n window.localStorage.setItem(FOOT_CARD_COLLAPSED_KEY, collapsed ? '1' : '0')\n } catch {\n // Storage unavailable: the state still flips for this session.\n }\n}\n\n/** Inline gauge glyph, 14px beside the card title. */\nfunction GaugeIcon(): ReactNode {\n return (\n <svg viewBox=\"0 0 16 16\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.3\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M2.5 12.5a7 7 0 0 1 11 -4.3\" />\n <path d=\"M8 12.5V8.2l2.9-2.1\" />\n <circle cx=\"8\" cy=\"12.5\" r=\"1\" />\n </svg>\n )\n}\n\n/** Disclosure chevrons: down collapses the expanded card, up expands the strip. */\nfunction ChevronIcon(props: { collapsed: boolean }): ReactNode {\n return props.collapsed\n ? (\n <svg viewBox=\"0 0 16 16\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 10 4-4 4 4\" />\n </svg>\n )\n : (\n <svg viewBox=\"0 0 16 16\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 6 4 4 4-4\" />\n </svg>\n )\n}\n\n/** A provider row worth showing a balance for: configured, with a probed balance. */\nfunction balanceRow(provider: ProviderSnapshotView): boolean {\n const supported = provider.balanceSupported === true || (provider.balanceSupported === undefined && provider.supported)\n return provider.credential !== 'none' && supported && provider.balance !== undefined\n}\n\n/** Currency-symbol prefix for the priced balances (CNY/USD), else the ISO code. */\nfunction formatBalance(balance: BalanceView): string {\n const currency = balance.currency.toUpperCase()\n if (currency === 'CNY') return '¥' + balance.totalBalance\n if (currency === 'USD') return '$' + balance.totalBalance\n return currency + ' ' + balance.totalBalance\n}\n\n/**\n * Route key owning today's priced spend: the day's highest cost row, else the\n * current session route (an older host without the day rows falls back to the\n * current route). Undefined when neither names one.\n */\nfunction spendRoute(snapshot: UsageOverviewView): string | undefined {\n let top: UsageOverviewView['usage']['today']['providers'][number] | undefined\n for (const row of snapshot.usage.today.providers) {\n if (row.totals.cost <= 0) continue\n if (top === undefined || row.totals.cost > top.totals.cost) top = row\n }\n return top?.provider ?? snapshot.current.provider\n}\n\n/** Display name of the route spendRoute() names, resolved through the snapshot. */\nfunction spendProvider(snapshot: UsageOverviewView): string | undefined {\n const route = spendRoute(snapshot)\n if (route === undefined) return undefined\n return snapshot.providers.find((entry) => entry.provider === route)?.displayName\n ?? (route === snapshot.current.provider ? snapshot.current.displayName : undefined)\n ?? route\n}\n\n/**\n * The headline triple: today's priced spend, else today's tokens, else zero.\n * tokenFallback tells the sub-line to keep only the call count instead of\n * repeating the total the headline already shows; provider names the spender\n * beside the collapsed cost headline.\n */\nfunction headline(snapshot: UsageOverviewView): { label: string; value: string; tokenFallback: boolean; provider?: string } {\n const totals = snapshot.usage.today.totals\n if (totals.cost > 0) return { label: t('usage.foot.cost'), value: formatSpend(totals.cost, snapshot.display), tokenFallback: false, provider: spendProvider(snapshot) }\n if (totals.calls > 0) return { label: t('usage.today'), value: formatTokens(totalTokens(totals)) + ' tokens', tokenFallback: true }\n return { label: t('usage.foot.cost'), value: formatSpend(0, snapshot.display), tokenFallback: false }\n}\n\n/** The tokens/calls sub-line under the headline; a quiet no-data line on an empty day. */\nfunction usageLine(snapshot: UsageOverviewView, tokenFallback: boolean): string {\n const totals = snapshot.usage.today.totals\n if (totals.calls === 0) return t('usage.foot.noData')\n const calls = t('usage.calls', { n: totals.calls })\n return tokenFallback ? calls : formatTokens(totalTokens(totals)) + ' tokens · ' + calls\n}\n\n/** The balance line: up to BALANCE_CAP providers plus a +N overflow marker. */\nfunction balanceLine(snapshot: UsageOverviewView): string | undefined {\n const rows = snapshot.providers.filter(balanceRow)\n if (rows.length === 0) return undefined\n const shown = rows.slice(0, BALANCE_CAP).map((provider) => provider.displayName + ' ' + formatBalance(provider.balance!))\n return shown.join(' · ') + (rows.length > BALANCE_CAP ? ' +' + String(rows.length - BALANCE_CAP) : '')\n}\n\n/** Card chrome classes for the current collapse state. */\nfunction cardClass(collapsed: boolean): string {\n return collapsed ? styles.footCard + ' ' + styles.footCardCollapsed : styles.footCard\n}\n\n/**\n * Render the foot card content for the current store snapshot.\n * @param props - store, poller, settings form and open callback from the mount.\n * @returns the card, or null while disabled / host-off.\n */\nexport function UsageFootCard(props: UsageFootCardProps): ReactNode {\n const { store, poll, onOpen, settings, locale } = props\n const ui = useSyncExternalStore(store.subscribe, store.getSnapshot)\n // Settings writes and locale switches both re-render the card's copy/visibility.\n const [, bump] = useState(0)\n useEffect(() => settings.subscribe(() => bump((count) => count + 1)), [settings])\n useEffect(() => locale?.subscribe(() => bump((count) => count + 1)), [locale])\n const enabled = settings.getSnapshot().value?.enabled ?? true\n\n // The collapse choice is one localStorage flag, read at mount and persisted\n // on every flip (the old sidebar strip used the same contract shape).\n const [collapsed, setCollapsed] = useState(readFootCardCollapsed)\n const toggleCollapsed = (): void => {\n setCollapsed((current) => {\n writeFootCardCollapsed(!current)\n return !current\n })\n }\n\n // The permanently seated card pays a relaxed cadence; a hidden tab pauses.\n useEffect(() => {\n if (!enabled) return undefined\n poll()\n let timer: number | undefined\n const start = (): void => {\n if (timer === undefined && document.visibilityState === 'visible') timer = window.setInterval(poll, FOOT_CARD_POLL_MS)\n }\n const onVisibility = (): void => {\n if (document.visibilityState === 'visible') {\n poll()\n start()\n } else if (timer !== undefined) {\n window.clearInterval(timer)\n timer = undefined\n }\n }\n start()\n document.addEventListener('visibilitychange', onVisibility)\n return () => {\n if (timer !== undefined) window.clearInterval(timer)\n document.removeEventListener('visibilitychange', onVisibility)\n }\n }, [poll, enabled])\n\n if (!enabled) return null\n const snapshot = ui.snapshot\n // A 404 means the host half serves no usage routes (plugin off): the card\n // bows out instead of pinning a permanent error to the sidebar foot.\n if (snapshot === null && ui.status === 'error' && /failed: 404/.test(ui.error ?? '')) return null\n\n const toggle = (\n <button\n type=\"button\"\n className={styles.footToggle}\n data-dsh-part=\"foot-card-toggle\"\n aria-label={t(collapsed ? 'usage.foot.expand' : 'usage.foot.collapse')}\n title={t(collapsed ? 'usage.foot.expand' : 'usage.foot.collapse')}\n onClick={toggleCollapsed}\n >\n <ChevronIcon collapsed={collapsed} />\n </button>\n )\n\n if (snapshot === null) {\n const quiet = ui.status === 'error' ? t('usage.error', { error: ui.error ?? '' }) : t('usage.loading')\n return (\n <div className={cardClass(collapsed)} data-dsh-plugin=\"usage\" data-dsh-part=\"foot-card\">\n <button type=\"button\" className={styles.footMain} data-dsh-part=\"foot-card-main\" aria-label={t('usage.foot.open')} title={t('usage.foot.open')} onClick={onOpen}>\n {collapsed\n ? <span className={styles.footStrip} data-dsh-part=\"foot-card-strip\"><GaugeIcon /><span className={styles.footStripValue}>—</span></span>\n : (\n <>\n <span className={styles.footHead}>\n <span className={styles.footTitle}><GaugeIcon />{t('usage.title')}</span>\n </span>\n <span className={styles.footLine}>{quiet}</span>\n </>\n )}\n </button>\n {toggle}\n </div>\n )\n }\n\n const head = headline(snapshot)\n const balances = balanceLine(snapshot)\n // The published peak/off-peak clock prices the official DeepSeek family only,\n // so the marker follows the route that owns today's spend (else the session\n // route) and stays away from every other provider's card.\n const route = spendRoute(snapshot)\n const period = route !== undefined && isDeepSeekProviderRoute(route) ? deepseekPeriodAt(Date.now()) : undefined\n\n if (collapsed) {\n return (\n <div className={cardClass(true)} data-dsh-plugin=\"usage\" data-dsh-part=\"foot-card\">\n <button type=\"button\" className={styles.footMain} data-dsh-part=\"foot-card-main\" aria-label={t('usage.foot.open')} title={t('usage.foot.open')} onClick={onOpen}>\n <span className={styles.footStrip} data-dsh-part=\"foot-card-strip\">\n <GaugeIcon />\n {head.provider !== undefined && <span className={styles.footStripProvider}>{head.provider}</span>}\n {period !== undefined && <PeakBadge peak={period.peak} boundaryMs={period.boundaryMs} variant=\"compact\" />}\n <span className={styles.footStripLabel}>{head.label}</span>\n <span className={styles.footStripValue}>{head.value}</span>\n </span>\n </button>\n {toggle}\n </div>\n )\n }\n\n return (\n <div className={cardClass(false)} data-dsh-plugin=\"usage\" data-dsh-part=\"foot-card\">\n <button type=\"button\" className={styles.footMain} data-dsh-part=\"foot-card-main\" aria-label={t('usage.foot.open')} title={t('usage.foot.open')} onClick={onOpen}>\n <span className={styles.footHead}>\n <span className={styles.footTitle}><GaugeIcon />{head.label}</span>\n <span className={styles.footValue}>{head.value}</span>\n </span>\n <span className={styles.footLine} data-dsh-part=\"foot-card-usage\">{usageLine(snapshot, head.tokenFallback)}</span>\n {balances !== undefined && <span className={styles.footLine} data-dsh-part=\"foot-card-balances\">{balances}</span>}\n {period !== undefined && (\n <span className={styles.footPeak}>\n <PeakBadge peak={period.peak} boundaryMs={period.boundaryMs} variant=\"compact\" />\n <span className={styles.footPeakClock}>\n {t(period.peak ? 'usage.peak.ends' : 'usage.peak.starts', { time: formatClock(period.boundaryMs) })}\n </span>\n </span>\n )}\n <span className={styles.footMeta}>{t('usage.updated', { time: formatClock(snapshot.updatedAt) })}</span>\n </button>\n {toggle}\n </div>\n )\n}\n","/**\n * Sidebar foot card mounting.\n *\n * The foot's only slot (sidebar.footer.action) stacks ABOVE the Settings row\n * and cannot host a block, so the card container is inserted into the shell's\n * foot area directly above the Settings seat — keeping Settings the foot's\n * terminal row instead of hanging a card off the sidebar floor. It self-heals\n * with the page-wide body-mutation hub: a React re-render that displaces the\n * container re-seats it on the next frame, and a whole-pane rebuild is noticed\n * by the same body-level watcher the family entry rows use.\n *\n * The container is a plain div carrying its own React root, so it can never\n * disturb the shell's reconciliation.\n * @module @linxin666/dsh-usage/client/foot-card-mount\n */\n\nimport { createElement } from 'react'\nimport { createRoot, type Root } from 'react-dom/client'\nimport { subscribeBodyInvalidations } from './body-mutations.ts'\nimport { UsageFootCard, type UsageFootCardProps } from './UsageFootCard.tsx'\n\n/** Stable data attribute identifying the injected card container. */\nexport const FOOT_CARD_SELECTOR = '[data-dsh-usage-foot-card]'\n\n/** The shell slot whose occupant is the settings shell (and carries its store). */\nconst SETTINGS_SEAT_SLOT = 'sidebar.settings'\n\n/** The shell sidebar column, which also scopes the settings seat. */\nconst SIDEBAR_SELECTOR = '[data-pane=\"sidebar\"], [class*=\"sidebarCol\"]'\n\n/** The shell's settings row: the launcher seat plus the Settings trigger fallback. */\nconst SETTINGS_AREA_SELECTOR = '[class*=\"settingsArea\"]'\n\n/** A launcher that opens the settings dialog by itself (the shell's own gear). */\nconst DIALOG_TRIGGER_SELECTOR = 'button[aria-haspopup=\"dialog\"]'\n\n/** A launcher that opens a menu whose settings item opens the dialog (the account row). */\nconst MENU_ITEM_SELECTOR = '[role=\"menu\"] button[role=\"menuitem\"]'\n\n/** One shell frame of the replay poll: menus and the panel mount a frame later. */\nconst REPLAY_STEP_MS = 50\n\n/** Replay poll budget in steps (about one second of shell frames). */\nconst REPLAY_STEPS = 20\n\n/**\n * The settings shell's store handle, narrowed to the one write this module\n * performs. A slot registration stores its seat type-erased (`StoreDecl`), so\n * the shape the seat's occupant guarantees is restated here.\n */\nexport interface SettingsShellStore {\n create(): { actions: { openSection(id: string): void } }\n}\n\n/** The registry read the seat lookup needs (structurally `ctx.slots`). */\nexport interface SlotSeatReader {\n entries(key: string): readonly { store?: unknown }[]\n}\n\n/** What the card knows about the settings section it opens. */\nexport interface UsageSettingsTarget {\n /** Slot registration id of the usage section (the nav row the panel selects). */\n id: string\n /** The section's nav label in the active locale (the DOM replay's row pick). */\n label: () => string\n /** The settings shell's store handle, when the seat exposes one. */\n store?: SettingsShellStore | undefined\n}\n\n/** The shell sidebar column, when the shell has mounted one. */\nfunction sidebarColumn(): HTMLElement | undefined {\n return document.querySelector<HTMLElement>(SIDEBAR_SELECTOR) ?? undefined\n}\n\n/** The shell sidebar's foot area (footer actions + the Settings row), when mounted. */\nfunction footArea(): HTMLElement | undefined {\n return sidebarColumn()?.querySelector<HTMLElement>('[class*=\"footArea\"]') ?? undefined\n}\n\n/**\n * Resolve the settings shell's store handle from the `sidebar.settings` seat.\n *\n * The seat is a single-occupant slot and the shell's own registration carries\n * the store that owns the panel's open state and active section, so reading it\n * is the one step that opens the panel without touching the DOM. A shell that\n * exposes no seat, a seat without a store, or a registry answering mid-teardown\n * all yield undefined, and the caller replays the DOM path instead.\n * @param slots - the renderer-owned slot registry.\n * @returns the store handle, or undefined when the seat carries none.\n */\nexport function settingsShellStore(slots: SlotSeatReader | undefined): SettingsShellStore | undefined {\n let seat: unknown\n try {\n seat = slots?.entries(SETTINGS_SEAT_SLOT)[0]?.store\n } catch {\n return undefined\n }\n if (seat === undefined || seat === null) return undefined\n return typeof (seat as { create?: unknown }).create === 'function'\n ? seat as SettingsShellStore\n : undefined\n}\n\n/**\n * Drive the shell's settings store onto the usage section.\n * @param store - the seat's store handle.\n * @param id - the section's slot registration id.\n * @returns true when the store accepted the call, false when it threw.\n */\nfunction openThroughStore(store: SettingsShellStore, id: string): boolean {\n try {\n store.create().actions.openSection(id)\n return true\n } catch {\n // A foreign shell exposing an unrelated seat: the DOM replay still runs.\n return false\n }\n}\n\n/**\n * Click the nav row carrying the section's label inside the open panel.\n * @param panel - the open settings dialog.\n * @param label - the section's nav label in the active locale.\n */\nfunction pickSectionRow(panel: Element, label: () => string): void {\n const wanted = label()\n for (const row of panel.querySelectorAll<HTMLButtonElement>('nav button')) {\n if (row.textContent !== null && row.textContent.includes(wanted)) {\n row.click()\n return\n }\n }\n // Panel open but the usage row is gone (plugin toggled off): stay put.\n}\n\n/**\n * Poll the page over the shell's next frames until a lookup yields a value.\n * @param find - the lookup, run once per step.\n * @param steps - remaining frame budget.\n * @returns the first value found, or undefined once the budget is spent.\n */\nfunction until<T>(find: () => T | null | undefined, steps = REPLAY_STEPS): Promise<T | undefined> {\n const found = find()\n if (found !== undefined && found !== null) return Promise.resolve(found)\n if (steps <= 0) return Promise.resolve(undefined)\n return new Promise<void>((resolve) => { window.setTimeout(resolve, REPLAY_STEP_MS) })\n .then(() => until(find, steps - 1))\n}\n\n/**\n * Replay the user's own settings path, one shell frame at a time.\n * @param launcher - the settings seat's trigger.\n * @param label - the section's nav label in the active locale.\n */\nasync function replay(launcher: HTMLButtonElement, label: () => string): Promise<void> {\n launcher.click()\n // A launcher that opens a menu (an account row occupying settings.launcher)\n // reaches Settings through its first item; the shell's own trigger opens the\n // panel directly.\n if (launcher.getAttribute('aria-haspopup') === 'menu') {\n const item = await until(() => document.querySelector<HTMLButtonElement>(MENU_ITEM_SELECTOR))\n if (item === undefined) return\n item.click()\n }\n const panel = await until(() => document.querySelector('[role=\"dialog\"]'))\n if (panel !== undefined) pickSectionRow(panel, label)\n}\n\n/**\n * Open the settings panel on the usage section.\n *\n * The seat's store is the primary path: `openSection` opens the dialog on the\n * usage row in one call, with no dependence on which plugin occupies the\n * `settings.launcher` seat — an account row there turns a trigger click into a\n * menu, which is how this click used to land on the account menu instead of the\n * panel. Without such a store the card replays the user's own path: activate\n * the launcher (preferring the dialog trigger over a menu trigger), follow a\n * menu launcher's first settings item, then pick the nav row carrying the\n * section's label. Every step degrades silently — a missing surface leaves the\n * page untouched, and with the panel already open only the nav pick runs.\n * @param target - the section id, its localized label, and the seat's store.\n */\nexport function openUsageSettings(target: UsageSettingsTarget): void {\n const { id, label, store } = target\n if (store !== undefined && openThroughStore(store, id)) return\n // A panel that is already open must never be toggled shut by the launcher;\n // only the nav pick runs.\n const open = document.querySelector('[role=\"dialog\"]')\n if (open !== null) {\n pickSectionRow(open, label)\n return\n }\n const area = sidebarColumn()?.querySelector<HTMLElement>(SETTINGS_AREA_SELECTOR)\n const launcher = area?.querySelector<HTMLButtonElement>(DIALOG_TRIGGER_SELECTOR)\n ?? area?.querySelector<HTMLButtonElement>('button')\n if (launcher === undefined || launcher === null) return\n void replay(launcher, label)\n}\n\n/**\n * Mount the sidebar foot card directly above the Settings row.\n * @param props - the store/poll/settings/open inputs of the apply body.\n * @returns disposer removing the container and its observers.\n */\nexport function mountUsageFootCard(props: UsageFootCardProps): () => void {\n // DOM-level idempotency: whatever path mounted a card before this call (a\n // duplicated apply, an HMR re-injection), never mount a second one.\n if (typeof document !== 'undefined' && document.querySelector(FOOT_CARD_SELECTOR) !== null) {\n return () => {}\n }\n const container = document.createElement('div')\n container.setAttribute('data-dsh-usage-foot-card', '')\n const root: Root = createRoot(container)\n root.render(createElement(UsageFootCard, props))\n\n /** Keep the container directly above the Settings seat inside the foot area. */\n const place = (): void => {\n const foot = footArea()\n if (foot === undefined) return\n const settings = foot.querySelector<HTMLElement>(SETTINGS_AREA_SELECTOR)\n if (settings !== null) {\n if (container.nextElementSibling !== settings) foot.insertBefore(container, settings)\n return\n }\n // No Settings seat to anchor against (shell change): fall back to the tail.\n if (foot.lastElementChild !== container) foot.append(container)\n }\n place()\n const unsubscribeBody = subscribeBodyInvalidations(place)\n\n return () => {\n unsubscribeBody()\n root.unmount()\n container.remove()\n }\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/settings/settings-entry-form.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n// Generated by scripts/sync-shared.mjs from shared/client/settings/settings-entry-form.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * Family settings form bound to the profile entry id a Host actually serves.\n *\n * Under the 0.1.7 settings model a form is addressed by PROFILE ENTRY ID, while\n * a family card knows only its own settings namespace. The family binder\n * (`ctx.get('webUiSettings')`, published by dsh-web-settings) resolves one onto\n * the other and is the preferred transport; this module is the fallback for a\n * page that serves no binder — the group plugin is not installed, or its client\n * half has not applied yet (the aggregate mounts its children in order, and a\n * child still waiting on its own injects publishes nothing).\n *\n * The shared describe mirror is the only local evidence of which row id this\n * profile serves, but it answers asynchronously: at plugin activation it usually\n * holds nothing yet. A one-shot guess therefore cannot be right for every\n * deployment, and the form is bound once per session:\n *\n * - binding the bare namespace made every save answer `No configurable plugin\n * entry \"<namespace>\"` on an aggregate install (the namespace is not an entry\n * id there), which the card reported as \"the deployment did not accept these\n * values\";\n * - binding the aggregate row id would break a standalone install, whose row id\n * is the namespace or the package's own `ui-*` row.\n *\n * So the fallback starts on the most likely row and REBINDS the moment the\n * mirror names one of this package's rows. Until the mirror answers, the form\n * reports the binding it holds (usually `loading`), which the card renders as an\n * unavailable form rather than a doomed one.\n */\nimport type { ConfigForm, ConfigFormSnapshot, ConfigForms } from '@deepseek-ai/dsh-client-ui-settings/client'\n\n/** Options of {@link createServedEntryForm}. */\nexport interface ServedEntryFormOptions<T> {\n /** The shared configuration forms service (`ctx.configForms`). */\n forms: ConfigForms\n /**\n * Profile entry ids this package's rows carry, most likely first: the\n * aggregate's generated row, the package's own standalone row, then the bare\n * namespace. The first is the fallback while the mirror has no answer; the\n * last is the answer when the mirror serves none of them.\n */\n entryIds: readonly string[]\n}\n\n/** The snapshot a form reports before the Host has answered with this entry. */\nfunction pendingSnapshot<T>(): ConfigFormSnapshot<T> {\n return {\n status: 'loading',\n value: undefined,\n base: undefined,\n user: undefined,\n revision: undefined,\n writable: false,\n }\n}\n\n/**\n * Create a settings form bound to the profile entry id this Host serves, and\n * rebound whenever the shared describe mirror names a different one of this\n * package's rows.\n * @param options - the shared forms service and this package's candidate row ids.\n * @returns a form delegating to the currently resolved entry's own form.\n */\nexport function createServedEntryForm<T>(options: ServedEntryFormOptions<T>): ConfigForm<T> {\n const { forms, entryIds } = options\n const fallbackId = entryIds[0]\n const namespaceId = entryIds[entryIds.length - 1]\n const listeners = new Set<() => void>()\n let boundId: string | undefined\n let bound: ConfigForm<T> | undefined\n let offBound: (() => void) | undefined\n let snapshot: ConfigFormSnapshot<T> = pendingSnapshot<T>()\n\n /** Republish: the delegated snapshot when one is bound, the pending one otherwise. */\n const publish = (): void => {\n if (bound !== undefined) snapshot = bound.getSnapshot()\n for (const listener of [...listeners]) listener()\n }\n\n /**\n * The entry id the mirror currently justifies. An unanswered or empty mirror\n * is not evidence of absence, so it keeps the first candidate; a mirror that\n * answers without any of this package's rows leaves the namespace itself.\n * @returns the entry id to bind.\n */\n const resolve = (): string => {\n let served: readonly string[] | undefined\n try {\n served = forms.describe().getSnapshot().view?.namespaces.map(row => row.ns)\n } catch {\n // A mirror that refuses the read is unanswered too, not absent.\n served = undefined\n }\n if (served === undefined || served.length === 0) return fallbackId\n return entryIds.find(id => served.includes(id)) ?? namespaceId\n }\n\n /** Bind (or rebind) the resolved entry's form; a no-op while it is unchanged. */\n const bind = (): void => {\n const target = resolve()\n if (target === boundId) return\n offBound?.()\n offBound = undefined\n let form: ConfigForm<T>\n try {\n form = forms.get<T>(target)\n } catch {\n // A service that refuses the id stays unbound; the next mirror answer\n // retries rather than pinning a wrong entry for the session.\n boundId = undefined\n return\n }\n boundId = target\n bound = form\n offBound = form.subscribe(() => { publish() })\n publish()\n }\n\n // The mirror subscription lives for the page: the card owns its form for the\n // session, and the ConfigForm contract carries no disposer to hang it on. The\n // callback is cheap (a resolve plus a no-op while the id is unchanged). A\n // mirror without a subscription seat keeps the initial binding.\n try {\n forms.describe().subscribe(() => { bind() })\n } catch {\n // A describe face that refuses the subscription: the initial binding stands.\n }\n bind()\n\n return {\n getSnapshot: () => snapshot,\n subscribe: (listener) => {\n listeners.add(listener)\n return () => { listeners.delete(listener) }\n },\n set: (field, value) => bound?.set(field, value) ?? Promise.resolve(false),\n unset: (field) => bound?.unset(field) ?? Promise.resolve(false),\n mutate: (ops, expectedRevision) => bound?.mutate(ops, expectedRevision) ?? Promise.resolve(false),\n }\n}\n","/**\n * dsh-usage browser half — seats the first-level 使用统计 settings section\n * (below the Workshop entry) plus the compact usage glance card below the\n * sidebar's Settings row. The section polls the host overview only while it\n * is open; the foot card runs its own relaxed loop because the sidebar foot\n * is permanently mounted. All provider probing and credential handling\n * happens in the host half; this bundle only renders the overview document.\n * @module @linxin666/dsh-usage/client\n */\n\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type { ConfigForm } from '@deepseek-ai/dsh-client-ui-settings/client'\n// Type-only: pulls the locale plugin's Context merge (ctx.locale).\nimport type {} from '@deepseek-ai/dsh-client-locale/client'\n// Type-only: pulls the shared-forms Context merge (ctx.configForms).\nimport type {} from '@deepseek-ai/dsh-client-ui-settings/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\n// Type-only: pulls the ctx.slots merge (the renderer owns the slot registry since 0.1.2).\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport { createUsageStore, type UsageStoreInstance } from './usage-store.ts'\nimport { UsageSectionCard, type UsageSectionFace, type UsageSettings } from './UsageSectionCard.tsx'\nimport { mountUsageFootCard, openUsageSettings, settingsShellStore } from './foot-card-mount.tsx'\nimport { NS, en, zh, t } from './locales.ts'\nimport { createServedEntryForm } from './settings-entry-form.ts'\nimport type { UsageDayResponse, UsageDayView, UsageOverviewView } from '../core/types.ts'\n\n/** The host usage API as the browser sees it (same-origin JSON endpoints). */\ninterface UsageHttpApi {\n overview(): Promise<UsageOverviewView>\n /** One retained local day (YYYY-MM-DD), the day pickers' detail fetch. */\n day(date: string): Promise<UsageDayView>\n refresh(): Promise<UsageOverviewView>\n}\n\n/** Hard ceiling for one usage API call; a stalled host must not pile up requests. */\nconst USAGE_FETCH_TIMEOUT_MS = 20_000\n\nasync function usageFetch<T>(path: string, method: 'GET' | 'POST'): Promise<T> {\n const response = await fetch(path, {\n ...(method === 'POST' ? { method: 'POST' } : {}),\n signal: AbortSignal.timeout(USAGE_FETCH_TIMEOUT_MS),\n })\n if (!response.ok) throw new Error('usage ' + path + ' failed: ' + response.status)\n return (await response.json()) as T\n}\n\nconst usageApi: UsageHttpApi = {\n // DOCUMENT-RELATIVE routes (issue #1707): the GUI is served with\n // `<base href=\"./\">`, so a sub-path deployment resolves these against its\n // entry directory instead of escaping to the origin root.\n overview: () => usageFetch('api/dsh-usage/overview', 'GET'),\n day: async (date: string) => (await usageFetch<UsageDayResponse>('api/dsh-usage/day?date=' + encodeURIComponent(date), 'GET')).day,\n refresh: () => usageFetch('api/dsh-usage/refresh', 'POST'),\n}\n\n/**\n * Settings namespace the section edits: the family identity of this plugin's\n * own settings form, and the row id a standalone bundle install carries.\n */\nconst USAGE_SETTINGS_NS = 'dsh-usage'\n\n/** Profile entry id the family aggregate's generated row carries. */\nconst AGGREGATE_ENTRY_ID = 'web-ui-usage'\n\n/** Profile entry ids this package's patch rows carry, most likely first. */\nconst USAGE_ENTRY_IDS: readonly string[] = [AGGREGATE_ENTRY_ID, 'usage', USAGE_SETTINGS_NS]\n\n/** First-level nav position: directly below the Workshop section (order 150). */\nconst SECTION_ORDER = 151\n\n/** The section's nav row id — what the shell's store selects when the card opens. */\nconst USAGE_SECTION_ID = 'dsh-usage'\n\n/** Required services. */\nexport const inject = ['slots', 'locale', 'connection', 'configForms', 'remote']\n\nexport type { UsageSectionProps, UsageSectionFace } from './UsageSectionCard.tsx'\nexport type { UsageUiState } from './usage-store.ts'\nexport type { UsageSettings }\n\n/**\n * One settings namespace a family card binds. The 0.1.7 client exports no spec\n * type (the form controller takes it privately), so the binder's input shape is\n * restated here.\n */\nexport interface UsageSettingsBindSpec<T> {\n /** Settings namespace registered by the owning host plugin. */\n namespace: string\n /** Narrow one wire section; undefined keeps the last accepted value. */\n decode?: (section: unknown) => T | undefined\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n /**\n * Optional family settings binder provided by dsh-web-settings; absent when\n * that group plugin is not installed, so callers fall back to the native\n * per-entry forms (`ctx.configForms`).\n */\n webUiSettings?: { bind<S>(spec: UsageSettingsBindSpec<S>): ConfigForm<S> }\n }\n}\n\n/**\n * Client plugin body: register dictionaries and seat the settings section.\n * The overview poll loop and the store live with the section component's\n * mount cycle, so no background traffic exists while the page is closed.\n * @param ctx - client root context.\n */\nexport function apply(ctx: ClientContext): void {\n ctx.effect(() => {\n try {\n return ctx.locale.register(NS, { zh, en })\n } catch {\n return () => {}\n }\n }, 'dsh-usage: dictionaries')\n\n // The family binder is what maps this namespace onto the row's profile entry\n // id and hands back the native form. Without the group plugin the shared forms\n // service is addressed on the entry id the describe mirror justifies, rebound\n // as soon as the mirror answers: the namespace itself is only an entry id on a\n // standalone install, so binding it on the aggregate left the form unavailable\n // and the row's controls disabled.\n const binder = ctx.get('webUiSettings')\n const settingsForm = binder !== undefined\n ? binder.bind<UsageSettings>({ namespace: USAGE_SETTINGS_NS })\n : createServedEntryForm<UsageSettings>({ forms: ctx.configForms, entryIds: USAGE_ENTRY_IDS })\n\n // One store instance per apply body; the section mounts and unmounts with\n // the settings page, and the store survives between visits so the last\n // overview renders instantly on reopen.\n const store: UsageStoreInstance = createUsageStore().create()\n\n let pollSeq = 0\n const poll = (): void => {\n const seq = pollSeq + 1\n pollSeq = seq\n usageApi.overview().then((snapshot) => {\n if (seq !== pollSeq) return\n store.actions.setSnapshot(snapshot)\n }, (error: unknown) => {\n if (seq !== pollSeq) return\n // Surface the transport's own message: a 404 here means the host has no\n // /api/dsh-usage/overview route (plugin disabled), which the panel must be\n // able to tell apart from a genuine failure.\n store.actions.setState('error', error instanceof Error ? error.message : String(error))\n })\n }\n // The refresh response is authoritative: it reflects the completed probe\n // cycle, so it applies even when a faster section poll already bumped the\n // sequence past it (the poll's pre-cycle snapshot is the stale one).\n const refresh = (): void => {\n const seq = pollSeq + 1\n pollSeq = seq\n usageApi.refresh().then((snapshot) => {\n pollSeq = seq\n store.actions.setSnapshot(snapshot)\n }, (error: unknown) => {\n if (seq !== pollSeq) return\n store.actions.setState('error', error instanceof Error ? error.message : String(error))\n })\n }\n\n // The day pickers fetch their own day: the overview carries today (always\n // live) plus the list of recorded days, and one selected day is a single\n // small local request the 10 s poll has no reason to repeat.\n const loadDay = (date: string): Promise<UsageDayView> => usageApi.day(date)\n\n const face = (): UsageSectionFace => ({ store, poll, refresh, loadDay, settings: settingsForm })\n\n // Sidebar foot card: the compact usage glance seated below the shell's\n // Settings row. It shares the section's store and poll path (the sequence\n // guard absorbs interleaved calls), runs its own relaxed poll loop, and\n // opens the settings panel on the usage section when clicked.\n const disposeFootCard = mountUsageFootCard({\n store,\n poll,\n settings: settingsForm,\n onOpen: () => {\n openUsageSettings({\n id: USAGE_SECTION_ID,\n label: () => t('usage.title'),\n store: settingsShellStore(ctx.slots),\n })\n },\n locale: ctx.locale,\n })\n ctx.effect(() => () => {\n try {\n disposeFootCard()\n } catch {\n // Card container already gone (teardown race).\n }\n }, 'dsh-usage: sidebar foot card')\n\n ctx.slots.inject('settings.section', () => {\n try {\n const unregister = ctx.slots.register({\n name: 'settings.section',\n id: USAGE_SECTION_ID,\n order: SECTION_ORDER,\n label: () => ctx.locale.bind(NS)('usage.title'),\n locale: NS,\n inject: face,\n }, UsageSectionCard)\n return () => {\n unregister()\n }\n } catch {\n return () => {}\n }\n })\n}\n"],"mappings":"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S,eAAe,SAAS,QAAQ,MAAM;EACxD;;;;;;;;;;;;;;;;;;;;;;;;;ECrhBA,MAAa,0BAAuE;GAClF,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAC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"}
1
+ {"version":3,"file":"client.js","names":["styles","Children","css","css","css","styles","styles","balanceLine","cardCss","styles"],"sources":["../../../packages/dsh-usage/src/client/usage-store.ts","../../../packages/dsh-usage/src/client/locales.ts","../../../packages/dsh-usage/src/client/PeakBadge.tsx","../../../packages/dsh-usage/src/client/SegmentGroup.tsx","../../../packages/dsh-usage/src/client/RangeBubble.tsx","../../../packages/dsh-usage/src/client/PluginSettingsCard.tsx","../../../packages/dsh-usage/src/client/settings-form.ts","../../../packages/dsh-usage/src/client/usage-settings-card.ts","../../../packages/dsh-usage/src/client/UsagePage.tsx","../../../packages/dsh-usage/src/core/adapters.ts","../../../packages/dsh-usage/src/core/holidays.ts","../../../packages/dsh-usage/src/core/pricing.ts","../../../packages/dsh-usage/src/core/ledger.ts","../../../packages/dsh-usage/src/client/voucher-art.generated.ts","../../../packages/dsh-usage/src/client/voucher.ts","../../../packages/dsh-usage/src/core/spend.ts","../../../packages/dsh-usage/src/client/UsageSectionCard.tsx","../../../packages/dsh-usage/src/client/body-mutations.ts","../../../packages/dsh-usage/src/client/UsageFootCard.tsx","../../../packages/dsh-usage/src/client/foot-card-mount.tsx","../../../packages/dsh-usage/src/client/web-extension-page.ts","../../../packages/dsh-usage/src/client/section-integration.ts","../../../packages/dsh-usage/src/client/settings-entry-form.ts","../../../packages/dsh-usage/src/client/index.ts"],"sourcesContent":["/**\n * Browser-side usage store: the overview snapshot polled from the host plus\n * the fetch lifecycle. Section-local: the store lives while the settings\n * section is mounted, so polling only runs while the page is open.\n * @module @linxin666/dsh-usage/client/usage-store\n */\n\nimport { defineStore } from '@deepseek-ai/dsh-client-store'\nimport type { EngineStoreHandle, EngineStoreInstance } from '@deepseek-ai/dsh-client-store'\nimport type { UsageOverviewView } from '../core/types.ts'\n\n/** Section UI state as consumers see it. */\nexport interface UsageUiState {\n /** Latest host overview; null before the first successful fetch. */\n snapshot: UsageOverviewView | null\n /** Fetch lifecycle. */\n status: 'loading' | 'ready' | 'error'\n /** Transport error message, when any. */\n error: string | null\n}\n\n/** Store write set. */\nexport type UsageUiActions = {\n /** Replace the overview (poll result). */\n setSnapshot: (draft: UsageUiState, snapshot: UsageOverviewView) => void\n /** Mark the fetch lifecycle. */\n setState: (draft: UsageUiState, status: UsageUiState['status'], error: string | null) => void\n}\n\n/** Create the usage store handle (apply world only; never module-level). */\nexport function createUsageStore(): EngineStoreHandle<UsageUiState, UsageUiActions> {\n return defineStore({\n init: (): UsageUiState => ({\n snapshot: null,\n status: 'loading',\n error: null,\n }),\n actions: {\n setSnapshot: (draft, snapshot) => {\n draft.snapshot = snapshot\n draft.status = 'ready'\n draft.error = null\n },\n setState: (draft, status, error) => {\n draft.status = status\n draft.error = error\n },\n },\n })\n}\n\nexport type UsageStoreInstance = EngineStoreInstance<UsageUiState, UsageUiActions>\n","/**\n * dsh-usage locale dictionaries (zh/en). The zh dictionary is the key source;\n * `en` mirrors its full key set (packages/AGENTS.md bilingual discipline).\n * @module @linxin666/dsh-usage/client/locales\n */\n\n/** Dictionary namespace this package registers. */\nexport const NS = 'dsh-web-ui-usage'\n\n/** Chinese copy. */\nexport const zh = {\n 'usage.title': '使用统计',\n 'usage.tab.usage': '用量',\n 'usage.tab.plans': '个人套餐',\n 'usage.tab.bank': 'Token 银行',\n 'usage.refresh': '刷新',\n 'usage.refreshing': '刷新中…',\n 'usage.updated': '更新于 {time}',\n 'usage.loading': '正在读取用量…',\n 'usage.error': '加载失败:{error}',\n 'usage.disabled': '已停用,打开开关继续统计。',\n 'usage.current': '当前',\n 'usage.today': '今日用量',\n 'usage.today.cost': '今日消费(估算)',\n 'usage.day.label': '查看日期',\n 'usage.day.today': '今日',\n 'usage.day.title': '{date} 用量',\n 'usage.day.cost': '当日消费(估算)',\n 'usage.day.empty': '该日没有用量记录',\n 'usage.day.loading': '正在加载该日用量…',\n 'usage.day.error': '该日用量加载失败:{error}',\n 'usage.peak.on': 'DeepSeek 高峰时段:计价 ×2,{time} 结束',\n 'usage.peak.off': 'DeepSeek 空闲时段:计价为高峰一半,{time} 进入高峰',\n 'usage.peak.tag.on': '高峰',\n 'usage.peak.tag.off': '空闲',\n 'usage.peak.ends': '{time} 结束',\n 'usage.peak.starts': '{time} 进入高峰',\n 'usage.calls': '{n} 次调用',\n 'usage.tokens.total': '总 tokens',\n 'usage.tokens.input': '输入',\n 'usage.tokens.output': '输出',\n 'usage.tokens.cacheRead': '缓存读',\n 'usage.tokens.cacheWrite': '缓存写',\n 'usage.trend': '近 30 天',\n 'usage.noData': '还没有用量,插件启用后开始统计。',\n 'usage.balance': '余额',\n 'usage.balance.unsupported': '不支持查询余额',\n 'usage.balance.noCredential': '未配置凭据',\n 'usage.balance.noneConfigured': '还没有配置提供方',\n 'usage.oauth': 'OAuth 凭据,不查余额',\n 'usage.plan.reset': '{date} 重置',\n 'usage.plan.noPlan': '没有读到套餐数据',\n 'usage.plan.noneConfigured': '没有配置套餐类提供方,例如 Kimi、GLM、OpenCode Go、MiniMax、Codex 订阅。',\n 'usage.plan.windows.5h': '5 小时',\n 'usage.plan.windows.week': '每周',\n 'usage.plan.windows.month': '每月',\n 'usage.provider.error': '查询失败:{error}',\n 'usage.errorListSeparator': ';',\n 'usage.config.title': '设置',\n 'usage.config.pollIntervalSec': '轮询间隔(秒)',\n 'usage.config.spendCurrency': '货币',\n 'usage.config.cnyPerUsd': '汇率',\n 'usage.bank.title': '鲸元券',\n 'usage.bank.hint': '每用掉 100 万 tokens 铸造 1 鲸元,可以保存或分享这张票券。',\n 'usage.bank.noUsage': '暂无用量数据',\n 'usage.bank.minted': '累计铸造 {minted} 鲸元({tokens} tokens)',\n 'usage.bank.spend.observed': '官方余额实测花费 {cost}(自 {since} 起)',\n 'usage.bank.spend.estimated': '消费估算:约 {cost}',\n 'usage.bank.window': '统计窗口 {from} ~ {to}',\n 'usage.bank.windowAll': '全部保留期',\n 'usage.bank.save': '保存图片',\n 'usage.bank.share': '分享',\n 'usage.bank.drawError': '票券生成失败:{error}',\n 'usage.foot.cost': '今日消费',\n 'usage.foot.noData': '今日暂无用量',\n 'usage.foot.open': '打开使用统计设置',\n 'usage.foot.collapse': '收起用量卡片',\n 'usage.foot.expand': '展开用量卡片',\n 'usage.description': '各提供方的用量、余额与套餐额度。',\n 'usage.config.pollIntervalHint': '多久查一次余额与套餐。',\n 'usage.config.spendCurrencyHint': '消费金额用这种货币显示。',\n 'usage.config.cnyPerUsdHint': '1 美元折合多少人民币。',\n 'settings.collapse': '收起',\n 'settings.expand': '展开',\n 'settings.notExposed': '这个版本的 DSH 没有开放使用统计的设置。',\n 'settings.readOnly': '设置只读。',\n 'settings.saveFailed': '没有保存成功。',\n 'settings.inherit': '默认',\n 'settings.overridden': '已修改',\n 'settings.reset': '恢复默认',\n 'settings.invalidNumber': '填一个数字,留空用默认值。',\n}\n\n/** English mirror; every zh key present. */\nexport const en: Record<UsageKey, string> = {\n 'usage.title': 'Usage Statistics',\n 'usage.tab.usage': 'Usage',\n 'usage.tab.plans': 'Plans',\n 'usage.tab.bank': 'Token Bank',\n 'usage.refresh': 'Refresh',\n 'usage.refreshing': 'Refreshing…',\n 'usage.updated': 'Updated {time}',\n 'usage.loading': 'Reading usage…',\n 'usage.error': 'Failed to load: {error}',\n 'usage.disabled': 'Turned off; flip the switch to resume.',\n 'usage.current': 'Current',\n 'usage.today': 'Today',\n 'usage.today.cost': 'Today spend (estimated)',\n 'usage.day.label': 'Day',\n 'usage.day.today': 'Today',\n 'usage.day.title': 'Usage · {date}',\n 'usage.day.cost': 'Day spend (estimated)',\n 'usage.day.empty': 'No usage recorded on this day',\n 'usage.day.loading': 'Loading that day…',\n 'usage.day.error': 'Failed to load that day: {error}',\n 'usage.peak.on': 'DeepSeek peak hours: 2x pricing, ends {time}',\n 'usage.peak.off': 'DeepSeek off-peak: half of peak pricing, peak returns {time}',\n 'usage.peak.tag.on': 'Peak',\n 'usage.peak.tag.off': 'Off-peak',\n 'usage.peak.ends': 'ends {time}',\n 'usage.peak.starts': 'peak at {time}',\n 'usage.calls': '{n} calls',\n 'usage.tokens.total': 'Total tokens',\n 'usage.tokens.input': 'Input',\n 'usage.tokens.output': 'Output',\n 'usage.tokens.cacheRead': 'Cache read',\n 'usage.tokens.cacheWrite': 'Cache write',\n 'usage.trend': 'Last 30 days',\n 'usage.noData': 'No usage yet; counting starts once the plugin is on.',\n 'usage.balance': 'Balance',\n 'usage.balance.unsupported': 'No balance query',\n 'usage.balance.noCredential': 'No credential configured',\n 'usage.balance.noneConfigured': 'No providers configured',\n 'usage.oauth': 'OAuth credential, no balance query',\n 'usage.plan.reset': 'resets {date}',\n 'usage.plan.noPlan': 'No plan data',\n 'usage.plan.noneConfigured': 'No plan provider configured, such as Kimi, GLM, OpenCode Go, MiniMax or a Codex subscription.',\n 'usage.plan.windows.5h': '5 hours',\n 'usage.plan.windows.week': 'Weekly',\n 'usage.plan.windows.month': 'Monthly',\n 'usage.provider.error': 'Query failed: {error}',\n 'usage.errorListSeparator': '; ',\n 'usage.config.title': 'Settings',\n 'usage.config.pollIntervalSec': 'Poll interval (seconds)',\n 'usage.config.spendCurrency': 'Currency',\n 'usage.config.cnyPerUsd': 'Exchange rate',\n 'usage.bank.title': 'Whale-yuan voucher',\n 'usage.bank.hint': 'Every million tokens mints one whale yuan; save or share the note.',\n 'usage.bank.noUsage': 'No usage data yet',\n 'usage.bank.minted': 'Minted {minted} whale yuan ({tokens} tokens)',\n 'usage.bank.spend.observed': 'Spent {cost} observed on the official balance (watching since {since})',\n 'usage.bank.spend.estimated': 'Estimated spend: about {cost}',\n 'usage.bank.window': 'Window {from} - {to}',\n 'usage.bank.windowAll': 'All retained days',\n 'usage.bank.save': 'Save image',\n 'usage.bank.share': 'Share',\n 'usage.bank.drawError': 'Failed to render the voucher: {error}',\n 'usage.foot.cost': 'Today spend',\n 'usage.foot.noData': 'No usage yet today',\n 'usage.foot.open': 'Open usage statistics settings',\n 'usage.foot.collapse': 'Collapse the usage card',\n 'usage.foot.expand': 'Expand the usage card',\n 'usage.description': 'Usage, balances and plan quotas for each provider.',\n 'usage.config.pollIntervalHint': 'How often balances and plans are read.',\n 'usage.config.spendCurrencyHint': 'Spend figures show in this currency.',\n 'usage.config.cnyPerUsdHint': 'Yuan per US dollar.',\n 'settings.collapse': 'Collapse',\n 'settings.expand': 'Expand',\n 'settings.notExposed': 'This DSH version does not open the usage settings.',\n 'settings.readOnly': 'Settings are read-only.',\n 'settings.saveFailed': 'Not saved.',\n 'settings.inherit': 'Default',\n 'settings.overridden': 'Changed',\n 'settings.reset': 'Reset',\n 'settings.invalidNumber': 'Enter a number, or leave it empty for the default.',\n}\n\nexport type UsageKey = keyof typeof zh\n\n/**\n * Active dictionary, picked by the document language at call time. The\n * section resolves its copy the same tiny way the pet's DOM-injected surface\n * does (the settings section has no framework locale seat of its own).\n */\nexport function dictionary(): Record<UsageKey, string> {\n const lang = typeof document !== 'undefined' ? document.documentElement.lang : 'zh'\n return lang.toLowerCase().startsWith('en') ? en : zh\n}\n\n/** Translate a key with optional `{name}` template params; missing keys degrade to the key. */\nexport function t(key: string, params?: Record<string, unknown>): string {\n let text: string = (dictionary() as Record<string, string>)[key] ?? key\n if (params !== undefined) {\n for (const [name, value] of Object.entries(params)) {\n text = text.replaceAll(`{${name}}`, String(value))\n }\n }\n return text\n}\n\ndeclare module '@deepseek-ai/dsh-client-ui-slots' {\n interface LocaleNamespaceMap {\n /** dsh-usage UI copy. */\n 'dsh-web-ui-usage': UsageKey\n }\n}\n","/**\n * DeepSeek pricing-clock marker, shared by the usage panel's peak line and the\n * sidebar foot card: a filled dot plus the period word, red while the peak\n * window bills double and green while off-peak bills half. The word always\n * rides with the colour (colour alone is not a signal), and the priced\n * sentence moves to the title so a tight surface stays one short token.\n * @module @linxin666/dsh-usage/client/PeakBadge\n */\n\nimport type { ReactNode } from 'react'\nimport { t } from './locales.ts'\nimport styles from './usage.module.css'\n\n/** Props: where the clock stands and how much copy the surface can hold. */\nexport interface PeakBadgeProps {\n /** Whether the published DeepSeek peak window is in force now. */\n peak: boolean\n /** End of the current period (the peak close), or the next peak open when off-peak. */\n boundaryMs: number\n /** compact: dot plus the period word; full: the whole priced sentence. */\n variant: 'compact' | 'full'\n}\n\n/** HH:MM of one instant; an unparsable instant drops the time. */\nexport function formatClock(ms: number): string {\n try {\n return new Date(ms).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })\n } catch {\n return ''\n }\n}\n\n/** The peak/off-peak marker itself; nothing renders outside the DeepSeek family. */\nexport function PeakBadge(props: PeakBadgeProps): ReactNode {\n const { peak, boundaryMs, variant } = props\n const sentence = t(peak ? 'usage.peak.on' : 'usage.peak.off', { time: formatClock(boundaryMs) })\n return (\n <span\n className={variant === 'full' ? styles.peakLine : styles.peakBadge}\n data-peak={peak ? 'on' : 'off'}\n data-dsh-part=\"peak-status\"\n title={sentence}\n >\n <span className={styles.peakDot} aria-hidden=\"true\" />\n {variant === 'full' ? sentence : t(peak ? 'usage.peak.tag.on' : 'usage.peak.tag.off')}\n </span>\n )\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/settings/SegmentGroup.tsx. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * The family's segmented control: a quiet track whose options share one\n * highlight that slides to the pressed option, instead of each option fading\n * its own background out and the next one in. The settings fields' small\n * choices and the Web Extensions TAB strip both render through it, so the two\n * read as one control.\n *\n * The caller builds the option buttons and marks the pressed one with\n * `data-active`; the group measures that button after every render and writes\n * its box as four custom properties, and the stylesheet draws the highlight\n * there (`.segmentGroup[data-pill]::before`). Attribute and first placement\n * land in the same task, so the highlight appears in place and only later\n * changes slide. A ResizeObserver re-measures when the group or an option\n * changes size: a longer locale, a font arriving, a container growing, a\n * strip wrapping onto a second line.\n */\n\nimport { Children, useLayoutEffect, useRef, type HTMLAttributes, type ReactNode } from 'react'\nimport css from './settings-card.module.css'\n\n/** The attribute marking a group whose highlight has been placed. */\nconst PILL_ATTR = 'data-pill'\n/** The pressed option, relative to the group. */\nconst ACTIVE_SELECTOR = ':scope > [data-active]'\nconst PILL_PROPERTIES = ['--segment-pill-x', '--segment-pill-y', '--segment-pill-w', '--segment-pill-h'] as const\n\n/** Props of {@link SegmentGroup}: the track's own attributes and the option buttons. */\nexport interface SegmentGroupProps extends HTMLAttributes<HTMLDivElement> {\n /** The option buttons; the pressed one carries `data-active`. */\n children: ReactNode\n}\n\n/**\n * Write the highlight's box from the pressed option's box, or take the\n * highlight off when nothing is pressed or the group has no layout yet.\n * The two boxes are read in viewport pixels and turned back into the group's\n * own CSS pixels, so a dialog that opens through a scale transform still\n * lands the highlight on its option.\n */\nfunction placePill(group: HTMLElement): void {\n const item = group.querySelector<HTMLElement>(ACTIVE_SELECTOR)\n const box = group.getBoundingClientRect()\n if (item === null || group.offsetWidth === 0 || box.width === 0) {\n group.removeAttribute(PILL_ATTR)\n for (const property of PILL_PROPERTIES) group.style.removeProperty(property)\n return\n }\n const scale = box.width / group.offsetWidth\n const itemBox = item.getBoundingClientRect()\n const values = [\n (itemBox.left - box.left) / scale - group.clientLeft,\n (itemBox.top - box.top) / scale - group.clientTop,\n itemBox.width / scale,\n itemBox.height / scale,\n ]\n values.forEach((value, index) => {\n group.style.setProperty(PILL_PROPERTIES[index], `${Math.round(value * 100) / 100}px`)\n })\n if (!group.hasAttribute(PILL_ATTR)) group.setAttribute(PILL_ATTR, '')\n}\n\n/**\n * Render a segmented track around the caller's option buttons.\n * @param props - the track's attributes (role, accessible name, key handler) and its options.\n * @returns the track.\n */\nexport function SegmentGroup(props: SegmentGroupProps): ReactNode {\n const { children, className, ...rest } = props\n const group = useRef<HTMLDivElement | null>(null)\n const count = Children.count(children)\n\n // Placed before the frame is painted, after every render: a press moves the\n // pressed mark and the highlight follows it in the same frame.\n useLayoutEffect(() => {\n if (group.current !== null) placePill(group.current)\n })\n\n useLayoutEffect(() => {\n const element = group.current\n if (element === null || typeof ResizeObserver === 'undefined') return undefined\n const observer = new ResizeObserver(() => { placePill(element) })\n observer.observe(element)\n for (const item of Array.from(element.children)) observer.observe(item)\n return () => { observer.disconnect() }\n }, [count])\n\n return (\n <div {...rest} ref={group} className={className === undefined ? css.segmentGroup : `${css.segmentGroup} ${className}`}>\n {children}\n </div>\n )\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/settings/RangeBubble.tsx. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * Coarse adjustment for a bounded number: resting the pointer on the control\n * (or moving focus into it) raises a small bubble holding a slider across the\n * field's whole range, so a large change is one drag instead of many presses\n * or a retyped value. The control itself stays the precise entry.\n *\n * The bubble belongs to the anchor's subtree, so moving from the control onto\n * the bubble never counts as leaving. It opens after a short rest and closes a\n * moment after the pointer and focus have both gone, so crossing the control\n * on the way elsewhere does not flash it. While a drag is in progress the\n * bubble stays put even if the pointer strays off it.\n *\n * Dragging reports each value through `onInput`, so the field shows it live;\n * releasing the thumb, or a key press on it, reports `onCommit` once. The\n * bubble opens on the side of the control that has room inside the nearest\n * scrolling ancestor, so a row near the top of a settings page does not hang\n * its bubble under the page edge.\n */\n\nimport { useEffect, useRef, useState, type ChangeEvent, type CSSProperties, type KeyboardEvent, type ReactNode } from 'react'\nimport css from './settings-card.module.css'\n\n/** Rest on the control before the bubble opens. */\nconst OPEN_DELAY_MS = 220\n/** Grace after pointer and focus have left before the bubble closes. */\nconst CLOSE_DELAY_MS = 200\n/** Room the bubble needs between the control and the scroller's edge. */\nconst BUBBLE_ROOM_PX = 64\n\n/** Props of {@link RangeBubble}. */\nexport interface RangeBubbleProps {\n /** Lowest value the slider reaches. */\n min: number\n /** Highest value the slider reaches. */\n max: number\n /** Slider granularity. */\n step: number\n /** Current value; a value outside the range parks the thumb at the nearer end. */\n value: number\n /** Accessible name of the slider. */\n label: string\n /** Disables the bubble along with the control. */\n disabled?: boolean\n /** Each value while the thumb moves. */\n onInput: (value: number) => void\n /** The value the thumb was released on, once per drag or key press. */\n onCommit: (value: number) => void\n /** The precise control the bubble hangs off. */\n children: ReactNode\n}\n\n/** The nearest ancestor that scrolls vertically, or the viewport's root. */\nfunction scroller(node: HTMLElement): HTMLElement {\n for (let parent = node.parentElement; parent !== null; parent = parent.parentElement) {\n const overflow = getComputedStyle(parent).overflowY\n if (overflow === 'auto' || overflow === 'scroll') return parent\n }\n return node.ownerDocument.documentElement\n}\n\n/**\n * Render the control with its coarse-adjustment bubble.\n * @param props - the range, the value and the two report callbacks.\n * @returns the anchor holding the control and the bubble.\n */\nexport function RangeBubble(props: RangeBubbleProps): ReactNode {\n const { min, max, step, disabled = false } = props\n const [open, setOpen] = useState(false)\n const [side, setSide] = useState<'above' | 'below'>('above')\n const [live, setLive] = useState<number | null>(null)\n const anchorRef = useRef<HTMLDivElement | null>(null)\n const timer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined)\n const hovered = useRef(false)\n const focused = useRef(false)\n const dragging = useRef(false)\n\n useEffect(() => () => { clearTimeout(timer.current) }, [])\n useEffect(() => {\n if (disabled) {\n clearTimeout(timer.current)\n setOpen(false)\n }\n }, [disabled])\n\n const show = (): void => {\n const anchor = anchorRef.current\n if (anchor !== null) {\n const room = anchor.getBoundingClientRect().top - scroller(anchor).getBoundingClientRect().top\n setSide(room >= BUBBLE_ROOM_PX ? 'above' : 'below')\n }\n setOpen(true)\n }\n const schedule = (): void => {\n clearTimeout(timer.current)\n if (disabled) return\n if (hovered.current || focused.current || dragging.current) {\n if (!open) timer.current = setTimeout(show, focused.current ? 0 : OPEN_DELAY_MS)\n return\n }\n timer.current = setTimeout(() => { setOpen(false) }, CLOSE_DELAY_MS)\n }\n\n const commit = (value: number): void => {\n dragging.current = false\n setLive(null)\n props.onCommit(value)\n schedule()\n }\n const onChange = (event: ChangeEvent<HTMLInputElement>): void => {\n const value = Number(event.target.value)\n setLive(value)\n props.onInput(value)\n }\n const onKeyUp = (event: KeyboardEvent<HTMLInputElement>): void => {\n if (live !== null) commit(live)\n if (event.key === 'Escape') {\n clearTimeout(timer.current)\n setOpen(false)\n }\n }\n const shown = live ?? Math.min(max, Math.max(min, props.value))\n\n return (\n <div\n ref={anchorRef}\n className={css.rangeAnchor}\n onPointerEnter={() => { hovered.current = true; schedule() }}\n onPointerLeave={() => { hovered.current = false; schedule() }}\n onFocus={() => { focused.current = true; schedule() }}\n onBlur={(event) => {\n if (event.currentTarget.contains(event.relatedTarget as Node | null)) return\n focused.current = false\n if (live !== null) commit(live)\n else schedule()\n }}\n >\n {props.children}\n <div className={css.rangeBubble} data-open={open ? '' : undefined} data-side={side}>\n <input\n type=\"range\"\n className={css.rangeSlider}\n min={min}\n max={max}\n step={step}\n value={shown}\n aria-label={props.label}\n tabIndex={open ? 0 : -1}\n disabled={disabled}\n style={{ '--range-fill': `${((shown - min) / (max - min)) * 100}%` } as CSSProperties}\n onPointerDown={() => { dragging.current = true }}\n onPointerUp={(event) => { commit(Number(event.currentTarget.value)) }}\n onPointerCancel={(event) => { commit(Number(event.currentTarget.value)) }}\n onChange={onChange}\n onKeyUp={onKeyUp}\n />\n <span className={css.rangeEnds} aria-hidden=\"true\">\n <span>{min}</span>\n <span>{max}</span>\n </span>\n </div>\n </div>\n )\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/settings/PluginSettingsCard.tsx. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * Family-shared chrome for plugin settings cards: a disclosure header naming\n * the plugin and what its settings govern, the controls inside, and the line\n * that reports a refused write. A pick is written the moment it is made and a\n * typed value after a pause, so the card has no save button and nothing waits\n * on the reader. Renders nothing while the namespace is unavailable — a\n * deployment that does not compose the owning plugin should show no trace of\n * it. Inlined into each consumer's client bundle; mirrors the official\n * ui-plugin-config PluginCard in a self-contained slice.\n *\n * Every field inside the body is one settings row: the label and its hint on\n * the left, the control on the right, a hairline between two rows; a narrow\n * card stacks the control under the text (settings-card.module.css).\n */\n\nimport { createContext, useCallback, useContext, useEffect, useLayoutEffect, useRef, useState, type KeyboardEvent, type ReactNode } from 'react'\nimport type { CardShell } from './settings-form.ts'\nimport { RangeBubble } from './RangeBubble.tsx'\nimport { SegmentGroup } from './SegmentGroup.tsx'\nimport css from './settings-card.module.css'\n\n/** Copy keys the card chrome itself reads; every consumer locale carries this shared vocabulary. */\nexport const CARD_COPY_KEYS = [\n 'settings.collapse',\n 'settings.expand',\n 'settings.notExposed',\n 'settings.readOnly',\n 'settings.saveFailed',\n] as const\n\n/**\n * What a text field inside a card reaches without its plugin wiring it: write\n * the pending draft now (Enter, leaving the field) or put it back (Escape).\n * Picks need neither; they are written the moment they are made.\n */\nconst CardApply = createContext<{ commit(): void, revert(): void } | null>(null)\n\n/** Copy key the card chrome itself reads. */\nexport type CardCopyKey = (typeof CARD_COPY_KEYS)[number]\n\n/** Key domain for the plugin's own copy (inferred per consumer). */\nexport type SettingsCardKey<TKey extends string = string> = TKey | CardCopyKey\n\n/** Card chrome shared by every plugin settings card. */\nexport interface PluginSettingsCardProps<TKey extends string = string> {\n /** Locale reader for this card's copy. */\n t: (key: SettingsCardKey<TKey>, params?: Record<string, string | number>) => string\n /** Locale key of the plugin's name. */\n titleKey: TKey\n /** Locale key of the line describing what this plugin's settings govern. */\n descriptionKey: TKey\n /** Optional rich header description rendered instead of the plain t(descriptionKey) text (the plain text stays as the tooltip). */\n descriptionNode?: ReactNode\n /**\n * Locale key of the full sentence behind a shortened description: when\n * present, the header's native `title` takes this text while the visible\n * line keeps `descriptionKey`/`descriptionNode`, so a compact card can\n * compress the sentence without keeping a second visible copy of it.\n * Defaults to the description key.\n */\n descriptionTitleKey?: TKey\n /**\n * Optional leading mark identifying the plugin. A card without one keeps the\n * plain official header shape, so the chrome stays a readable sibling of the\n * built-in PluginCard wherever a family plugin lands in the official bundle\n * seat.\n */\n icon?: ReactNode\n /** The card's form state: availability, writability, and how the last write went. */\n state: CardShell\n /** Write every pending draft now: a text field's Enter or blur. */\n onSave: () => void\n /** Drop every pending draft: a text field's Escape. */\n onDiscard: () => void\n /**\n * Id applied to the card's title element, so a header control (an immediate\n * toggle in `headerAction`) can name itself through `aria-labelledby`\n * instead of repeating the title as a string.\n */\n titleId?: string\n /**\n * Render the header only, with no body region. A card whose whole setting is\n * the header control (a switch whose explanation is the description) has no\n * controls to lay out below it, and an empty body would draw a divider line\n * with nothing under it.\n */\n headerOnly?: boolean\n /**\n * Render the controls expanded on arrival (still collapsible). Defaults to\n * true: promoted first-level sections show their settings immediately.\n */\n defaultOpen?: boolean\n /**\n * Render without the collapse affordance: a static header and an always\n * visible body. Used by first-level settings sections whose nav entry\n * already provides the selection.\n */\n alwaysOpen?: boolean\n /**\n * Hide the line under the body that reports a refused write: a card whose\n * body applies its own changes (an embedded external settings section)\n * reports its own failures.\n */\n hideFooter?: boolean\n /**\n * Optional control rendered at the header's trailing edge, before the\n * chevron. A card whose setting is one immediate flip (it\n * applies outside the card's form) puts its ToggleSwitch here, so the control\n * is reachable without opening the card and matches a plugin card's shape.\n */\n headerAction?: ReactNode\n /** Render children even when the settings namespace is not exposed by the host. */\n renderChildrenWhenNotExposed?: boolean\n /** Hide the 'not exposed' warning banner when the settings namespace is not exposed. */\n hideNotExposedNotice?: boolean\n /**\n * Compact chrome for a topic card rendered inside another card's body: a\n * smaller title, a tighter header and body inset, and a one-line description\n * whose full text stays on the header's own title. Defaults to the\n * first-level chrome, which is unchanged.\n */\n density?: 'nested'\n /** The plugin's controls. */\n children: ReactNode\n}\n\n/** Length of the body's disclosure motion; it matches `--settings-card-motion` on the card root. */\nconst BODY_MOTION_MS = 180\n\n/**\n * Lifecycle of one card body. `collapsed` is the mounted-but-closed frame the\n * enter leg starts from, `entering` and `closing` are the two moving legs, and\n * `shown` is the settled open body, which releases its clipping box.\n */\ntype BodyPhase = 'hidden' | 'collapsed' | 'entering' | 'shown' | 'closing'\n\n/**\n * Render one plugin settings card.\n * @param props - the plugin's copy keys, its form state, and its controls.\n * @returns the card, or nothing while the namespace is still loading.\n */\nexport function PluginSettingsCard<TKey extends string = string>(props: PluginSettingsCardProps<TKey>) {\n const [open, setOpen] = useState(props.defaultOpen ?? true)\n const { state, alwaysOpen } = props\n const expanded = alwaysOpen === true || open\n const [bodyPhase, setBodyPhase] = useState<BodyPhase>(expanded ? 'shown' : 'hidden')\n const bodyRef = useRef<HTMLDivElement | null>(null)\n // Enter and leave run the same pair: a body that should open is mounted\n // closed for one frame so its transition has a state to leave, and a closing\n // one stays mounted until its leg has run.\n useLayoutEffect(() => {\n if (expanded) {\n if (bodyPhase === 'hidden') setBodyPhase('collapsed')\n else if (bodyPhase === 'collapsed') {\n const node = bodyRef.current\n if (node !== null) void node.offsetHeight\n setBodyPhase('entering')\n } else if (bodyPhase === 'closing') setBodyPhase('entering')\n return\n }\n if (bodyPhase === 'collapsed') setBodyPhase('hidden')\n else if (bodyPhase === 'entering' || bodyPhase === 'shown') setBodyPhase('closing')\n }, [expanded, bodyPhase])\n useEffect(() => {\n if (bodyPhase !== 'entering' && bodyPhase !== 'closing') return\n const timer = setTimeout(() => {\n setBodyPhase(bodyPhase === 'entering' ? 'shown' : 'hidden')\n }, BODY_MOTION_MS)\n return () => { clearTimeout(timer) }\n }, [bodyPhase])\n if (!state.available) return null\n const title = props.t(props.titleKey)\n const description = props.t(props.descriptionKey)\n const descriptionTitle = props.descriptionTitleKey === undefined ? description : props.t(props.descriptionTitleKey)\n const baseClass = expanded ? `${css.cardOpen} ${css.card}` : css.card\n const cardClass = props.density === 'nested' ? `${baseClass} ${css.cardNested}` : baseClass\n /** The body region both legs share; a hidden phase renders nothing at all. */\n const bodyRegion = (content: ReactNode) => bodyPhase === 'hidden'\n ? null\n : (\n <div className={css.disclosure} data-state={bodyPhase} ref={bodyRef}>\n <div className={css.body}>{content}</div>\n </div>\n )\n // With alwaysOpen the nav entry already provides the selection, so the\n // header is a static title row instead of a disclosure button.\n const header = alwaysOpen === true\n ? (\n <div className={css.headerStatic}>\n {props.icon !== undefined ? <span className={css.mark} aria-hidden=\"true\">{props.icon}</span> : null}\n <span className={css.headText}>\n <span className={css.name} id={props.titleId} title={title}>{title}</span>\n <span className={css.description} title={descriptionTitle}>{props.descriptionNode ?? description}</span>\n </span>\n {props.headerAction !== undefined ? <span className={css.headerAction}>{props.headerAction}</span> : null}\n </div>\n )\n : (\n <button\n type=\"button\"\n className={css.header}\n aria-expanded={open}\n aria-label={`${props.t(open ? 'settings.collapse' : 'settings.expand')}: ${title}`}\n onClick={() => { setOpen(!open) }}\n >\n {props.icon !== undefined ? <span className={css.mark} aria-hidden=\"true\">{props.icon}</span> : null}\n <span className={css.headText}>\n <span className={css.name} id={props.titleId} title={title}>{title}</span>\n <span className={css.description} title={descriptionTitle}>{props.descriptionNode ?? description}</span>\n </span>\n {props.headerAction !== undefined ? <span className={css.headerAction}>{props.headerAction}</span> : null}\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={open ? `${css.chevron} ${css.chevronOpen}` : css.chevron}\n >\n <path\n d=\"M11.8486 5.5L11.4238 5.92383L8.69727 8.65137C8.44157 8.90706 8.21562 9.13382 8.01172 9.29785C7.79912 9.46883 7.55595 9.61756 7.25 9.66602C7.08435 9.69222 6.91565 9.69222 6.75 9.66602C6.44405 9.61756 6.20088 9.46883 5.98828 9.29785C5.78438 9.13382 5.55843 8.90706 5.30273 8.65137L2.57617 5.92383L2.15137 5.5L3 4.65137L3.42383 5.07617L6.15137 7.80273C6.42595 8.07732 6.59876 8.24849 6.74023 8.3623C6.87291 8.46904 6.92272 8.47813 6.9375 8.48047C6.97895 8.48703 7.02105 8.48703 7.0625 8.48047C7.07728 8.47813 7.12709 8.46904 7.25977 8.3623C7.40124 8.24849 7.57405 8.07732 7.84863 7.80273L10.5762 5.07617L11 4.65137L11.8486 5.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n )\n // The namespace exists but the Host does not serve it to this client (the\n // official settings allowlist omits third-party namespaces): show a card\n // that explains the gap instead of vanishing, so a missing card never\n // reads as a missing plugin.\n if (!state.exposed && props.renderChildrenWhenNotExposed !== true) {\n const showNotice = props.hideNotExposedNotice !== true\n return (\n <li className={cardClass}>\n {header}\n {bodyRegion(showNotice ? <p className={css.notExposed} role=\"status\">{props.t('settings.notExposed')}</p> : null)}\n </li>\n )\n }\n // A header-only card has no body region at all: the divider would otherwise\n // sit above an empty box.\n const bodyVisible = props.headerOnly !== true\n return (\n <li className={cardClass}>\n {header}\n {bodyVisible\n ? bodyRegion(\n <>\n {!state.writable ? <p className={css.readOnly} role=\"status\">{props.t('settings.readOnly')}</p> : null}\n <CardApply.Provider value={{ commit: props.onSave, revert: props.onDiscard }}>\n {props.children}\n </CardApply.Provider>\n {props.hideFooter !== true && state.failed\n ? (\n <p className={css.failed} role=\"status\">\n {props.t('settings.saveFailed')}{state.failedReason ? ' - ' + state.failedReason : ''}\n </p>\n )\n : null}\n </>,\n )\n : null}\n </li>\n )\n}\n\n/** Props every field control needs regardless of its value type. */\nexport interface FieldProps {\n /** Stable id associating the label with its control. */\n id: string\n /** Visible label. */\n label: string\n /** One-line explanation rendered under the control. */\n hint: string\n /**\n * Full sentence behind the visible hint, exposed as the paragraph's native\n * `title` so a card can shorten the line without losing the text. Omitted:\n * the paragraph carries no title attribute at all.\n */\n hintTitle?: string\n /** Draft text this control renders. */\n text: string\n /** True when the field holds a user-layer entry over the inherited value. */\n overridden: boolean\n /** True when the draft is not a value this field accepts. */\n invalid: boolean\n /** Copy for the overridden badge. */\n overriddenLabel: string\n /** Copy for the reset control. */\n resetLabel: string\n /** Copy shown in place of the hint while the draft is invalid. */\n invalidLabel: string\n /** Disables every control (read-only document, or an unavailable namespace). */\n disabled: boolean\n /** Take new draft text; the card writes it as the field's entry rule says. */\n onEdit: (text: string) => void\n /** Clear the field at once so it re-inherits the composition layer. */\n onReset: () => void\n}\n\n/**\n * A typed value field. Its draft is written after a pause in typing, at once on\n * Enter or when focus leaves, and Escape puts the stored value back. `numeric`\n * only hints the keypad: which drafts a field accepts is decided by its spec.\n * A field given a `range` also offers the coarse slider bubble: dragging fills\n * the draft live and releasing writes it.\n */\nexport function ValueField(props: FieldProps & {\n /** Hints a numeric keypad without narrowing what the control accepts. */\n numeric?: boolean\n /** Placeholder shown while the draft is empty. */\n placeholder?: string\n /** Bounds of a numeric field, for the coarse slider; the spec still judges every draft. */\n range?: { min: number, max: number, step: number }\n}) {\n const apply = useContext(CardApply)\n const onKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (apply === null || (event.key !== 'Enter' && event.key !== 'Escape')) return\n event.preventDefault()\n if (event.key === 'Enter') apply.commit()\n else apply.revert()\n event.currentTarget.blur()\n }\n const input = (\n <input\n id={props.id}\n className={props.invalid ? css.inputInvalid : css.input}\n type=\"text\"\n {...props.numeric === true ? { inputMode: 'numeric' as const } : {}}\n {...props.invalid ? { 'aria-invalid': true } : {}}\n value={props.text}\n placeholder={props.placeholder ?? ''}\n disabled={props.disabled}\n onChange={(event) => { props.onEdit(event.target.value) }}\n onKeyDown={onKeyDown}\n onBlur={() => { apply?.commit() }}\n />\n )\n const { range } = props\n const typed = Number(props.text)\n return (\n <div className={css.field}>\n <div className={css.head}>\n <label className={css.label} htmlFor={props.id}>{props.label}</label>\n {props.overridden\n ? (\n <span className={css.badges}>\n <span className={css.badge}>{props.overriddenLabel}</span>\n <button\n type=\"button\"\n className={css.reset}\n disabled={props.disabled}\n onClick={props.onReset}\n >\n {props.resetLabel}\n </button>\n </span>\n )\n : null}\n </div>\n {range === undefined\n ? input\n : (\n <RangeBubble\n min={range.min}\n max={range.max}\n step={range.step}\n value={props.text.trim() === '' || Number.isNaN(typed) ? range.min : typed}\n label={`${props.label} ${range.min}–${range.max}`}\n disabled={props.disabled}\n onInput={(value) => { props.onEdit(String(value)) }}\n onCommit={(value) => {\n props.onEdit(String(value))\n apply?.commit()\n }}\n >\n {input}\n </RangeBubble>\n )}\n <p className={props.invalid ? css.invalid : css.hint} title={props.hintTitle}>\n {props.invalid ? props.invalidLabel : props.hint}\n </p>\n </div>\n )\n}\n\nconst NON_SKIN_BODY_MARKERS = new Set(['dshSkinCenter', 'dshSidebarCollapsed'])\n// 检测使用使用皮肤,用了皮肤退回原生select样式,防止样式冲突。默认外观下使用优化后的select样式。\nfunction isSkinActive(): boolean {\n const datasetList = Object.keys(document.body.dataset)\n const isActive = datasetList.some(key => key.startsWith('dsh') && !NON_SKIN_BODY_MARKERS.has(key))\n return isActive\n}\n\ninterface SelectOption {\n value: string\n label: string\n}\n\nconst SELECT_CLOSE_MS = 100\n\n/**\n * The shared dual-mode select control. While an appearance skin is active it\n * renders the legacy native `<select>` untouched, so element-level skin\n * selectors keep working; under the default appearance it renders a\n * self-drawn `role=\"listbox\"` popup whose open/close is transition-animated.\n * Cards reach it through BooleanField/ChoiceField; editors outside a card\n * (the side-card prefs) bind it directly through onEdit.\n * 双模式下拉框:皮肤激活时用原生 select,默认外观用自绘动画弹层。\n */\nexport function SelectField(props: {\n id: string\n options: ReadonlyArray<SelectOption>\n value: string\n disabled: boolean\n invalid: boolean\n onEdit: (text: string) => void\n}) {\n const { id, options, value } = props\n const [open, setOpen] = useState(false)\n const [closing, setClosing] = useState(false)\n const [phase, setPhase] = useState<'initial' | 'open'>('initial')\n const [activeIndex, setActiveIndex] = useState(0)\n const closeTimer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined)\n const wrapRef = useRef<HTMLDivElement | null>(null)\n const popupRef = useRef<HTMLDivElement | null>(null)\n\n const currentIndex = () => {\n const index = options.findIndex(option => option.value === value)\n return index >= 0 ? index : 0\n }\n\n const close = useCallback(() => {\n if (closeTimer.current !== undefined) clearTimeout(closeTimer.current)\n setClosing(true)\n closeTimer.current = setTimeout(() => {\n setClosing(false)\n setOpen(false)\n }, SELECT_CLOSE_MS)\n }, [])\n\n const openPopup = () => {\n if (closeTimer.current !== undefined) clearTimeout(closeTimer.current)\n setActiveIndex(currentIndex())\n setPhase('initial')\n setClosing(false)\n setOpen(true)\n }\n\n const commit = (index: number) => {\n const option = options[index]\n if (option) props.onEdit(option.value)\n close()\n }\n\n const onTriggerClick = () => {\n if (props.disabled) return\n if (open && !closing) close()\n else openPopup()\n }\n\n const onKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n if (props.disabled) return\n const count = options.length\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowUp':\n case 'Enter':\n case ' ':\n event.preventDefault()\n if (!open) {\n openPopup()\n } else if (!closing) {\n if (event.key === 'ArrowDown') setActiveIndex(index => (index + 1) % count)\n else if (event.key === 'ArrowUp') setActiveIndex(index => (index - 1 + count) % count)\n else commit(activeIndex)\n }\n break\n case 'Escape':\n if (open) {\n event.preventDefault()\n event.stopPropagation()\n close()\n }\n break\n case 'Tab':\n if (open) close()\n break\n }\n }\n\n useEffect(() => () => {\n if (closeTimer.current !== undefined) clearTimeout(closeTimer.current)\n }, [])\n useLayoutEffect(() => {\n if (open && !closing && phase === 'initial') {\n void popupRef.current?.offsetHeight\n setPhase('open')\n }\n }, [open, closing, phase])\n\n useEffect(() => {\n if (!open) return\n const onPointerDown = (event: PointerEvent) => {\n const target = event.target\n if (target instanceof Node && !wrapRef.current?.contains(target)) close()\n }\n document.addEventListener('pointerdown', onPointerDown)\n return () => document.removeEventListener('pointerdown', onPointerDown)\n }, [open, close])\n\n useEffect(() => {\n if (props.disabled && open) close()\n }, [props.disabled, open, close])\n\n // 使用了皮肤则退回原生select样式防止样式冲突。\n if (isSkinActive()) {\n return (\n <select\n id={id}\n className={css.select}\n value={value}\n disabled={props.disabled}\n onChange={(event) => { props.onEdit(event.target.value) }}\n >\n {options.map(option => (\n <option key={option.value} value={option.value}>{option.label}</option>\n ))}\n </select>\n )\n }\n\n const label = options.find(option => option.value === value)?.label ?? ''\n const popupClass = closing\n ? `${css.selectPopup} ${css.selectPopupClose}`\n : phase === 'open'\n ? `${css.selectPopup} ${css.selectPopupOpen}`\n : css.selectPopup\n return (\n <div className={css.selectWrap} ref={wrapRef}>\n <button\n type=\"button\"\n id={id}\n className={`${css.select} ${css.selectButton}`}\n disabled={props.disabled}\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n aria-activedescendant={open ? `${id}-o${activeIndex}` : undefined}\n aria-invalid={props.invalid || undefined}\n onClick={onTriggerClick}\n onKeyDown={onKeyDown}\n >\n <span className={css.selectLabel}>{label}</span>\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 14 14\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={open ? `${css.selectChevron} ${css.selectChevronOpen}` : css.selectChevron}\n aria-hidden=\"true\"\n >\n <path\n d=\"M11.8486 5.5L11.4238 5.92383L8.69727 8.65137C8.44157 8.90706 8.21562 9.13382 8.01172 9.29785C7.79912 9.46883 7.55595 9.61756 7.25 9.66602C7.08435 9.69222 6.91565 9.69222 6.75 9.66602C6.44405 9.61756 6.20088 9.46883 5.98828 9.29785C5.78438 9.13382 5.55843 8.90706 5.30273 8.65137L2.57617 5.92383L2.15137 5.5L3 4.65137L3.42383 5.07617L6.15137 7.80273C6.42595 8.07732 6.59876 8.24849 6.74023 8.3623C6.87291 8.46904 6.92272 8.47813 6.9375 8.48047C6.97895 8.48703 7.02105 8.48703 7.0625 8.48047C7.07728 8.47813 7.12709 8.46904 7.25977 8.3623C7.40124 8.24849 7.57405 8.07732 7.84863 7.80273L10.5762 5.07617L11 4.65137L11.8486 5.5Z\"\n fill=\"currentColor\"\n />\n </svg>\n </button>\n {open\n ? (\n <div className={popupClass} role=\"listbox\" ref={popupRef}>\n {options.map((option, index) => (\n <div\n key={option.value}\n id={`${id}-o${index}`}\n role=\"option\"\n aria-selected={option.value === value}\n className={`${css.selectOption}${option.value === value ? ` ${css.selectOptionSelected}` : ''}${index === activeIndex && !closing ? ` ${css.selectOptionActive}` : ''}`}\n onClick={() => { commit(index) }}\n >\n {option.label}\n </div>\n ))}\n </div>\n )\n : null}\n </div>\n )\n}\n\n/**\n * A visible segmented group for a small set of mutually exclusive values.\n * Every option stays on screen, so inherit/on/off and short enum fields take\n * one click without opening a popup. The pressed option carries the group's\n * sliding highlight and `aria-pressed`; the group takes the field label as its\n * accessible name.\n */\nexport function SegmentField(props: {\n id: string\n label: string\n options: ReadonlyArray<SelectOption>\n value: string\n disabled: boolean\n invalid: boolean\n onEdit: (text: string) => void\n}) {\n return (\n <SegmentGroup\n id={props.id}\n role=\"group\"\n aria-label={props.label}\n aria-invalid={props.invalid || undefined}\n >\n {props.options.map((option, index) => {\n const active = option.value === props.value\n return (\n <button\n key={option.value}\n type=\"button\"\n className={css.segment}\n aria-pressed={active}\n disabled={props.disabled}\n data-active={active ? '' : undefined}\n data-segment-index={index}\n onClick={() => {\n if (!active) props.onEdit(option.value)\n }}\n >\n {option.label}\n </button>\n )\n })}\n </SegmentGroup>\n )\n}\n\n/** How a small single-choice field presents its options. */\nexport type FieldPresentation = 'select' | 'segment'\n\n/** A boolean field: 继承 / 开 / 关. */\nexport function BooleanField(props: FieldProps & {\n /** Copy for the inherit option. */\n inheritLabel: string\n /** Copy for the on option. */\n onLabel: string\n /** Copy for the off option. */\n offLabel: string\n /** Defaults to the visible segments: the three answers always fit on one row. */\n presentation?: FieldPresentation\n}) {\n const segmented = props.presentation !== 'select'\n return (\n <div className={css.field}>\n <div className={css.head}>\n {segmented\n ? <span className={css.label}>{props.label}</span>\n : <label className={css.label} htmlFor={props.id}>{props.label}</label>}\n {props.overridden\n ? (\n <span className={css.badges}>\n <span className={css.badge}>{props.overriddenLabel}</span>\n <button\n type=\"button\"\n className={css.reset}\n disabled={props.disabled}\n onClick={props.onReset}\n >\n {props.resetLabel}\n </button>\n </span>\n )\n : null}\n </div>\n {segmented\n ? (\n <SegmentField\n id={props.id}\n label={props.label}\n options={[\n { value: '', label: props.inheritLabel },\n { value: 'true', label: props.onLabel },\n { value: 'false', label: props.offLabel },\n ]}\n value={props.text}\n disabled={props.disabled}\n invalid={props.invalid}\n onEdit={props.onEdit}\n />\n )\n : (\n <SelectField\n id={props.id}\n options={[\n { value: '', label: props.inheritLabel },\n { value: 'true', label: props.onLabel },\n { value: 'false', label: props.offLabel },\n ]}\n value={props.text}\n disabled={props.disabled}\n invalid={props.invalid}\n onEdit={props.onEdit}\n />\n )}\n <p className={css.hint} title={props.hintTitle}>{props.hint}</p>\n </div>\n )\n}\n\n/** An enumerated field, selecting or segmenting its small choice set. */\nexport function ChoiceField(props: FieldProps & {\n /** Copy for the inherit option (draft text is the empty string). */\n inheritLabel: string\n /** Choices rendered in order; `value` is the draft/stored text. */\n choices: ReadonlyArray<{ value: string; label: string }>\n /**\n * Visible segmented options for a short fixed set; defaults to the compact\n * select, which also suits a list whose length follows the deployment.\n */\n presentation?: FieldPresentation\n}) {\n const segmented = props.presentation === 'segment'\n const options = [{ value: '', label: props.inheritLabel }, ...props.choices]\n return (\n <div className={css.field}>\n <div className={css.head}>\n {segmented\n ? <span className={css.label}>{props.label}</span>\n : <label className={css.label} htmlFor={props.id}>{props.label}</label>}\n {props.overridden\n ? (\n <span className={css.badges}>\n <span className={css.badge}>{props.overriddenLabel}</span>\n <button\n type=\"button\"\n className={css.reset}\n disabled={props.disabled}\n onClick={props.onReset}\n >\n {props.resetLabel}\n </button>\n </span>\n )\n : null}\n </div>\n {segmented\n ? (\n <SegmentField\n id={props.id}\n label={props.label}\n options={options}\n value={props.text}\n disabled={props.disabled}\n invalid={props.invalid}\n onEdit={props.onEdit}\n />\n )\n : (\n <SelectField\n id={props.id}\n options={options}\n value={props.text}\n disabled={props.disabled}\n invalid={props.invalid}\n onEdit={props.onEdit}\n />\n )}\n <p className={props.invalid ? css.invalid : css.hint} title={props.hintTitle}>\n {props.invalid ? props.invalidLabel : props.hint}\n </p>\n </div>\n )\n}\n\n/**\n * A boolean toggle drawn as a switch track, for a setting that is only on or\n * off and applies on flip. It is a real button with\n * `role=\"switch\"` and `aria-checked`, so keyboard and assistive activation\n * arrive as a click and the state is announced instead of inferred from a\n * checkbox tick.\n *\n * The thumb bounces across only once the reader has pressed this switch: the\n * press writes the mark that arms the bounce, so a page opening, a TAB\n * switching back or a value arriving from elsewhere draws every thumb at rest.\n */\nexport function ToggleSwitch(props: {\n /** Id of the element naming the switch (the card's title). */\n labelledBy?: string\n /** Accessible name when no element labels it. */\n ariaLabel?: string\n /** Current state. */\n checked: boolean\n /** Disables the switch while a write is in flight or the Host refuses writes. */\n disabled?: boolean\n /** Called with the requested next state. */\n onChange: (next: boolean) => void\n}) {\n const [moved, setMoved] = useState(false)\n return (\n <button\n type=\"button\"\n className={css.toggle}\n role=\"switch\"\n aria-checked={props.checked}\n aria-labelledby={props.labelledBy}\n aria-label={props.labelledBy === undefined ? props.ariaLabel : undefined}\n disabled={props.disabled}\n data-moved={moved ? '' : undefined}\n onClick={() => {\n setMoved(true)\n props.onChange(!props.checked)\n }}\n >\n <span className={css.toggleTrack}><span className={css.toggleThumb} /></span>\n </button>\n )\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/settings/settings-form.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * Form model behind the plugin settings card. Every control applies itself:\n * a pick (a segment, a select option, a reset) writes the moment it is made,\n * and typed text writes once typing pauses or the reader leaves the field.\n * Between the edit and the write the edit is held here as a draft, so what is\n * on screen is exactly what the write will store; a write the Host refuses\n * puts a pick back to the stored value and keeps typed text for correcting.\n * Family-shared slice inlined into each plugin's client bundle.\n */\n\nimport type { ConfigForm, ConfigFormSnapshot } from '@deepseek-ai/dsh-client-ui-settings/client'\nimport type { SnapshotStore } from '@deepseek-ai/dsh-client-store'\nimport { createSnapshotStore } from '@deepseek-ai/dsh-client-store'\n\n/** The write one field's draft text performs when it is applied. */\nexport type FieldWrite =\n | { kind: 'set'; value: unknown }\n | { kind: 'clear' }\n\n/** How one field converts between its stored value and its draft text. */\nexport interface FieldSpec {\n /** Field name inside the namespace section. */\n field: string\n /**\n * How the reader enters a value, which decides when it is written: a `pick`\n * is a whole value at once and applies immediately; `type` is text arriving\n * a keystroke at a time and applies once typing pauses or the field is left.\n */\n entry: 'pick' | 'type'\n /**\n * Whether the Host treats this field as a secret and redacts its value from\n * the read-back (role('secret') in the section schema). Redacted secrets are\n * never compared against the draft on save: the Host strips them from every\n * wire view layer, so the settled snapshot carries nothing to read back. A\n * staged secret set is judged by the mutation settling; the rest of its\n * batch, when one exists, is still judged by read-back, and the atomic\n * mutation lands every write or none.\n */\n secret?: boolean\n /** Render a stored value as draft text; the empty string when the section carries none. */\n format: (value: unknown) => string\n /**\n * The write this draft text performs, or undefined when the text is not a\n * value this field accepts — which holds the draft unwritten rather than\n * discarding it.\n */\n parse: (text: string) => FieldWrite | undefined\n}\n\n/** One field as the card renders it. */\nexport interface FieldState {\n /** Draft text the control renders. */\n text: string\n /** Whether the field leaves (or will leave) a user-layer entry. */\n overridden: boolean\n /** Whether the draft is not a value this field accepts, which holds it unwritten. */\n invalid: boolean\n}\n\n/** Form state every plugin settings card shares. */\nexport interface CardShell {\n /** False while the namespace is still loading; the card renders nothing. */\n available: boolean\n /**\n * Whether the namespace is actually served to this client. False when the\n * Host deployment does not expose it (e.g. the owning plugin's settings\n * domain is not mounted): the card renders an explanation\n * instead of its form, so a missing namespace never looks like a missing\n * plugin.\n */\n exposed: boolean\n /** Whether the Host document accepts writes. */\n writable: boolean\n /** Whether the form holds drafts not yet written (typed text waiting for its pause). */\n dirty: boolean\n /** Whether any draft is invalid, which holds it unwritten. */\n invalid: boolean\n /** Whether a write is crossing the wire. */\n saving: boolean\n /** Whether the last write did not land; cleared by the next edit or write. */\n failed: boolean\n /**\n * The rejection code/message the Host returned for the last failed save,\n * surfaced next to the generic failure text. Undefined while no save has\n * failed (or the failure carried no server reason).\n */\n failedReason?: string\n}\n\n/** The write actions the card's slot entry injects. */\nexport interface CardActions {\n /** Take draft text for one field; a pick writes at once, typed text after a pause. */\n edit: (field: string, text: string) => void\n /** Clear one field at once, so it re-inherits the composition layer. */\n resetField: (field: string) => void\n /** Write every pending draft now (a text field's Enter or blur), then re-seed from what the Host accepted. */\n save: () => void\n /** Drop every pending draft, putting each control back to the stored value (a text field's Escape). */\n discard: () => void\n}\n\n/** How long typed text rests before it is written. */\nexport const TYPE_PAUSE_MS = 600\n\n/** One field's staged edit. */\ninterface StagedEdit {\n /** Draft text the control renders. */\n text: string\n /** True when this edit clears the field whatever text it shows. */\n clear: boolean\n}\n\n/** One staged edit resolved into the write a save performs. */\ninterface PlannedWrite {\n /** Field this entry writes. */\n field: string\n /** The durable write this entry performs, inside the save's one atomic mutation. */\n op: BatchedWrite\n /**\n * Read the settled snapshot back and report whether the Host holds this\n * write's effect. Undefined when the draft is not a value the field\n * accepts: there is nothing to write, and the entry blocks the save.\n */\n judge: (() => boolean) | undefined\n}\n\n/** One durable write inside the save's atomic form mutation. */\nexport interface BatchedWrite {\n /** Field this entry writes. */\n field: string\n /** set stores a value; unset drops the leaf. */\n op: 'set' | 'unset'\n /** Value for op set (absent for unset). */\n value?: unknown\n}\n\n/** Constraints a numeric field's accepted drafts must satisfy, mirroring the host schema. */\nexport interface NumberConstraints {\n /** The accepted value must be a whole number. */\n integer?: boolean\n /** The accepted value must be at least this. */\n min?: number\n}\n\n/** A whole- or decimal-number field. An empty draft clears the field; any other draft that is not a finite number within the constraints stays unwritten. */\nexport function numberField(field: string, constraints: NumberConstraints = {}): FieldSpec {\n const { integer = false, min } = constraints\n return {\n field,\n entry: 'type',\n format: value => typeof value === 'number' ? String(value) : '',\n parse: (text) => {\n const trimmed = text.trim()\n if (trimmed === '') return { kind: 'clear' }\n const parsed = Number(trimmed)\n if (!Number.isFinite(parsed)) return undefined\n if (integer && !Number.isInteger(parsed)) return undefined\n if (min !== undefined && parsed < min) return undefined\n return { kind: 'set', value: parsed }\n },\n }\n}\n\n/**\n * A free-text field. An empty draft clears the field. `entry` is `pick` when\n * the text arrives whole from a picker (a preset or a reasoning level).\n */\nexport function textField(field: string, entry: FieldSpec['entry'] = 'type'): FieldSpec {\n return {\n field,\n entry,\n format: value => typeof value === 'string' ? value : '',\n parse: (text) => {\n const trimmed = text.trim()\n return trimmed === '' ? { kind: 'clear' } : { kind: 'set', value: trimmed }\n },\n }\n}\n\n/**\n * A free-text field the Host treats as a secret and redacts from the read-back\n * (role('secret') in the section schema). The card still edits it like text,\n * but a save never compares the redacted value back: the staged set is judged\n * by the mutation settling (see {@link FieldSpec.secret}).\n */\nexport function secretField(field: string): FieldSpec {\n return { ...textField(field), secret: true }\n}\n\n/** A boolean field, edited through true/false draft text. */\nexport function booleanField(field: string): FieldSpec {\n return {\n field,\n entry: 'pick',\n format: value => typeof value === 'boolean' ? String(value) : '',\n parse: (text) => {\n const trimmed = text.trim()\n if (trimmed === '') return { kind: 'clear' }\n if (trimmed === 'true') return { kind: 'set', value: true }\n if (trimmed === 'false') return { kind: 'set', value: false }\n return undefined\n },\n }\n}\n\n/** An enumerated string field; only the listed choices are accepted. An empty draft clears the field. */\nexport function choiceField(field: string, choices: readonly string[]): FieldSpec {\n return {\n field,\n entry: 'pick',\n format: value => typeof value === 'string' && choices.includes(value) ? value : '',\n parse: (text) => {\n if (text === '') return { kind: 'clear' }\n return choices.includes(text) ? { kind: 'set', value: text } : undefined\n },\n }\n}\n\n/**\n * Applies one card's edits to one settings namespace as the reader makes them.\n *\n * The Host is the only authority on whether a value was accepted — its\n * validators own the constraints no schema can express — so the outcome is\n * read back from the section rather than predicted here. A write that did not\n * land puts each pick back to the stored value, the way a switch that could not\n * flip springs back, and keeps typed text so the reader can correct it instead\n * of retyping.\n */\nexport class CardForm<T> {\n private readonly specs: Map<string, FieldSpec>\n private readonly staged = new Map<string, StagedEdit>()\n private readonly listeners = new Set<() => void>()\n /** The form subscription installed in the constructor; released by dispose(). */\n private readonly disposeForm: () => void\n private disposed = false\n /** The pending write of typed text, waiting for typing to pause. */\n private typePause: ReturnType<typeof setTimeout> | undefined\n private saving = false\n /** A save asked for while one was in flight; it runs once the first settles (#1754). */\n private saveQueued = false\n private failed = false\n private failedReason: string | undefined\n\n /** @param scope - the bound configuration form for this card's namespace. */\n constructor(\n private readonly scope: ConfigForm<T>,\n specs: FieldSpec[],\n ) {\n this.specs = new Map(specs.map(spec => [spec.field, spec]))\n this.disposeForm = scope.subscribe(() => { this.publish() })\n }\n\n /**\n * Release the form subscription and every bound store listener. The card\n * must call this on teardown; later calls are no-ops.\n */\n dispose(): void {\n if (this.disposed) return\n this.disposed = true\n clearTimeout(this.typePause)\n this.disposeForm()\n this.listeners.clear()\n }\n\n /** Publish a projection of this form, rebuilt whenever the form or a draft changes. */\n bind<S>(project: () => S): SnapshotStore<S> {\n const store = createSnapshotStore(project())\n this.listeners.add(() => { store.set(project()) })\n return store\n }\n\n /** Read the card-level state: what the Host serves, and what is still waiting to be written. */\n shell(): CardShell {\n const snapshot = this.scope.getSnapshot()\n const plan = this.plan()\n return {\n available: snapshot.status !== 'loading',\n exposed: snapshot.status === 'ready',\n writable: snapshot.writable,\n dirty: plan.length > 0,\n invalid: plan.some(item => item.judge === undefined),\n saving: this.saving,\n failed: this.failed,\n ...this.failedReason === undefined ? {} : { failedReason: this.failedReason },\n }\n }\n\n /** Read one field's state from the effective section and its staged draft. */\n field(field: string): FieldState {\n const spec = this.specOf(field)\n const staged = this.staged.get(field)\n if (staged === undefined) {\n return { text: spec.format(this.sectionValue(field)), overridden: this.stored(field), invalid: false }\n }\n const write = staged.clear ? { kind: 'clear' as const } : spec.parse(staged.text)\n return {\n text: staged.text,\n overridden: write?.kind === 'set',\n invalid: write === undefined,\n }\n }\n\n /** The actions the card's slot registration injects. */\n actions(): CardActions {\n return {\n edit: (field, text) => { this.stage(field, { text, clear: false }) },\n resetField: (field) => {\n this.stage(field, { text: this.specOf(field).format(this.baseValue(field)), clear: true })\n },\n save: () => { this.applyNow() },\n discard: () => {\n clearTimeout(this.typePause)\n if (this.staged.size === 0 && !this.failed) return\n this.staged.clear()\n this.failed = false\n this.failedReason = undefined\n this.publish()\n },\n }\n }\n\n /**\n * Run one write, and re-run it once if another was asked for while this one\n * was still in flight.\n *\n * A write is a Host round trip that also drives the profile reconcile, and\n * the Host runs it inside one exclusive transaction. Answering an edit that\n * arrives mid-flight by returning immediately dropped it with no explanation\n * (#1754). Serializing instead means an edit made while another write is\n * still settling is written against the settled state.\n * @returns settlement after the mutation and the read-back.\n */\n async requestSave(): Promise<void> {\n if (this.saving) {\n this.saveQueued = true\n return\n }\n await this.save()\n if (!this.saveQueued) return\n this.saveQueued = false\n await this.requestSave()\n }\n\n /**\n * Write every valid draft in one atomic form mutation, then re-seed from\n * what the Host accepted. A draft the field does not accept stays on screen,\n * unwritten, without holding the others back.\n *\n * The batch rides one mutate, so cross-field validate hooks (baseURL+model)\n * judge it as a unit: the Host either applies every write or refuses the\n * batch. The form contract answers a refusal or a skipped write with `false`\n * (it recovers with a fresh Host view instead of throwing), so the outcome is\n * judged twice: the answer itself, and then the settled snapshot read back\n * one planned write at a time. One missed write fails the whole batch. A\n * transport that rejects instead (the dsh-web bridge controller on a dead\n * connection) reports through the same failure path with its rejection\n * message. A batch that did not land puts its picks and clears back to the\n * stored value and keeps its typed text, so the reader can correct it.\n * @returns settlement after the mutation and the read-back.\n */\n async save(): Promise<void> {\n const plan = this.plan()\n const valid = plan.filter((item): item is PlannedWrite & { judge: () => boolean } => item.judge !== undefined)\n if (valid.length === 0 || this.saving) return\n // Snapshot the staged entries this write carries, so an edit staged while\n // it is in flight (which replaces the same key) survives: only settle the\n // key when the entry is still the one this write started from.\n const pending = new Map<string, StagedEdit | undefined>()\n for (const item of valid) pending.set(item.field, this.staged.get(item.field))\n this.saving = true\n this.failed = false\n this.failedReason = undefined\n this.publish()\n // One atomic namespace mutation: the form contract takes ordered path\n // operations, so the whole staged batch is validated, persisted, and\n // recovered together — either every write lands or none does.\n const ops: Array<{ op: 'set'; path: string[]; value: string | number | boolean } | { op: 'unset'; path: string[] }> = valid.map(item => item.op.op === 'set'\n ? { op: 'set', path: [item.field], value: (item.op as { value: string | number | boolean }).value }\n : { op: 'unset', path: [item.field] })\n let failedReason: string | undefined\n let accepted = false\n try {\n accepted = await this.scope.mutate(ops)\n } catch (error) {\n failedReason = error instanceof Error ? error.message : String(error)\n }\n // `false` is the contract's refusal/skip answer, and the form still\n // resolves after a refusal (it recovers with a fresh view), so the answer\n // alone is not enough: judge every planned write against the settled\n // snapshot as well. The mutation is atomic, so one missed write fails the\n // whole save and keeps the drafts.\n const landed = accepted && failedReason === undefined && valid.every(item => item.judge())\n for (const [field, before] of pending) {\n if (this.staged.get(field) !== before) continue\n if (landed || before === undefined || before.clear || this.specOf(field).entry === 'pick') this.staged.delete(field)\n }\n this.saving = false\n this.failed = !landed\n // A refused or unlanded batch carries no server reason: the card surfaces\n // its generic failure copy; a rejecting transport (the bridge) adds its\n // message.\n this.failedReason = failedReason\n this.publish()\n }\n\n /**\n * Every staged edit a write would carry. An entry whose draft is not a value\n * its field accepts carries no write: the form is still dirty, and the draft\n * stays on screen rather than being dropped. A staged edit that matches the\n * effective section is not a write at all.\n * @returns the planned writes, in the order the fields were staged.\n */\n private plan(): PlannedWrite[] {\n const plan: PlannedWrite[] = []\n for (const [field, staged] of this.staged) {\n const spec = this.specOf(field)\n if (staged.clear) {\n if (this.stored(field)) plan.push({ field, op: { field, op: 'unset' }, judge: () => this.landedUnset(field) })\n continue\n }\n if (staged.text === spec.format(this.sectionValue(field))) continue\n const write = spec.parse(staged.text)\n if (write === undefined) plan.push({ field, op: { field, op: 'unset' }, judge: undefined })\n else if (write.kind === 'clear') plan.push({ field, op: { field, op: 'unset' }, judge: () => this.landedUnset(field) })\n else plan.push({ field, op: { field, op: 'set', value: write.value }, judge: () => this.landedSet(field, write.value) })\n }\n return plan\n }\n\n /**\n * Read-back judgment for a planned set: the user layer must hold the\n * intended value once the mutation has settled.\n */\n private landedSet(field: string, value: unknown): boolean {\n // A redacted secret never appears in any wire view layer: the Host strips\n // role('secret') fields and reports them through a sidecar the form\n // snapshot does not expose, so there is nothing to compare the draft\n // against. Settling is the only signal the form has; the rest of the\n // batch, when one exists, still carries the atomic verdict by read-back.\n if (this.specOf(field).secret) return true\n return this.userLayer()?.[field] === value\n }\n\n /**\n * Read-back judgment for a planned unset: the field must be gone from the\n * user layer once the mutation has settled.\n */\n private landedUnset(field: string): boolean {\n return !this.stored(field)\n }\n\n /**\n * Take one edit and schedule its write: a pick or a clear is written now,\n * typed text once typing has rested for TYPE_PAUSE_MS.\n */\n private stage(field: string, edit: StagedEdit): void {\n this.staged.set(field, edit)\n this.failed = false\n this.failedReason = undefined\n this.publish()\n if (edit.clear || this.specOf(field).entry === 'pick') {\n this.applyNow()\n return\n }\n clearTimeout(this.typePause)\n this.typePause = setTimeout(() => { this.applyNow() }, TYPE_PAUSE_MS)\n }\n\n /** Write every pending draft now, taking the place of a waiting pause. */\n private applyNow(): void {\n clearTimeout(this.typePause)\n this.typePause = undefined\n if (this.disposed) return\n void this.requestSave()\n }\n\n private specOf(field: string): FieldSpec {\n const spec = this.specs.get(field)\n // Every call site names a field this card declared; a missing one is a\n // wiring mistake that must not degrade into a silently inert control.\n if (spec === undefined) throw new Error(`settings card has no field ${field}`)\n return spec\n }\n\n private snapshotOf(): ConfigFormSnapshot<T> {\n return this.scope.getSnapshot()\n }\n\n private sectionValue(field: string): unknown {\n return (this.snapshotOf().value as Record<string, unknown> | undefined)?.[field]\n }\n\n private baseValue(field: string): unknown {\n return (this.snapshotOf().base as Record<string, unknown> | undefined)?.[field]\n }\n\n private userLayer(): Record<string, unknown> | undefined {\n return this.snapshotOf().user as Record<string, unknown> | undefined\n }\n\n private stored(field: string): boolean {\n const user = this.userLayer()\n return user !== undefined && Object.hasOwn(user, field)\n }\n\n private publish(): void {\n for (const listener of this.listeners) listener()\n }\n}\n","/**\n * The usage page's settings card: the plugin switch and the three display\n * rows, written through the family card form so a pick lands at once and a\n * typed value after a pause, exactly as the other Web Extensions pages do.\n * @module @linxin666/dsh-usage/client/usage-settings-card\n */\n\nimport type { ConfigForm } from '@deepseek-ai/dsh-client-ui-settings/client'\nimport type { SnapshotStore } from '@deepseek-ai/dsh-client-store'\nimport { CardForm, booleanField, choiceField, numberField, type CardActions, type CardShell, type FieldState } from './settings-form.ts'\n\n/** The settings fields this page edits (the namespace's own schema). */\nexport interface UsageSettings {\n enabled?: boolean\n pollIntervalSec?: number\n /** Currency the spend figures are displayed in; the ledger stays CNY. */\n spendCurrency?: 'CNY' | 'USD'\n /** CNY per USD, consulted only while the display currency is USD. */\n cnyPerUsd?: number\n}\n\n/** The display currencies the spend figures offer. */\nexport const SPEND_CURRENCIES = ['CNY', 'USD'] as const\n\n/** Bounds of the poll interval, mirroring the host schema; the slider walks them in steps of 10 s. */\nexport const POLL_INTERVAL_RANGE = { min: 30, max: 3600, step: 10 }\n\n/** What the settings card renders. */\nexport interface UsageSettingsCardState extends CardShell {\n enabled: FieldState\n pollIntervalSec: FieldState\n spendCurrency: FieldState\n cnyPerUsd: FieldState\n}\n\n/** The card's snapshot and its form actions, as the section receives them. */\nexport interface UsageSettingsCardFace extends CardActions {\n store: SnapshotStore<UsageSettingsCardState>\n}\n\n/** Bridges the usage namespace onto the family card form for the plugin's lifetime. */\nexport class UsageSettingsCardController {\n private readonly form: CardForm<UsageSettings>\n private readonly store: SnapshotStore<UsageSettingsCardState>\n\n /** @param scope - the bound configuration form of the usage namespace. */\n constructor(scope: ConfigForm<UsageSettings>) {\n this.form = new CardForm(scope, [\n booleanField('enabled'),\n numberField('pollIntervalSec', { integer: true, min: POLL_INTERVAL_RANGE.min }),\n choiceField('spendCurrency', SPEND_CURRENCIES),\n numberField('cnyPerUsd', { min: 0.01 }),\n ])\n this.store = this.form.bind(() => ({\n ...this.form.shell(),\n enabled: this.form.field('enabled'),\n pollIntervalSec: this.form.field('pollIntervalSec'),\n spendCurrency: this.form.field('spendCurrency'),\n cnyPerUsd: this.form.field('cnyPerUsd'),\n }))\n }\n\n /** The face the section's slot entry injects. */\n inject(): UsageSettingsCardFace {\n return { store: this.store, ...this.form.actions() }\n }\n\n /** Release the form subscription; the plugin disposer calls this on teardown. */\n dispose(): void {\n this.form.dispose()\n }\n}\n","/**\n * The usage page's card chrome: the family settings card whose header holds\n * the plugin switch, and the display rows the body closes with.\n * @module @linxin666/dsh-usage/client/UsagePage\n */\n\nimport type { ReactNode } from 'react'\nimport { t } from './locales.ts'\nimport styles from './usage.module.css'\nimport { ChoiceField, PluginSettingsCard, ToggleSwitch, ValueField } from './PluginSettingsCard.tsx'\nimport { POLL_INTERVAL_RANGE, SPEND_CURRENCIES, type UsageSettingsCardFace, type UsageSettingsCardState } from './usage-settings-card.ts'\n\n/**\n * The page's card: the plugin switch in the header, the statistics and the\n * display rows in the body. A switched-off plugin keeps only the header, whose\n * line says how to bring it back; a refused write keeps the body, so the\n * failure line under the rows stays readable.\n */\nexport function UsagePage(props: { card: UsageSettingsCardState; face: UsageSettingsCardFace; enabled: boolean; children: ReactNode }): ReactNode {\n const { card, face, enabled } = props\n return (\n <ul className={styles.sectionList} data-dsh-plugin=\"usage\">\n <PluginSettingsCard\n t={t}\n titleKey=\"usage.title\"\n titleId=\"settings-usage-title\"\n descriptionKey={enabled ? 'usage.description' : 'usage.disabled'}\n headerAction={card.exposed\n ? (\n <ToggleSwitch\n labelledBy=\"settings-usage-title\"\n checked={enabled}\n disabled={!card.writable}\n onChange={(next) => { face.edit('enabled', String(next)) }}\n />\n )\n : undefined}\n headerOnly={!enabled && !card.failed}\n state={card}\n alwaysOpen\n renderChildrenWhenNotExposed\n hideNotExposedNotice\n onSave={face.save}\n onDiscard={face.discard}\n >\n {props.children}\n {card.exposed ? <SettingsRows card={card} face={face} /> : null}\n </PluginSettingsCard>\n </ul>\n )\n}\n\n/**\n * The display rows under the statistics. Each control writes through the card\n * form: the currency pick at once, a typed number after a pause or on Enter.\n * The rate only matters while spend shows in dollars, so it appears then.\n */\nfunction SettingsRows(props: { card: UsageSettingsCardState; face: UsageSettingsCardFace }): ReactNode {\n const { card, face } = props\n const fieldProps = {\n overriddenLabel: t('settings.overridden'),\n resetLabel: t('settings.reset'),\n invalidLabel: t('settings.invalidNumber'),\n disabled: !card.writable,\n }\n return (\n <section className={styles.settingsGroup} aria-labelledby=\"settings-usage-display-title\" data-dsh-part=\"settings-rows\">\n <h3 className={styles.groupTitle} id=\"settings-usage-display-title\">{t('usage.config.title')}</h3>\n <ValueField\n id=\"settings-usage-poll-interval\"\n label={t('usage.config.pollIntervalSec')}\n hint={t('usage.config.pollIntervalHint')}\n numeric\n range={POLL_INTERVAL_RANGE}\n {...fieldProps}\n {...card.pollIntervalSec}\n onEdit={(text) => { face.edit('pollIntervalSec', text) }}\n onReset={() => { face.resetField('pollIntervalSec') }}\n />\n <ChoiceField\n id=\"settings-usage-spend-currency\"\n label={t('usage.config.spendCurrency')}\n hint={t('usage.config.spendCurrencyHint')}\n inheritLabel={t('settings.inherit')}\n presentation=\"segment\"\n choices={SPEND_CURRENCIES.map(currency => ({ value: currency, label: currency }))}\n {...fieldProps}\n {...card.spendCurrency}\n onEdit={(text) => { face.edit('spendCurrency', text) }}\n onReset={() => { face.resetField('spendCurrency') }}\n />\n {card.spendCurrency.text === 'USD'\n ? (\n <ValueField\n id=\"settings-usage-cny-per-usd\"\n label={t('usage.config.cnyPerUsd')}\n hint={t('usage.config.cnyPerUsdHint')}\n numeric\n {...fieldProps}\n {...card.cnyPerUsd}\n onEdit={(text) => { face.edit('cnyPerUsd', text) }}\n onReset={() => { face.resetField('cnyPerUsd') }}\n />\n )\n : null}\n </section>\n )\n}\n","/**\n * Provider adapters: one entry per provider family this plugin can query for\n * a pay-as-you-go balance or a coding-plan quota. Adapters are pure — they\n * build an HTTP probe from a resolved credential and parse the response — so\n * the service stays transport-only and every endpoint detail lives here.\n *\n * All probes run host-side (Node fetch); API keys never reach the browser.\n * @module @linxin666/dsh-usage/core/adapters\n */\n\nimport type { PlanWindowView } from './types.ts'\n\n/** One HTTP probe the service executes verbatim. */\nexport interface ProbeSpec {\n url: string\n headers: Record<string, string>\n}\n\n/** Inputs an adapter may use to build a probe. */\nexport interface AdapterProbeContext {\n /** Resolved credential value: a raw API key, or an OAuth access token for the oauth-aware adapters. */\n apiKey: string\n /** Provider account id riding a dedicated header, when the credential carries one (Codex). */\n accountId?: string\n /**\n * The route's configured base URL (the pi-ai profile's baseURL), when it\n * declares one. An adapter whose endpoint belongs to one provider origin\n * uses it to refuse an account that merely shares the route key, so a\n * differently-hosted model of the same family is never reported with the\n * other account's number.\n */\n baseURL?: string\n}\n\n/** A parsed balance fact. */\nexport interface BalanceParse {\n currency: string\n totalBalance: string\n}\n\n/** A parsed plan-quota fact. */\nexport interface PlanParse {\n planName?: string\n windows: PlanWindowView[]\n}\n\n/** One provider family's probing capability. */\nexport interface ProviderAdapter {\n /** Provider route keys this adapter serves. */\n ids: readonly string[]\n /**\n * Route keys that belong to this family for accounting (token folding, the\n * spend price book, the whale-yuan bank) but must never be probed with this\n * adapter's endpoints.\n *\n * A route reaches the DeepSeek family without an API key when the user is\n * signed in to a DeepSeek account: the llm-deepseek-account plugin registers\n * the route id deepseek-account, which authenticates with the account token\n * rather than a key. Its tokens bill the same account the official route\n * bills, so the family must own it, but the balance endpoint reads an\n * API-key account: probing it would either fail on the account token or,\n * when the user also configured DEEPSEEK_API_KEY, print the API-key account's\n * money under the account route's name (issue #1772, the same\n * mis-attribution class as #1688). adapterFor() deliberately does not\n * resolve these ids, so no probe, credential fallback, or alias fold can\n * reach them; family membership is read through isDeepSeekProviderRoute().\n */\n familyOnlyIds?: readonly string[]\n /** Fallback display name when the LLM runtime has none. */\n displayName: string\n balance?: {\n /**\n * Origin (scheme + host) whose account this balance endpoint reports.\n * Omitted when the endpoint is per-route by construction (a profile\n * supplies the host) or when the provider has only one origin. When set,\n * a route whose configured baseURL resolves elsewhere is not this\n * origin's account and must not be probed with this adapter.\n */\n origin?: string\n build(context: AdapterProbeContext): ProbeSpec\n parse(status: number, body: unknown): BalanceParse | undefined\n }\n plan?: {\n build(context: AdapterProbeContext): ProbeSpec\n parse(status: number, body: unknown): PlanParse | undefined\n }\n}\n\n/** Parse a string/number into a finite number, else undefined. */\nfunction toNum(value: unknown): number | undefined {\n if (typeof value === 'number') return Number.isFinite(value) ? value : undefined\n if (typeof value === 'string' && value.trim() !== '') {\n const parsed = Number(value)\n return Number.isFinite(parsed) ? parsed : undefined\n }\n return undefined\n}\n\n/** Read a string field that must be a non-empty string. */\nfunction str(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() !== '' ? value.trim() : undefined\n}\n\n/** Clamp a provider percentage into the renderable 0-100 band. */\nfunction clampPercent(value: number): number {\n return Math.max(0, Math.min(100, value))\n}\n\n/** Format a number to a fixed 2-decimal display string. */\nfunction money(value: number): string {\n return value.toFixed(2)\n}\n\n/** Millisecond epoch or ISO string → normalized ISO 8601, else undefined. */\nfunction toIso(value: unknown): string | undefined {\n if (typeof value === 'number' && Number.isFinite(value) && value > 0) {\n const ms = value < 1e12 ? value * 1000 : value\n const date = new Date(ms)\n return Number.isNaN(date.getTime()) ? undefined : date.toISOString()\n }\n const text = str(value)\n if (text === undefined) return undefined\n // Epoch instants also arrive as strings (\"1756428000\"); route them through\n // the numeric branch instead of letting Date() reject them.\n if (/^\\d+$/.test(text)) return toIso(Number(text))\n const date = new Date(text)\n // The contract is \"normalized ISO 8601, else undefined\": returning the raw\n // text would render as \"Invalid Date\" downstream.\n return Number.isNaN(date.getTime()) ? undefined : date.toISOString()\n}\n\n/** Used-percent helper guarding zero/absent limits. */\nfunction usedPercent(used: unknown, limit: unknown): number | undefined {\n const usedNum = toNum(used)\n const limitNum = toNum(limit)\n if (usedNum === undefined || limitNum === undefined || limitNum <= 0) return undefined\n return Math.max(0, Math.min(100, (usedNum / limitNum) * 100))\n}\n\nfunction bearer(apiKey: string): Record<string, string> {\n return { authorization: `Bearer ${apiKey}` }\n}\n\n/**\n * The official pay-as-you-go balance. `deepseek` is the configurable-catalog\n * route key; `deepseek-official` is the live provider route the llm-deepseek\n * adapter registers (sessions and agent-default-model carry it), so both ids\n * must resolve here or the current provider would never be probed.\n */\n/** The official DeepSeek API origin: the only account its balance endpoint reports. */\nexport const DEEPSEEK_API_ORIGIN = 'https://api.deepseek.com'\n\nconst DEEPSEEK: ProviderAdapter = {\n ids: ['deepseek', 'deepseek-official'],\n // The signed-in DeepSeek account route bills the same account but holds no\n // API key, so it joins the family for accounting and stays out of the probe\n // directory (issue #1772).\n familyOnlyIds: ['deepseek-account'],\n displayName: 'DeepSeek',\n balance: {\n origin: DEEPSEEK_API_ORIGIN,\n build: ({ apiKey }) => ({ url: 'https://api.deepseek.com/user/balance', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const infos = (body as Record<string, unknown>).balance_infos\n if (!Array.isArray(infos) || infos.length === 0) return undefined\n const first = infos[0]\n if (typeof first !== 'object' || first === null) return undefined\n const currency = str((first as Record<string, unknown>).currency)\n const total = str((first as Record<string, unknown>).total_balance)\n if (currency === undefined || total === undefined) return undefined\n return { currency, totalBalance: total }\n },\n },\n}\n\n/** Moonshot pay-as-you-go balance; CN bills in CNY, international in USD. */\nfunction moonshotBalance(host: string, currency: string, ids: readonly string[]): ProviderAdapter {\n return {\n ids,\n displayName: 'Moonshot AI',\n balance: {\n build: ({ apiKey }) => ({ url: `https://${host}/v1/users/me/balance`, headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const available = toNum((data as Record<string, unknown>).available_balance)\n if (available === undefined) return undefined\n return { currency, totalBalance: money(available) }\n },\n },\n }\n}\n\n/** Kimi For Coding quota: top-level `usage` is the weekly summary, `limits[]` the per-window rows. */\nconst KIMI_CODING: ProviderAdapter = {\n ids: ['kimi-coding'],\n displayName: 'Kimi For Coding',\n plan: {\n build: ({ apiKey }) => ({ url: 'https://api.kimi.com/coding/v1/usages', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const root = body as Record<string, unknown>\n const windows: PlanWindowView[] = []\n const limits = root.limits\n if (Array.isArray(limits)) {\n for (const entry of limits) {\n if (typeof entry !== 'object' || entry === null) continue\n const detail = (entry as Record<string, unknown>).detail\n const window = (entry as Record<string, unknown>).window\n if (typeof detail !== 'object' || detail === null) continue\n const row = detail as Record<string, unknown>\n const duration = typeof window === 'object' && window !== null ? toNum((window as Record<string, unknown>).duration) : undefined\n const unit = typeof window === 'object' && window !== null ? str((window as Record<string, unknown>).timeUnit) : undefined\n const key = duration === 300 && unit === 'TIME_UNIT_MINUTE' ? '5h' : duration !== undefined ? `w-${duration}` : 'window'\n const percent = usedPercent(row.used, row.limit)\n windows.push({ key, name: str(row.name), percent, resetsAt: toIso(row.resetTime) })\n }\n }\n const usage = root.usage\n if (typeof usage === 'object' && usage !== null) {\n const weekly = usage as Record<string, unknown>\n windows.push({\n key: 'week',\n name: 'Weekly',\n percent: usedPercent(weekly.used, weekly.limit),\n resetsAt: toIso(weekly.resetTime),\n })\n }\n if (windows.length === 0) return undefined\n const user = root.user\n const membership = typeof user === 'object' && user !== null ? (user as Record<string, unknown>).membership : undefined\n const planName = typeof membership === 'object' && membership !== null ? str((membership as Record<string, unknown>).level) : undefined\n return { planName, windows }\n },\n },\n}\n\n/**\n * GLM Coding Plan quota windows, keyed by the provider's own `unit` code\n * rather than by row position so an added or reordered limit cannot shift a\n * window's meaning: 3 = the rolling 5-hour window, 6 = the weekly window,\n * 5 = the monthly one. Two row kinds carry quota — `TOKENS_LIMIT` (token\n * plans) and `CREDIT_LIMIT` (credit plans, whose exact ratio is\n * `currentValue` / `usage`) — while `TIME_LIMIT` is the MCP request cap and\n * is not a plan window at all. Auth is the RAW key without a Bearer prefix.\n */\nconst GLM_UNIT_KEYS: Readonly<Record<number, string>> = { 3: '5h', 5: 'month', 6: 'week' }\n\n/** Percent from a credit row's exact ratio, else the provider's own percentage. */\nfunction glmCreditPercent(row: Record<string, unknown>): number | undefined {\n const used = toNum(row.currentValue)\n const limit = toNum(row.usage)\n if (used !== undefined && limit !== undefined && limit > 0) return clampPercent((used / limit) * 100)\n const percentage = toNum(row.percentage)\n return percentage === undefined ? undefined : clampPercent(percentage)\n}\n\nfunction glmPlan(host: string, ids: readonly string[]): ProviderAdapter {\n return {\n ids,\n displayName: 'GLM Coding Plan',\n plan: {\n build: ({ apiKey }) => ({\n url: `https://${host}/api/monitor/usage/quota/limit`,\n headers: { authorization: apiKey, 'accept-language': 'en-US,en' },\n }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const root = body as Record<string, unknown>\n if (root.success !== true) return undefined\n const data = root.data\n if (typeof data !== 'object' || data === null) return undefined\n const limits = (data as Record<string, unknown>).limits\n if (!Array.isArray(limits)) return undefined\n const windows: PlanWindowView[] = []\n for (const entry of limits) {\n if (typeof entry !== 'object' || entry === null) continue\n const row = entry as Record<string, unknown>\n const kind = str(row.type)\n // The MCP request cap is a per-minute request budget, not a plan window.\n if (kind === 'TIME_LIMIT') continue\n const key = GLM_UNIT_KEYS[toNum(row.unit) ?? Number.NaN]\n // Unknown units fall through: rendering them would invent a window.\n if (key === undefined) continue\n if (kind !== 'TOKENS_LIMIT' && kind !== 'CREDIT_LIMIT') continue\n windows.push({\n key,\n percent: kind === 'CREDIT_LIMIT'\n ? glmCreditPercent(row)\n : (() => {\n const percentage = toNum(row.percentage)\n return percentage === undefined ? undefined : clampPercent(percentage)\n })(),\n resetsAt: toIso(row.nextResetTime),\n })\n }\n if (windows.length === 0) return undefined\n return { planName: str((data as Record<string, unknown>).level), windows }\n },\n },\n }\n}\n\n/** OpenCode Go quota: percent-only rolling/weekly/monthly windows. */\nconst OPENCODE_GO: ProviderAdapter = {\n ids: ['opencode-go'],\n displayName: 'OpenCode Go',\n plan: {\n build: ({ apiKey }) => ({ url: 'https://opencode.ai/zen/go/v1/usage', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const usage = (body as Record<string, unknown>).usage\n if (typeof usage !== 'object' || usage === null) return undefined\n const windows: PlanWindowView[] = []\n const keys: Array<[string, string]> = [['rolling', '5h'], ['weekly', 'week'], ['monthly', 'month']]\n for (const [field, key] of keys) {\n const entry = (usage as Record<string, unknown>)[field]\n if (typeof entry !== 'object' || entry === null) continue\n const row = entry as Record<string, unknown>\n const percent = toNum(row.percent)\n windows.push({\n key,\n percent: percent === undefined ? undefined : Math.max(0, Math.min(100, percent)),\n // percent 0 resetsAt is a placeholder (now + window); drop it.\n resetsAt: percent === 0 ? undefined : toIso(row.resetsAt),\n })\n }\n if (windows.length === 0) return undefined\n return { windows }\n },\n },\n}\n\n/** MiniMax coding-plan remains: remaining-percent semantics, `general` model entry. */\nfunction minimaxPlan(host: string, ids: readonly string[]): ProviderAdapter {\n return {\n ids,\n displayName: 'MiniMax Coding Plan',\n plan: {\n build: ({ apiKey }) => ({ url: `https://${host}/v1/api/openplatform/coding_plan/remains`, headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const remains = (body as Record<string, unknown>).model_remains\n if (!Array.isArray(remains)) return undefined\n const general = remains.find((entry) => typeof entry === 'object' && entry !== null\n && (entry as Record<string, unknown>).model_name === 'general')\n if (typeof general !== 'object' || general === null) return undefined\n const row = general as Record<string, unknown>\n const windows: PlanWindowView[] = []\n const intervalRemaining = toNum(row.current_interval_remaining_percent)\n if (intervalRemaining !== undefined) {\n windows.push({ key: '5h', percent: Math.max(0, Math.min(100, 100 - intervalRemaining)), resetsAt: toIso(row.end_time) })\n }\n if (row.current_weekly_status === 1) {\n const weeklyRemaining = toNum(row.current_weekly_remaining_percent)\n if (weeklyRemaining !== undefined) {\n windows.push({ key: 'week', percent: Math.max(0, Math.min(100, 100 - weeklyRemaining)), resetsAt: toIso(row.weekly_end_time) })\n }\n }\n if (windows.length === 0) return undefined\n return { windows }\n },\n },\n }\n}\n\nconst OPENROUTER: ProviderAdapter = {\n ids: ['openrouter'],\n displayName: 'OpenRouter',\n balance: {\n build: ({ apiKey }) => ({ url: 'https://openrouter.ai/api/v1/credits', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const credits = toNum((data as Record<string, unknown>).total_credits)\n const used = toNum((data as Record<string, unknown>).total_usage) ?? 0\n if (credits === undefined) return undefined\n return { currency: 'USD', totalBalance: money(credits - used) }\n },\n },\n}\n\nfunction siliconFlow(host: string, ids: readonly string[], currency: string): ProviderAdapter {\n return {\n ids,\n displayName: 'SiliconFlow',\n balance: {\n build: ({ apiKey }) => ({ url: `https://${host}/v1/user/info`, headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const total = str((data as Record<string, unknown>).totalBalance)\n if (total === undefined) return undefined\n return { currency, totalBalance: total }\n },\n },\n }\n}\n\nconst ZENMUX: ProviderAdapter = {\n ids: ['zenmux'],\n displayName: 'ZenMux',\n balance: {\n build: ({ apiKey }) => ({ url: 'https://zenmux.ai/api/v1/management/payg/balance', headers: bearer(apiKey) }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const data = (body as Record<string, unknown>).data\n if (typeof data !== 'object' || data === null) return undefined\n const credits = toNum((data as Record<string, unknown>).total_credits)\n if (credits === undefined) return undefined\n return { currency: 'USD', totalBalance: money(credits) }\n },\n },\n}\n\n/**\n * OpenAI Codex (ChatGPT subscription) quota over the OAuth access token the\n * pi-ai grant stores — the one plan adapter whose credential is an OAuth\n * token rather than an API key. A 401 here means the stored access token has\n * expired; it refreshes when the harness next runs a Codex request, so the\n * error line tells the user to use Codex once and refresh.\n */\nconst OPENAI_CODEX: ProviderAdapter = {\n ids: ['openai-codex'],\n displayName: 'Codex (ChatGPT 订阅)',\n plan: {\n build: ({ apiKey, accountId }) => ({\n url: 'https://chatgpt.com/backend-api/wham/usage',\n headers: {\n authorization: `Bearer ${apiKey}`,\n 'user-agent': 'codex-cli',\n accept: 'application/json',\n ...(accountId !== undefined ? { 'chatgpt-account-id': accountId } : {}),\n },\n }),\n parse: (status, body) => {\n if (status !== 200 || typeof body !== 'object' || body === null) return undefined\n const rateLimit = (body as Record<string, unknown>).rate_limit\n if (typeof rateLimit !== 'object' || rateLimit === null) return undefined\n const windows: PlanWindowView[] = []\n const rows = (rateLimit as Record<string, unknown>).primary_window !== undefined || (rateLimit as Record<string, unknown>).secondary_window !== undefined\n ? [(rateLimit as Record<string, unknown>).primary_window, (rateLimit as Record<string, unknown>).secondary_window]\n : []\n for (const entry of rows) {\n if (typeof entry !== 'object' || entry === null) continue\n const row = entry as Record<string, unknown>\n const percent = toNum(row.used_percent)\n if (percent === undefined) continue\n const seconds = toNum(row.limit_window_seconds)\n windows.push({\n key: codexWindowKey(seconds),\n percent: Math.max(0, Math.min(100, percent)),\n // reset_at is unix seconds; toIso scales sub-millisecond-epoch values.\n resetsAt: toIso(row.reset_at),\n })\n }\n if (windows.length === 0) return undefined\n return { windows }\n },\n },\n}\n\n/** Map a Codex window length in seconds onto the shared window key vocabulary. */\nfunction codexWindowKey(seconds: number | undefined): string {\n if (seconds === undefined) return 'window'\n if (seconds === 18000) return '5h'\n if (seconds === 604800) return 'week'\n if (seconds === 2_592_000) return 'month'\n const hours = seconds / 3600\n return hours >= 24 ? `${Math.round(hours / 24)}_day` : `${Math.round(hours)}_hour`\n}\n\n/**\n * The adapter registry, in no particular order. Route keys come from the\n * pi-ai provider catalog plus the routes this deployment observed in user\n * configuration (`zenmux`).\n */\nexport const PROVIDER_ADAPTERS: readonly ProviderAdapter[] = [\n DEEPSEEK,\n moonshotBalance('api.moonshot.cn', 'CNY', ['moonshotai-cn']),\n moonshotBalance('api.moonshot.ai', 'USD', ['moonshotai']),\n KIMI_CODING,\n glmPlan('open.bigmodel.cn', ['zai-coding-cn']),\n glmPlan('api.z.ai', ['zai', 'zai-coding']),\n OPENCODE_GO,\n minimaxPlan('api.minimaxi.com', ['minimax-cn']),\n minimaxPlan('api.minimax.io', ['minimax']),\n OPENAI_CODEX,\n OPENROUTER,\n siliconFlow('api.siliconflow.cn', ['siliconflow', 'siliconflow-cn'], 'CNY'),\n siliconFlow('api.siliconflow.com', ['siliconflow-intl'], 'USD'),\n ZENMUX,\n]\n\n/** Find the adapter serving a provider route key, if any. */\nexport function adapterFor(provider: string): ProviderAdapter | undefined {\n return PROVIDER_ADAPTERS.find((adapter) => adapter.ids.includes(provider))\n}\n\n/** Origin of a configured base URL, or undefined when it cannot be parsed. */\nexport function originOf(baseURL: string | undefined): string | undefined {\n if (baseURL === undefined || baseURL.trim() === '') return undefined\n try {\n return new URL(baseURL).origin\n } catch {\n return undefined\n }\n}\n\n/**\n * Whether an adapter's balance endpoint reports THIS route's account.\n *\n * Some adapter families share one route key across providers that merely\n * speak the same API: `deepseek` is both the official DeepSeek catalog entry\n * and a common id for an OpenAI-compatible reseller (Alibaba Bailian, ...)\n * pointed at another host by the profile's `baseURL`. The balance endpoint is\n * per ORIGIN, not per route key, so probing the official endpoint for a\n * reseller profile reports the official account's money under the reseller's\n * name (issue #1688). An adapter published with a fixed `origin` therefore\n * only applies to a route whose configured base URL is that origin, or to a\n * route that pins no base URL at all (the catalog alias of the official\n * route, which resolves the family's own credential).\n *\n * @param adapter - the matched adapter.\n * @param baseURL - the route's configured base URL (pi-ai profile), if any.\n * @returns true when the adapter may probe its balance endpoint for the route.\n */\nexport function balanceAppliesToRoute(adapter: ProviderAdapter, baseURL: string | undefined): boolean {\n const expected = adapter.balance?.origin\n if (expected === undefined) return true\n const configured = originOf(baseURL)\n if (configured === undefined) return true\n return configured === expected\n}\n\n/**\n * Whether a provider route belongs to the official DeepSeek family: the only\n * family with a spend price book and a settings-section-owned env credential\n * (llm-deepseek) rather than a pi-ai profile. Drives the fold-time cost\n * stamping, the client fold-time spend estimate, and the whale-yuan bank.\n *\n * Family membership is wider than the probe directory. The account route\n * (deepseek-account) bills the same account but authenticates with the account\n * token, so it prices and mints while `adapterFor()` still returns undefined\n * for it and no probe or env-credential fallback can reach it. Every caller of\n * this predicate is an accounting decision; the credential and probing\n * decisions read `adapterFor()` instead, so the two never widen together\n * (issue #1772).\n */\nexport function isDeepSeekProviderRoute(provider: string): boolean {\n if (adapterFor(provider) === DEEPSEEK) return true\n return DEEPSEEK.familyOnlyIds?.includes(provider) === true\n}\n\n/**\n * Best-effort human message from a provider error body, for the per-provider\n * error line. Never throws; truncated to one short sentence.\n */\nexport function providerErrorMessage(status: number, body: unknown): string {\n let message: string | undefined\n if (typeof body === 'object' && body !== null) {\n const root = body as Record<string, unknown>\n const nested = typeof root.error === 'object' && root.error !== null ? (root.error as Record<string, unknown>) : undefined\n message = str(root.message) ?? str(root.msg) ?? (nested !== undefined ? str(nested.message) : undefined)\n }\n const detail = message === undefined ? '' : `: ${message.slice(0, 120)}`\n return `HTTP ${status}${detail}`\n}\n","/**\n * Chinese public-holiday dates, Beijing calendar days, as `YYYY-MM-DD`.\n *\n * The DeepSeek peak rule bills a public holiday off-peak in full, and the\n * State Council publishes these dates per year, so they cannot be derived\n * from a rule. This module is that data; `pricing.ts` keeps the arithmetic.\n *\n * Adjusted workdays are deliberately absent: the provider counts the\n * calendar day, so an adjusted Saturday or Sunday is off-peak exactly like\n * any other weekend and listing it would price it as peak.\n *\n * Source: the yearly schedules in bastengao/chinese-holidays-node\n * (`data/<year>.json`, MIT). Only the `holiday` entries are taken; that\n * package's runtime code (which fetches over the network) and its\n * dependencies are not vendored.\n *\n * Coverage ends at the newest year below. A year with no entry is priced as\n * if it had no holidays, which is the documented default of\n * {@link PublicHolidayCalendar} in `pricing.ts`.\n * @module @linxin666/dsh-usage/core/holidays\n */\n\n/** Public-holiday dates keyed by Beijing calendar year. */\nexport const CHINESE_PUBLIC_HOLIDAYS: Readonly<Record<string, readonly string[]>> = {\n \"2020\": [\n \"2020-01-24\",\n \"2020-01-25\",\n \"2020-01-26\",\n \"2020-01-27\",\n \"2020-01-28\",\n \"2020-01-29\",\n \"2020-01-30\",\n \"2020-04-04\",\n \"2020-04-05\",\n \"2020-04-06\",\n \"2020-05-01\",\n \"2020-05-02\",\n \"2020-05-03\",\n \"2020-05-04\",\n \"2020-05-05\",\n \"2020-06-25\",\n \"2020-06-26\",\n \"2020-06-27\",\n \"2020-10-01\",\n \"2020-10-02\",\n \"2020-10-03\",\n \"2020-10-04\",\n \"2020-10-05\",\n \"2020-10-06\",\n \"2020-10-07\",\n \"2020-10-08\"\n ],\n \"2021\": [\n \"2021-01-01\",\n \"2021-01-02\",\n \"2021-01-03\",\n \"2021-02-11\",\n \"2021-02-12\",\n \"2021-02-13\",\n \"2021-02-14\",\n \"2021-02-15\",\n \"2021-02-16\",\n \"2021-02-17\",\n \"2021-04-03\",\n \"2021-04-04\",\n \"2021-04-05\",\n \"2021-05-01\",\n \"2021-05-02\",\n \"2021-05-03\",\n \"2021-05-04\",\n \"2021-05-05\",\n \"2021-06-12\",\n \"2021-06-13\",\n \"2021-06-14\",\n \"2021-09-19\",\n \"2021-09-20\",\n \"2021-09-21\",\n \"2021-10-01\",\n \"2021-10-02\",\n \"2021-10-03\",\n \"2021-10-04\",\n \"2021-10-05\",\n \"2021-10-06\",\n \"2021-10-07\"\n ],\n \"2022\": [\n \"2022-01-01\",\n \"2022-01-02\",\n \"2022-01-03\",\n \"2022-01-31\",\n \"2022-02-01\",\n \"2022-02-02\",\n \"2022-02-03\",\n \"2022-02-04\",\n \"2022-02-05\",\n \"2022-02-06\",\n \"2022-04-03\",\n \"2022-04-04\",\n \"2022-04-05\",\n \"2022-04-30\",\n \"2022-05-01\",\n \"2022-05-02\",\n \"2022-05-03\",\n \"2022-05-04\",\n \"2022-06-03\",\n \"2022-06-04\",\n \"2022-06-05\",\n \"2022-09-10\",\n \"2022-09-11\",\n \"2022-09-12\",\n \"2022-10-01\",\n \"2022-10-02\",\n \"2022-10-03\",\n \"2022-10-04\",\n \"2022-10-05\",\n \"2022-10-06\",\n \"2022-10-07\"\n ],\n \"2023\": [\n \"2022-12-31\",\n \"2023-01-01\",\n \"2023-01-02\",\n \"2023-01-21\",\n \"2023-01-22\",\n \"2023-01-23\",\n \"2023-01-24\",\n \"2023-01-25\",\n \"2023-01-26\",\n \"2023-01-27\",\n \"2023-04-29\",\n \"2023-04-30\",\n \"2023-05-01\",\n \"2023-05-02\",\n \"2023-05-03\",\n \"2023-06-22\",\n \"2023-06-23\",\n \"2023-06-24\",\n \"2023-09-29\",\n \"2023-09-30\",\n \"2023-10-01\",\n \"2023-10-02\",\n \"2023-10-03\",\n \"2023-10-04\",\n \"2023-10-05\",\n \"2023-10-06\"\n ],\n \"2024\": [\n \"2023-12-30\",\n \"2023-12-31\",\n \"2024-01-01\",\n \"2024-02-10\",\n \"2024-02-11\",\n \"2024-02-12\",\n \"2024-02-13\",\n \"2024-02-14\",\n \"2024-02-15\",\n \"2024-02-16\",\n \"2024-02-17\",\n \"2024-04-04\",\n \"2024-04-05\",\n \"2024-04-06\",\n \"2024-05-01\",\n \"2024-05-02\",\n \"2024-05-03\",\n \"2024-05-04\",\n \"2024-05-05\",\n \"2024-06-08\",\n \"2024-06-09\",\n \"2024-06-10\",\n \"2024-09-15\",\n \"2024-09-16\",\n \"2024-09-17\",\n \"2024-10-01\",\n \"2024-10-02\",\n \"2024-10-03\",\n \"2024-10-04\",\n \"2024-10-05\",\n \"2024-10-06\",\n \"2024-10-07\"\n ],\n \"2025\": [\n \"2025-01-28\",\n \"2025-01-29\",\n \"2025-01-30\",\n \"2025-01-31\",\n \"2025-02-01\",\n \"2025-02-02\",\n \"2025-02-03\",\n \"2025-02-04\",\n \"2025-04-04\",\n \"2025-04-05\",\n \"2025-04-06\",\n \"2025-05-01\",\n \"2025-05-02\",\n \"2025-05-03\",\n \"2025-05-04\",\n \"2025-05-05\",\n \"2025-05-31\",\n \"2025-06-01\",\n \"2025-06-02\",\n \"2025-10-01\",\n \"2025-10-02\",\n \"2025-10-03\",\n \"2025-10-04\",\n \"2025-10-05\",\n \"2025-10-06\",\n \"2025-10-07\",\n \"2025-10-08\"\n ],\n \"2026\": [\n \"2026-01-01\",\n \"2026-01-02\",\n \"2026-01-03\",\n \"2026-02-15\",\n \"2026-02-16\",\n \"2026-02-17\",\n \"2026-02-18\",\n \"2026-02-19\",\n \"2026-02-20\",\n \"2026-02-21\",\n \"2026-02-22\",\n \"2026-02-23\",\n \"2026-04-04\",\n \"2026-04-05\",\n \"2026-04-06\",\n \"2026-05-01\",\n \"2026-05-02\",\n \"2026-05-03\",\n \"2026-05-04\",\n \"2026-05-05\",\n \"2026-06-19\",\n \"2026-06-20\",\n \"2026-06-21\",\n \"2026-09-25\",\n \"2026-09-26\",\n \"2026-09-27\",\n \"2026-10-01\",\n \"2026-10-02\",\n \"2026-10-03\",\n \"2026-10-04\",\n \"2026-10-05\",\n \"2026-10-06\",\n \"2026-10-07\"\n ]\n}\n\n/** The newest year this table covers; later years carry no entry. */\nexport const HOLIDAY_TABLE_LAST_YEAR = 2026\n","/**\n * DeepSeek official peak/off-peak pricing: the published price book plus the\n * peak-window clock, folded into a per-call spend estimate the ledger stamps\n * at fold time (the provider bills each request in the period the request ran\n * in, so pricing at the fold is the honest estimate).\n *\n * Policy (api-docs.deepseek.com pricing page): peak hours are Beijing time\n * Monday-Friday 09:00-12:00 and 14:00-18:00, excluding Chinese public\n * holidays; every other hour is off-peak and billed at half the peak price.\n * The published rule counts a calendar day, not the working schedule: a\n * Saturday or Sunday is off-peak in full even on an adjusted workday, and a\n * public holiday is off-peak in full even on a Monday-Friday. All prices\n * here are CNY per million tokens.\n *\n * Public-holiday dates are not derivable from the rule, so the rule takes them as\n * a `PublicHolidayCalendar`. The default is the published table in `./holidays.ts`,\n * covering 2020 through ${HOLIDAY_TABLE_LAST_YEAR}; a caller with newer dates\n * passes its own. A holiday weekday therefore prices off-peak, which is the half\n * of the published rule that is easy to get wrong.\n *\n * The published rows are `deepseek-flash` (DeepSeek-V4.1-Flash) and\n * `deepseek-v4-pro` (DeepSeek-V4-Pro-0813). The retired flash ids\n * (`deepseek-v4-flash`, `deepseek-v4-flash-vision-exp`) stay accepted and bill\n * at the flash row; DeepSeek routes `deepseek-v4-pro` to V4.1-Flash from the\n * retirement instant below until V4.1 Pro ships.\n * @module @linxin666/dsh-usage/core/pricing\n */\n\nimport type { UsageTokenTotals } from './types.ts'\nimport { CHINESE_PUBLIC_HOLIDAYS, HOLIDAY_TABLE_LAST_YEAR } from './holidays.ts'\n\n/** One peak window in minutes-of-day, Beijing time. */\ninterface PeakWindow {\n /** Inclusive start, minutes since midnight. */\n from: number\n /** Exclusive end, minutes since midnight. */\n to: number\n}\n\n/** The published peak windows: weekday 09:00-12:00 and 14:00-18:00. */\nconst PEAK_WINDOWS: readonly PeakWindow[] = [\n { from: 9 * 60, to: 12 * 60 },\n { from: 14 * 60, to: 18 * 60 },\n]\n\n/** Beijing is UTC+8 year-round (no DST), so a fixed shift is exact. */\nconst BEIJING_UTC_OFFSET_MS = 8 * 3_600_000\n\n/** One price row in CNY per million tokens, split by billing period. */\ninterface ModelPrice {\n /** Input served from the provider prompt cache. */\n cacheHit: { offPeak: number; peak: number }\n /** Uncached input (DeepSeek reports no separate cache-write class). */\n inputMiss: { offPeak: number; peak: number }\n /** Output; reasoning tokens bill as output. */\n output: { offPeak: number; peak: number }\n}\n\n/** deepseek-flash (DeepSeek-V4.1-Flash), including the retired flash-class ids it now serves. */\nconst FLASH_PRICE: ModelPrice = {\n cacheHit: { offPeak: 0.02, peak: 0.04 },\n inputMiss: { offPeak: 1.0, peak: 2.0 },\n output: { offPeak: 4.0, peak: 8.0 },\n}\n\n/** deepseek-v4-pro (DeepSeek-V4-Pro-0813); superseded by the flash row at the retirement instant. */\nconst PRO_PRICE: ModelPrice = {\n cacheHit: { offPeak: 0.15, peak: 0.3 },\n inputMiss: { offPeak: 4.5, peak: 9.0 },\n output: { offPeak: 13.5, peak: 27.0 },\n}\n\n/**\n * The instant DeepSeek starts serving `deepseek-v4-pro` requests from\n * V4.1-Flash and billing the flash row: 2026-09-14 12:00 Beijing (UTC+8).\n * Drop the pro row's time fence once V4.1 Pro ships with a published row.\n */\nconst V4_PRO_FOLDED_INTO_FLASH_AT_MS = Date.UTC(2026, 8, 14, 4, 0)\n\nfunction withinWindow(minuteOfDay: number): PeakWindow | undefined {\n return PEAK_WINDOWS.find((window) => minuteOfDay >= window.from && minuteOfDay < window.to)\n}\n\n/**\n * Supplies the Chinese public-holiday dates the peak rule excludes. The dates\n * are not derivable from any rule (the State Council publishes them per year),\n * so this repository ships no table of its own: the default calendar is empty,\n * and a caller that has real dates passes them in. A date is compared as a\n * Beijing-time `YYYY-MM-DD` string, which is the granularity the published\n * rule needs (a holiday is off-peak for the whole day, so times never matter).\n */\nexport interface PublicHolidayCalendar {\n /** True when the Beijing-time calendar day `date` is a Chinese public holiday. */\n isPublicHoliday(date: string): boolean\n}\n\n/**\n * The default calendar: the published Chinese public-holiday table, so a holiday\n * weekday prices off-peak instead of over-reporting at the peak rate. A year the\n * table does not cover holds no dates and falls back to peak on weekdays, which\n * is the safe direction to be wrong in: the estimate reads high rather than low.\n */\nexport const CN_PUBLIC_HOLIDAYS: PublicHolidayCalendar = {\n isPublicHoliday: (date) => {\n const year = date.slice(0, 4)\n if (Number(year) > HOLIDAY_TABLE_LAST_YEAR) return false\n return CHINESE_PUBLIC_HOLIDAYS[year]?.includes(date) ?? false\n },\n}\n\n/** The Beijing-time `YYYY-MM-DD` calendar day of `ms` (UTC+8 has no DST, so the shift is exact). */\nfunction beijingDate(ms: number): string {\n const shifted = new Date(ms + BEIJING_UTC_OFFSET_MS)\n const month = `${shifted.getUTCMonth() + 1}`.padStart(2, '0')\n const day = `${shifted.getUTCDate()}`.padStart(2, '0')\n return `${shifted.getUTCFullYear()}-${month}-${day}`\n}\n\n/**\n * Whether `ms` falls on a peak-eligible Beijing day: Monday-Friday that is\n * not a public holiday. A Saturday or Sunday is never eligible, including on\n * an adjusted workday — the provider counts the calendar day, not the\n * working schedule.\n */\nfunction isPeakDay(ms: number, calendar: PublicHolidayCalendar): boolean {\n const shifted = new Date(ms + BEIJING_UTC_OFFSET_MS)\n const weekday = shifted.getUTCDay()\n if (weekday < 1 || weekday > 5) return false\n return !calendar.isPublicHoliday(beijingDate(ms))\n}\n\n/**\n * The DeepSeek billing period at `ms`, plus when it next flips. The clock is\n * Beijing time regardless of the host timezone (UTC+8 has no DST, so a fixed\n * shift is exact). `boundaryMs` is the instant the current period ends — the\n * window's close while peaking, the next window's open otherwise.\n */\nexport function deepseekPeriodAt(ms: number, calendar: PublicHolidayCalendar = CN_PUBLIC_HOLIDAYS): { peak: boolean; boundaryMs: number } {\n const shifted = new Date(ms + BEIJING_UTC_OFFSET_MS)\n const minuteOfDay = shifted.getUTCHours() * 60 + shifted.getUTCMinutes()\n const current = isPeakDay(ms, calendar) ? withinWindow(minuteOfDay) : undefined\n if (current !== undefined) {\n return { peak: true, boundaryMs: ms + (current.to - minuteOfDay) * 60_000 - shifted.getUTCSeconds() * 1000 - shifted.getUTCMilliseconds() }\n }\n // Next window start: later today (on a peak-eligible day), else the first\n // peak-eligible day's morning window; the scan bound makes a malformed clock\n // terminate.\n for (let dayOffset = 0; dayOffset < 8; dayOffset += 1) {\n const dayStartMs = ms + dayOffset * 86_400_000\n if (!isPeakDay(dayStartMs, calendar)) continue\n const day = new Date(dayStartMs + BEIJING_UTC_OFFSET_MS)\n const realDayStart = Date.UTC(day.getUTCFullYear(), day.getUTCMonth(), day.getUTCDate()) - BEIJING_UTC_OFFSET_MS\n for (const window of PEAK_WINDOWS) {\n if (dayOffset === 0 && window.from <= minuteOfDay) continue\n return { peak: false, boundaryMs: realDayStart + window.from * 60_000 }\n }\n }\n // Unreachable (the scan covers a full week of peak-eligible days); a\n // conservative off-peak answer.\n return { peak: false, boundaryMs: ms + 86_400_000 }\n}\n\n/** The price row for a model id at `atMs`; unknown ids take the flash-class row (documented estimate). */\nfunction priceFor(model: string, atMs: number): ModelPrice {\n const proPriced = model.includes('v4-pro') && atMs < V4_PRO_FOLDED_INTO_FLASH_AT_MS\n return proPriced ? PRO_PRICE : FLASH_PRICE\n}\n\n/**\n * Estimate one call's DeepSeek spend in CNY from its token totals, priced in\n * the billing period at `atMs`. Uncatalogued model ids take the flash-class\n * row; ids from other providers never reach this function (the service gates\n * by route family). Rounded to micro-CNY so the ledger stays readable.\n */\nexport function deepseekModelSpend(model: string, totals: Readonly<UsageTokenTotals>, atMs: number, calendar: PublicHolidayCalendar = CN_PUBLIC_HOLIDAYS): number {\n const price = priceFor(model, atMs)\n const period = deepseekPeriodAt(atMs, calendar)\n const column = period.peak ? 'peak' : 'offPeak'\n const spend = (totals.cacheReadTokens * price.cacheHit[column]\n + (totals.inputTokens + totals.cacheWriteTokens) * price.inputMiss[column]\n + totals.outputTokens * price.output[column]) / 1_000_000\n return Math.round(spend * 1e6) / 1e6\n}","/**\n * The usage ledger: a pure fold from session usage facts into a per-day,\n * per-provider, per-model totals document, plus its JSON serialization.\n * Host-side state lives only in the document; the service owns persistence.\n * @module @linxin666/dsh-usage/core/ledger\n */\n\nimport { addTotals, emptyTotals, type UsageLedgerDocument, type UsageProviderSummary, type UsageTokenTotals } from './types.ts'\n\n/** Local-date key (`YYYY-MM-DD`) for an epoch ms timestamp. */\nexport function localDateKey(ms: number): string {\n const date = new Date(ms)\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n return `${date.getFullYear()}-${month}-${day}`\n}\n\n/**\n * Whether `key` is a real local-date key (`YYYY-MM-DD`). The shape check is\n * round-tripped: an impossible date (9999-99-99) parses to NaN and a rollover\n * (2026-02-30) lands on another day, so both would otherwise fold into a bogus,\n * never-pruned bucket. Shared by the persisted-document reader and the day\n * route's query gate.\n */\nexport function isLedgerDateKey(key: string): boolean {\n if (!/^\\d{4}-\\d{2}-\\d{2}$/.test(key)) return false\n const atMs = new Date(key + 'T12:00:00').getTime()\n return Number.isFinite(atMs) && localDateKey(atMs) === key\n}\n\n/** An empty ledger document. */\nexport function createLedgerDocument(): UsageLedgerDocument {\n return { version: 1, days: {} }\n}\n\n/**\n * Bucket keys come from untrusted directions (persisted JSON, provider and\n * model ids out of session events), so they must never collide with\n * `Object.prototype` plumbing: assigning `day['__proto__']` or reading\n * `day['constructor']` would pollute every object in the host process.\n */\nfunction isSafeBucketKey(key: string): boolean {\n return key !== '__proto__' && key !== 'constructor' && key !== 'prototype'\n}\n\n/**\n * Fold one usage report into the ledger in place. `provider` is the route key\n * and `model` the provider-owned model id the step ran under. Reports keyed\n * by prototype-plumbing names are dropped.\n */\nexport function foldUsage(\n doc: UsageLedgerDocument,\n atMs: number,\n provider: string,\n model: string,\n usage: Readonly<UsageTokenTotals>,\n): void {\n if (!isSafeBucketKey(provider) || !isSafeBucketKey(model)) return\n if (usage.calls <= 0 && usage.inputTokens + usage.outputTokens + usage.cacheReadTokens + usage.cacheWriteTokens <= 0) return\n const dayKey = localDateKey(atMs)\n const day = doc.days[dayKey] ?? {}\n const models = day[provider] ?? {}\n const totals = models[model] ?? emptyTotals()\n addTotals(totals, usage)\n models[model] = totals\n day[provider] = models\n doc.days[dayKey] = day\n}\n\n/** Total tokens of a bucket (billed input + output; reasoning is inside output). */\nexport function totalTokens(totals: Readonly<UsageTokenTotals>): number {\n return totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens + totals.outputTokens\n}\n\n/** How many model rows one summarized provider keeps. */\nexport const SUMMARY_MODEL_CAP = 12\n\n/**\n * Aggregate whole per-day maps (each `provider -> model -> totals`) into the\n * per-provider/per-model summary the overview serves for one day or a range:\n * disjoint bucket sums per provider, per-model rows heaviest first, and the\n * grand total. Pure: reads its inputs, allocates fresh buckets.\n */\nexport function summarizeDays(days: ReadonlyArray<Record<string, Record<string, UsageTokenTotals>>>): {\n totals: UsageTokenTotals\n providers: UsageProviderSummary[]\n} {\n const merged = new Map<string, Map<string, UsageTokenTotals>>()\n for (const day of days) {\n for (const [provider, models] of Object.entries(day)) {\n if (!isSafeBucketKey(provider) || typeof models !== 'object' || models === null) continue\n let modelMap = merged.get(provider)\n if (modelMap === undefined) {\n modelMap = new Map()\n merged.set(provider, modelMap)\n }\n for (const [model, totals] of Object.entries(models)) {\n if (typeof totals !== 'object' || totals === null) continue\n const bucket = modelMap.get(model) ?? emptyTotals()\n addTotals(bucket, totals)\n modelMap.set(model, bucket)\n }\n }\n }\n const providers: UsageProviderSummary[] = []\n const totals = emptyTotals()\n for (const [provider, modelMap] of merged) {\n const providerTotals = emptyTotals()\n const modelRows = [...modelMap].map(([model, modelTotals]) => ({ model, totals: modelTotals }))\n for (const row of modelRows) addTotals(providerTotals, row.totals)\n modelRows.sort((a, b) => totalTokens(b.totals) - totalTokens(a.totals))\n providers.push({ provider, totals: providerTotals, models: modelRows.slice(0, SUMMARY_MODEL_CAP) })\n }\n providers.sort((a, b) => totalTokens(b.totals) - totalTokens(a.totals))\n for (const row of providers) addTotals(totals, row.totals)\n return { totals, providers }\n}\n\n/** All local-date keys in the ledger, ascending. */\nexport function ledgerDayKeys(doc: Readonly<UsageLedgerDocument>): string[] {\n return Object.keys(doc.days).sort()\n}\n\n/**\n * Drop every day older than `retainDays` local days before `todayKey`, in\n * place. Returns the number of pruned days.\n */\nexport function pruneLedger(doc: UsageLedgerDocument, todayKey: string, retainDays: number): number {\n const cutoff = new Date(todayKey + 'T00:00:00')\n cutoff.setDate(cutoff.getDate() - retainDays)\n const cutoffKey = localDateKey(cutoff.getTime())\n let pruned = 0\n for (const key of Object.keys(doc.days)) {\n if (key < cutoffKey) {\n delete doc.days[key]\n pruned += 1\n }\n }\n return pruned\n}\n\nfunction reviveTotals(value: unknown): UsageTokenTotals | undefined {\n if (typeof value !== 'object' || value === null) return undefined\n const source = value as Record<string, unknown>\n const num = (key: string): number => typeof source[key] === 'number' && Number.isFinite(source[key]) ? source[key] : 0\n return {\n inputTokens: num('inputTokens'),\n outputTokens: num('outputTokens'),\n cacheReadTokens: num('cacheReadTokens'),\n cacheWriteTokens: num('cacheWriteTokens'),\n reasoningTokens: num('reasoningTokens'),\n calls: num('calls'),\n cost: num('cost'),\n }\n}\n\n/**\n * Parse a ledger document from untrusted JSON: unknown shapes resolve to an\n * empty document, malformed entries are dropped, numbers are coerced to\n * finite values. Never throws.\n */\nexport function deserializeLedger(value: unknown): UsageLedgerDocument {\n const doc = createLedgerDocument()\n if (typeof value !== 'object' || value === null) return doc\n const days = (value as Record<string, unknown>).days\n if (typeof days !== 'object' || days === null) return doc\n for (const [dateKey, providers] of Object.entries(days as Record<string, unknown>)) {\n if (!isLedgerDateKey(dateKey) || typeof providers !== 'object' || providers === null) continue\n const atMs = new Date(dateKey + 'T12:00:00').getTime()\n for (const [provider, models] of Object.entries(providers as Record<string, unknown>)) {\n if (typeof models !== 'object' || models === null) continue\n for (const [model, totals] of Object.entries(models as Record<string, unknown>)) {\n const revived = reviveTotals(totals)\n if (revived !== undefined) foldUsage(doc, atMs, provider, model, revived)\n }\n }\n }\n return doc\n}\n","/**\n * Generated asset: the Jingyuan note artwork as a JPEG data URL, inlined so\n * the client bundle needs no binary-asset pipeline. Source of truth:\n * assets/jingyuan-note.jpg (1400x714, q80). Regenerate with:\n * base64 -i assets/jingyuan-note.jpg | tr -d '\\\\n'\n * Do not edit by hand.\n * @module @linxin666/dsh-usage/client/voucher-art\n */\n\nexport const VOUCHER_ART_DATA_URL = \"data:image/jpeg;base64,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\"\n","/**\n * The Whale-yuan voucher (鲸元券): the profile's retained ledger totals\n * stamped onto the banknote artwork as a denomination, ready\n * to save or share. The canvas copy is deliberately locale-neutral (digits,\n * latin captions, ISO dates) so the exported image needs no dictionary;\n * everything user-facing around it lives in the section's locales. The pure\n * helpers are unit-tested; the draw itself degrades to a thrown error the\n * section renders as its failure line.\n * @module @linxin666/dsh-usage/client/voucher\n */\n\nimport { isDeepSeekProviderRoute } from '../core/adapters.ts'\nimport { totalTokens } from '../core/ledger.ts'\nimport type { UsageWindowSummary } from '../core/types.ts'\nimport { VOUCHER_ART_DATA_URL } from './voucher-art.generated.ts'\n\n/** The facts stamped onto one voucher. */\nexport interface VoucherData {\n /** Every provider's total tokens over the retained window. */\n tokens: number\n /** Provider calls that reported usage, summed across every provider. */\n calls: number\n /** Fold-time spend estimate in CNY; only the priced (official DeepSeek) family contributes. */\n cost: number\n /** Retained window bounds (local date keys, inclusive). */\n from: string\n to: string\n}\n\n/** Anti-inflation exchange rate: 1,000,000 tokens mint one whale yuan. */\nexport const TOKENS_PER_WHALE_YUAN = 1_000_000\n\n/** The note's face value in whale yuan; the smallest denomination is 1. */\nexport function faceValue(tokens: number): number {\n return Math.max(1, Math.round(tokens / TOKENS_PER_WHALE_YUAN))\n}\n\n/** Local calendar day (`YYYY-MM-DD`) for an epoch ms timestamp. */\nexport function formatDay(ms: number): string {\n const date = new Date(ms)\n const month = String(date.getMonth() + 1).padStart(2, '0')\n const day = String(date.getDate()).padStart(2, '0')\n return `${date.getFullYear()}-${month}-${day}`\n}\n\n/**\n * Sum every provider's rows out of a usage window: the note is a\n * proof-of-spend for what the profile actually used, so the tokens and calls\n * of every route in the ledger mint — the DeepSeek official family (the\n * `deepseek` catalog alias, the live `deepseek-official` route and the\n * signed-in `deepseek-account` route) beside every subscription and relay\n * route. Undefined when the window is absent (older host) or nothing was used\n * — a zero-token note mints nothing.\n *\n * Minting is an accounting decision over ledger rows, so it reads no adapter:\n * widening it must never widen the credential or balance-probe paths, which\n * keep reading `adapterFor()` (the split `isDeepSeekProviderRoute()` also\n * keeps, issue #1772).\n *\n * Only the priced family contributes `cost`: subscription and relay routes\n * ship no price book, so they mint tokens and calls while the spend line keeps\n * reporting the official family's fold-time estimate (and the observed-balance\n * watch above it).\n */\nexport function voucherData(window: UsageWindowSummary | undefined): VoucherData | undefined {\n if (window === undefined) return undefined\n let tokens = 0\n let calls = 0\n let cost = 0\n for (const row of window.providers) {\n tokens += totalTokens(row.totals)\n calls += row.totals.calls\n if (isDeepSeekProviderRoute(row.provider)) cost += row.totals.cost\n }\n if (tokens <= 0) return undefined\n return { tokens, calls, cost, from: window.from, to: window.to }\n}\n\n/** Banknote denomination: full digits with thousands separators. */\nexport function formatDenomination(value: number): string {\n return Math.max(0, Math.round(value)).toLocaleString('en-US')\n}\n\n/** Deterministic serial number flavor: the face value mod 1e9, zero-padded. */\nexport function voucherSerial(face: number): string {\n return String(Math.max(0, Math.round(face)) % 1_000_000_000).padStart(9, '0')\n}\n\n/** The decoded note artwork plus its intrinsic size. */\nexport interface VoucherArt {\n image: CanvasImageSource\n width: number\n height: number\n}\n\nlet artPromise: Promise<VoucherArt> | undefined\n\n/** Decode the note artwork once per page; a failed decode retries next call. */\nexport function loadVoucherArt(): Promise<VoucherArt> {\n artPromise ??= new Promise<VoucherArt>((resolve, reject) => {\n const image = new Image()\n image.onload = () => resolve({ image, width: image.naturalWidth, height: image.naturalHeight })\n image.onerror = () => {\n artPromise = undefined\n reject(new Error('voucher art decode failed'))\n }\n image.src = VOUCHER_ART_DATA_URL\n })\n return artPromise\n}\n\n/** Ink and seal-red the note's engraving palette, sampled off the artwork. */\nconst INK = '#2b2f38'\nconst SEAL_RED = '#9a3b2c'\nconst DENOMINATION_FONT = \"Georgia, 'Times New Roman', serif\"\n\n/**\n * Stamp the denomination block onto a canvas sized to the artwork: the\n * minted whale yuan as the face value under the note title, a small\n * `whale yuan` caption, and a seal-red serial line with the minting\n * window. All geometry is relative to the artwork size so a regenerated\n * asset reflows.\n */\nexport function drawVoucher(canvas: HTMLCanvasElement, art: VoucherArt, data: VoucherData): void {\n canvas.width = art.width\n canvas.height = art.height\n const ctx = canvas.getContext('2d')\n if (ctx === null) throw new Error('canvas 2d context unavailable')\n ctx.drawImage(art.image, 0, 0, art.width, art.height)\n\n const face = faceValue(data.tokens)\n const centerX = Math.round(art.width * 0.67)\n const denomination = formatDenomination(face)\n\n // Fit the face value into the free band between the note title and the\n // bottom ornament (the red seal sits to its right).\n let size = Math.round(art.height * 0.115)\n const minSize = Math.round(art.height * 0.055)\n const maxWidth = art.width * 0.28\n ctx.textAlign = 'center'\n ctx.textBaseline = 'alphabetic'\n while (size > minSize) {\n ctx.font = `700 ${size}px ${DENOMINATION_FONT}`\n if (ctx.measureText(denomination).width <= maxWidth) break\n size -= 2\n }\n ctx.fillStyle = INK\n ctx.fillText(denomination, centerX, Math.round(art.height * 0.75))\n\n ctx.font = `600 ${Math.round(art.height * 0.032)}px ${DENOMINATION_FONT}`\n ctx.fillText('whale yuan', centerX, Math.round(art.height * 0.8))\n\n ctx.fillStyle = SEAL_RED\n ctx.font = `500 ${Math.round(art.height * 0.026)}px ${DENOMINATION_FONT}`\n ctx.fillText(`NO.${voucherSerial(face)} ${data.from} - ${data.to}`, centerX, Math.round(art.height * 0.845))\n}\n","/**\n * Spend display: the ledger keeps every cost estimate in the priced provider's\n * billing currency (CNY), and that stored value never moves. This module turns\n * one CNY figure into the currency the user chose to READ it in, so switching\n * the display is a rendering decision, not a data migration (issue #1937).\n * @module @linxin666/dsh-usage/core/spend\n */\n\n/** A currency the spend display can render. */\nexport type SpendCurrency = 'CNY' | 'USD'\n\n/** How to read a stored CNY cost. */\nexport interface SpendDisplay {\n /** The currency to render in. */\n currency: SpendCurrency\n /** CNY per USD; consulted only when the display currency is USD. */\n cnyPerUsd: number\n}\n\n/**\n * The rate used when the row configures none: a plain default, so an\n * unconfigured display still has a defined美元 figure instead of a blank card.\n * The plugin never fetches a live rate (its host routes are loopback-fenced and\n * its browser half has no network), so there is no fetch that could fail and\n * leave the card empty.\n */\nexport const DEFAULT_CNY_PER_USD = 7.2\n\n/** The display used when the row carries no setting: the historical CNY rendering. */\nexport const DEFAULT_SPEND_DISPLAY: SpendDisplay = { currency: 'CNY', cnyPerUsd: DEFAULT_CNY_PER_USD }\n\n/**\n * Normalize a configured display.\n * An unknown currency reads as CNY, and a rate that is not a positive finite\n * number falls back to the default rate — the display must never be able to\n * blank the card.\n * @param input - the configured currency and rate, if any.\n * @returns a display that can always render.\n */\nexport function resolveSpendDisplay(input?: { currency?: unknown; cnyPerUsd?: unknown }): SpendDisplay {\n const currency: SpendCurrency = input?.currency === 'USD' ? 'USD' : 'CNY'\n const rate = typeof input?.cnyPerUsd === 'number' && Number.isFinite(input.cnyPerUsd) && input.cnyPerUsd > 0\n ? input.cnyPerUsd\n : DEFAULT_CNY_PER_USD\n return { currency, cnyPerUsd: rate }\n}\n\n/**\n * Render one stored CNY cost in the display currency.\n * A non-finite or negative cost renders as zero rather than as `NaN`/`¥-0.10`.\n * @param costCny - the stored cost in CNY.\n * @param display - the display to render in; defaults to CNY.\n * @returns the formatted amount with its currency symbol.\n */\nexport function formatSpend(costCny: number, display: SpendDisplay = DEFAULT_SPEND_DISPLAY): string {\n const safe = Number.isFinite(costCny) && costCny > 0 ? costCny : 0\n if (display.currency === 'USD') {\n const rate = Number.isFinite(display.cnyPerUsd) && display.cnyPerUsd > 0 ? display.cnyPerUsd : DEFAULT_CNY_PER_USD\n return '$' + (safe / rate).toFixed(2)\n }\n return '¥' + safe.toFixed(2)\n}\n","/**\n * The usage statistics settings page: one family settings card whose header\n * carries the plugin switch, whose body holds three tabs (用量: today's\n * usage, balances, trend; 个人套餐: per-provider plan quota windows; Token\n * 银行: the whale-yuan voucher minted from every provider's ledger usage)\n * and, under them, the display rows. Data comes from the host's\n * loopback-fenced /api/dsh-usage/overview document; polling runs only while\n * the section is mounted and the tab is visible.\n * @module @linxin666/dsh-usage/client/UsageSectionCard\n */\n\nimport { useEffect, useRef, useState, useSyncExternalStore, type ReactNode } from 'react'\nimport type { UsageStoreInstance } from './usage-store.ts'\nimport { t } from './locales.ts'\nimport styles from './usage.module.css'\nimport cardCss from './settings-card.module.css'\nimport { PeakBadge } from './PeakBadge.tsx'\nimport { SegmentGroup } from './SegmentGroup.tsx'\nimport { UsagePage } from './UsagePage.tsx'\nimport type { UsageSettingsCardFace } from './usage-settings-card.ts'\nimport { isDeepSeekProviderRoute } from '../core/adapters.ts'\nimport { deepseekPeriodAt } from '../core/pricing.ts'\nimport { voucherData, drawVoucher, faceValue, formatDay, formatDenomination, loadVoucherArt } from './voucher.ts'\nimport type { ObservedSpendView, ProviderSnapshotView, UsageDayView, UsageOverviewView, UsageProviderSummary, UsageTokenTotals, UsageWindowSummary } from '../core/types.ts'\nimport { formatSpend, type SpendDisplay } from '../core/spend.ts'\n\nexport type { UsageSettings } from './usage-settings-card.ts'\n\n/** The registration-side face the section's slot entry injects. */\nexport interface UsageSectionFace {\n /** The section-local store (overview snapshot + lifecycle). */\n store: UsageStoreInstance\n /** Fetch one overview now. */\n poll: () => void\n /** Force a host probe cycle now (resolves with the fresh overview). */\n refresh: () => void\n /**\n * Fetch one retained local day (YYYY-MM-DD) from the host. The overview\n * only carries today plus the list of recorded days, so a day the user picks\n * is one small on-demand request.\n */\n loadDay: (date: string) => Promise<UsageDayView>\n /** The settings card over the usage namespace: the plugin switch and the display rows. */\n settingsCard: UsageSettingsCardFace\n}\n\nexport interface UsageSectionProps extends UsageSectionFace {\n /** Close the settings panel (the shell owns the open state). */\n close: () => void\n}\n\n/** Poll cadence while the section is open. */\nconst SECTION_POLL_MS = 10_000\n\n/**\n * The Token bank's default window: the whole retained ledger. It is a select\n * value rather than a date, so it can never collide with a day key.\n */\nconst BANK_ALL_DAYS = 'all'\n\n/** Compact token count: 12345 -> 12.3k, 1234567 -> 1.23M. */\nexport function formatTokens(value: number): string {\n if (!Number.isFinite(value) || value <= 0) return '0'\n if (value < 1000) return String(value)\n if (value < 1_000_000) return trim(value / 1000) + 'k'\n if (value < 1_000_000_000) return trim(value / 1_000_000) + 'M'\n return trim(value / 1_000_000_000) + 'B'\n}\n\nfunction trim(value: number): string {\n return value >= 100 ? String(Math.round(value)) : value.toFixed(value >= 10 ? 1 : 2).replace(/\\.?0+$/, '')\n}\n\nfunction formatTime(ms: number): string {\n try {\n return new Date(ms).toLocaleTimeString()\n } catch {\n return ''\n }\n}\n\nfunction toneClass(percent: number): string {\n if (percent >= 90) return styles.barLow\n if (percent >= 70) return styles.barWarn\n return styles.barFill\n}\n\n/** A provider row backed by a configured credential (api key, env key, or OAuth grant). */\nfunction isConfigured(provider: ProviderSnapshotView): boolean {\n // An older wire document without the credential field renders as before.\n return provider.credential !== 'none'\n}\n\nfunction TotalsRow(props: { totals: UsageTokenTotals }): ReactNode {\n const { totals } = props\n return (\n <div className={styles.statRow} data-dsh-layout=\"usage-totals\">\n <div className={styles.stat} data-dsh-stat=\"total\">\n <span className={styles.statValue}>{formatTokens(totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens + totals.outputTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.total')}</span>\n </div>\n <div className={styles.stat} data-dsh-stat=\"input\">\n <span className={styles.statValue}>{formatTokens(totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.input')}</span>\n </div>\n <div className={styles.stat} data-dsh-stat=\"output\">\n <span className={styles.statValue}>{formatTokens(totals.outputTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.output')}</span>\n </div>\n <div className={styles.stat} data-dsh-stat=\"cache-read\">\n <span className={styles.statValue}>{formatTokens(totals.cacheReadTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.cacheRead')}</span>\n </div>\n <div className={styles.stat} data-dsh-stat=\"cache-write\">\n <span className={styles.statValue}>{formatTokens(totals.cacheWriteTokens)}</span>\n <span className={styles.statLabel}>{t('usage.tokens.cacheWrite')}</span>\n </div>\n <div className={styles.stat} data-dsh-stat=\"calls\">\n <span className={styles.statValue}>{formatTokens(totals.calls)}</span>\n <span className={styles.statLabel}>{t('usage.calls', { n: totals.calls })}</span>\n </div>\n </div>\n )\n}\n\nfunction balanceLine(provider: ProviderSnapshotView): ReactNode {\n if (provider.balance !== undefined) {\n return <span className={styles.providerBalance}>{provider.balance.currency.toUpperCase() === 'CNY' ? '¥' : provider.balance.currency.toUpperCase() === 'USD' ? '$' : ''}{provider.balance.totalBalance}{provider.balance.currency.toUpperCase() !== 'CNY' && provider.balance.currency.toUpperCase() !== 'USD' ? ' ' + provider.balance.currency.toUpperCase() : ''}</span>\n }\n if (provider.credential === 'oauth') return <span className={styles.muted}>{t('usage.oauth')}</span>\n if (provider.credential === 'none') return <span className={styles.muted}>{t('usage.balance.noCredential')}</span>\n // balanceSupported === false is the origin gate: the adapter has a balance\n // endpoint but it belongs to another provider's account (issue #1688), so\n // the row says so instead of silently vanishing from the card.\n if (provider.balanceSupported === false) return <span className={styles.muted}>{t('usage.balance.unsupported')}</span>\n if (!provider.supported) return <span className={styles.muted}>{t('usage.balance.unsupported')}</span>\n return null\n}\n\nfunction ProviderRow(props: { provider: ProviderSnapshotView; current?: string }): ReactNode {\n const { provider, current } = props\n return (\n <div className={styles.providerRow} data-dsh-part=\"provider-row\">\n <span className={styles.providerName}>\n {provider.displayName}\n {current === provider.provider && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n </span>\n <span className={styles.providerTokens}>{balanceLine(provider)}</span>\n </div>\n )\n}\n\n/** One day the pickers selected, as its fetch progresses. */\ninterface DayLoad {\n status: 'loading' | 'ready' | 'error'\n /** The served day, once the host answered. */\n view?: UsageDayView\n /** Transport error message, on a failed load. */\n error?: string\n}\n\n/**\n * Fetch the day a picker selected, or stay idle for the default window. Today\n * never fetches: the overview already carries it live, so switching back to\n * today is instant and keeps counting with the poll. A superseded selection\n * never lands (the effect cancels), and a failed load reports its own message\n * instead of leaving the card on a stale day.\n */\nfunction useDayView(loadDay: (date: string) => Promise<UsageDayView>, date: string | undefined, today: string | undefined): DayLoad | undefined {\n const [load, setLoad] = useState<DayLoad | undefined>(undefined)\n useEffect(() => {\n if (date === undefined || date === today) {\n setLoad((previous) => (previous === undefined ? previous : undefined))\n return undefined\n }\n let cancelled = false\n setLoad({ status: 'loading' })\n loadDay(date).then(\n (view) => { if (!cancelled) setLoad({ status: 'ready', view }) },\n (error: unknown) => { if (!cancelled) setLoad({ status: 'error', error: error instanceof Error ? error.message : String(error) }) },\n )\n return () => { cancelled = true }\n }, [date, today, loadDay])\n return load\n}\n\n/**\n * The day picker: today plus every retained day that recorded usage, newest\n * first (the host serves the list ascending). Without that list (an older host\n * document) no picker renders and the card stays on its default window.\n */\nfunction DayPicker(props: {\n value: string\n options: string[]\n today: string\n /** An extra leading option; the Token bank passes its whole-ledger window. */\n leading?: { value: string; label: string }\n onSelect: (date: string) => void\n /** Namespaces the element id, so the two tabs keep one control each. */\n part: string\n}): ReactNode {\n const { value, options, today, leading, onSelect, part } = props\n if (options.length === 0) return null\n return (\n <div className={styles.dayPicker}>\n <label className={styles.dayPickerLabel} htmlFor={'dsh-usage-day-' + part}>{t('usage.day.label')}</label>\n <select\n id={'dsh-usage-day-' + part}\n className={styles.daySelect}\n value={value}\n onChange={(event) => { onSelect(event.target.value) }}\n >\n {leading !== undefined && <option value={leading.value}>{leading.label}</option>}\n {options.map((date) => (\n <option key={date} value={date}>{date === today ? t('usage.day.today') : date}</option>\n ))}\n </select>\n </div>\n )\n}\n\n/** The section component; the slot merges the face into these props. */\nexport function UsageSectionCard(props: UsageSectionProps): ReactNode {\n const { store, poll, refresh, loadDay, settingsCard } = props\n const ui = useSyncExternalStore(store.subscribe, store.getSnapshot)\n // The card store republishes the Host's accepted value, so the poll below\n // starts and stops with the switch without waiting for an unrelated render.\n const card = useSyncExternalStore(settingsCard.store.subscribe, settingsCard.store.getSnapshot)\n const [tab, setTab] = useState<UsageTab>('usage')\n // Undefined means \"the default window of this tab\": today on the usage tab,\n // the whole retained ledger in the Token bank. A date switches that tab to\n // one retained day instead.\n const [usageDay, setUsageDay] = useState<string | undefined>(undefined)\n const [bankDay, setBankDay] = useState<string | undefined>(undefined)\n const [refreshing, setRefreshing] = useState(false)\n const enabled = card.enabled.text !== 'false'\n\n // Poll while mounted, enabled and visible; the overview is cheap (no probes —\n // the host's own cycle owns those) so 10 s keeps balances fresh-ish between\n // manual refreshes.\n useEffect(() => {\n // A disabled plugin deregisters its host routes, so the poll must stop with\n // it; the section re-enables by writing the flag back through the switch.\n if (!enabled) return undefined\n poll()\n let timer: number | undefined\n const start = (): void => {\n if (timer === undefined && document.visibilityState === 'visible') timer = window.setInterval(poll, SECTION_POLL_MS)\n }\n const onVisibility = (): void => {\n if (document.visibilityState === 'visible') {\n poll()\n start()\n } else if (timer !== undefined) {\n window.clearInterval(timer)\n timer = undefined\n }\n }\n start()\n document.addEventListener('visibilitychange', onVisibility)\n return () => {\n if (timer !== undefined) window.clearInterval(timer)\n document.removeEventListener('visibilitychange', onVisibility)\n }\n }, [poll, enabled])\n\n const snapshot = ui.snapshot\n const todayDate = snapshot?.usage.today.date\n // Every retained day that recorded usage, newest first, plus today so the\n // default window is always one of the options even before it has usage.\n const dayOptions = snapshot === null\n ? []\n : [...new Set([todayDate, ...(snapshot.usage.availableDays ?? [])]\n .filter((date): date is string => date !== undefined))].sort().reverse()\n // A selection retention no longer holds falls back to the tab's default\n // window, so a picker can never keep displaying a day the host dropped.\n const usageSelection = usageDay !== undefined && dayOptions.includes(usageDay) ? usageDay : undefined\n const bankSelection = bankDay !== undefined && dayOptions.includes(bankDay) ? bankDay : undefined\n const selectedDay = usageSelection ?? todayDate\n const isToday = selectedDay === todayDate\n const usageDayLoad = useDayView(loadDay, usageSelection, todayDate)\n const bankDayLoad = useDayView(loadDay, bankSelection, todayDate)\n // A selected day rides its own fetch; the default windows ride the overview.\n const day = isToday ? snapshot?.usage.today : usageDayLoad?.view\n const bankDayView = bankSelection === undefined\n ? undefined\n : bankSelection === todayDate ? snapshot?.usage.today : bankDayLoad?.view\n const bankWindow = bankSelection === undefined\n ? snapshot?.usage.all ?? snapshot?.usage.range\n : bankDayView === undefined\n ? undefined\n : { from: bankDayView.date, to: bankDayView.date, totals: bankDayView.totals, providers: bankDayView.providers }\n\n const onRefresh = (): void => {\n setRefreshing(true)\n try {\n refresh()\n } finally {\n // The POST resolves through the next poll tick; unlock shortly either way.\n window.setTimeout(() => setRefreshing(false), 3000)\n }\n }\n\n // Disabled, failed and still-loading states keep the card mounted: its\n // header owns the switch, so replacing the whole page would leave the user\n // no way back from the UI.\n if (!enabled || ui.status === 'error' || snapshot === null) {\n return (\n <UsagePage card={card} face={settingsCard} enabled={enabled}>\n {enabled\n ? (\n <span className={styles.muted} data-dsh-part=\"status-line\">\n {ui.status === 'error' ? t('usage.error', { error: ui.error ?? '' }) : t('usage.loading')}\n </span>\n )\n : null}\n </UsagePage>\n )\n }\n\n const current = snapshot.current\n const currentProvider = snapshot.providers.find((provider) => provider.provider === current.provider)\n // Peak-period line: only when the official DeepSeek family is in play this\n // session (the current route, or spend recorded under one today). It\n // describes the pricing window now, so a past day's card drops it.\n const deepseekPeriod = deepseekPeriodAt(Date.now())\n const deepseekVisible = isToday && ((current.provider !== undefined && isDeepSeekProviderRoute(current.provider))\n || snapshot.usage.today.providers.some((row) => isDeepSeekProviderRoute(row.provider)))\n // Plans tab: only configured routes with a real coding-plan/subscription\n // adapter (planSupported; an older host without the flag falls back to \"has\n // a plan fact\"). Balance-only providers (DeepSeek, ZenMux, ...) and\n // unconfigured routes (credential 'none') never appear here.\n const planProviders = snapshot.providers.filter((provider) => isConfigured(provider) && (provider.planSupported === true || (provider.planSupported === undefined && provider.plan !== undefined)))\n\n return (\n <UsagePage card={card} face={settingsCard} enabled={enabled}>\n <div className={styles.section}>\n <div className={styles.header} data-dsh-part=\"header\">\n {/* The cards below already say when there is no usage; without a current route the slot stays empty. */}\n <span className={styles.currentProvider}>\n {currentProvider !== undefined\n ? `${currentProvider.displayName}${current.model !== undefined && current.model !== '' ? ' · ' + current.model : ''}`\n : null}\n </span>\n <span className={styles.headerActions}>\n <span className={styles.muted}>{t('usage.updated', { time: formatTime(snapshot.updatedAt) })}</span>\n <button type=\"button\" className={styles.refreshBtn} onClick={onRefresh} disabled={refreshing}>\n {refreshing ? t('usage.refreshing') : t('usage.refresh')}\n </button>\n </span>\n </div>\n\n <SegmentGroup className={styles.tabs} role=\"tablist\" aria-label={t('usage.title')} data-dsh-part=\"tabs\">\n {USAGE_TABS.map((entry) => (\n <button\n key={entry}\n type=\"button\"\n role=\"tab\"\n aria-selected={tab === entry}\n className={`${cardCss.segment} ${styles.tab}`}\n data-active={tab === entry ? '' : undefined}\n onClick={() => setTab(entry)}\n >\n {t(`usage.tab.${entry}`)}\n </button>\n ))}\n </SegmentGroup>\n\n {tab === 'usage' && (\n <>\n <div className={styles.usageSummaryGrid} data-dsh-layout=\"summary-grid\">\n <div className={styles.card} data-dsh-part=\"today-card\">\n <span className={styles.cardTitle}>{isToday ? t('usage.today') : t('usage.day.title', { date: selectedDay ?? '' })}</span>\n <DayPicker\n part=\"usage\"\n value={selectedDay ?? ''}\n options={dayOptions}\n today={todayDate ?? ''}\n onSelect={(date) => { setUsageDay(date === todayDate ? undefined : date) }}\n />\n {deepseekVisible && (\n <PeakBadge peak={deepseekPeriod.peak} boundaryMs={deepseekPeriod.boundaryMs} variant=\"full\" />\n )}\n {usageDayLoad?.status === 'error'\n ? <span className={styles.errorLine}>{t('usage.day.error', { error: usageDayLoad.error ?? '' })}</span>\n : day === undefined\n ? <span className={styles.muted}>{t('usage.day.loading')}</span>\n : day.totals.calls === 0\n ? <span className={styles.muted}>{isToday ? t('usage.noData') : t('usage.day.empty')}</span>\n : <TotalsRow totals={day.totals} />}\n {(day?.totals.cost ?? 0) > 0 && (\n <div className={styles.providerRow} data-dsh-part=\"today-cost\">\n <span className={styles.providerName}>{isToday ? t('usage.today.cost') : t('usage.day.cost')}</span>\n <span className={styles.providerTokens}>{formatSpend(day?.totals.cost ?? 0, snapshot.display)}</span>\n </div>\n )}\n {(day?.providers.length ?? 0) > 0 && (\n <div data-dsh-part=\"provider-list\">\n {(day?.providers ?? []).map((row) => (\n <div key={row.provider} className={styles.providerRow}>\n <span className={styles.providerName}>\n {snapshot.providers.find((provider) => provider.provider === row.provider)?.displayName ?? row.provider}\n {current.provider === row.provider && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n </span>\n <span className={styles.providerTokens}>{formatTokens(row.totals.inputTokens + row.totals.cacheReadTokens + row.totals.cacheWriteTokens + row.totals.outputTokens)} · {t('usage.calls', { n: row.totals.calls })}{row.totals.cost > 0 ? ` · ${formatSpend(row.totals.cost, snapshot.display)}` : ''}</span>\n </div>\n ))}\n </div>\n )}\n </div>\n\n <div className={styles.card} data-dsh-part=\"balance-card\">\n <span className={styles.cardTitle}>{t('usage.balance')}</span>\n {(() => {\n const configured = snapshot.providers.filter(isConfigured)\n // Include rows whose balance is deliberately not applicable\n // (another origin's endpoint): the row itself explains why, which\n // a single generic line cannot (#1688).\n const rows = configured.filter((provider) => provider.balanceSupported === true || provider.balanceSupported === false || (provider.balanceSupported === undefined && provider.supported))\n if (rows.length === 0) {\n return <span className={styles.muted}>{configured.length === 0 ? t('usage.balance.noneConfigured') : t('usage.balance.unsupported')}</span>\n }\n return rows.map((provider) => (\n <ProviderRow key={provider.provider} provider={provider} current={current.provider} />\n ))\n })()}\n {snapshot.providers.some((provider) => isConfigured(provider) && provider.error !== undefined) && (\n <span className={styles.errorLine}>\n {snapshot.providers.filter((provider) => isConfigured(provider) && provider.error !== undefined).map((provider) => `${provider.displayName}: ${t('usage.provider.error', { error: provider.error ?? '' })}`).join(t('usage.errorListSeparator'))}\n </span>\n )}\n </div>\n </div>\n\n <RangeCard range={snapshot.usage.range} providers={snapshot.providers} currentProvider={current.provider} />\n </>\n )}\n\n {tab === 'plans' && (\n planProviders.length === 0\n ? <div className={styles.card}><span className={styles.muted}>{t('usage.plan.noneConfigured')}</span></div>\n : planProviders.map((provider) => <PlanCard key={provider.provider} provider={provider} current={current.provider} />)\n )}\n\n {tab === 'bank' && (\n <>\n <DayPicker\n part=\"bank\"\n value={bankSelection ?? BANK_ALL_DAYS}\n options={dayOptions}\n today={todayDate ?? ''}\n leading={{ value: BANK_ALL_DAYS, label: t('usage.bank.windowAll') }}\n onSelect={(date) => { setBankDay(date === BANK_ALL_DAYS ? undefined : date) }}\n />\n <VoucherCard\n window={bankWindow}\n // The observed-spend watch accrues from its own first balance\n // reading, so it describes the whole window only: a single day's\n // voucher falls back to that day's fold-time estimate.\n observedSpend={bankSelection === undefined ? snapshot.usage.observedSpend : undefined}\n loading={bankSelection !== undefined && bankDayLoad?.status === 'loading'}\n display={snapshot.display}\n {...(bankDayLoad?.status === 'error' ? { error: bankDayLoad.error ?? '' } : {})}\n />\n </>\n )}\n </div>\n </UsagePage>\n )\n}\n\n/** The statistics tabs, in their order on the page. */\nconst USAGE_TABS = ['usage', 'plans', 'bank'] as const\ntype UsageTab = (typeof USAGE_TABS)[number]\n\n/** How many model sub-bars render under one provider bar. */\nconst CHART_MODEL_CAP = 3\n\n/**\n * The 近 30 天 card: horizontal bars per provider over the trend window,\n * each with its heaviest models as nested sub-bars. Window totals come from\n * the host's aggregated `usage.range` (an older host without it renders no\n * card instead of a wrong one).\n */\nfunction RangeCard(props: { range?: UsageOverviewView['usage']['range']; providers: ProviderSnapshotView[]; currentProvider?: string }): ReactNode {\n const { range, providers, currentProvider } = props\n if (range === undefined) return null\n const grandTotal = range.totals.inputTokens + range.totals.outputTokens + range.totals.cacheReadTokens + range.totals.cacheWriteTokens\n const maxProvider = Math.max(1, ...range.providers.map((row) => totalOf(row.totals)))\n const nameOf = (id: string): string => providers.find((provider) => provider.provider === id)?.displayName ?? id\n return (\n <div className={styles.card} data-dsh-part=\"trend-card\">\n <span className={styles.cardTitle}>{t('usage.trend')}</span>\n {range.providers.length === 0 || grandTotal === 0\n ? <span className={styles.muted}>{t('usage.noData')}</span>\n : <div className={styles.chart} data-dsh-part=\"usage-chart\" data-dsh-layout=\"trend-grid\">\n {range.providers.map((row) => (\n <ChartProviderRow key={row.provider} row={row} name={nameOf(row.provider)} max={maxProvider} current={currentProvider === row.provider} />\n ))}\n <span className={styles.trendAxis}>\n <span>{range.from.slice(5)}</span>\n <span>{range.to.slice(5)}</span>\n </span>\n </div>}\n </div>\n )\n}\n\nfunction ChartProviderRow(props: { row: UsageProviderSummary; name: string; max: number; current: boolean }): ReactNode {\n const { row, name, max, current } = props\n const total = totalOf(row.totals)\n const maxModel = Math.max(1, ...row.models.slice(0, CHART_MODEL_CAP).map((model) => totalOf(model.totals)))\n return (\n <div className={styles.chartProvider} data-dsh-layout=\"trend-provider\">\n <span className={styles.chartHead}>\n <span className={styles.providerName}>\n {name}\n {current && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n </span>\n <span className={styles.chartTokens}>{formatTokens(total)} · {t('usage.calls', { n: row.totals.calls })}</span>\n </span>\n <span className={styles.chartBar}>\n <span className={styles.chartFill} style={{ width: `${Math.max(2, Math.round((total / max) * 100))}%` }} />\n </span>\n {row.models.slice(0, CHART_MODEL_CAP).map((model) => {\n const modelTotal = totalOf(model.totals)\n return (\n <span key={model.model} className={styles.chartModel} title={`${row.provider} · ${model.model}: ${formatTokens(modelTotal)}`}>\n <span className={styles.chartModelName}>{model.model}</span>\n <span className={styles.chartModelBar}>\n <span className={styles.chartModelFill} style={{ width: `${Math.max(3, Math.round((modelTotal / maxModel) * 100))}%` }} />\n </span>\n <span className={styles.chartTokens}>{formatTokens(modelTotal)}</span>\n </span>\n )\n })}\n </div>\n )\n}\n\nfunction totalOf(totals: UsageTokenTotals): number {\n return totals.inputTokens + totals.cacheReadTokens + totals.cacheWriteTokens + totals.outputTokens\n}\n\n/**\n * The Token 银行 card: every provider's retained-ledger usage minted onto the\n * whale-yuan note at 1,000,000 tokens per whale yuan. The window is the whole\n * retained ledger by default (the host's aggregate, falling back to the 30-day\n * trend when an older host serves no `all`) or the single day the user picked;\n * the spend line prefers the official balance watch (whole window only) and\n * falls back to the fold-time estimate, which only the priced family feeds;\n * the artwork draw failure degrades to an error line and never takes the\n * section down.\n */\nfunction VoucherCard(props: { window?: UsageWindowSummary; observedSpend?: ObservedSpendView; loading?: boolean; error?: string; display?: SpendDisplay }): ReactNode {\n const { window: ledger, observedSpend, loading, error, display } = props\n const data = voucherData(ledger)\n const canvasRef = useRef<HTMLCanvasElement | null>(null)\n const [drawError, setDrawError] = useState<string | undefined>(undefined)\n const dataKey = data === undefined ? '' : `${data.from}|${data.to}|${data.tokens}|${data.calls}|${data.cost}`\n\n useEffect(() => {\n if (data === undefined) return\n const voucher = data\n let cancelled = false\n loadVoucherArt().then((art) => {\n if (cancelled) return\n const canvas = canvasRef.current\n if (canvas !== null) {\n try {\n drawVoucher(canvas, art, voucher)\n } catch (error) {\n if (!cancelled) setDrawError(error instanceof Error ? error.message : String(error))\n }\n }\n }, (error) => {\n if (!cancelled) setDrawError(error instanceof Error ? error.message : String(error))\n })\n return () => {\n cancelled = true\n }\n // dataKey covers every field the draw and the buttons read.\n }, [dataKey])\n\n const onSave = (): void => {\n const canvas = canvasRef.current\n if (canvas === null || data === undefined) return\n canvas.toBlob((blob) => {\n if (blob === null) return\n const url = URL.createObjectURL(blob)\n const anchor = document.createElement('a')\n anchor.href = url\n anchor.download = `dsh-whale-voucher-${data.to}.png`\n anchor.click()\n window.setTimeout(() => URL.revokeObjectURL(url), 10_000)\n }, 'image/png')\n }\n\n const shareSupported = typeof navigator !== 'undefined' && typeof navigator.canShare === 'function'\n const onShare = (): void => {\n const canvas = canvasRef.current\n if (canvas === null || data === undefined || !shareSupported) return\n canvas.toBlob(async (blob) => {\n if (blob === null) return\n const file = new File([blob], `dsh-whale-voucher-${data.to}.png`, { type: 'image/png' })\n if (!navigator.canShare({ files: [file] })) return\n try {\n await navigator.share({ files: [file], title: t('usage.bank.title') })\n } catch {\n // A user-cancelled share sheet rejects; nothing to report.\n }\n }, 'image/png')\n }\n\n return (\n <div className={styles.card} data-dsh-part=\"bank-card\">\n <span className={styles.cardTitle}>{t('usage.bank.title')}</span>\n {error !== undefined\n ? <span className={styles.errorLine}>{t('usage.day.error', { error })}</span>\n : loading === true\n ? <span className={styles.muted}>{t('usage.day.loading')}</span>\n : data === undefined\n ? <span className={styles.muted}>{t('usage.bank.noUsage')}</span>\n : <>\n <span className={styles.muted}>{t('usage.bank.hint')}</span>\n <div className={styles.voucherPreview} data-dsh-part=\"voucher-preview\">\n <canvas ref={canvasRef} aria-label={t('usage.bank.title')} />\n </div>\n {drawError !== undefined && <span className={styles.errorLine}>{t('usage.bank.drawError', { error: drawError })}</span>}\n <div className={styles.providerRow}>\n <span className={styles.providerName}>{t('usage.bank.minted', { minted: formatDenomination(faceValue(data.tokens)), tokens: formatTokens(data.tokens) })}</span>\n <span className={styles.providerTokens}>{t('usage.calls', { n: data.calls })}</span>\n </div>\n <span className={styles.muted}>\n {observedSpend !== undefined\n ? t('usage.bank.spend.observed', { cost: formatSpend(observedSpend.cny, display), since: formatDay(observedSpend.since) })\n : t('usage.bank.spend.estimated', { cost: formatSpend(data.cost, display) })}\n </span>\n <span className={styles.muted}>{t('usage.bank.window', { from: data.from, to: data.to })}</span>\n <div className={styles.buttonRow}>\n <button type=\"button\" className={styles.refreshBtn} onClick={onSave}>{t('usage.bank.save')}</button>\n {shareSupported && <button type=\"button\" className={styles.refreshBtn} onClick={onShare}>{t('usage.bank.share')}</button>}\n </div>\n </>}\n </div>\n )\n}\n\nfunction PlanCard(props: { provider: ProviderSnapshotView; current?: string }): ReactNode {\n const { provider, current } = props\n return (\n <div className={`${styles.card} ${styles.planCard}`} data-dsh-part=\"plan-card\">\n <div className={styles.planHead}>\n <span className={styles.planName}>\n {provider.displayName}\n {current === provider.provider && <span className={styles.currentBadge}>{t('usage.current')}</span>}\n {provider.plan?.planName !== undefined ? ` · ${provider.plan.planName}` : ''}\n </span>\n </div>\n {provider.error !== undefined && <span className={styles.errorLine}>{t('usage.provider.error', { error: provider.error })}</span>}\n {provider.credential === 'none' && provider.plan === undefined\n ? <span className={styles.muted}>{t('usage.balance.noCredential')}</span>\n : provider.plan === undefined || provider.plan.windows.length === 0\n ? <span className={styles.muted}>{t('usage.plan.noPlan')}</span>\n : provider.plan.windows.map((window) => (\n <div key={window.key} className={styles.windowRow} data-dsh-part=\"plan-window\">\n <span className={styles.windowLabel}>\n <span>{window.name ?? t(`usage.plan.windows.${window.key}`)}</span>\n <span>{window.percent !== undefined ? `${window.percent >= 10 ? Math.round(window.percent) : window.percent.toFixed(1)}%` : ''}</span>\n </span>\n {window.percent !== undefined && (\n <span className={styles.bar}>\n <span className={toneClass(window.percent)} style={{ width: `${Math.min(100, Math.max(0, window.percent))}%`, display: 'block' }} />\n </span>\n )}\n {window.resetsAt !== undefined && (\n <span className={styles.resetLine}>{t('usage.plan.reset', { date: new Date(window.resetsAt).toLocaleString() })}</span>\n )}\n </div>\n ))}\n </div>\n )\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/body-mutations.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * One `document.body` MutationObserver per page, shared by every family\n * plugin bundle.\n *\n * Family plugins that inject at the DOM level must notice when the shell\n * re-renders around their injected node: the aggregate shell's column shims\n * and any plugin surface still extending the shell from outside the official\n * slot seats. Each consumer used to install its OWN `MutationObserver` on\n * `document.body` with\n * `{ childList: true, subtree: true }`, so a page carrying N family plugins\n * paid N native observers and N callback invocations for EVERY mutation batch\n * the app produced — chat token streaming alone produces many per second, and\n * the count grows with the number of installed plugins.\n *\n * This module keeps exactly ONE body observer per page. The registry lives on\n * `globalThis` under a `Symbol.for` key, so the per-package generated copies\n * of this file (scripts/sync-shared.mjs) and separately bundled plugins all\n * reach the same hub at runtime instead of one hub per module instance.\n * Record subscribers receive the mutations accumulated since the last flush.\n * Consumers that only re-check their DOM use subscribeBodyInvalidations:\n * when all subscribers use that path, the hub retains no mutation records\n * (or detached subtrees) while a background page's animation frames pause.\n * Both paths run at most once per frame. The last subscriber disconnects the\n * observer, cancels the pending frame and releases its records.\n *\n * Failure policy: without a DOM or `MutationObserver` the subscription is a\n * no-op disposer (the same silence the per-consumer observers had), and when\n * `requestAnimationFrame` is unavailable the flush runs synchronously so a\n * subscriber is never silently dropped. A throwing subscriber cannot stop the\n * others.\n */\n\n/** The page-wide hub: one observer plus its subscribers and pending records. */\ninterface BodyMutationHub {\n observer: MutationObserver\n subscribers: Set<(records: MutationRecord[]) => void>\n pending: MutationRecord[]\n scheduled: boolean\n frame?: number\n}\n\n/** Cross-bundle registry key; `Symbol.for` so every module copy agrees. */\nconst HUB_KEY = Symbol.for('dsh-web.body-mutation-hub')\nconst INVALIDATION_ONLY = Symbol.for('dsh-web.body-mutation-invalidation')\ntype Subscriber = ((records: MutationRecord[]) => void) & { [INVALIDATION_ONLY]?: true }\n\nfunction needsRecords(subscribers: Set<(records: MutationRecord[]) => void>): boolean {\n for (const listener of subscribers) {\n if (!(listener as Subscriber)[INVALIDATION_ONLY]) return true\n }\n return false\n}\n\n/**\n * Subscribe to a coalesced DOM re-check without retaining mutation records.\n * The marked wrapper also works with an older hub, which delivers records\n * that it simply ignores until a page reload picks up the updated hub.\n */\nexport function subscribeBodyInvalidations(subscriber: () => void): () => void {\n const listener: Subscriber = () => { subscriber() }\n listener[INVALIDATION_ONLY] = true\n return subscribeBodyMutations(listener)\n}\n\n/**\n * Subscribe to body-level childList mutations.\n * @param subscriber - called at most once per animation frame with the records\n * collected since the previous flush; must be safe to run repeatedly.\n * @returns the disposer removing this subscriber (and the observer when it was\n * the last one).\n */\nexport function subscribeBodyMutations(subscriber: (records: MutationRecord[]) => void): () => void {\n if (typeof globalThis === 'undefined' || typeof document === 'undefined') return () => {}\n if (typeof MutationObserver !== 'function') return () => {}\n const registry = globalThis as unknown as Record<symbol, unknown>\n let hub = registry[HUB_KEY] as BodyMutationHub | undefined\n if (hub === undefined) {\n const subscribers = new Set<(records: MutationRecord[]) => void>()\n const created: BodyMutationHub = {\n observer: undefined as unknown as MutationObserver,\n subscribers,\n pending: [],\n scheduled: false,\n }\n const flush = (): void => {\n created.frame = undefined\n created.scheduled = false\n const batch = created.pending\n created.pending = []\n for (const listener of [...subscribers]) {\n if (!subscribers.has(listener)) continue\n try {\n listener(batch)\n } catch {\n // One subscriber must never break the others; the next flush retries it.\n }\n }\n }\n const schedule = (): void => {\n if (created.scheduled) return\n created.scheduled = true\n if (typeof requestAnimationFrame === 'function') created.frame = requestAnimationFrame(flush)\n else flush()\n }\n created.observer = new MutationObserver((records) => {\n if (needsRecords(subscribers)) {\n for (const record of records) created.pending.push(record)\n }\n schedule()\n })\n created.observer.observe(document.body ?? document.documentElement, { childList: true, subtree: true })\n registry[HUB_KEY] = created\n hub = created\n }\n const active = hub\n active.subscribers.add(subscriber)\n let subscribed = true\n return () => {\n if (!subscribed) return\n subscribed = false\n active.subscribers.delete(subscriber)\n if (!needsRecords(active.subscribers)) active.pending = []\n if (active.subscribers.size === 0 && registry[HUB_KEY] === active) {\n active.observer.disconnect()\n if (active.frame !== undefined && typeof cancelAnimationFrame === 'function') cancelAnimationFrame(active.frame)\n active.frame = undefined\n active.pending = []\n active.scheduled = false\n delete registry[HUB_KEY]\n }\n }\n}\n","/**\n * Sidebar foot card: the compact usage glance seated below the shell sidebar's\n * Settings row. It is deliberately a GLANCE, not the panel the 2026-09-18\n * removal took out. Two states, persisted across reloads:\n *\n * - expanded (default): a price-first headline (today's estimated spend,\n * falling back to today's tokens when nothing priced was recorded), a\n * tokens/calls line, up to two configured-provider balances, and an\n * updated-at footer;\n * - collapsed: a one-line strip with the gauge glyph, the spending\n * provider's name, the label and the headline value.\n *\n * The card body is one button that opens the settings panel on the usage\n * section, so detail lives in exactly one place; the corner chevron toggles\n * the collapse state (sibling buttons — buttons inside a button are invalid\n * HTML).\n *\n * Data comes from the same shared store the settings section reads; the card\n * runs its own relaxed poll loop (30 s, visible-tab only) because the sidebar\n * foot is permanently mounted. The card disappears while the plugin is\n * disabled (settings flag) or while the host serves no usage routes (a 404\n * means the host half is off), matching the section's own gating.\n * @module @linxin666/dsh-usage/client/UsageFootCard\n */\n\nimport { useEffect, useState, useSyncExternalStore, type ReactNode } from 'react'\nimport type { ConfigForm } from '@deepseek-ai/dsh-client-ui-settings/client'\nimport { t } from './locales.ts'\nimport styles from './usage.module.css'\nimport { formatClock, PeakBadge } from './PeakBadge.tsx'\nimport { formatTokens, type UsageSettings } from './UsageSectionCard.tsx'\nimport { deepseekPeriodAt } from '../core/pricing.ts'\nimport { isDeepSeekProviderRoute } from '../core/adapters.ts'\nimport { totalTokens } from '../core/ledger.ts'\nimport { formatSpend } from '../core/spend.ts'\nimport type { BalanceView, ProviderSnapshotView, UsageOverviewView } from '../core/types.ts'\nimport type { UsageStoreInstance } from './usage-store.ts'\n\n/** Props the mount forwards into the React tree. */\nexport interface UsageFootCardProps {\n /** The shared overview store (section and card read the same snapshot). */\n store: UsageStoreInstance\n /** Fetch one overview now. */\n poll: () => void\n /** Card-body click: open the settings panel on the usage section. */\n onOpen: () => void\n /** The shared settings form; the card hides while the plugin is disabled. */\n settings: ConfigForm<UsageSettings>\n /** Locale-change source; the plain copy re-renders on a language switch. */\n locale?: { subscribe(listener: () => void): () => void }\n}\n\n/** Poll cadence of the permanently seated card; the section's 10 s loop stays its own. */\nexport const FOOT_CARD_POLL_MS = 30_000\n\n/** localStorage key holding the collapsed flag ('1' = collapsed strip). */\nexport const FOOT_CARD_COLLAPSED_KEY = 'dsh-usage.foot-card.collapsed'\n\n/** At most this many provider balances render before a +N overflow marker. */\nconst BALANCE_CAP = 2\n\n/** Read the persisted collapsed flag (absent = expanded). */\nexport function readFootCardCollapsed(): boolean {\n try {\n return window.localStorage.getItem(FOOT_CARD_COLLAPSED_KEY) === '1'\n } catch {\n // Storage can be unavailable (privacy modes); the card stays expanded.\n return false\n }\n}\n\n/** Persist the collapsed flag; storage failures keep the session state. */\nfunction writeFootCardCollapsed(collapsed: boolean): void {\n try {\n window.localStorage.setItem(FOOT_CARD_COLLAPSED_KEY, collapsed ? '1' : '0')\n } catch {\n // Storage unavailable: the state still flips for this session.\n }\n}\n\n/** Inline gauge glyph, 14px beside the card title. */\nfunction GaugeIcon(): ReactNode {\n return (\n <svg viewBox=\"0 0 16 16\" width=\"14\" height=\"14\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.3\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"M2.5 12.5a7 7 0 0 1 11 -4.3\" />\n <path d=\"M8 12.5V8.2l2.9-2.1\" />\n <circle cx=\"8\" cy=\"12.5\" r=\"1\" />\n </svg>\n )\n}\n\n/** Disclosure chevrons: down collapses the expanded card, up expands the strip. */\nfunction ChevronIcon(props: { collapsed: boolean }): ReactNode {\n return props.collapsed\n ? (\n <svg viewBox=\"0 0 16 16\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 10 4-4 4 4\" />\n </svg>\n )\n : (\n <svg viewBox=\"0 0 16 16\" width=\"12\" height=\"12\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"1.4\" strokeLinecap=\"round\" strokeLinejoin=\"round\" aria-hidden=\"true\">\n <path d=\"m4 6 4 4 4-4\" />\n </svg>\n )\n}\n\n/** A provider row worth showing a balance for: configured, with a probed balance. */\nfunction balanceRow(provider: ProviderSnapshotView): boolean {\n const supported = provider.balanceSupported === true || (provider.balanceSupported === undefined && provider.supported)\n return provider.credential !== 'none' && supported && provider.balance !== undefined\n}\n\n/** Currency-symbol prefix for the priced balances (CNY/USD), else the ISO code. */\nfunction formatBalance(balance: BalanceView): string {\n const currency = balance.currency.toUpperCase()\n if (currency === 'CNY') return '¥' + balance.totalBalance\n if (currency === 'USD') return '$' + balance.totalBalance\n return currency + ' ' + balance.totalBalance\n}\n\n/**\n * Route key owning today's priced spend: the day's highest cost row, else the\n * current session route (an older host without the day rows falls back to the\n * current route). Undefined when neither names one.\n */\nfunction spendRoute(snapshot: UsageOverviewView): string | undefined {\n let top: UsageOverviewView['usage']['today']['providers'][number] | undefined\n for (const row of snapshot.usage.today.providers) {\n if (row.totals.cost <= 0) continue\n if (top === undefined || row.totals.cost > top.totals.cost) top = row\n }\n return top?.provider ?? snapshot.current.provider\n}\n\n/** Display name of the route spendRoute() names, resolved through the snapshot. */\nfunction spendProvider(snapshot: UsageOverviewView): string | undefined {\n const route = spendRoute(snapshot)\n if (route === undefined) return undefined\n return snapshot.providers.find((entry) => entry.provider === route)?.displayName\n ?? (route === snapshot.current.provider ? snapshot.current.displayName : undefined)\n ?? route\n}\n\n/**\n * The headline triple: today's priced spend, else today's tokens, else zero.\n * tokenFallback tells the sub-line to keep only the call count instead of\n * repeating the total the headline already shows; provider names the spender\n * beside the collapsed cost headline.\n */\nfunction headline(snapshot: UsageOverviewView): { label: string; value: string; tokenFallback: boolean; provider?: string } {\n const totals = snapshot.usage.today.totals\n if (totals.cost > 0) return { label: t('usage.foot.cost'), value: formatSpend(totals.cost, snapshot.display), tokenFallback: false, provider: spendProvider(snapshot) }\n if (totals.calls > 0) return { label: t('usage.today'), value: formatTokens(totalTokens(totals)) + ' tokens', tokenFallback: true }\n return { label: t('usage.foot.cost'), value: formatSpend(0, snapshot.display), tokenFallback: false }\n}\n\n/** The tokens/calls sub-line under the headline; a quiet no-data line on an empty day. */\nfunction usageLine(snapshot: UsageOverviewView, tokenFallback: boolean): string {\n const totals = snapshot.usage.today.totals\n if (totals.calls === 0) return t('usage.foot.noData')\n const calls = t('usage.calls', { n: totals.calls })\n return tokenFallback ? calls : formatTokens(totalTokens(totals)) + ' tokens · ' + calls\n}\n\n/** The balance line: up to BALANCE_CAP providers plus a +N overflow marker. */\nfunction balanceLine(snapshot: UsageOverviewView): string | undefined {\n const rows = snapshot.providers.filter(balanceRow)\n if (rows.length === 0) return undefined\n const shown = rows.slice(0, BALANCE_CAP).map((provider) => provider.displayName + ' ' + formatBalance(provider.balance!))\n return shown.join(' · ') + (rows.length > BALANCE_CAP ? ' +' + String(rows.length - BALANCE_CAP) : '')\n}\n\n/** Card chrome classes for the current collapse state. */\nfunction cardClass(collapsed: boolean): string {\n return collapsed ? styles.footCard + ' ' + styles.footCardCollapsed : styles.footCard\n}\n\n/**\n * Render the foot card content for the current store snapshot.\n * @param props - store, poller, settings form and open callback from the mount.\n * @returns the card, or null while disabled / host-off.\n */\nexport function UsageFootCard(props: UsageFootCardProps): ReactNode {\n const { store, poll, onOpen, settings, locale } = props\n const ui = useSyncExternalStore(store.subscribe, store.getSnapshot)\n // Settings writes and locale switches both re-render the card's copy/visibility.\n const [, bump] = useState(0)\n useEffect(() => settings.subscribe(() => bump((count) => count + 1)), [settings])\n useEffect(() => locale?.subscribe(() => bump((count) => count + 1)), [locale])\n const enabled = settings.getSnapshot().value?.enabled ?? true\n\n // The collapse choice is one localStorage flag, read at mount and persisted\n // on every flip (the old sidebar strip used the same contract shape).\n const [collapsed, setCollapsed] = useState(readFootCardCollapsed)\n const toggleCollapsed = (): void => {\n setCollapsed((current) => {\n writeFootCardCollapsed(!current)\n return !current\n })\n }\n\n // The permanently seated card pays a relaxed cadence; a hidden tab pauses.\n useEffect(() => {\n if (!enabled) return undefined\n poll()\n let timer: number | undefined\n const start = (): void => {\n if (timer === undefined && document.visibilityState === 'visible') timer = window.setInterval(poll, FOOT_CARD_POLL_MS)\n }\n const onVisibility = (): void => {\n if (document.visibilityState === 'visible') {\n poll()\n start()\n } else if (timer !== undefined) {\n window.clearInterval(timer)\n timer = undefined\n }\n }\n start()\n document.addEventListener('visibilitychange', onVisibility)\n return () => {\n if (timer !== undefined) window.clearInterval(timer)\n document.removeEventListener('visibilitychange', onVisibility)\n }\n }, [poll, enabled])\n\n if (!enabled) return null\n const snapshot = ui.snapshot\n // A 404 means the host half serves no usage routes (plugin off): the card\n // bows out instead of pinning a permanent error to the sidebar foot.\n if (snapshot === null && ui.status === 'error' && /failed: 404/.test(ui.error ?? '')) return null\n\n const toggle = (\n <button\n type=\"button\"\n className={styles.footToggle}\n data-dsh-part=\"foot-card-toggle\"\n aria-label={t(collapsed ? 'usage.foot.expand' : 'usage.foot.collapse')}\n title={t(collapsed ? 'usage.foot.expand' : 'usage.foot.collapse')}\n onClick={toggleCollapsed}\n >\n <ChevronIcon collapsed={collapsed} />\n </button>\n )\n\n if (snapshot === null) {\n const quiet = ui.status === 'error' ? t('usage.error', { error: ui.error ?? '' }) : t('usage.loading')\n return (\n <div className={cardClass(collapsed)} data-dsh-plugin=\"usage\" data-dsh-part=\"foot-card\">\n <button type=\"button\" className={styles.footMain} data-dsh-part=\"foot-card-main\" aria-label={t('usage.foot.open')} title={t('usage.foot.open')} onClick={onOpen}>\n {collapsed\n ? <span className={styles.footStrip} data-dsh-part=\"foot-card-strip\"><GaugeIcon /><span className={styles.footStripValue}>—</span></span>\n : (\n <>\n <span className={styles.footHead}>\n <span className={styles.footTitle}><GaugeIcon />{t('usage.title')}</span>\n </span>\n <span className={styles.footLine}>{quiet}</span>\n </>\n )}\n </button>\n {toggle}\n </div>\n )\n }\n\n const head = headline(snapshot)\n const balances = balanceLine(snapshot)\n // The published peak/off-peak clock prices the official DeepSeek family only,\n // so the marker follows the route that owns today's spend (else the session\n // route) and stays away from every other provider's card.\n const route = spendRoute(snapshot)\n const period = route !== undefined && isDeepSeekProviderRoute(route) ? deepseekPeriodAt(Date.now()) : undefined\n\n if (collapsed) {\n return (\n <div className={cardClass(true)} data-dsh-plugin=\"usage\" data-dsh-part=\"foot-card\">\n <button type=\"button\" className={styles.footMain} data-dsh-part=\"foot-card-main\" aria-label={t('usage.foot.open')} title={t('usage.foot.open')} onClick={onOpen}>\n <span className={styles.footStrip} data-dsh-part=\"foot-card-strip\">\n <GaugeIcon />\n {head.provider !== undefined && <span className={styles.footStripProvider}>{head.provider}</span>}\n {period !== undefined && <PeakBadge peak={period.peak} boundaryMs={period.boundaryMs} variant=\"compact\" />}\n <span className={styles.footStripLabel}>{head.label}</span>\n <span className={styles.footStripValue}>{head.value}</span>\n </span>\n </button>\n {toggle}\n </div>\n )\n }\n\n return (\n <div className={cardClass(false)} data-dsh-plugin=\"usage\" data-dsh-part=\"foot-card\">\n <button type=\"button\" className={styles.footMain} data-dsh-part=\"foot-card-main\" aria-label={t('usage.foot.open')} title={t('usage.foot.open')} onClick={onOpen}>\n <span className={styles.footHead}>\n <span className={styles.footTitle}><GaugeIcon />{head.label}</span>\n <span className={styles.footValue}>{head.value}</span>\n </span>\n <span className={styles.footLine} data-dsh-part=\"foot-card-usage\">{usageLine(snapshot, head.tokenFallback)}</span>\n {balances !== undefined && <span className={styles.footLine} data-dsh-part=\"foot-card-balances\">{balances}</span>}\n {period !== undefined && (\n <span className={styles.footPeak}>\n <PeakBadge peak={period.peak} boundaryMs={period.boundaryMs} variant=\"compact\" />\n <span className={styles.footPeakClock}>\n {t(period.peak ? 'usage.peak.ends' : 'usage.peak.starts', { time: formatClock(period.boundaryMs) })}\n </span>\n </span>\n )}\n <span className={styles.footMeta}>{t('usage.updated', { time: formatClock(snapshot.updatedAt) })}</span>\n </button>\n {toggle}\n </div>\n )\n}\n","/**\n * Sidebar foot card mounting.\n *\n * The foot's only slot (sidebar.footer.action) stacks ABOVE the Settings row\n * and cannot host a block, so the card container is inserted into the shell's\n * foot area directly above the Settings seat — keeping Settings the foot's\n * terminal row instead of hanging a card off the sidebar floor. It self-heals\n * with the page-wide body-mutation hub: a React re-render that displaces the\n * container re-seats it on the next frame, and a whole-pane rebuild is noticed\n * by the same body-level watcher the family entry rows use.\n *\n * The container is a plain div carrying its own React root, so it can never\n * disturb the shell's reconciliation.\n * @module @linxin666/dsh-usage/client/foot-card-mount\n */\n\nimport { createElement } from 'react'\nimport { createRoot, type Root } from 'react-dom/client'\nimport { subscribeBodyInvalidations } from './body-mutations.ts'\nimport { UsageFootCard, type UsageFootCardProps } from './UsageFootCard.tsx'\n\n/** Stable data attribute identifying the injected card container. */\nexport const FOOT_CARD_SELECTOR = '[data-dsh-usage-foot-card]'\n\n/** The shell slot whose occupant is the settings shell (and carries its store). */\nconst SETTINGS_SEAT_SLOT = 'sidebar.settings'\n\n/** The shell sidebar column, which also scopes the settings seat. */\nconst SIDEBAR_SELECTOR = '[data-pane=\"sidebar\"], [class*=\"sidebarCol\"]'\n\n/** The shell's settings row: the launcher seat plus the Settings trigger fallback. */\nconst SETTINGS_AREA_SELECTOR = '[class*=\"settingsArea\"]'\n\n/** A launcher that opens the settings dialog by itself (the shell's own gear). */\nconst DIALOG_TRIGGER_SELECTOR = 'button[aria-haspopup=\"dialog\"]'\n\n/** A launcher that opens a menu whose settings item opens the dialog (the account row). */\nconst MENU_ITEM_SELECTOR = '[role=\"menu\"] button[role=\"menuitem\"]'\n\n/** One shell frame of the replay poll: menus and the panel mount a frame later. */\nconst REPLAY_STEP_MS = 50\n\n/** Replay poll budget in steps (about one second of shell frames). */\nconst REPLAY_STEPS = 20\n\n/**\n * The settings shell's store handle, narrowed to the one write this module\n * performs. A slot registration stores its seat type-erased (`StoreDecl`), so\n * the shape the seat's occupant guarantees is restated here.\n */\nexport interface SettingsShellStore {\n create(): { actions: { openSection(id: string): void } }\n}\n\n/** The registry read the seat lookup needs (structurally `ctx.slots`). */\nexport interface SlotSeatReader {\n entries(key: string): readonly { store?: unknown }[]\n}\n\n/** What the card knows about the settings section it opens. */\nexport interface UsageSettingsTarget {\n /** Slot registration id of the usage section (the nav row the panel selects). */\n id: string\n /** The section's nav label in the active locale (the DOM replay's row pick). */\n label: () => string\n /** The settings shell's store handle, when the seat exposes one. */\n store?: SettingsShellStore | undefined\n}\n\n/** The shell sidebar column, when the shell has mounted one. */\nfunction sidebarColumn(): HTMLElement | undefined {\n return document.querySelector<HTMLElement>(SIDEBAR_SELECTOR) ?? undefined\n}\n\n/** The shell sidebar's foot area (footer actions + the Settings row), when mounted. */\nfunction footArea(): HTMLElement | undefined {\n return sidebarColumn()?.querySelector<HTMLElement>('[class*=\"footArea\"]') ?? undefined\n}\n\n/**\n * Resolve the settings shell's store handle from the `sidebar.settings` seat.\n *\n * The seat is a single-occupant slot and the shell's own registration carries\n * the store that owns the panel's open state and active section, so reading it\n * is the one step that opens the panel without touching the DOM. A shell that\n * exposes no seat, a seat without a store, or a registry answering mid-teardown\n * all yield undefined, and the caller replays the DOM path instead.\n * @param slots - the renderer-owned slot registry.\n * @returns the store handle, or undefined when the seat carries none.\n */\nexport function settingsShellStore(slots: SlotSeatReader | undefined): SettingsShellStore | undefined {\n let seat: unknown\n try {\n seat = slots?.entries(SETTINGS_SEAT_SLOT)[0]?.store\n } catch {\n return undefined\n }\n if (seat === undefined || seat === null) return undefined\n return typeof (seat as { create?: unknown }).create === 'function'\n ? seat as SettingsShellStore\n : undefined\n}\n\n/**\n * Drive the shell's settings store onto the usage section.\n * @param store - the seat's store handle.\n * @param id - the section's slot registration id.\n * @returns true when the store accepted the call, false when it threw.\n */\nfunction openThroughStore(store: SettingsShellStore, id: string): boolean {\n try {\n store.create().actions.openSection(id)\n return true\n } catch {\n // A foreign shell exposing an unrelated seat: the DOM replay still runs.\n return false\n }\n}\n\n/**\n * Click the nav row carrying the section's label inside the open panel.\n * @param panel - the open settings dialog.\n * @param label - the section's nav label in the active locale.\n */\nfunction pickSectionRow(panel: Element, label: () => string): void {\n const wanted = label()\n for (const row of panel.querySelectorAll<HTMLButtonElement>('nav button')) {\n if (row.textContent !== null && row.textContent.includes(wanted)) {\n row.click()\n return\n }\n }\n // Panel open but the usage row is gone (plugin toggled off): stay put.\n}\n\n/**\n * Poll the page over the shell's next frames until a lookup yields a value.\n * @param find - the lookup, run once per step.\n * @param steps - remaining frame budget.\n * @returns the first value found, or undefined once the budget is spent.\n */\nfunction until<T>(find: () => T | null | undefined, steps = REPLAY_STEPS): Promise<T | undefined> {\n const found = find()\n if (found !== undefined && found !== null) return Promise.resolve(found)\n if (steps <= 0) return Promise.resolve(undefined)\n return new Promise<void>((resolve) => { window.setTimeout(resolve, REPLAY_STEP_MS) })\n .then(() => until(find, steps - 1))\n}\n\n/**\n * Replay the user's own settings path, one shell frame at a time.\n * @param launcher - the settings seat's trigger.\n * @param label - the section's nav label in the active locale.\n */\nasync function replay(launcher: HTMLButtonElement, label: () => string): Promise<void> {\n launcher.click()\n // A launcher that opens a menu (an account row occupying settings.launcher)\n // reaches Settings through its first item; the shell's own trigger opens the\n // panel directly.\n if (launcher.getAttribute('aria-haspopup') === 'menu') {\n const item = await until(() => document.querySelector<HTMLButtonElement>(MENU_ITEM_SELECTOR))\n if (item === undefined) return\n item.click()\n }\n const panel = await until(() => document.querySelector('[role=\"dialog\"]'))\n if (panel !== undefined) pickSectionRow(panel, label)\n}\n\n/**\n * Open the settings panel on the usage section.\n *\n * The seat's store is the primary path: `openSection` opens the dialog on the\n * usage row in one call, with no dependence on which plugin occupies the\n * `settings.launcher` seat — an account row there turns a trigger click into a\n * menu, which is how this click used to land on the account menu instead of the\n * panel. Without such a store the card replays the user's own path: activate\n * the launcher (preferring the dialog trigger over a menu trigger), follow a\n * menu launcher's first settings item, then pick the nav row carrying the\n * section's label. Every step degrades silently — a missing surface leaves the\n * page untouched, and with the panel already open only the nav pick runs.\n * @param target - the section id, its localized label, and the seat's store.\n */\nexport function openUsageSettings(target: UsageSettingsTarget): void {\n const { id, label, store } = target\n if (store !== undefined && openThroughStore(store, id)) return\n // A panel that is already open must never be toggled shut by the launcher;\n // only the nav pick runs.\n const open = document.querySelector('[role=\"dialog\"]')\n if (open !== null) {\n pickSectionRow(open, label)\n return\n }\n const area = sidebarColumn()?.querySelector<HTMLElement>(SETTINGS_AREA_SELECTOR)\n const launcher = area?.querySelector<HTMLButtonElement>(DIALOG_TRIGGER_SELECTOR)\n ?? area?.querySelector<HTMLButtonElement>('button')\n if (launcher === undefined || launcher === null) return\n void replay(launcher, label)\n}\n\n/**\n * Mount the sidebar foot card directly above the Settings row.\n * @param props - the store/poll/settings/open inputs of the apply body.\n * @returns disposer removing the container and its observers.\n */\nexport function mountUsageFootCard(props: UsageFootCardProps): () => void {\n // DOM-level idempotency: whatever path mounted a card before this call (a\n // duplicated apply, an HMR re-injection), never mount a second one.\n if (typeof document !== 'undefined' && document.querySelector(FOOT_CARD_SELECTOR) !== null) {\n return () => {}\n }\n const container = document.createElement('div')\n container.setAttribute('data-dsh-usage-foot-card', '')\n const root: Root = createRoot(container)\n root.render(createElement(UsageFootCard, props))\n\n /** Keep the container directly above the Settings seat inside the foot area. */\n const place = (): void => {\n const foot = footArea()\n if (foot === undefined) return\n const settings = foot.querySelector<HTMLElement>(SETTINGS_AREA_SELECTOR)\n if (settings !== null) {\n if (container.nextElementSibling !== settings) foot.insertBefore(container, settings)\n return\n }\n // No Settings seat to anchor against (shell change): fall back to the tail.\n if (foot.lastElementChild !== container) foot.append(container)\n }\n place()\n const unsubscribeBody = subscribeBodyInvalidations(place)\n\n return () => {\n unsubscribeBody()\n root.unmount()\n container.remove()\n }\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/settings/web-extension-page.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * One settings page's seat in either the Web Extensions parent or the legacy\n * first-level settings navigation.\n *\n * The parent supplies the page contract; a child does not know which slot the\n * parent uses internally. While `webUiExtensions` is live the page is handed\n * to its service, which owns keyed mounting and disposal. Without the parent,\n * the same component registers as its original first-level settings section,\n * so a standalone install keeps a working entry.\n */\n\n/** The parent service face this helper consumes. */\nexport interface WebExtensionPageService {\n readonly sectionId: string\n registerPage(page: WebExtensionPageSeat): () => void\n}\n\n/** Seat-independent page contribution. */\nexport interface WebExtensionPageSeat {\n key: string\n order: number\n locale: string\n label(): string\n inject(): object\n component: unknown\n children?: Record<string, { kind: 'keyed' | 'list'; scope: 'root' }>\n}\n\n/** The slot-registry slice used for the standalone fallback. */\nexport interface WebExtensionPageSlots {\n register(options: never, component: never): unknown\n spec?(key: string): unknown\n entries?(key: string): readonly { component?: unknown; options: Record<string, unknown> }[]\n}\n\n/** The context slice needed by the migration. */\nexport interface WebExtensionPageContext {\n slots: WebExtensionPageSlots\n get?(name: string): unknown\n on?(event: string, listener: () => void): unknown\n}\n\nconst SETTINGS_SECTION = 'settings.section'\nconst WEB_EXTENSION_SLOT = 'web-ui.extension'\n\nfunction serviceOf(ctx: WebExtensionPageContext): WebExtensionPageService | undefined {\n if (typeof ctx.get !== 'function') return undefined\n try {\n const candidate = ctx.get('webUiExtensions') as Partial<WebExtensionPageService> | undefined\n return candidate !== null\n && typeof candidate === 'object'\n && typeof candidate.sectionId === 'string'\n && typeof candidate.registerPage === 'function'\n ? candidate as WebExtensionPageService\n : undefined\n } catch {\n return undefined\n }\n}\n\nfunction warn(seat: string, error: unknown): void {\n try {\n console.warn(`[dsh-web-settings] page \"${seat}\" could not be mounted`, error)\n } catch {\n // A restricted console must not drop the remaining entry.\n }\n}\n\n/**\n * Keep exactly one reachable page contribution while the parent loads or\n * unloads. The parent service owns integrated mounting; only the fallback uses\n * this plugin's own slot registry. Slot disposal is synchronous, so the latch\n * prevents a move from recursively registering a duplicate.\n */\nexport function installWebExtensionPage(\n ctx: WebExtensionPageContext,\n page: WebExtensionPageSeat,\n): () => void {\n let dispose: (() => void) | undefined\n let current: 'integrated' | 'legacy' | undefined\n let reconciling = false\n let disposed = false\n\n const present = (seat: 'integrated' | 'legacy'): boolean => {\n if (typeof ctx.slots.entries !== 'function') return current === seat\n const slot = seat === 'integrated' ? WEB_EXTENSION_SLOT : SETTINGS_SECTION\n return ctx.slots.entries(slot).some(entry =>\n entry.component === page.component\n && (seat === 'integrated' ? entry.options.key : entry.options.id) === page.key)\n }\n\n const registerSeat = (seat: 'integrated' | 'legacy'): (() => void) => {\n if (seat === 'integrated') {\n const service = serviceOf(ctx)\n if (service === undefined) throw new Error('webUiExtensions service is unavailable')\n return service.registerPage(page)\n }\n return ctx.slots.register({\n name: SETTINGS_SECTION,\n id: page.key,\n order: page.order,\n label: page.label,\n locale: page.locale,\n inject: page.inject as never,\n ...(page.children === undefined ? {} : { children: page.children }),\n } as never, page.component as never) as () => void\n }\n\n const reconcile = (): void => {\n if (disposed || reconciling) return\n const target: 'integrated' | 'legacy' = serviceOf(ctx) === undefined ? 'legacy' : 'integrated'\n if (current === target && present(target)) return\n const slot = target === 'integrated' ? WEB_EXTENSION_SLOT : SETTINGS_SECTION\n if (typeof ctx.slots.spec === 'function' && ctx.slots.spec(slot) === undefined) return\n reconciling = true\n const previous = current\n const disposePrevious = dispose\n current = undefined\n dispose = undefined\n disposePrevious?.()\n try {\n dispose = registerSeat(target)\n current = target\n } catch (error) {\n warn(target, error)\n if (previous !== undefined && previous !== target) {\n try {\n dispose = registerSeat(previous)\n current = previous\n } catch (restoreError) {\n warn(previous, restoreError)\n }\n }\n } finally {\n reconciling = false\n }\n }\n\n if (typeof ctx.on === 'function') {\n try { ctx.on('slots/changed', reconcile) } catch { /* the initial entry remains usable */ }\n }\n reconcile()\n return () => {\n if (disposed) return\n disposed = true\n dispose?.()\n dispose = undefined\n current = undefined\n }\n}\n","/**\n * Optional integration with the family Web Extensions parent.\n *\n * The parent service owns page mounting; this module contributes one page\n * contract and keeps the original first-level section as the standalone\n * fallback. Deep links still resolve the parent service first.\n */\n\nimport { openUsageSettings, settingsShellStore, type SlotSeatReader } from './foot-card-mount.tsx'\nimport { t } from './locales.ts'\nimport { installWebExtensionPage, type WebExtensionPageContext } from './web-extension-page.ts'\n\n/** The original first-level settings seat and its usage entry id. */\nexport const USAGE_SETTINGS_SEAT = 'settings.section'\nexport const USAGE_SECTION_ID = 'dsh-usage'\n\n/** The family section's keyed extension seat. */\nexport const WEB_UI_EXTENSION_SEAT = 'web-ui.extension'\n\n/** Optional navigation contract published by the family extensions plugin. */\nexport interface WebUiExtensionsService {\n sectionId: 'web-ui-plugins'\n label(): string\n open(id: string): boolean\n}\n\n/** The context slice needed by the migrating section registration. */\nexport type UsageSectionContext = WebExtensionPageContext\n\n/** The context slice needed by the foot card's settings navigation. */\nexport interface UsageNavigationContext {\n get?(name: string): unknown\n slots: SlotSeatReader\n}\n\n/** The usage card contribution, independent of the seat that owns it. */\nexport interface UsageSectionRegistration {\n order: number\n locale: string\n label(): string\n inject(): object\n component: unknown\n}\n\n/** Read the optional service without assuming a particular cordis test double. */\nexport function getWebUiExtensions(ctx: { get?(name: string): unknown }): WebUiExtensionsService | undefined {\n if (typeof ctx.get !== 'function') return undefined\n try {\n const service = ctx.get('webUiExtensions') as Partial<WebUiExtensionsService> | undefined\n return service?.sectionId === 'web-ui-plugins'\n && typeof service.label === 'function'\n && typeof service.open === 'function'\n ? service as WebUiExtensionsService\n : undefined\n } catch {\n return undefined\n }\n}\n\n/** Register the one usage page; disposal is owned by the calling plugin fiber. */\nexport function installUsageSection(\n ctx: UsageSectionContext,\n registration: UsageSectionRegistration,\n): () => void {\n return installWebExtensionPage(ctx, {\n key: USAGE_SECTION_ID,\n order: registration.order,\n locale: registration.locale,\n label: registration.label,\n inject: registration.inject,\n component: registration.component,\n })\n}\n\n/**\n * Open usage through the family service first. If it declines, fall back to the\n * native settings shell on the family section (or on the original usage row\n * when the service is absent), preserving the matching localized nav label.\n */\nexport function openIntegratedUsageSettings(ctx: UsageNavigationContext): void {\n const service = getWebUiExtensions(ctx)\n if (service?.open(USAGE_SECTION_ID) === true) return\n openUsageSettings({\n id: service?.sectionId ?? USAGE_SECTION_ID,\n label: service === undefined ? () => t('usage.title') : () => service.label(),\n store: settingsShellStore(ctx.slots),\n })\n}\n","// Generated by scripts/sync-shared.mjs from shared/client/settings/settings-entry-form.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n// Generated by scripts/sync-shared.mjs from shared/client/settings/settings-entry-form.ts. Do not edit this copy; edit the shared source and run \"node scripts/sync-shared.mjs\".\n/**\n * Family settings form bound to the profile entry id a Host actually serves.\n *\n * Under the 0.1.7 settings model a form is addressed by PROFILE ENTRY ID, while\n * a family card knows only its own settings namespace. The family binder\n * (`ctx.get('webUiSettings')`, published by dsh-web-settings) resolves one onto\n * the other and is the preferred transport; this module is the fallback for a\n * page that serves no binder — the group plugin is not installed, or its client\n * half has not applied yet (the aggregate mounts its children in order, and a\n * child still waiting on its own injects publishes nothing).\n *\n * The shared describe mirror is the only local evidence of which row id this\n * profile serves, but it answers asynchronously: at plugin activation it usually\n * holds nothing yet. A one-shot guess therefore cannot be right for every\n * deployment, and the form is bound once per session:\n *\n * - binding the bare namespace made every save answer `No configurable plugin\n * entry \"<namespace>\"` on an aggregate install (the namespace is not an entry\n * id there), which the card reported as \"the deployment did not accept these\n * values\";\n * - binding the aggregate row id would break a standalone install, whose row id\n * is the namespace or the package's own `ui-*` row.\n *\n * So the fallback starts on the most likely row and REBINDS the moment the\n * mirror names one of this package's rows. Until the mirror answers, the form\n * reports the binding it holds (usually `loading`), which the card renders as an\n * unavailable form rather than a doomed one.\n */\nimport type { ConfigForm, ConfigFormSnapshot, ConfigForms } from '@deepseek-ai/dsh-client-ui-settings/client'\n\n/** Options of {@link createServedEntryForm}. */\nexport interface ServedEntryFormOptions<T> {\n /** The shared configuration forms service (`ctx.configForms`). */\n forms: ConfigForms\n /**\n * Profile entry ids this package's rows carry, most likely first: the\n * aggregate's generated row, the package's own standalone row, then the bare\n * namespace. The first is the fallback while the mirror has no answer; the\n * last is the answer when the mirror serves none of them.\n */\n entryIds: readonly string[]\n}\n\n/** The snapshot a form reports before the Host has answered with this entry. */\nfunction pendingSnapshot<T>(): ConfigFormSnapshot<T> {\n return {\n status: 'loading',\n value: undefined,\n base: undefined,\n user: undefined,\n revision: undefined,\n writable: false,\n }\n}\n\n/**\n * Create a settings form bound to the profile entry id this Host serves, and\n * rebound whenever the shared describe mirror names a different one of this\n * package's rows.\n * @param options - the shared forms service and this package's candidate row ids.\n * @returns a form delegating to the currently resolved entry's own form.\n */\nexport function createServedEntryForm<T>(options: ServedEntryFormOptions<T>): ConfigForm<T> {\n const { forms, entryIds } = options\n const fallbackId = entryIds[0]\n const namespaceId = entryIds[entryIds.length - 1]\n const listeners = new Set<() => void>()\n let boundId: string | undefined\n let bound: ConfigForm<T> | undefined\n let offBound: (() => void) | undefined\n let snapshot: ConfigFormSnapshot<T> = pendingSnapshot<T>()\n\n /** Republish: the delegated snapshot when one is bound, the pending one otherwise. */\n const publish = (): void => {\n if (bound !== undefined) snapshot = bound.getSnapshot()\n for (const listener of [...listeners]) listener()\n }\n\n /**\n * The entry id the mirror currently justifies. An unanswered or empty mirror\n * is not evidence of absence, so it keeps the first candidate; a mirror that\n * answers without any of this package's rows leaves the namespace itself.\n * @returns the entry id to bind.\n */\n const resolve = (): string => {\n let served: readonly string[] | undefined\n try {\n served = forms.describe().getSnapshot().view?.namespaces.map(row => row.ns)\n } catch {\n // A mirror that refuses the read is unanswered too, not absent.\n served = undefined\n }\n if (served === undefined || served.length === 0) return fallbackId\n return entryIds.find(id => served.includes(id)) ?? namespaceId\n }\n\n /** Bind (or rebind) the resolved entry's form; a no-op while it is unchanged. */\n const bind = (): void => {\n const target = resolve()\n if (target === boundId) return\n offBound?.()\n offBound = undefined\n let form: ConfigForm<T>\n try {\n form = forms.get<T>(target)\n } catch {\n // A service that refuses the id stays unbound; the next mirror answer\n // retries rather than pinning a wrong entry for the session.\n boundId = undefined\n return\n }\n boundId = target\n bound = form\n offBound = form.subscribe(() => { publish() })\n publish()\n }\n\n // The mirror subscription lives for the page: the card owns its form for the\n // session, and the ConfigForm contract carries no disposer to hang it on. The\n // callback is cheap (a resolve plus a no-op while the id is unchanged). A\n // mirror without a subscription seat keeps the initial binding.\n try {\n forms.describe().subscribe(() => { bind() })\n } catch {\n // A describe face that refuses the subscription: the initial binding stands.\n }\n bind()\n\n return {\n getSnapshot: () => snapshot,\n subscribe: (listener) => {\n listeners.add(listener)\n return () => { listeners.delete(listener) }\n },\n set: (field, value) => bound?.set(field, value) ?? Promise.resolve(false),\n unset: (field) => bound?.unset(field) ?? Promise.resolve(false),\n mutate: (ops, expectedRevision) => bound?.mutate(ops, expectedRevision) ?? Promise.resolve(false),\n }\n}\n","/**\n * dsh-usage browser half — seats the first-level 使用统计 settings section\n * (below the Workshop entry) plus the compact usage glance card below the\n * sidebar's Settings row. The section polls the host overview only while it\n * is open; the foot card runs its own relaxed loop because the sidebar foot\n * is permanently mounted. All provider probing and credential handling\n * happens in the host half; this bundle only renders the overview document.\n * @module @linxin666/dsh-usage/client\n */\n\nimport type { Context as ClientContext } from '@deepseek-ai/cordis'\nimport type { ConfigForm } from '@deepseek-ai/dsh-client-ui-settings/client'\n// Type-only: pulls the locale plugin's Context merge (ctx.locale).\nimport type {} from '@deepseek-ai/dsh-client-locale/client'\n// Type-only: pulls the shared-forms Context merge (ctx.configForms).\nimport type {} from '@deepseek-ai/dsh-client-ui-settings/client'\nimport type {} from '@deepseek-ai/dsh-client-ui-slots'\n// Type-only: pulls the ctx.slots merge (the renderer owns the slot registry since 0.1.2).\nimport type {} from '@deepseek-ai/dsh-client-ui-renderer/client'\nimport { createUsageStore, type UsageStoreInstance } from './usage-store.ts'\nimport { UsageSectionCard, type UsageSectionFace, type UsageSettings } from './UsageSectionCard.tsx'\nimport { mountUsageFootCard } from './foot-card-mount.tsx'\nimport { NS, en, zh } from './locales.ts'\nimport { installUsageSection, openIntegratedUsageSettings } from './section-integration.ts'\nimport { createServedEntryForm } from './settings-entry-form.ts'\nimport { UsageSettingsCardController } from './usage-settings-card.ts'\nimport type { UsageDayResponse, UsageDayView, UsageOverviewView } from '../core/types.ts'\n\n/** The host usage API as the browser sees it (same-origin JSON endpoints). */\ninterface UsageHttpApi {\n overview(): Promise<UsageOverviewView>\n /** One retained local day (YYYY-MM-DD), the day pickers' detail fetch. */\n day(date: string): Promise<UsageDayView>\n refresh(): Promise<UsageOverviewView>\n}\n\n/** Hard ceiling for one usage API call; a stalled host must not pile up requests. */\nconst USAGE_FETCH_TIMEOUT_MS = 20_000\n\nasync function usageFetch<T>(path: string, method: 'GET' | 'POST'): Promise<T> {\n const response = await fetch(path, {\n ...(method === 'POST' ? { method: 'POST' } : {}),\n signal: AbortSignal.timeout(USAGE_FETCH_TIMEOUT_MS),\n })\n if (!response.ok) throw new Error('usage ' + path + ' failed: ' + response.status)\n return (await response.json()) as T\n}\n\nconst usageApi: UsageHttpApi = {\n // DOCUMENT-RELATIVE routes (issue #1707): the GUI is served with\n // `<base href=\"./\">`, so a sub-path deployment resolves these against its\n // entry directory instead of escaping to the origin root.\n overview: () => usageFetch('api/dsh-usage/overview', 'GET'),\n day: async (date: string) => (await usageFetch<UsageDayResponse>('api/dsh-usage/day?date=' + encodeURIComponent(date), 'GET')).day,\n refresh: () => usageFetch('api/dsh-usage/refresh', 'POST'),\n}\n\n/**\n * Settings namespace the section edits: the family identity of this plugin's\n * own settings form, and the row id a standalone bundle install carries.\n */\nconst USAGE_SETTINGS_NS = 'dsh-usage'\n\n/** Profile entry id the family aggregate's generated row carries. */\nconst AGGREGATE_ENTRY_ID = 'web-ui-usage'\n\n/** Profile entry ids this package's patch rows carry, most likely first. */\nconst USAGE_ENTRY_IDS: readonly string[] = [AGGREGATE_ENTRY_ID, 'usage', USAGE_SETTINGS_NS]\n\n/** First-level nav position: directly below the Workshop section (order 150). */\nconst SECTION_ORDER = 151\n\n/** Required services. */\nexport const inject = ['slots', 'locale', 'connection', 'configForms', 'remote']\n\nexport type { UsageSectionProps, UsageSectionFace } from './UsageSectionCard.tsx'\nexport type { UsageUiState } from './usage-store.ts'\nexport type { UsageSettings }\n\n/**\n * One settings namespace a family card binds. The 0.1.7 client exports no spec\n * type (the form controller takes it privately), so the binder's input shape is\n * restated here.\n */\nexport interface UsageSettingsBindSpec<T> {\n /** Settings namespace registered by the owning host plugin. */\n namespace: string\n /** Narrow one wire section; undefined keeps the last accepted value. */\n decode?: (section: unknown) => T | undefined\n}\n\ndeclare module '@deepseek-ai/cordis' {\n interface Context {\n /**\n * Optional family settings binder provided by dsh-web-settings; absent when\n * that group plugin is not installed, so callers fall back to the native\n * per-entry forms (`ctx.configForms`).\n */\n webUiSettings?: { bind<S>(spec: UsageSettingsBindSpec<S>): ConfigForm<S> }\n }\n}\n\n/**\n * Client plugin body: register dictionaries and seat the settings section.\n * The overview poll loop and the store live with the section component's\n * mount cycle, so no background traffic exists while the page is closed.\n * @param ctx - client root context.\n */\nexport function apply(ctx: ClientContext): void {\n ctx.effect(() => {\n try {\n return ctx.locale.register(NS, { zh, en })\n } catch {\n return () => {}\n }\n }, 'dsh-usage: dictionaries')\n\n // The family binder is what maps this namespace onto the row's profile entry\n // id and hands back the native form. Without the group plugin the shared forms\n // service is addressed on the entry id the describe mirror justifies, rebound\n // as soon as the mirror answers: the namespace itself is only an entry id on a\n // standalone install, so binding it on the aggregate left the form unavailable\n // and the row's controls disabled.\n const binder = ctx.get('webUiSettings')\n const settingsForm = binder !== undefined\n ? binder.bind<UsageSettings>({ namespace: USAGE_SETTINGS_NS })\n : createServedEntryForm<UsageSettings>({ forms: ctx.configForms, entryIds: USAGE_ENTRY_IDS })\n\n // One store instance per apply body; the section mounts and unmounts with\n // the settings page, and the store survives between visits so the last\n // overview renders instantly on reopen.\n const store: UsageStoreInstance = createUsageStore().create()\n\n let pollSeq = 0\n const poll = (): void => {\n const seq = pollSeq + 1\n pollSeq = seq\n usageApi.overview().then((snapshot) => {\n if (seq !== pollSeq) return\n store.actions.setSnapshot(snapshot)\n }, (error: unknown) => {\n if (seq !== pollSeq) return\n // Surface the transport's own message: a 404 here means the host has no\n // /api/dsh-usage/overview route (plugin disabled), which the panel must be\n // able to tell apart from a genuine failure.\n store.actions.setState('error', error instanceof Error ? error.message : String(error))\n })\n }\n // The refresh response is authoritative: it reflects the completed probe\n // cycle, so it applies even when a faster section poll already bumped the\n // sequence past it (the poll's pre-cycle snapshot is the stale one).\n const refresh = (): void => {\n const seq = pollSeq + 1\n pollSeq = seq\n usageApi.refresh().then((snapshot) => {\n pollSeq = seq\n store.actions.setSnapshot(snapshot)\n }, (error: unknown) => {\n if (seq !== pollSeq) return\n store.actions.setState('error', error instanceof Error ? error.message : String(error))\n })\n }\n\n // The day pickers fetch their own day: the overview carries today (always\n // live) plus the list of recorded days, and one selected day is a single\n // small local request the 10 s poll has no reason to repeat.\n const loadDay = (date: string): Promise<UsageDayView> => usageApi.day(date)\n\n // The card form lives as long as the plugin, like the store: the page reads\n // its last state on reopen, and a write in flight settles after the page closes.\n const settingsCard = new UsageSettingsCardController(settingsForm)\n ctx.effect(() => () => { settingsCard.dispose() }, 'dsh-usage: settings card')\n const settingsCardFace = settingsCard.inject()\n\n const face = (): UsageSectionFace => ({ store, poll, refresh, loadDay, settingsCard: settingsCardFace })\n\n // Sidebar foot card: the compact usage glance seated below the shell's\n // Settings row. It shares the section's store and poll path (the sequence\n // guard absorbs interleaved calls), runs its own relaxed poll loop, and\n // opens the settings panel on the usage section when clicked.\n const disposeFootCard = mountUsageFootCard({\n store,\n poll,\n settings: settingsForm,\n onOpen: () => { openIntegratedUsageSettings(ctx) },\n locale: ctx.locale,\n })\n ctx.effect(() => () => {\n try {\n disposeFootCard()\n } catch {\n // Card container already gone (teardown race).\n }\n }, 'dsh-usage: sidebar foot card')\n\n ctx.effect(() => installUsageSection(ctx, {\n order: SECTION_ORDER,\n label: () => ctx.locale.bind(NS)('usage.title'),\n locale: NS,\n inject: face,\n component: UsageSectionCard,\n }), 'dsh-usage: settings page')\n}\n"],"mappings":"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AC;GACzC;GACA;GACA,YAAY,sBAAsB,CAAC,eAAe,gBAAgB,GAAG,KAAK;GAC1E,YAAY,uBAAuB,CAAC,kBAAkB,GAAG,KAAK;GAC9D;EACF;;EAGA,SAAgB,WAAW,UAA+C;GACxE,OAAO,kBAAkB,MAAM,YAAY,QAAQ,IAAI,SAAS,QAAQ,CAAC;EAC3E;;;;;;;;;;;;;;;EAoDA,SAAgB,wBAAwB,UAA2B;GACjE,IAAI,WAAW,QAAQ,MAAM,UAAU,OAAO;GAC9C,OAAO,SAAS,eAAe,SAAS,QAAQ,MAAM;EACxD;;;;;;;;;;;;;;;;;;;;;;;;;ECrhBA,MAAa,0BAAuE;GAClF,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;GACA,QAAQ;IACN;IACA;IACA;IACA;IACA;IACA;IAC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"}