@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.
Files changed (163) hide show
  1. package/CHANGELOG.md +637 -619
  2. package/lib/client.js +3975 -4521
  3. package/lib/client.js.map +1 -1
  4. package/lib/index.js +1920 -512
  5. package/lib/types/client/CodexComposerQuota.d.ts.map +1 -1
  6. package/lib/types/client/CodexSubscriptionSection.d.ts +1 -3
  7. package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
  8. package/lib/types/client/ProviderHubSection.d.ts +6 -5
  9. package/lib/types/client/ProviderHubSection.d.ts.map +1 -1
  10. package/lib/types/client/antigravity/AntigravityComposerQuota.d.ts +22 -1
  11. package/lib/types/client/antigravity/AntigravityComposerQuota.d.ts.map +1 -1
  12. package/lib/types/client/antigravity/AntigravitySection.d.ts +0 -2
  13. package/lib/types/client/antigravity/AntigravitySection.d.ts.map +1 -1
  14. package/lib/types/client/antigravity/locales.d.ts +33 -26
  15. package/lib/types/client/antigravity/locales.d.ts.map +1 -1
  16. package/lib/types/client/antigravity/styles.d.ts.map +1 -1
  17. package/lib/types/client/claude/ClaudeComposerQuota.d.ts +3 -7
  18. package/lib/types/client/claude/ClaudeComposerQuota.d.ts.map +1 -1
  19. package/lib/types/client/claude/ClaudeSection.d.ts +10 -9
  20. package/lib/types/client/claude/ClaudeSection.d.ts.map +1 -1
  21. package/lib/types/client/claude/locales.d.ts +29 -29
  22. package/lib/types/client/claude/locales.d.ts.map +1 -1
  23. package/lib/types/client/claude/useClaudeSection.d.ts +93 -0
  24. package/lib/types/client/claude/useClaudeSection.d.ts.map +1 -0
  25. package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts +3 -7
  26. package/lib/types/client/command-code/CommandCodeComposerQuota.d.ts.map +1 -1
  27. package/lib/types/client/command-code/CommandCodeSection.d.ts +0 -3
  28. package/lib/types/client/command-code/CommandCodeSection.d.ts.map +1 -1
  29. package/lib/types/client/command-code/locales.d.ts +32 -29
  30. package/lib/types/client/command-code/locales.d.ts.map +1 -1
  31. package/lib/types/client/common/AccountPoolSection.d.ts +16 -4
  32. package/lib/types/client/common/AccountPoolSection.d.ts.map +1 -1
  33. package/lib/types/client/common/ComposerQuotaBadge.d.ts +35 -0
  34. package/lib/types/client/common/ComposerQuotaBadge.d.ts.map +1 -0
  35. package/lib/types/client/common/ContextWindowEditor.d.ts +69 -0
  36. package/lib/types/client/common/ContextWindowEditor.d.ts.map +1 -0
  37. package/lib/types/client/common/ModelChecklist.d.ts +29 -0
  38. package/lib/types/client/common/ModelChecklist.d.ts.map +1 -0
  39. package/lib/types/client/common/account-pool-labels.d.ts +18 -2
  40. package/lib/types/client/common/account-pool-labels.d.ts.map +1 -1
  41. package/lib/types/client/common/account-quota.d.ts +60 -0
  42. package/lib/types/client/common/account-quota.d.ts.map +1 -0
  43. package/lib/types/client/common/format.d.ts +30 -0
  44. package/lib/types/client/common/format.d.ts.map +1 -0
  45. package/lib/types/client/common/line-api.d.ts +8 -0
  46. package/lib/types/client/common/line-api.d.ts.map +1 -0
  47. package/lib/types/client/common/model-checklist-styles.d.ts +2 -0
  48. package/lib/types/client/common/model-checklist-styles.d.ts.map +1 -0
  49. package/lib/types/client/common/styles.d.ts.map +1 -1
  50. package/lib/types/client/common/use-store.d.ts +3 -0
  51. package/lib/types/client/common/use-store.d.ts.map +1 -0
  52. package/lib/types/client/hub/HubOverview.d.ts +14 -0
  53. package/lib/types/client/hub/HubOverview.d.ts.map +1 -0
  54. package/lib/types/client/hub/brand-icons.d.ts +46 -0
  55. package/lib/types/client/hub/brand-icons.d.ts.map +1 -0
  56. package/lib/types/client/hub/brand-svg.d.ts +51 -0
  57. package/lib/types/client/hub/brand-svg.d.ts.map +1 -0
  58. package/lib/types/client/hub/hub-styles.d.ts +2 -0
  59. package/lib/types/client/hub/hub-styles.d.ts.map +1 -0
  60. package/lib/types/client/hub/providers.d.ts +38 -0
  61. package/lib/types/client/hub/providers.d.ts.map +1 -0
  62. package/lib/types/client/index.d.ts +20 -6
  63. package/lib/types/client/index.d.ts.map +1 -1
  64. package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts +3 -7
  65. package/lib/types/client/kimi-code/KimiCodeComposerQuota.d.ts.map +1 -1
  66. package/lib/types/client/kimi-code/KimiCodeSection.d.ts +0 -3
  67. package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
  68. package/lib/types/client/kimi-code/locales.d.ts +32 -32
  69. package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
  70. package/lib/types/client/kimi-code/styles.d.ts.map +1 -1
  71. package/lib/types/client/locales.d.ts +45 -35
  72. package/lib/types/client/locales.d.ts.map +1 -1
  73. package/lib/types/client/minimax-code/MinimaxCodeComposerQuota.d.ts +4 -8
  74. package/lib/types/client/minimax-code/MinimaxCodeComposerQuota.d.ts.map +1 -1
  75. package/lib/types/client/minimax-code/MinimaxCodeSection.d.ts +8 -37
  76. package/lib/types/client/minimax-code/MinimaxCodeSection.d.ts.map +1 -1
  77. package/lib/types/client/minimax-code/api.d.ts +3 -3
  78. package/lib/types/client/minimax-code/api.d.ts.map +1 -1
  79. package/lib/types/client/minimax-code/locales.d.ts +29 -56
  80. package/lib/types/client/minimax-code/locales.d.ts.map +1 -1
  81. package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts +115 -0
  82. package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts.map +1 -0
  83. package/lib/types/client/ollama/OllamaSection.d.ts +2 -2
  84. package/lib/types/client/ollama/OllamaSection.d.ts.map +1 -1
  85. package/lib/types/client/ollama/locales.d.ts +54 -24
  86. package/lib/types/client/ollama/locales.d.ts.map +1 -1
  87. package/lib/types/client/styles.d.ts.map +1 -1
  88. package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts +3 -7
  89. package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts.map +1 -1
  90. package/lib/types/client/workbuddy/WorkBuddySection.d.ts +10 -37
  91. package/lib/types/client/workbuddy/WorkBuddySection.d.ts.map +1 -1
  92. package/lib/types/client/workbuddy/locales.d.ts +0 -66
  93. package/lib/types/client/workbuddy/locales.d.ts.map +1 -1
  94. package/lib/types/client/workbuddy/useWorkBuddySection.d.ts +141 -0
  95. package/lib/types/client/workbuddy/useWorkBuddySection.d.ts.map +1 -0
  96. package/lib/types/host/antigravity/account-pool.d.ts +18 -1
  97. package/lib/types/host/antigravity/account-pool.d.ts.map +1 -1
  98. package/lib/types/host/antigravity/client.d.ts.map +1 -1
  99. package/lib/types/host/claude/account-pool.d.ts +22 -2
  100. package/lib/types/host/claude/account-pool.d.ts.map +1 -1
  101. package/lib/types/host/claude/adapter.d.ts +50 -0
  102. package/lib/types/host/claude/adapter.d.ts.map +1 -1
  103. package/lib/types/host/claude/client.d.ts +37 -5
  104. package/lib/types/host/claude/client.d.ts.map +1 -1
  105. package/lib/types/host/claude/mapper.d.ts +7 -0
  106. package/lib/types/host/claude/mapper.d.ts.map +1 -1
  107. package/lib/types/host/claude/routes.d.ts.map +1 -1
  108. package/lib/types/host/codex-account-pool.d.ts +26 -1
  109. package/lib/types/host/codex-account-pool.d.ts.map +1 -1
  110. package/lib/types/host/command-code/account-pool.d.ts +13 -1
  111. package/lib/types/host/command-code/account-pool.d.ts.map +1 -1
  112. package/lib/types/host/command-code/adapter.d.ts +24 -0
  113. package/lib/types/host/command-code/adapter.d.ts.map +1 -1
  114. package/lib/types/host/command-code/client.d.ts +2 -1
  115. package/lib/types/host/command-code/client.d.ts.map +1 -1
  116. package/lib/types/host/command-code/mapper.d.ts +44 -0
  117. package/lib/types/host/command-code/mapper.d.ts.map +1 -1
  118. package/lib/types/host/common/account-quota.d.ts +44 -0
  119. package/lib/types/host/common/account-quota.d.ts.map +1 -0
  120. package/lib/types/host/common/catalog-snapshot.d.ts +9 -0
  121. package/lib/types/host/common/catalog-snapshot.d.ts.map +1 -1
  122. package/lib/types/host/common/provider-route.d.ts +56 -0
  123. package/lib/types/host/common/provider-route.d.ts.map +1 -0
  124. package/lib/types/host/common/stream-error.d.ts +93 -0
  125. package/lib/types/host/common/stream-error.d.ts.map +1 -0
  126. package/lib/types/host/hub-overview.d.ts +26 -0
  127. package/lib/types/host/hub-overview.d.ts.map +1 -0
  128. package/lib/types/host/kimi-code/account-pool.d.ts +24 -1
  129. package/lib/types/host/kimi-code/account-pool.d.ts.map +1 -1
  130. package/lib/types/host/kimi-code/adapter.d.ts +27 -0
  131. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  132. package/lib/types/host/kimi-code/client.d.ts +23 -2
  133. package/lib/types/host/kimi-code/client.d.ts.map +1 -1
  134. package/lib/types/host/kimi-code/mapper.d.ts +26 -0
  135. package/lib/types/host/kimi-code/mapper.d.ts.map +1 -1
  136. package/lib/types/host/minimax-code/account-pool.d.ts +34 -2
  137. package/lib/types/host/minimax-code/account-pool.d.ts.map +1 -1
  138. package/lib/types/host/minimax-code/adapter.d.ts.map +1 -1
  139. package/lib/types/host/minimax-code/client.d.ts +23 -0
  140. package/lib/types/host/minimax-code/client.d.ts.map +1 -1
  141. package/lib/types/host/minimax-code/mapper.d.ts +39 -0
  142. package/lib/types/host/minimax-code/mapper.d.ts.map +1 -1
  143. package/lib/types/host/minimax-code/routes.d.ts.map +1 -1
  144. package/lib/types/host/oauth-service.d.ts +16 -0
  145. package/lib/types/host/oauth-service.d.ts.map +1 -1
  146. package/lib/types/host/ollama/adapter.d.ts.map +1 -1
  147. package/lib/types/host/ollama/types.d.ts +33 -0
  148. package/lib/types/host/ollama/types.d.ts.map +1 -1
  149. package/lib/types/host/usage-service.d.ts +27 -2
  150. package/lib/types/host/usage-service.d.ts.map +1 -1
  151. package/lib/types/host/workbuddy/account-pool.d.ts +13 -1
  152. package/lib/types/host/workbuddy/account-pool.d.ts.map +1 -1
  153. package/lib/types/host/workbuddy/client.d.ts +15 -0
  154. package/lib/types/host/workbuddy/client.d.ts.map +1 -1
  155. package/lib/types/host/workbuddy/routes.d.ts.map +1 -1
  156. package/lib/types/index.d.ts.map +1 -1
  157. package/lib/types/shared/account-pool-contracts.d.ts +44 -0
  158. package/lib/types/shared/account-pool-contracts.d.ts.map +1 -1
  159. package/lib/types/shared/antigravity-contracts.d.ts +9 -3
  160. package/lib/types/shared/antigravity-contracts.d.ts.map +1 -1
  161. package/lib/types/shared/hub-contracts.d.ts +37 -0
  162. package/lib/types/shared/hub-contracts.d.ts.map +1 -0
  163. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMinimaxCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/minimax-code/useMinimaxCodeSection.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,8 @@ interface Props {
14
14
  /**
15
15
  * The Ollama tab.
16
16
  *
17
- * Deliberately thin. The account card, its badges, the rotation picker and the
18
- * storage notice are the shared {@link AccountPoolSection}, so this line looks
17
+ * Deliberately thin. The account card, its badges and the rotation picker are
18
+ * the shared {@link AccountPoolSection}, so this line looks
19
19
  * like every other provider tab by construction rather than by imitation; only
20
20
  * what is genuinely Ollama's - pasting a key, syncing the catalog, and the
21
21
  * documented service limits - is written here.
@@ -1 +1 @@
1
- {"version":3,"file":"OllamaSection.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/OllamaSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAS/D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA2P9D"}
1
+ {"version":3,"file":"OllamaSection.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/OllamaSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAU/D;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKlD;AAED,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CA6O9D"}
@@ -4,11 +4,8 @@ export declare const zh: {
4
4
  readonly needsRelogin: "Key 已失效";
5
5
  readonly addAccount: "添加 API Key";
6
6
  readonly noAccounts: "暂无 API Key。点击「添加 API Key」粘贴 ollama.com 创建的 Key。";
7
- readonly storageNotice: "API Key 由 Host 保存于本地安全存储,不会进入浏览器。";
8
7
  readonly title: "Ollama";
9
8
  readonly pageDesc: "接入 Ollama Cloud,用多个 API Key 组成号池,自动轮换与故障转移。";
10
- readonly provider: "Provider";
11
- readonly providerValue: "Ollama · ollama";
12
9
  readonly routeOwned: "模型路由由本插件提供";
13
10
  readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
14
11
  readonly keySection: "添加 API Key";
@@ -61,22 +58,27 @@ export declare const zh: {
61
58
  readonly strategySequential: string;
62
59
  readonly strategyRoundRobin: string;
63
60
  readonly strategySticky: string;
64
- readonly storage: string;
65
61
  readonly email: string;
66
62
  readonly expires: string;
67
63
  readonly lastUsed: string;
68
64
  readonly accountId: string;
65
+ readonly accountQuota: string;
66
+ readonly quotaNone: string;
67
+ readonly quotaSnapshot: string;
68
+ readonly quotaResets: string;
69
+ readonly quotaExhausted: string;
70
+ readonly quotaWindow: string;
71
+ readonly quotaUsed: string;
72
+ readonly quotaFactsScope: string;
73
+ readonly composerLabel: string;
69
74
  };
70
75
  export declare const en: {
71
76
  readonly relogin: "Replace Key";
72
77
  readonly needsRelogin: "Key rejected";
73
78
  readonly addAccount: "Add API Key";
74
79
  readonly noAccounts: "No API keys yet. Click \"Add API Key\" to paste one from ollama.com.";
75
- readonly storageNotice: "API keys are stored locally by the Host and never sent to the browser.";
76
80
  readonly title: "Ollama";
77
81
  readonly pageDesc: "Connect Ollama Cloud with several API keys pooled for rotation and failover.";
78
- readonly provider: "Provider";
79
- readonly providerValue: "Ollama · ollama";
80
82
  readonly routeOwned: "Model route served by this plugin";
81
83
  readonly routeConflict: "The model route is already owned by another provider: {detail}";
82
84
  readonly keySection: "Add an API key";
@@ -129,11 +131,19 @@ export declare const en: {
129
131
  readonly strategySequential: string;
130
132
  readonly strategyRoundRobin: string;
131
133
  readonly strategySticky: string;
132
- readonly storage: string;
133
134
  readonly email: string;
134
135
  readonly expires: string;
135
136
  readonly lastUsed: string;
136
137
  readonly accountId: string;
138
+ readonly accountQuota: string;
139
+ readonly quotaNone: string;
140
+ readonly quotaSnapshot: string;
141
+ readonly quotaResets: string;
142
+ readonly quotaExhausted: string;
143
+ readonly quotaWindow: string;
144
+ readonly quotaUsed: string;
145
+ readonly quotaFactsScope: string;
146
+ readonly composerLabel: string;
137
147
  };
138
148
  export declare const dictionaries: {
139
149
  zh: {
@@ -141,11 +151,8 @@ export declare const dictionaries: {
141
151
  readonly needsRelogin: "Key 已失效";
142
152
  readonly addAccount: "添加 API Key";
143
153
  readonly noAccounts: "暂无 API Key。点击「添加 API Key」粘贴 ollama.com 创建的 Key。";
144
- readonly storageNotice: "API Key 由 Host 保存于本地安全存储,不会进入浏览器。";
145
154
  readonly title: "Ollama";
146
155
  readonly pageDesc: "接入 Ollama Cloud,用多个 API Key 组成号池,自动轮换与故障转移。";
147
- readonly provider: "Provider";
148
- readonly providerValue: "Ollama · ollama";
149
156
  readonly routeOwned: "模型路由由本插件提供";
150
157
  readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
151
158
  readonly keySection: "添加 API Key";
@@ -198,22 +205,27 @@ export declare const dictionaries: {
198
205
  readonly strategySequential: string;
199
206
  readonly strategyRoundRobin: string;
200
207
  readonly strategySticky: string;
201
- readonly storage: string;
202
208
  readonly email: string;
203
209
  readonly expires: string;
204
210
  readonly lastUsed: string;
205
211
  readonly accountId: string;
212
+ readonly accountQuota: string;
213
+ readonly quotaNone: string;
214
+ readonly quotaSnapshot: string;
215
+ readonly quotaResets: string;
216
+ readonly quotaExhausted: string;
217
+ readonly quotaWindow: string;
218
+ readonly quotaUsed: string;
219
+ readonly quotaFactsScope: string;
220
+ readonly composerLabel: string;
206
221
  };
207
222
  'zh-CN': {
208
223
  readonly relogin: "更换 Key";
209
224
  readonly needsRelogin: "Key 已失效";
210
225
  readonly addAccount: "添加 API Key";
211
226
  readonly noAccounts: "暂无 API Key。点击「添加 API Key」粘贴 ollama.com 创建的 Key。";
212
- readonly storageNotice: "API Key 由 Host 保存于本地安全存储,不会进入浏览器。";
213
227
  readonly title: "Ollama";
214
228
  readonly pageDesc: "接入 Ollama Cloud,用多个 API Key 组成号池,自动轮换与故障转移。";
215
- readonly provider: "Provider";
216
- readonly providerValue: "Ollama · ollama";
217
229
  readonly routeOwned: "模型路由由本插件提供";
218
230
  readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
219
231
  readonly keySection: "添加 API Key";
@@ -266,22 +278,27 @@ export declare const dictionaries: {
266
278
  readonly strategySequential: string;
267
279
  readonly strategyRoundRobin: string;
268
280
  readonly strategySticky: string;
269
- readonly storage: string;
270
281
  readonly email: string;
271
282
  readonly expires: string;
272
283
  readonly lastUsed: string;
273
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;
274
294
  };
275
295
  en: {
276
296
  readonly relogin: "Replace Key";
277
297
  readonly needsRelogin: "Key rejected";
278
298
  readonly addAccount: "Add API Key";
279
299
  readonly noAccounts: "No API keys yet. Click \"Add API Key\" to paste one from ollama.com.";
280
- readonly storageNotice: "API keys are stored locally by the Host and never sent to the browser.";
281
300
  readonly title: "Ollama";
282
301
  readonly pageDesc: "Connect Ollama Cloud with several API keys pooled for rotation and failover.";
283
- readonly provider: "Provider";
284
- readonly providerValue: "Ollama · ollama";
285
302
  readonly routeOwned: "Model route served by this plugin";
286
303
  readonly routeConflict: "The model route is already owned by another provider: {detail}";
287
304
  readonly keySection: "Add an API key";
@@ -334,22 +351,27 @@ export declare const dictionaries: {
334
351
  readonly strategySequential: string;
335
352
  readonly strategyRoundRobin: string;
336
353
  readonly strategySticky: string;
337
- readonly storage: string;
338
354
  readonly email: string;
339
355
  readonly expires: string;
340
356
  readonly lastUsed: string;
341
357
  readonly accountId: string;
358
+ readonly accountQuota: string;
359
+ readonly quotaNone: string;
360
+ readonly quotaSnapshot: string;
361
+ readonly quotaResets: string;
362
+ readonly quotaExhausted: string;
363
+ readonly quotaWindow: string;
364
+ readonly quotaUsed: string;
365
+ readonly quotaFactsScope: string;
366
+ readonly composerLabel: string;
342
367
  };
343
368
  'en-US': {
344
369
  readonly relogin: "Replace Key";
345
370
  readonly needsRelogin: "Key rejected";
346
371
  readonly addAccount: "Add API Key";
347
372
  readonly noAccounts: "No API keys yet. Click \"Add API Key\" to paste one from ollama.com.";
348
- readonly storageNotice: "API keys are stored locally by the Host and never sent to the browser.";
349
373
  readonly title: "Ollama";
350
374
  readonly pageDesc: "Connect Ollama Cloud with several API keys pooled for rotation and failover.";
351
- readonly provider: "Provider";
352
- readonly providerValue: "Ollama · ollama";
353
375
  readonly routeOwned: "Model route served by this plugin";
354
376
  readonly routeConflict: "The model route is already owned by another provider: {detail}";
355
377
  readonly keySection: "Add an API key";
@@ -402,11 +424,19 @@ export declare const dictionaries: {
402
424
  readonly strategySequential: string;
403
425
  readonly strategyRoundRobin: string;
404
426
  readonly strategySticky: string;
405
- readonly storage: string;
406
427
  readonly email: string;
407
428
  readonly expires: string;
408
429
  readonly lastUsed: string;
409
430
  readonly accountId: string;
431
+ readonly accountQuota: string;
432
+ readonly quotaNone: string;
433
+ readonly quotaSnapshot: string;
434
+ readonly quotaResets: string;
435
+ readonly quotaExhausted: string;
436
+ readonly quotaWindow: string;
437
+ readonly quotaUsed: string;
438
+ readonly quotaFactsScope: string;
439
+ readonly composerLabel: string;
410
440
  };
411
441
  };
412
442
  export type OllamaLocaleKey = keyof typeof zh;
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAA;AAErC,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiEL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDL,CAAA;AAIV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/locales.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS,eAAe,CAAA;AAErC,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDL,CAAA;AAIV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/client/styles.ts"],"names":[],"mappings":"AAoIA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,IAAI,MAAM,IAAI,CAE1C"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/client/styles.ts"],"names":[],"mappings":"AAqGA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,IAAI,MAAM,IAAI,CAE1C"}
@@ -1,17 +1,13 @@
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 { WorkBuddyWebStatus } from '../../shared/workbuddy-contracts.ts';
4
+ import { type ComposerQuotaFacts } from '../common/ComposerQuotaBadge.tsx';
4
5
  import type { SnapshotStore } from '../store.ts';
5
6
  import { NS_WORKBUDDY } from './locales.ts';
6
7
  type Props = PropsRuntime<'conversation.input.right'> & PropsLocale<typeof NS_WORKBUDDY> & {
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
  *
@@ -20,7 +16,7 @@ interface BadgeFacts {
20
16
  * payload reports both a cycle meter and a package meter, and the cycle meter
21
17
  * is the one that actually resets, so it is preferred when both exist.
22
18
  */
23
- export declare function selectBadgeFacts(status: WorkBuddyWebStatus | null): BadgeFacts | null;
24
- export declare function WorkBuddyComposerQuota({ directory, loadModelDirectory }: Props): React.JSX.Element | null;
19
+ export declare function selectBadgeFacts(status: WorkBuddyWebStatus | null): ComposerQuotaFacts | null;
20
+ export declare function WorkBuddyComposerQuota({ directory, loadModelDirectory, t }: Props): React.JSX.Element | null;
25
21
  export {};
26
22
  //# sourceMappingURL=WorkBuddyComposerQuota.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkBuddyComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddyComposerQuota.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAmB3C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GACnD,WAAW,CAAC,OAAO,YAAY,CAAC,GAAG;IACjC,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAEH,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAA;CACvC;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,UAAU,GAAG,IAAI,CAyBrF;AAED,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgEzG"}
1
+ {"version":3,"file":"WorkBuddyComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddyComposerQuota.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,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAE1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAI3C,KAAK,KAAK,GAAG,YAAY,CAAC,0BAA0B,CAAC,GAAG,WAAW,CAAC,OAAO,YAAY,CAAC,GAAG;IACzF,SAAS,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAC7C,kBAAkB,EAAE,MAAM,IAAI,CAAA;CAC/B,CAAA;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,kBAAkB,GAAG,IAAI,CAyB7F;AAED,wBAAgB,sBAAsB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAW5G"}
@@ -1,41 +1,14 @@
1
- import React from 'react';
2
- import type { WorkBuddyModelOption, WorkBuddyReasoningEffort } from '../../shared/workbuddy-contracts.ts';
3
- interface Props {
4
- onModelChange?: () => void;
5
- loadModelDirectory?: () => void;
6
- }
7
- /** Parse "1M", "512K", "200000" into a positive integer token count. */
8
- export declare function parsePositiveCapacity(value: string): number | null;
9
- export declare function formatCapacity(value: number): string;
10
- /** Mask a UIN so the card shows identity without publishing the full number. */
11
- export declare function maskUin(uin?: string | null): string;
12
- /** Shorten an absolute credential path to its file name for display. */
13
- export declare function displayFile(file?: string | null): string;
14
- /** One selectable default reasoning level, with the models that declare it. */
15
- export interface ReasoningEffortChoice {
16
- value: WorkBuddyReasoningEffort;
17
- /** Model names that accept this level, in catalog order. */
18
- models: string[];
19
- }
20
1
  /**
21
- * Reasoning levels the default-effort control may offer.
2
+ * The WorkBuddy subscription settings card.
22
3
  *
23
- * The levels come from what this account's models actually declare — never from
24
- * the shipped enum alone. The setting is one global default applied to whichever
25
- * model a conversation uses, so the list is their union; each entry carries the
26
- * models behind it, and a level only some models accept is labelled as such.
27
- * Order follows {@link WORKBUDDY_REASONING_EFFORTS}, which is the escalating
28
- * order the upstream ladder uses.
4
+ * Markup only: every piece of state, every effect and every request this card
5
+ * makes lives in 'useWorkBuddySection.ts', which returns one named shape the JSX
6
+ * below reads. The two files are the split of a single 885-line component — the
7
+ * behaviour is unchanged, and this one should stay render-shaped.
29
8
  */
30
- export declare function reasoningEffortChoices(models: WorkBuddyModelOption[]): ReasoningEffortChoice[];
31
- /**
32
- * Whether a saved default is unusable for every model on this account.
33
- *
34
- * The adapter drops a level the chosen model does not accept instead of sending
35
- * it, so a value that no model declares silently does nothing. Reporting it is
36
- * what keeps that from looking like the setting was applied.
37
- */
38
- export declare function unsupportedReasoningEffort(configured: WorkBuddyReasoningEffort | null | undefined, models: WorkBuddyModelOption[]): WorkBuddyReasoningEffort | null;
39
- export declare function WorkBuddySection({ onModelChange, loadModelDirectory }: Props): React.ReactElement;
40
- export {};
9
+ import React from 'react';
10
+ import { type WorkBuddySectionProps } from './useWorkBuddySection.ts';
11
+ /** Mask a UIN so the card shows identity without publishing the full number. */
12
+ export declare function maskUin(uin?: string | null): string;
13
+ export declare function WorkBuddySection({ onModelChange, loadModelDirectory }: WorkBuddySectionProps): React.ReactElement;
41
14
  //# sourceMappingURL=WorkBuddySection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkBuddySection.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddySection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAA;AAChF,OAAO,KAAK,EAGV,oBAAoB,EACpB,wBAAwB,EAEzB,MAAM,qCAAqC,CAAA;AAwB5C,UAAU,KAAK;IACb,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAA;CAChC;AA4ED,wEAAwE;AACxE,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOlE;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIpD;AAoCD,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAInD;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAIxD;AAED,+EAA+E;AAC/E,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,wBAAwB,CAAA;IAC/B,4DAA4D;IAC5D,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,EAAE,GAAG,qBAAqB,EAAE,CAY9F;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,wBAAwB,GAAG,IAAI,GAAG,SAAS,EACvD,MAAM,EAAE,oBAAoB,EAAE,GAC7B,wBAAwB,GAAG,IAAI,CAIjC;AAYD,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,YAAY,CAmzBjG"}
1
+ {"version":3,"file":"WorkBuddySection.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/WorkBuddySection.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAA;AAgB1F,gFAAgF;AAChF,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAInD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,aAAa,EAAE,kBAAkB,EAAE,EAAE,qBAAqB,GAAG,KAAK,CAAC,YAAY,CAyVjH"}
@@ -11,10 +11,6 @@ export declare const zh: {
11
11
  readonly regionCn: "国区";
12
12
  readonly regionIntl: "国际区";
13
13
  readonly accountType: "账号类型";
14
- readonly sourceFile: "凭据文件";
15
- readonly authDirectory: "凭据目录";
16
- readonly storage: "凭据存储";
17
- readonly storageNotice: "桌面端账号仍读取 CodeBuddy 自己的凭据文件,插件不会删除这些文件;通过这里添加的账号保存在系统加密存储中(Windows DPAPI / macOS Keychain / Linux Secret Service),token 不进入浏览器。";
18
14
  readonly routeUnreachable: "无法读取 WorkBuddy 设置路由";
19
15
  readonly routeUnreachableHint: "浏览器里加载的插件版本可能比 Host 进程里运行的新(客户端资源是现读磁盘的,Host 只在启动时加载)。请重启 DSH,让两端来自同一份构建。";
20
16
  readonly rescan: "重新扫描";
@@ -25,25 +21,18 @@ export declare const zh: {
25
21
  readonly authorizing: "授权中…";
26
22
  readonly loginWaiting: "请在新打开的浏览器页面完成登录与授权。";
27
23
  readonly loginFailed: "账号授权失败";
28
- readonly encryptedStorage: "系统加密存储";
29
24
  readonly hiddenAccount: "已隐藏";
30
25
  readonly hideAccount: "从插件隐藏";
31
26
  readonly restoreAccount: "恢复显示";
32
27
  readonly deleteAccount: "删除账号";
33
28
  readonly deleteConfirm: "确定删除这个插件托管的账号吗?加密存储中的登录凭据会被移除。";
34
29
  readonly connection: "连接";
35
- readonly provider: "Provider";
36
- readonly providerValue: "WorkBuddy Subscription · workbuddy-subscription";
37
- readonly connectionState: "连接状态";
38
- readonly connected: "已连接";
39
- readonly untested: "未测试";
40
30
  readonly testConnection: "测试连接";
41
31
  readonly testingConnection: "测试中...";
42
32
  readonly latency: "延迟";
43
33
  readonly routeOwned: "模型路由由本插件提供";
44
34
  readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
45
35
  readonly modelsSection: "模型";
46
- readonly enableProvider: "启用此供应商";
47
36
  readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;未勾选或关闭上方开关可在列表中隐藏该供应商。目录与上下文窗口来自订阅网关的模型目录,并按账号所在区域过滤——跨区调用会被上游拒绝。";
48
37
  readonly refreshCatalog: "刷新模型目录";
49
38
  readonly refreshingCatalog: "刷新中...";
@@ -105,10 +94,6 @@ export declare const en: {
105
94
  readonly regionCn: "China";
106
95
  readonly regionIntl: "International";
107
96
  readonly accountType: "Account type";
108
- readonly sourceFile: "Credential file";
109
- readonly authDirectory: "Credential directory";
110
- readonly storage: "Credential storage";
111
- readonly storageNotice: "Desktop accounts continue to use CodeBuddy’s credential files, which this plugin never deletes. Accounts added here use encrypted OS storage (Windows DPAPI, macOS Keychain, or Linux Secret Service); tokens never enter the browser.";
112
97
  readonly routeUnreachable: "The WorkBuddy settings route could not be read";
113
98
  readonly routeUnreachableHint: "The plugin loaded in the browser may be newer than the one running in the Host: client assets are read from disk on demand, while the Host loads them only at startup. Restart DSH so both halves come from the same build.";
114
99
  readonly rescan: "Rescan";
@@ -119,25 +104,18 @@ export declare const en: {
119
104
  readonly authorizing: "Authorizing…";
120
105
  readonly loginWaiting: "Complete sign-in and authorization in the newly opened browser page.";
121
106
  readonly loginFailed: "Account authorization failed";
122
- readonly encryptedStorage: "Encrypted OS storage";
123
107
  readonly hiddenAccount: "Hidden";
124
108
  readonly hideAccount: "Hide from plugin";
125
109
  readonly restoreAccount: "Restore";
126
110
  readonly deleteAccount: "Delete account";
127
111
  readonly deleteConfirm: "Delete this plugin-managed account? Its encrypted credential will be removed.";
128
112
  readonly connection: "Connection";
129
- readonly provider: "Provider";
130
- readonly providerValue: "WorkBuddy Subscription · workbuddy-subscription";
131
- readonly connectionState: "Connection state";
132
- readonly connected: "Connected";
133
- readonly untested: "Untested";
134
113
  readonly testConnection: "Test connection";
135
114
  readonly testingConnection: "Testing...";
136
115
  readonly latency: "Latency";
137
116
  readonly routeOwned: "This plugin serves the model route";
138
117
  readonly routeConflict: "Another provider already owns the model route: {detail}. Remove the duplicate provider configuration in DSH settings and reload.";
139
118
  readonly modelsSection: "Models";
140
- readonly enableProvider: "Enable this provider";
141
119
  readonly modelsHint: "Checked models appear in the DSH conversation model list. The catalog and its context windows come from the subscription gateway and are filtered by the account’s region — the upstream rejects a model asked of the wrong region.";
142
120
  readonly refreshCatalog: "Refresh catalog";
143
121
  readonly refreshingCatalog: "Refreshing...";
@@ -200,10 +178,6 @@ export declare const dictionaries: {
200
178
  readonly regionCn: "国区";
201
179
  readonly regionIntl: "国际区";
202
180
  readonly accountType: "账号类型";
203
- readonly sourceFile: "凭据文件";
204
- readonly authDirectory: "凭据目录";
205
- readonly storage: "凭据存储";
206
- readonly storageNotice: "桌面端账号仍读取 CodeBuddy 自己的凭据文件,插件不会删除这些文件;通过这里添加的账号保存在系统加密存储中(Windows DPAPI / macOS Keychain / Linux Secret Service),token 不进入浏览器。";
207
181
  readonly routeUnreachable: "无法读取 WorkBuddy 设置路由";
208
182
  readonly routeUnreachableHint: "浏览器里加载的插件版本可能比 Host 进程里运行的新(客户端资源是现读磁盘的,Host 只在启动时加载)。请重启 DSH,让两端来自同一份构建。";
209
183
  readonly rescan: "重新扫描";
@@ -214,25 +188,18 @@ export declare const dictionaries: {
214
188
  readonly authorizing: "授权中…";
215
189
  readonly loginWaiting: "请在新打开的浏览器页面完成登录与授权。";
216
190
  readonly loginFailed: "账号授权失败";
217
- readonly encryptedStorage: "系统加密存储";
218
191
  readonly hiddenAccount: "已隐藏";
219
192
  readonly hideAccount: "从插件隐藏";
220
193
  readonly restoreAccount: "恢复显示";
221
194
  readonly deleteAccount: "删除账号";
222
195
  readonly deleteConfirm: "确定删除这个插件托管的账号吗?加密存储中的登录凭据会被移除。";
223
196
  readonly connection: "连接";
224
- readonly provider: "Provider";
225
- readonly providerValue: "WorkBuddy Subscription · workbuddy-subscription";
226
- readonly connectionState: "连接状态";
227
- readonly connected: "已连接";
228
- readonly untested: "未测试";
229
197
  readonly testConnection: "测试连接";
230
198
  readonly testingConnection: "测试中...";
231
199
  readonly latency: "延迟";
232
200
  readonly routeOwned: "模型路由由本插件提供";
233
201
  readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
234
202
  readonly modelsSection: "模型";
235
- readonly enableProvider: "启用此供应商";
236
203
  readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;未勾选或关闭上方开关可在列表中隐藏该供应商。目录与上下文窗口来自订阅网关的模型目录,并按账号所在区域过滤——跨区调用会被上游拒绝。";
237
204
  readonly refreshCatalog: "刷新模型目录";
238
205
  readonly refreshingCatalog: "刷新中...";
@@ -294,10 +261,6 @@ export declare const dictionaries: {
294
261
  readonly regionCn: "国区";
295
262
  readonly regionIntl: "国际区";
296
263
  readonly accountType: "账号类型";
297
- readonly sourceFile: "凭据文件";
298
- readonly authDirectory: "凭据目录";
299
- readonly storage: "凭据存储";
300
- readonly storageNotice: "桌面端账号仍读取 CodeBuddy 自己的凭据文件,插件不会删除这些文件;通过这里添加的账号保存在系统加密存储中(Windows DPAPI / macOS Keychain / Linux Secret Service),token 不进入浏览器。";
301
264
  readonly routeUnreachable: "无法读取 WorkBuddy 设置路由";
302
265
  readonly routeUnreachableHint: "浏览器里加载的插件版本可能比 Host 进程里运行的新(客户端资源是现读磁盘的,Host 只在启动时加载)。请重启 DSH,让两端来自同一份构建。";
303
266
  readonly rescan: "重新扫描";
@@ -308,25 +271,18 @@ export declare const dictionaries: {
308
271
  readonly authorizing: "授权中…";
309
272
  readonly loginWaiting: "请在新打开的浏览器页面完成登录与授权。";
310
273
  readonly loginFailed: "账号授权失败";
311
- readonly encryptedStorage: "系统加密存储";
312
274
  readonly hiddenAccount: "已隐藏";
313
275
  readonly hideAccount: "从插件隐藏";
314
276
  readonly restoreAccount: "恢复显示";
315
277
  readonly deleteAccount: "删除账号";
316
278
  readonly deleteConfirm: "确定删除这个插件托管的账号吗?加密存储中的登录凭据会被移除。";
317
279
  readonly connection: "连接";
318
- readonly provider: "Provider";
319
- readonly providerValue: "WorkBuddy Subscription · workbuddy-subscription";
320
- readonly connectionState: "连接状态";
321
- readonly connected: "已连接";
322
- readonly untested: "未测试";
323
280
  readonly testConnection: "测试连接";
324
281
  readonly testingConnection: "测试中...";
325
282
  readonly latency: "延迟";
326
283
  readonly routeOwned: "模型路由由本插件提供";
327
284
  readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
328
285
  readonly modelsSection: "模型";
329
- readonly enableProvider: "启用此供应商";
330
286
  readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;未勾选或关闭上方开关可在列表中隐藏该供应商。目录与上下文窗口来自订阅网关的模型目录,并按账号所在区域过滤——跨区调用会被上游拒绝。";
331
287
  readonly refreshCatalog: "刷新模型目录";
332
288
  readonly refreshingCatalog: "刷新中...";
@@ -388,10 +344,6 @@ export declare const dictionaries: {
388
344
  readonly regionCn: "China";
389
345
  readonly regionIntl: "International";
390
346
  readonly accountType: "Account type";
391
- readonly sourceFile: "Credential file";
392
- readonly authDirectory: "Credential directory";
393
- readonly storage: "Credential storage";
394
- readonly storageNotice: "Desktop accounts continue to use CodeBuddy’s credential files, which this plugin never deletes. Accounts added here use encrypted OS storage (Windows DPAPI, macOS Keychain, or Linux Secret Service); tokens never enter the browser.";
395
347
  readonly routeUnreachable: "The WorkBuddy settings route could not be read";
396
348
  readonly routeUnreachableHint: "The plugin loaded in the browser may be newer than the one running in the Host: client assets are read from disk on demand, while the Host loads them only at startup. Restart DSH so both halves come from the same build.";
397
349
  readonly rescan: "Rescan";
@@ -402,25 +354,18 @@ export declare const dictionaries: {
402
354
  readonly authorizing: "Authorizing…";
403
355
  readonly loginWaiting: "Complete sign-in and authorization in the newly opened browser page.";
404
356
  readonly loginFailed: "Account authorization failed";
405
- readonly encryptedStorage: "Encrypted OS storage";
406
357
  readonly hiddenAccount: "Hidden";
407
358
  readonly hideAccount: "Hide from plugin";
408
359
  readonly restoreAccount: "Restore";
409
360
  readonly deleteAccount: "Delete account";
410
361
  readonly deleteConfirm: "Delete this plugin-managed account? Its encrypted credential will be removed.";
411
362
  readonly connection: "Connection";
412
- readonly provider: "Provider";
413
- readonly providerValue: "WorkBuddy Subscription · workbuddy-subscription";
414
- readonly connectionState: "Connection state";
415
- readonly connected: "Connected";
416
- readonly untested: "Untested";
417
363
  readonly testConnection: "Test connection";
418
364
  readonly testingConnection: "Testing...";
419
365
  readonly latency: "Latency";
420
366
  readonly routeOwned: "This plugin serves the model route";
421
367
  readonly routeConflict: "Another provider already owns the model route: {detail}. Remove the duplicate provider configuration in DSH settings and reload.";
422
368
  readonly modelsSection: "Models";
423
- readonly enableProvider: "Enable this provider";
424
369
  readonly modelsHint: "Checked models appear in the DSH conversation model list. The catalog and its context windows come from the subscription gateway and are filtered by the account’s region — the upstream rejects a model asked of the wrong region.";
425
370
  readonly refreshCatalog: "Refresh catalog";
426
371
  readonly refreshingCatalog: "Refreshing...";
@@ -482,10 +427,6 @@ export declare const dictionaries: {
482
427
  readonly regionCn: "China";
483
428
  readonly regionIntl: "International";
484
429
  readonly accountType: "Account type";
485
- readonly sourceFile: "Credential file";
486
- readonly authDirectory: "Credential directory";
487
- readonly storage: "Credential storage";
488
- readonly storageNotice: "Desktop accounts continue to use CodeBuddy’s credential files, which this plugin never deletes. Accounts added here use encrypted OS storage (Windows DPAPI, macOS Keychain, or Linux Secret Service); tokens never enter the browser.";
489
430
  readonly routeUnreachable: "The WorkBuddy settings route could not be read";
490
431
  readonly routeUnreachableHint: "The plugin loaded in the browser may be newer than the one running in the Host: client assets are read from disk on demand, while the Host loads them only at startup. Restart DSH so both halves come from the same build.";
491
432
  readonly rescan: "Rescan";
@@ -496,25 +437,18 @@ export declare const dictionaries: {
496
437
  readonly authorizing: "Authorizing…";
497
438
  readonly loginWaiting: "Complete sign-in and authorization in the newly opened browser page.";
498
439
  readonly loginFailed: "Account authorization failed";
499
- readonly encryptedStorage: "Encrypted OS storage";
500
440
  readonly hiddenAccount: "Hidden";
501
441
  readonly hideAccount: "Hide from plugin";
502
442
  readonly restoreAccount: "Restore";
503
443
  readonly deleteAccount: "Delete account";
504
444
  readonly deleteConfirm: "Delete this plugin-managed account? Its encrypted credential will be removed.";
505
445
  readonly connection: "Connection";
506
- readonly provider: "Provider";
507
- readonly providerValue: "WorkBuddy Subscription · workbuddy-subscription";
508
- readonly connectionState: "Connection state";
509
- readonly connected: "Connected";
510
- readonly untested: "Untested";
511
446
  readonly testConnection: "Test connection";
512
447
  readonly testingConnection: "Testing...";
513
448
  readonly latency: "Latency";
514
449
  readonly routeOwned: "This plugin serves the model route";
515
450
  readonly routeConflict: "Another provider already owns the model route: {detail}. Remove the duplicate provider configuration in DSH settings and reload.";
516
451
  readonly modelsSection: "Models";
517
- readonly enableProvider: "Enable this provider";
518
452
  readonly modelsHint: "Checked models appear in the DSH conversation model list. The catalog and its context windows come from the subscription gateway and are filtered by the account’s region — the upstream rejects a model asked of the wrong region.";
519
453
  readonly refreshCatalog: "Refresh catalog";
520
454
  readonly refreshingCatalog: "Refreshing...";
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,kBAAkB,CAAA;AAE3C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6FL,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/workbuddy/locales.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,kBAAkB,CAAA;AAE3C,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFL,CAAA;AAEV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,EAAE,CAAA"}