@eddyskywalker/dsh-chatgpt-subscription 0.12.4 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +637 -619
- package/lib/client.js +3975 -4521
- package/lib/client.js.map +1 -1
- package/lib/index.js +1920 -512
- package/lib/types/client/CodexComposerQuota.d.ts.map +1 -1
- package/lib/types/client/CodexSubscriptionSection.d.ts +1 -3
- package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
- package/lib/types/client/ProviderHubSection.d.ts +6 -5
- package/lib/types/client/ProviderHubSection.d.ts.map +1 -1
- package/lib/types/client/antigravity/AntigravityComposerQuota.d.ts +22 -1
- package/lib/types/client/antigravity/AntigravityComposerQuota.d.ts.map +1 -1
- package/lib/types/client/antigravity/AntigravitySection.d.ts +0 -2
- package/lib/types/client/antigravity/AntigravitySection.d.ts.map +1 -1
- package/lib/types/client/antigravity/locales.d.ts +33 -26
- package/lib/types/client/antigravity/locales.d.ts.map +1 -1
- package/lib/types/client/antigravity/styles.d.ts.map +1 -1
- package/lib/types/client/claude/ClaudeComposerQuota.d.ts +3 -7
- package/lib/types/client/claude/ClaudeComposerQuota.d.ts.map +1 -1
- package/lib/types/client/claude/ClaudeSection.d.ts +10 -9
- package/lib/types/client/claude/ClaudeSection.d.ts.map +1 -1
- package/lib/types/client/claude/locales.d.ts +29 -29
- package/lib/types/client/claude/locales.d.ts.map +1 -1
- package/lib/types/client/claude/useClaudeSection.d.ts +93 -0
- package/lib/types/client/claude/useClaudeSection.d.ts.map +1 -0
- package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts +3 -7
- package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts.map +1 -1
- package/lib/types/client/command-code/CommandCodeSection.d.ts +0 -3
- package/lib/types/client/command-code/CommandCodeSection.d.ts.map +1 -1
- package/lib/types/client/command-code/locales.d.ts +32 -29
- package/lib/types/client/command-code/locales.d.ts.map +1 -1
- package/lib/types/client/common/AccountPoolSection.d.ts +16 -4
- package/lib/types/client/common/AccountPoolSection.d.ts.map +1 -1
- package/lib/types/client/common/ComposerQuotaBadge.d.ts +35 -0
- package/lib/types/client/common/ComposerQuotaBadge.d.ts.map +1 -0
- package/lib/types/client/common/ContextWindowEditor.d.ts +69 -0
- package/lib/types/client/common/ContextWindowEditor.d.ts.map +1 -0
- package/lib/types/client/common/ModelChecklist.d.ts +29 -0
- package/lib/types/client/common/ModelChecklist.d.ts.map +1 -0
- package/lib/types/client/common/account-pool-labels.d.ts +18 -2
- package/lib/types/client/common/account-pool-labels.d.ts.map +1 -1
- package/lib/types/client/common/account-quota.d.ts +60 -0
- package/lib/types/client/common/account-quota.d.ts.map +1 -0
- package/lib/types/client/common/format.d.ts +30 -0
- package/lib/types/client/common/format.d.ts.map +1 -0
- package/lib/types/client/common/line-api.d.ts +8 -0
- package/lib/types/client/common/line-api.d.ts.map +1 -0
- package/lib/types/client/common/model-checklist-styles.d.ts +2 -0
- package/lib/types/client/common/model-checklist-styles.d.ts.map +1 -0
- package/lib/types/client/common/styles.d.ts.map +1 -1
- package/lib/types/client/common/use-store.d.ts +3 -0
- package/lib/types/client/common/use-store.d.ts.map +1 -0
- package/lib/types/client/hub/HubOverview.d.ts +14 -0
- package/lib/types/client/hub/HubOverview.d.ts.map +1 -0
- package/lib/types/client/hub/brand-icons.d.ts +46 -0
- package/lib/types/client/hub/brand-icons.d.ts.map +1 -0
- package/lib/types/client/hub/brand-svg.d.ts +51 -0
- package/lib/types/client/hub/brand-svg.d.ts.map +1 -0
- package/lib/types/client/hub/hub-styles.d.ts +2 -0
- package/lib/types/client/hub/hub-styles.d.ts.map +1 -0
- package/lib/types/client/hub/providers.d.ts +38 -0
- package/lib/types/client/hub/providers.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +20 -6
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts +3 -7
- package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts.map +1 -1
- package/lib/types/client/kimi-code/KimiCodeSection.d.ts +0 -3
- package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
- package/lib/types/client/kimi-code/locales.d.ts +32 -32
- package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
- package/lib/types/client/kimi-code/styles.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +45 -35
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/minimax-code/MinimaxCodeComposerQuota.d.ts +4 -8
- package/lib/types/client/minimax-code/MinimaxCodeComposerQuota.d.ts.map +1 -1
- package/lib/types/client/minimax-code/MinimaxCodeSection.d.ts +8 -37
- package/lib/types/client/minimax-code/MinimaxCodeSection.d.ts.map +1 -1
- package/lib/types/client/minimax-code/api.d.ts +3 -3
- package/lib/types/client/minimax-code/api.d.ts.map +1 -1
- package/lib/types/client/minimax-code/locales.d.ts +29 -56
- package/lib/types/client/minimax-code/locales.d.ts.map +1 -1
- package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts +115 -0
- package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts.map +1 -0
- package/lib/types/client/ollama/OllamaSection.d.ts +2 -2
- package/lib/types/client/ollama/OllamaSection.d.ts.map +1 -1
- package/lib/types/client/ollama/locales.d.ts +54 -24
- package/lib/types/client/ollama/locales.d.ts.map +1 -1
- package/lib/types/client/styles.d.ts.map +1 -1
- package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts +3 -7
- package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts.map +1 -1
- package/lib/types/client/workbuddy/WorkBuddySection.d.ts +10 -37
- package/lib/types/client/workbuddy/WorkBuddySection.d.ts.map +1 -1
- package/lib/types/client/workbuddy/locales.d.ts +0 -66
- package/lib/types/client/workbuddy/locales.d.ts.map +1 -1
- package/lib/types/client/workbuddy/useWorkBuddySection.d.ts +141 -0
- package/lib/types/client/workbuddy/useWorkBuddySection.d.ts.map +1 -0
- package/lib/types/host/antigravity/account-pool.d.ts +18 -1
- package/lib/types/host/antigravity/account-pool.d.ts.map +1 -1
- package/lib/types/host/antigravity/client.d.ts.map +1 -1
- package/lib/types/host/claude/account-pool.d.ts +22 -2
- package/lib/types/host/claude/account-pool.d.ts.map +1 -1
- package/lib/types/host/claude/adapter.d.ts +50 -0
- package/lib/types/host/claude/adapter.d.ts.map +1 -1
- package/lib/types/host/claude/client.d.ts +37 -5
- package/lib/types/host/claude/client.d.ts.map +1 -1
- package/lib/types/host/claude/mapper.d.ts +7 -0
- package/lib/types/host/claude/mapper.d.ts.map +1 -1
- package/lib/types/host/claude/routes.d.ts.map +1 -1
- package/lib/types/host/codex-account-pool.d.ts +26 -1
- package/lib/types/host/codex-account-pool.d.ts.map +1 -1
- package/lib/types/host/command-code/account-pool.d.ts +13 -1
- package/lib/types/host/command-code/account-pool.d.ts.map +1 -1
- package/lib/types/host/command-code/adapter.d.ts +24 -0
- package/lib/types/host/command-code/adapter.d.ts.map +1 -1
- package/lib/types/host/command-code/client.d.ts +2 -1
- package/lib/types/host/command-code/client.d.ts.map +1 -1
- package/lib/types/host/command-code/mapper.d.ts +44 -0
- package/lib/types/host/command-code/mapper.d.ts.map +1 -1
- package/lib/types/host/common/account-quota.d.ts +44 -0
- package/lib/types/host/common/account-quota.d.ts.map +1 -0
- package/lib/types/host/common/catalog-snapshot.d.ts +9 -0
- package/lib/types/host/common/catalog-snapshot.d.ts.map +1 -1
- package/lib/types/host/common/provider-route.d.ts +56 -0
- package/lib/types/host/common/provider-route.d.ts.map +1 -0
- package/lib/types/host/common/stream-error.d.ts +93 -0
- package/lib/types/host/common/stream-error.d.ts.map +1 -0
- package/lib/types/host/hub-overview.d.ts +26 -0
- package/lib/types/host/hub-overview.d.ts.map +1 -0
- package/lib/types/host/kimi-code/account-pool.d.ts +24 -1
- package/lib/types/host/kimi-code/account-pool.d.ts.map +1 -1
- package/lib/types/host/kimi-code/adapter.d.ts +27 -0
- package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
- package/lib/types/host/kimi-code/client.d.ts +23 -2
- package/lib/types/host/kimi-code/client.d.ts.map +1 -1
- package/lib/types/host/kimi-code/mapper.d.ts +26 -0
- package/lib/types/host/kimi-code/mapper.d.ts.map +1 -1
- package/lib/types/host/minimax-code/account-pool.d.ts +34 -2
- package/lib/types/host/minimax-code/account-pool.d.ts.map +1 -1
- package/lib/types/host/minimax-code/adapter.d.ts.map +1 -1
- package/lib/types/host/minimax-code/client.d.ts +23 -0
- package/lib/types/host/minimax-code/client.d.ts.map +1 -1
- package/lib/types/host/minimax-code/mapper.d.ts +39 -0
- package/lib/types/host/minimax-code/mapper.d.ts.map +1 -1
- package/lib/types/host/minimax-code/routes.d.ts.map +1 -1
- package/lib/types/host/oauth-service.d.ts +16 -0
- package/lib/types/host/oauth-service.d.ts.map +1 -1
- package/lib/types/host/ollama/adapter.d.ts.map +1 -1
- package/lib/types/host/ollama/types.d.ts +33 -0
- package/lib/types/host/ollama/types.d.ts.map +1 -1
- package/lib/types/host/usage-service.d.ts +27 -2
- package/lib/types/host/usage-service.d.ts.map +1 -1
- package/lib/types/host/workbuddy/account-pool.d.ts +13 -1
- package/lib/types/host/workbuddy/account-pool.d.ts.map +1 -1
- package/lib/types/host/workbuddy/client.d.ts +15 -0
- package/lib/types/host/workbuddy/client.d.ts.map +1 -1
- package/lib/types/host/workbuddy/routes.d.ts.map +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/shared/account-pool-contracts.d.ts +44 -0
- package/lib/types/shared/account-pool-contracts.d.ts.map +1 -1
- package/lib/types/shared/antigravity-contracts.d.ts +9 -3
- package/lib/types/shared/antigravity-contracts.d.ts.map +1 -1
- package/lib/types/shared/hub-contracts.d.ts +37 -0
- package/lib/types/shared/hub-contracts.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
import type { ModelDirectoryState } from '@deepseek-ai/dsh-client-ui-model-selection/client';
|
|
2
2
|
import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
|
|
3
3
|
import type { CommandCodeWebStatus } from '../../shared/command-code-contracts.ts';
|
|
4
|
+
import { type ComposerQuotaFacts } from '../common/ComposerQuotaBadge.tsx';
|
|
4
5
|
import type { SnapshotStore } from '../store.ts';
|
|
5
6
|
import { NS_COMMAND_CODE } from './locales.ts';
|
|
6
7
|
type Props = PropsRuntime<'conversation.input.right'> & PropsLocale<typeof NS_COMMAND_CODE> & {
|
|
7
8
|
directory: SnapshotStore<ModelDirectoryState>;
|
|
8
9
|
loadModelDirectory: () => void;
|
|
9
10
|
};
|
|
10
|
-
interface BadgeFacts {
|
|
11
|
-
text: string;
|
|
12
|
-
tooltip: string;
|
|
13
|
-
level: 'normal' | 'warning' | 'danger';
|
|
14
|
-
}
|
|
15
11
|
/**
|
|
16
12
|
* Pick the most meaningful number for the badge.
|
|
17
13
|
*
|
|
18
14
|
* A bounded usage window is the number a user actually spends down, so it wins
|
|
19
15
|
* over a credit balance; the balance shows only when no window is reported.
|
|
20
16
|
*/
|
|
21
|
-
export declare function selectBadgeFacts(status: CommandCodeWebStatus | null):
|
|
22
|
-
export declare function CommandCodeComposerQuota({ directory, loadModelDirectory }: Props): React.JSX.Element | null;
|
|
17
|
+
export declare function selectBadgeFacts(status: CommandCodeWebStatus | null): ComposerQuotaFacts | null;
|
|
18
|
+
export declare function CommandCodeComposerQuota({ directory, loadModelDirectory, t }: Props): React.JSX.Element | null;
|
|
23
19
|
export {};
|
|
24
20
|
//# sourceMappingURL=CommandCodeComposerQuota.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandCodeComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeComposerQuota.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CommandCodeComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeComposerQuota.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAI9C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GAAG,WAAW,CAAC,OAAO,eAAe,CAAC,GAAG;IAC5F,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,GAAG,kBAAkB,GAAG,IAAI,CAiC/F;AAED,wBAAgB,wBAAwB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAW9G"}
|
|
@@ -3,9 +3,6 @@ interface Props {
|
|
|
3
3
|
onModelChange?: () => void;
|
|
4
4
|
loadModelDirectory?: () => void;
|
|
5
5
|
}
|
|
6
|
-
/** Parse "1M", "512K", "200000" into a positive integer token count. */
|
|
7
|
-
export declare function parsePositiveCapacity(value: string): number | null;
|
|
8
|
-
export declare function formatCapacity(value: number): string;
|
|
9
6
|
export declare function CommandCodeSection({ onModelChange, loadModelDirectory }: Props): React.ReactElement;
|
|
10
7
|
export {};
|
|
11
8
|
//# sourceMappingURL=CommandCodeSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"CommandCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/CommandCodeSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAkCvE,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAsBD,wBAAgB,kBAAkB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAqiBnG"}
|
|
@@ -12,8 +12,6 @@ export declare const zh: {
|
|
|
12
12
|
readonly subscription: "订阅状态";
|
|
13
13
|
readonly renews: "续费于";
|
|
14
14
|
readonly authenticatedAt: "登录时间";
|
|
15
|
-
readonly storage: "凭据存储";
|
|
16
|
-
readonly storageNotice: "API Key 由 Host 保存于本地安全存储 ($DSH_HOME/storages/command-code-credentials.json),不会进入浏览器。";
|
|
17
15
|
readonly signIn: "浏览器登录";
|
|
18
16
|
readonly signInAgain: "重新登录";
|
|
19
17
|
readonly signingIn: "登录中...";
|
|
@@ -27,18 +25,12 @@ export declare const zh: {
|
|
|
27
25
|
readonly apiKeySaving: "验证中...";
|
|
28
26
|
readonly apiKeySaved: "已保存";
|
|
29
27
|
readonly connection: "连接";
|
|
30
|
-
readonly provider: "Provider";
|
|
31
|
-
readonly providerValue: "Command Code · command-code";
|
|
32
|
-
readonly connectionState: "连接状态";
|
|
33
|
-
readonly connected: "已连接";
|
|
34
|
-
readonly untested: "未测试";
|
|
35
28
|
readonly testConnection: "测试连接";
|
|
36
29
|
readonly testingConnection: "测试中...";
|
|
37
30
|
readonly routeOwned: "模型路由由本插件提供";
|
|
38
31
|
readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
|
|
39
32
|
readonly modelsSection: "模型";
|
|
40
|
-
readonly
|
|
41
|
-
readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭上方开关可在列表中隐藏该供应商。";
|
|
33
|
+
readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭概览卡片上的开关可在列表中隐藏该供应商。";
|
|
42
34
|
readonly refreshCatalog: "刷新模型目录";
|
|
43
35
|
readonly refreshingCatalog: "刷新中...";
|
|
44
36
|
readonly catalogStale: "目录来自缓存,可能过期;可手动刷新";
|
|
@@ -94,6 +86,15 @@ export declare const zh: {
|
|
|
94
86
|
readonly expires: string;
|
|
95
87
|
readonly lastUsed: string;
|
|
96
88
|
readonly accountId: string;
|
|
89
|
+
readonly accountQuota: string;
|
|
90
|
+
readonly quotaNone: string;
|
|
91
|
+
readonly quotaSnapshot: string;
|
|
92
|
+
readonly quotaResets: string;
|
|
93
|
+
readonly quotaExhausted: string;
|
|
94
|
+
readonly quotaWindow: string;
|
|
95
|
+
readonly quotaUsed: string;
|
|
96
|
+
readonly quotaFactsScope: string;
|
|
97
|
+
readonly composerLabel: string;
|
|
97
98
|
};
|
|
98
99
|
export declare const en: Record<keyof typeof zh, string>;
|
|
99
100
|
export declare const dictionaries: {
|
|
@@ -110,8 +111,6 @@ export declare const dictionaries: {
|
|
|
110
111
|
readonly subscription: "订阅状态";
|
|
111
112
|
readonly renews: "续费于";
|
|
112
113
|
readonly authenticatedAt: "登录时间";
|
|
113
|
-
readonly storage: "凭据存储";
|
|
114
|
-
readonly storageNotice: "API Key 由 Host 保存于本地安全存储 ($DSH_HOME/storages/command-code-credentials.json),不会进入浏览器。";
|
|
115
114
|
readonly signIn: "浏览器登录";
|
|
116
115
|
readonly signInAgain: "重新登录";
|
|
117
116
|
readonly signingIn: "登录中...";
|
|
@@ -125,18 +124,12 @@ export declare const dictionaries: {
|
|
|
125
124
|
readonly apiKeySaving: "验证中...";
|
|
126
125
|
readonly apiKeySaved: "已保存";
|
|
127
126
|
readonly connection: "连接";
|
|
128
|
-
readonly provider: "Provider";
|
|
129
|
-
readonly providerValue: "Command Code · command-code";
|
|
130
|
-
readonly connectionState: "连接状态";
|
|
131
|
-
readonly connected: "已连接";
|
|
132
|
-
readonly untested: "未测试";
|
|
133
127
|
readonly testConnection: "测试连接";
|
|
134
128
|
readonly testingConnection: "测试中...";
|
|
135
129
|
readonly routeOwned: "模型路由由本插件提供";
|
|
136
130
|
readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
|
|
137
131
|
readonly modelsSection: "模型";
|
|
138
|
-
readonly
|
|
139
|
-
readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭上方开关可在列表中隐藏该供应商。";
|
|
132
|
+
readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭概览卡片上的开关可在列表中隐藏该供应商。";
|
|
140
133
|
readonly refreshCatalog: "刷新模型目录";
|
|
141
134
|
readonly refreshingCatalog: "刷新中...";
|
|
142
135
|
readonly catalogStale: "目录来自缓存,可能过期;可手动刷新";
|
|
@@ -192,6 +185,15 @@ export declare const dictionaries: {
|
|
|
192
185
|
readonly expires: string;
|
|
193
186
|
readonly lastUsed: string;
|
|
194
187
|
readonly accountId: string;
|
|
188
|
+
readonly accountQuota: string;
|
|
189
|
+
readonly quotaNone: string;
|
|
190
|
+
readonly quotaSnapshot: string;
|
|
191
|
+
readonly quotaResets: string;
|
|
192
|
+
readonly quotaExhausted: string;
|
|
193
|
+
readonly quotaWindow: string;
|
|
194
|
+
readonly quotaUsed: string;
|
|
195
|
+
readonly quotaFactsScope: string;
|
|
196
|
+
readonly composerLabel: string;
|
|
195
197
|
};
|
|
196
198
|
'zh-CN': {
|
|
197
199
|
readonly title: "Command Code";
|
|
@@ -206,8 +208,6 @@ export declare const dictionaries: {
|
|
|
206
208
|
readonly subscription: "订阅状态";
|
|
207
209
|
readonly renews: "续费于";
|
|
208
210
|
readonly authenticatedAt: "登录时间";
|
|
209
|
-
readonly storage: "凭据存储";
|
|
210
|
-
readonly storageNotice: "API Key 由 Host 保存于本地安全存储 ($DSH_HOME/storages/command-code-credentials.json),不会进入浏览器。";
|
|
211
211
|
readonly signIn: "浏览器登录";
|
|
212
212
|
readonly signInAgain: "重新登录";
|
|
213
213
|
readonly signingIn: "登录中...";
|
|
@@ -221,18 +221,12 @@ export declare const dictionaries: {
|
|
|
221
221
|
readonly apiKeySaving: "验证中...";
|
|
222
222
|
readonly apiKeySaved: "已保存";
|
|
223
223
|
readonly connection: "连接";
|
|
224
|
-
readonly provider: "Provider";
|
|
225
|
-
readonly providerValue: "Command Code · command-code";
|
|
226
|
-
readonly connectionState: "连接状态";
|
|
227
|
-
readonly connected: "已连接";
|
|
228
|
-
readonly untested: "未测试";
|
|
229
224
|
readonly testConnection: "测试连接";
|
|
230
225
|
readonly testingConnection: "测试中...";
|
|
231
226
|
readonly routeOwned: "模型路由由本插件提供";
|
|
232
227
|
readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
|
|
233
228
|
readonly modelsSection: "模型";
|
|
234
|
-
readonly
|
|
235
|
-
readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭上方开关可在列表中隐藏该供应商。";
|
|
229
|
+
readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;全部取消勾选或关闭概览卡片上的开关可在列表中隐藏该供应商。";
|
|
236
230
|
readonly refreshCatalog: "刷新模型目录";
|
|
237
231
|
readonly refreshingCatalog: "刷新中...";
|
|
238
232
|
readonly catalogStale: "目录来自缓存,可能过期;可手动刷新";
|
|
@@ -288,9 +282,18 @@ export declare const dictionaries: {
|
|
|
288
282
|
readonly expires: string;
|
|
289
283
|
readonly lastUsed: string;
|
|
290
284
|
readonly accountId: string;
|
|
285
|
+
readonly accountQuota: string;
|
|
286
|
+
readonly quotaNone: string;
|
|
287
|
+
readonly quotaSnapshot: string;
|
|
288
|
+
readonly quotaResets: string;
|
|
289
|
+
readonly quotaExhausted: string;
|
|
290
|
+
readonly quotaWindow: string;
|
|
291
|
+
readonly quotaUsed: string;
|
|
292
|
+
readonly quotaFactsScope: string;
|
|
293
|
+
readonly composerLabel: string;
|
|
291
294
|
};
|
|
292
|
-
en: Record<"account" | "
|
|
293
|
-
'en-US': Record<"account" | "
|
|
295
|
+
en: Record<"tokens" | "title" | "account" | "signedOut" | "signedIn" | "plan" | "accountId" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "relogin" | "rotationStrategy" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "catalogStale" | "catalogFresh" | "zdrEnabled" | "wireAnthropic" | "wireOpenai" | "wireResponses" | "quotaCredits" | "quotaUnlimited", string>;
|
|
296
|
+
'en-US': Record<"tokens" | "title" | "account" | "signedOut" | "signedIn" | "plan" | "accountId" | "expires" | "signIn" | "signInAgain" | "signOut" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "contextWindowResetAllConfirm" | "save" | "refreshQuota" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "relogin" | "rotationStrategy" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "pageDesc" | "signingIn" | "modelsSection" | "enhanced" | "defaultReasoningEffort" | "defaultReasoningEffortHint" | "defaultEffortAuto" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "refreshingQuota" | "quotaEmpty" | "updatedAt" | "loginFailed" | "planUnknown" | "cancelSignIn" | "testingConnection" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "keyName" | "organization" | "subscription" | "renews" | "authenticatedAt" | "openSignInPage" | "apiKeySection" | "apiKeyHint" | "apiKeyPlaceholder" | "apiKeySave" | "apiKeySaving" | "apiKeySaved" | "catalogStale" | "catalogFresh" | "zdrEnabled" | "wireAnthropic" | "wireOpenai" | "wireResponses" | "quotaCredits" | "quotaUnlimited", string>;
|
|
294
297
|
};
|
|
295
298
|
export type CommandCodeLocaleKey = keyof typeof zh;
|
|
296
299
|
//# sourceMappingURL=locales.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,qBAAqB,CAAA;AAEjD,eAAO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/command-code/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,qBAAqB,CAAA;AAEjD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CAmErC,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,OAAO,EAAE,CAAA"}
|
|
@@ -26,6 +26,15 @@ export interface AccountPoolSectionProps<TAccount extends PoolAccountSummaryDto
|
|
|
26
26
|
onSetStrategy(strategy: AccountRotationStrategy): void;
|
|
27
27
|
/** Provider-specific detail rows, rendered before the shared ones. */
|
|
28
28
|
renderDetails?(account: TAccount): ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Whether this line has a quota concept at all.
|
|
31
|
+
*
|
|
32
|
+
* Quota follows the account, so an account the host never read shows "no
|
|
33
|
+
* quota read yet" instead of nothing — but only on a line that reads quota in
|
|
34
|
+
* the first place. A line without one (Ollama: spend, no allowance) leaves
|
|
35
|
+
* this off and its rows stay silent about quota.
|
|
36
|
+
*/
|
|
37
|
+
showQuota?: boolean;
|
|
29
38
|
/**
|
|
30
39
|
* Provider-specific per-account buttons, rendered before the shared ones.
|
|
31
40
|
*
|
|
@@ -33,8 +42,6 @@ export interface AccountPoolSectionProps<TAccount extends PoolAccountSummaryDto
|
|
|
33
42
|
* an externally-managed account replaces the delete it must never offer.
|
|
34
43
|
*/
|
|
35
44
|
renderAccountActions?(account: TAccount): ReactNode;
|
|
36
|
-
/** Value shown beside the storage label; defaults to a generic description. */
|
|
37
|
-
storageValue?: string;
|
|
38
45
|
/** Extra controls inside the group, after the account list. */
|
|
39
46
|
children?: ReactNode;
|
|
40
47
|
}
|
|
@@ -48,8 +55,13 @@ export declare function isCoolingDown(account: PoolAccountSummaryDto, now?: numb
|
|
|
48
55
|
* The account-management group every provider tab renders.
|
|
49
56
|
*
|
|
50
57
|
* One component rather than four near-identical blocks: the account card, its
|
|
51
|
-
* badges
|
|
52
|
-
*
|
|
58
|
+
* badges and the rotation-strategy picker are identical across providers, and
|
|
59
|
+
* only the identity details differ.
|
|
60
|
+
*
|
|
61
|
+
* Credential storage is deliberately NOT shown here. Where the host keeps a
|
|
62
|
+
* token is not a setting a user can act on, and rendering it as a labeled row
|
|
63
|
+
* invited exactly that reading; several lines' notices went further and printed
|
|
64
|
+
* the credential file's path.
|
|
53
65
|
*/
|
|
54
66
|
export declare function AccountPoolSection<TAccount extends PoolAccountSummaryDto = PoolAccountSummaryDto>(props: AccountPoolSectionProps<TAccount>): React.ReactElement;
|
|
55
67
|
//# sourceMappingURL=AccountPoolSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountPoolSection.d.ts","sourceRoot":"","sources":["../../../../src/client/common/AccountPoolSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"AccountPoolSection.d.ts","sourceRoot":"","sources":["../../../../src/client/common/AccountPoolSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAGlF,YAAY,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,MAAM,WAAW,uBAAuB,CACtC,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB,CAC9D,SAAQ,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,GAAG,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAC5F,QAAQ,EAAE,QAAQ,EAAE,CAAA;IACpB,mEAAmE;IACnE,MAAM,EAAE,iBAAiB,CAAA;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACnB,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,OAAO,IAAI,IAAI,CAAA;IACf;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,SAAS,CAAA;IAChC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,sEAAsE;IACtE,SAAS,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,aAAa,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAAA;IACtD,sEAAsE;IACtE,aAAa,CAAC,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC5C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;OAKG;IACH,oBAAoB,CAAC,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAA;IACnD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAED,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAEnF;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,OAAO,EAAE,qBAAqB,EAAE,GAAG,SAAa,GAAG,OAAO,CAEvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,qBAAqB,GAAG,qBAAqB,EAC/F,KAAK,EAAE,uBAAuB,CAAC,QAAQ,CAAC,GACvC,KAAK,CAAC,YAAY,CAuJpB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ModelDirectoryState } from '@deepseek-ai/dsh-client-ui-model-selection/client';
|
|
2
|
+
import type { SnapshotStore } from '../store.ts';
|
|
3
|
+
export interface ComposerQuotaFacts {
|
|
4
|
+
/** The number the badge shows, already formatted. */
|
|
5
|
+
text: string;
|
|
6
|
+
/** What the hover and the screen reader say. */
|
|
7
|
+
tooltip: string;
|
|
8
|
+
level: 'normal' | 'warning' | 'danger';
|
|
9
|
+
}
|
|
10
|
+
/** The shared grading: 5% or less is critical, 20% or less warns. */
|
|
11
|
+
export declare function quotaLevel(remainingPercent: number): ComposerQuotaFacts['level'];
|
|
12
|
+
export interface ComposerQuotaBadgeProps<Status extends {
|
|
13
|
+
authenticated: boolean;
|
|
14
|
+
}> {
|
|
15
|
+
directory: SnapshotStore<ModelDirectoryState>;
|
|
16
|
+
loadModelDirectory(): void;
|
|
17
|
+
/** The provider id this badge speaks for; it renders for no other. */
|
|
18
|
+
providerId: string;
|
|
19
|
+
/** One status read; `true` asks the host for a forced refresh. */
|
|
20
|
+
readStatus(refresh: boolean): Promise<Status>;
|
|
21
|
+
/**
|
|
22
|
+
* The line's own number picker; null means there is nothing to show.
|
|
23
|
+
*
|
|
24
|
+
* `modelId` is the conversation's selected model, which one line needs: its
|
|
25
|
+
* allowance is reported per model group, so the number to show depends on
|
|
26
|
+
* which group that model belongs to.
|
|
27
|
+
*/
|
|
28
|
+
selectFacts(status: Status | null, modelId: string | undefined): ComposerQuotaFacts | null;
|
|
29
|
+
/** Label in front of the number, from the line's own dictionary. */
|
|
30
|
+
label: string;
|
|
31
|
+
}
|
|
32
|
+
export declare function ComposerQuotaBadge<Status extends {
|
|
33
|
+
authenticated: boolean;
|
|
34
|
+
}>(props: ComposerQuotaBadgeProps<Status>): React.JSX.Element | null;
|
|
35
|
+
//# sourceMappingURL=ComposerQuotaBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ComposerQuotaBadge.d.ts","sourceRoot":"","sources":["../../../../src/client/common/ComposerQuotaBadge.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGhD,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;CACvC;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,gBAAgB,EAAE,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAEhF;AAED,MAAM,WAAW,uBAAuB,CAAC,MAAM,SAAS;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE;IAChF,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,IAAI,IAAI,CAAA;IAC1B,sEAAsE;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7C;;;;;;OAMG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,kBAAkB,GAAG,IAAI,CAAA;IAC1F,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,kBAAkB,CAAC,MAAM,SAAS;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,EAC1E,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,GACrC,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAqE1B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export interface ContextWindowRow {
|
|
2
|
+
/** Model id: the row key, the name's tooltip, and what the callbacks receive. */
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
/**
|
|
6
|
+
* The free-text draft the card owns. The editor never parses it and never
|
|
7
|
+
* falls back to a default, because a half-typed value has to survive a render.
|
|
8
|
+
*/
|
|
9
|
+
draft: string;
|
|
10
|
+
/** Window figure shown beside the name; the cards that show one format it themselves. */
|
|
11
|
+
meta?: string;
|
|
12
|
+
/** `aria-label` of this row's input; the one card that labels it with nothing omits it. */
|
|
13
|
+
inputLabel?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Whether the host stores an override for this model. A model with none has
|
|
16
|
+
* nothing to drop, so its restore button stays disabled.
|
|
17
|
+
*/
|
|
18
|
+
hasOverride: boolean;
|
|
19
|
+
/** True while this row's save or restore request is in flight. */
|
|
20
|
+
saving: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface ContextWindowLabels {
|
|
23
|
+
/** Unit rendered after every capacity input. */
|
|
24
|
+
tokens: string;
|
|
25
|
+
save: string;
|
|
26
|
+
saving: string;
|
|
27
|
+
reset: string;
|
|
28
|
+
resetAll: string;
|
|
29
|
+
/** Sentence shown while no enabled model has a row. */
|
|
30
|
+
empty: string;
|
|
31
|
+
}
|
|
32
|
+
/** The slice of a line's status payload the draft seeding reads. */
|
|
33
|
+
export interface ContextWindowStatus {
|
|
34
|
+
models: readonly {
|
|
35
|
+
id: string;
|
|
36
|
+
defaultContextWindow: number;
|
|
37
|
+
}[];
|
|
38
|
+
contextWindowOverrides: Record<string, number>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Seed one draft per model from a status payload, so the input shows the stored
|
|
42
|
+
* override and falls back to the catalog length.
|
|
43
|
+
*
|
|
44
|
+
* Run after a model toggle too: a model that was just enabled has no draft yet,
|
|
45
|
+
* and only enabled models get a row — without this, its row would render an
|
|
46
|
+
* empty input that a save would then reject as unparsable.
|
|
47
|
+
*/
|
|
48
|
+
export declare function contextDraftsFor(status: ContextWindowStatus): Record<string, string>;
|
|
49
|
+
interface Props {
|
|
50
|
+
rows: ContextWindowRow[];
|
|
51
|
+
labels: ContextWindowLabels;
|
|
52
|
+
/** Disables the batch restore while any other request is in flight. */
|
|
53
|
+
busy: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Counts every stored override, including keys left by models the picker no
|
|
56
|
+
* longer lists — which is why the batch button can be live while no visible
|
|
57
|
+
* row offers a restore.
|
|
58
|
+
*/
|
|
59
|
+
overrideCount: number;
|
|
60
|
+
/** Class the meta figure wears; each line draws it from its own stylesheet. */
|
|
61
|
+
metaClassName?: string;
|
|
62
|
+
onDraftChange(id: string, draft: string): void;
|
|
63
|
+
onCommit(id: string): void;
|
|
64
|
+
onReset(id: string): void;
|
|
65
|
+
onResetAll(): void;
|
|
66
|
+
}
|
|
67
|
+
export declare function ContextWindowEditor({ rows, labels, busy, overrideCount, metaClassName, onDraftChange, onCommit, onReset, onResetAll, }: Props): React.JSX.Element;
|
|
68
|
+
export {};
|
|
69
|
+
//# sourceMappingURL=ContextWindowEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextWindowEditor.d.ts","sourceRoot":"","sources":["../../../../src/client/common/ContextWindowEditor.tsx"],"names":[],"mappings":"AAsBA,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,yFAAyF;IACzF,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2FAA2F;IAC3F,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB,kEAAkE;IAClE,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,oEAAoE;AACpE,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC/D,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/C;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMpF;AAED,UAAU,KAAK;IACb,IAAI,EAAE,gBAAgB,EAAE,CAAA;IACxB,MAAM,EAAE,mBAAmB,CAAA;IAC3B,uEAAuE;IACvE,IAAI,EAAE,OAAO,CAAA;IACb;;;;OAIG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,UAAU,IAAI,IAAI,CAAA;CACnB;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,aAAa,EACb,aAAa,EACb,aAAa,EACb,QAAQ,EACR,OAAO,EACP,UAAU,GACX,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8C3B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface ModelChecklistItem {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
/** One quiet line under the name (e.g. the context window); omit when none. */
|
|
5
|
+
hint?: string;
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ModelChecklistLabels {
|
|
9
|
+
selectAll: string;
|
|
10
|
+
clearAll: string;
|
|
11
|
+
/**
|
|
12
|
+
* `{count}` and `{total}` are replaced with the enabled/total numbers.
|
|
13
|
+
* Optional: a provider dictionary without the key gets the bare "3/8" form.
|
|
14
|
+
*/
|
|
15
|
+
countTemplate?: string;
|
|
16
|
+
/** aria-label of the list itself; omit when the section header already names it. */
|
|
17
|
+
list?: string;
|
|
18
|
+
}
|
|
19
|
+
interface Props {
|
|
20
|
+
items: ModelChecklistItem[];
|
|
21
|
+
/** Disables every row and the header buttons while a commit is in flight. */
|
|
22
|
+
busy: boolean;
|
|
23
|
+
onToggle(id: string, enabled: boolean): void;
|
|
24
|
+
onToggleAll(enabled: boolean): void;
|
|
25
|
+
labels: ModelChecklistLabels;
|
|
26
|
+
}
|
|
27
|
+
export declare function ModelChecklist({ items, busy, onToggle, onToggleAll, labels }: Props): React.JSX.Element;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=ModelChecklist.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ModelChecklist.d.ts","sourceRoot":"","sources":["../../../../src/client/common/ModelChecklist.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oFAAoF;IACpF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,UAAU,KAAK;IACb,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC3B,6EAA6E;IAC7E,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IACnC,MAAM,EAAE,oBAAoB,CAAA;CAC7B;AAID,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAqCvG"}
|
|
@@ -27,12 +27,28 @@ export interface AccountPoolLabels {
|
|
|
27
27
|
strategyRoundRobin: string;
|
|
28
28
|
strategySticky: string;
|
|
29
29
|
noAccounts: string;
|
|
30
|
-
storage: string;
|
|
31
|
-
storageNotice: string;
|
|
32
30
|
email: string;
|
|
33
31
|
expires: string;
|
|
34
32
|
lastUsed: string;
|
|
35
33
|
accountId: string;
|
|
34
|
+
/** Legend of the per-account quota block. */
|
|
35
|
+
accountQuota: string;
|
|
36
|
+
/** Shown when no quota was ever read for that account. */
|
|
37
|
+
quotaNone: string;
|
|
38
|
+
/** `{time}` is replaced with the snapshot's read time. */
|
|
39
|
+
quotaSnapshot: string;
|
|
40
|
+
/** Prefix of a window's reset moment, e.g. `重置 3 小时后`. */
|
|
41
|
+
quotaResets: string;
|
|
42
|
+
/** Drawn in place of a percentage once a window is spent. */
|
|
43
|
+
quotaExhausted: string;
|
|
44
|
+
/** Fallback window name when the line gave neither a label nor a length. */
|
|
45
|
+
quotaWindow: string;
|
|
46
|
+
/** Read out by a screen reader beside the bar's percentage. */
|
|
47
|
+
quotaUsed: string;
|
|
48
|
+
/** Explains that the page-level facts belong to the current account only. */
|
|
49
|
+
quotaFactsScope: string;
|
|
50
|
+
/** The composer badge's own label, in front of its number. */
|
|
51
|
+
composerLabel: string;
|
|
36
52
|
}
|
|
37
53
|
/** Chinese labels; the wording the Antigravity card shipped with. */
|
|
38
54
|
export declare const accountPoolZh: AccountPoolLabels;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-pool-labels.d.ts","sourceRoot":"","sources":["../../../../src/client/common/account-pool-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,aAAa,EAAE,MAAM,CAAA;IACrB,
|
|
1
|
+
{"version":3,"file":"account-pool-labels.d.ts","sourceRoot":"","sources":["../../../../src/client/common/account-pool-labels.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,4EAA4E;IAC5E,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,EAAE,MAAM,CAAA;IACxB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,cAAc,EAAE,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAA;IACpB,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAA;IACrB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAA;IACnB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAA;IACtB,4EAA4E;IAC5E,WAAW,EAAE,MAAM,CAAA;IACnB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,eAAe,EAAE,MAAM,CAAA;IACvB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,qEAAqE;AACrE,eAAO,MAAM,aAAa,EAAE,iBA+B3B,CAAA;AAED,sEAAsE;AACtE,eAAO,MAAM,aAAa,EAAE,iBA+B3B,CAAA;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM,CAIjG"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The quota block that lives INSIDE one account row.
|
|
3
|
+
*
|
|
4
|
+
* Quota follows the account: a rotation decides which account spends the next
|
|
5
|
+
* request, so a line-level quota figure describes whichever account happened to
|
|
6
|
+
* be active when it was read. The host therefore reports each account's own
|
|
7
|
+
* newest snapshot on that account's summary, and this renders it where the
|
|
8
|
+
* account is — beside its alias, its cooldown and its last-used time.
|
|
9
|
+
*
|
|
10
|
+
* Every line disagrees about the wire (buckets, groups, meters, ISO strings,
|
|
11
|
+
* unix seconds, remaining fractions) and agrees about the shape the host
|
|
12
|
+
* normalizes into: a labeled window, a consumed share, and usually a moment it
|
|
13
|
+
* reopens. Nothing here fetches: an account whose quota was never read shows
|
|
14
|
+
* that it was never read, which is a different statement from "nothing used".
|
|
15
|
+
*/
|
|
16
|
+
import type { PoolAccountQuotaDto, PoolAccountQuotaWindowDto } from '../../shared/account-pool-contracts.ts';
|
|
17
|
+
import { type AccountPoolLabels } from './account-pool-labels.ts';
|
|
18
|
+
/** The label keys this block needs, all of them already on every tab's set. */
|
|
19
|
+
export type AccountQuotaLabels = Pick<AccountPoolLabels, 'accountQuota' | 'quotaNone' | 'quotaSnapshot' | 'quotaResets' | 'quotaExhausted' | 'quotaWindow' | 'quotaUsed'>;
|
|
20
|
+
/**
|
|
21
|
+
* Percent with at most one decimal.
|
|
22
|
+
*
|
|
23
|
+
* A share that is not a finite number renders as `0%` rather than `NaN%`. Every
|
|
24
|
+
* caller has already tested `Number.isFinite` and skips the row, so this is the
|
|
25
|
+
* last line of defence, not a claim about an unmeasured window.
|
|
26
|
+
*/
|
|
27
|
+
export declare function formatQuotaPercent(value: number): string;
|
|
28
|
+
/**
|
|
29
|
+
* When a window reopens, in the reader's own words.
|
|
30
|
+
*
|
|
31
|
+
* Always a distance. The page's own quota block counts down ("7天 3时"), and a
|
|
32
|
+
* row that switched to an absolute date past a threshold described the same
|
|
33
|
+
* window two different ways inside one card. Days carry a long window, hours
|
|
34
|
+
* the short ones, minutes the last stretch.
|
|
35
|
+
*/
|
|
36
|
+
export declare function formatQuotaReset(resetsAt: number | null | undefined, now?: number): string;
|
|
37
|
+
/**
|
|
38
|
+
* When the snapshot was read.
|
|
39
|
+
*
|
|
40
|
+
* A time alone reads as "just now" — which is a lie about a snapshot taken
|
|
41
|
+
* yesterday, and the card's whole promise is that this is what we last saw.
|
|
42
|
+
*/
|
|
43
|
+
export declare function formatQuotaSnapshot(fetchedAt: number, now?: number): string;
|
|
44
|
+
/** A window's name: the line's own label, else its length, else a generic one. */
|
|
45
|
+
export declare function quotaWindowLabel(window: PoolAccountQuotaWindowDto, labels: AccountQuotaLabels): string;
|
|
46
|
+
/**
|
|
47
|
+
* One account's quota, or the honest statement that none was ever read.
|
|
48
|
+
*
|
|
49
|
+
* `showEmpty` lets the hosting card stay quiet on a line that has no quota to
|
|
50
|
+
* speak of, while still saying "not read yet" for an account the line does read
|
|
51
|
+
* (its active one, or any account once a sibling has a snapshot).
|
|
52
|
+
*/
|
|
53
|
+
export declare function AccountQuota(props: {
|
|
54
|
+
quota: PoolAccountQuotaDto | undefined;
|
|
55
|
+
labels: AccountQuotaLabels;
|
|
56
|
+
/** True to render the "no quota read yet" line instead of nothing. */
|
|
57
|
+
showEmpty: boolean;
|
|
58
|
+
now?: number;
|
|
59
|
+
}): React.JSX.Element | null;
|
|
60
|
+
//# sourceMappingURL=account-quota.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-quota.d.ts","sourceRoot":"","sources":["../../../../src/client/common/account-quota.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAC5G,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAElF,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,iBAAiB,EACjB,cAAc,GAAG,WAAW,GAAG,eAAe,GAAG,aAAa,GAAG,gBAAgB,GAAG,aAAa,GAAG,WAAW,CAChH,CAAA;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,CAW9F;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAS/E;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,yBAAyB,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAYtG;AAMD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAA;IACtC,MAAM,EAAE,kBAAkB,CAAA;IAC1B,sEAAsE;IACtE,SAAS,EAAE,OAAO,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAwC3B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The capacity, date and countdown formatting every provider settings card shares.
|
|
3
|
+
*
|
|
4
|
+
* Each card used to carry its own copy of the capacity pair. The five copies
|
|
5
|
+
* were byte-identical except Antigravity's `formatCapacity`, which had lost the
|
|
6
|
+
* 1K floor and so rendered a zero as "0K" while its siblings rendered "0". The
|
|
7
|
+
* parse has to mean the same thing on every line — it takes free-text user input
|
|
8
|
+
* that feeds the overflow judgement — so this is the one place it lives. The
|
|
9
|
+
* date helpers were copied the same way; WorkBuddy's countdown is here for the
|
|
10
|
+
* same reason.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Parse "1M", "512K", "200000" into a positive integer token count.
|
|
14
|
+
*
|
|
15
|
+
* Anything that is not a plain capacity — including `0`, which no model has —
|
|
16
|
+
* returns null rather than a coerced number, so the caller can leave the draft
|
|
17
|
+
* uncommitted instead of storing a length that would silently break compaction.
|
|
18
|
+
*/
|
|
19
|
+
export declare function parsePositiveCapacity(value: string): number | null;
|
|
20
|
+
/** Render a token capacity the way the capacity field seeds itself. */
|
|
21
|
+
export declare function formatCapacity(value: number): string;
|
|
22
|
+
/** A stamp in the reader's own locale, or an em dash when there is none. */
|
|
23
|
+
export declare function formatDate(ms?: number | null): string;
|
|
24
|
+
/**
|
|
25
|
+
* Countdown to a reset instant ("3d 4h"), empty when there is nothing to count
|
|
26
|
+
* down to. Empty rather than "—" because callers append it to a date they have
|
|
27
|
+
* already rendered, and a dash there would read as a second missing value.
|
|
28
|
+
*/
|
|
29
|
+
export declare function formatReset(resetsAt?: number | null): string;
|
|
30
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/client/common/format.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,uEAAuE;AACvE,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAOrD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAU5D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface LineApi {
|
|
2
|
+
/** Any route under the line's prefix, unwrapping whichever envelope arrives. */
|
|
3
|
+
request<T>(path: string, init?: RequestInit): Promise<T>;
|
|
4
|
+
get<T>(path: string): Promise<T>;
|
|
5
|
+
post<T>(path: string, body?: object): Promise<T>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createLineApi(prefix: string, label: string): LineApi;
|
|
8
|
+
//# sourceMappingURL=line-api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-api.d.ts","sourceRoot":"","sources":["../../../../src/client/common/line-api.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,OAAO;IACtB,gFAAgF;IAChF,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACxD,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAChC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACjD;AAqBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAgDpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-checklist-styles.d.ts","sourceRoot":"","sources":["../../../../src/client/common/model-checklist-styles.ts"],"names":[],"mappings":"AA+BA,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/common/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,4BAA4B,CAAA;AAEtD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/common/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,4BAA4B,CAAA;AAEtD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAuBxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-store.d.ts","sourceRoot":"","sources":["../../../../src/client/common/use-store.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAMtD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PropsLocale } from '@deepseek-ai/dsh-client-ui-slots';
|
|
2
|
+
import type { HubProviderSummaryDto } from '../../shared/hub-contracts.ts';
|
|
3
|
+
import type { NS } from '../locales.ts';
|
|
4
|
+
import { type HubProviderDescriptor } from './providers.tsx';
|
|
5
|
+
export type HubTranslate = PropsLocale<typeof NS>['t'];
|
|
6
|
+
interface Props {
|
|
7
|
+
t: HubTranslate;
|
|
8
|
+
onOpen(id: HubProviderDescriptor['id']): void;
|
|
9
|
+
}
|
|
10
|
+
/** The card's one-line annotation: accounts, then models, then state. */
|
|
11
|
+
export declare function cardAnnotation(summary: HubProviderSummaryDto | undefined, descriptor: HubProviderDescriptor, t: HubTranslate): string;
|
|
12
|
+
export declare function HubOverview({ t, onOpen }: Props): React.JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=HubOverview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HubOverview.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/HubOverview.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAGnE,OAAO,KAAK,EAAkB,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1F,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAiB,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAE3E,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;AAEtD,UAAU,KAAK;IACb,CAAC,EAAE,YAAY,CAAA;IACf,MAAM,CAAC,EAAE,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC9C;AAWD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAcrI;AAED,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6EnE"}
|