@eddyskywalker/dsh-chatgpt-subscription 0.21.0 → 0.23.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 (85) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/README.md +56 -3
  3. package/lib/client.js +2719 -491
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +8041 -3092
  6. package/lib/types/client/glm-coding-plan/GlmCodingPlanSection.d.ts.map +1 -1
  7. package/lib/types/client/glm-coding-plan/locales.d.ts +17 -26
  8. package/lib/types/client/glm-coding-plan/locales.d.ts.map +1 -1
  9. package/lib/types/client/glm-coding-plan/styles.d.ts +2 -2
  10. package/lib/types/client/glm-coding-plan/styles.d.ts.map +1 -1
  11. package/lib/types/client/hub/brand-icons.d.ts +2 -2
  12. package/lib/types/client/hub/brand-icons.d.ts.map +1 -1
  13. package/lib/types/client/hub/providers.d.ts.map +1 -1
  14. package/lib/types/client/index.d.ts +2 -0
  15. package/lib/types/client/index.d.ts.map +1 -1
  16. package/lib/types/client/ollama/OllamaSection.d.ts.map +1 -1
  17. package/lib/types/client/ollama/api.d.ts +13 -0
  18. package/lib/types/client/ollama/api.d.ts.map +1 -1
  19. package/lib/types/client/ollama/locales.d.ts +24 -0
  20. package/lib/types/client/ollama/locales.d.ts.map +1 -1
  21. package/lib/types/client/step-code/StepCodeComposerQuota.d.ts +52 -0
  22. package/lib/types/client/step-code/StepCodeComposerQuota.d.ts.map +1 -0
  23. package/lib/types/client/step-code/StepCodeSection.d.ts +28 -0
  24. package/lib/types/client/step-code/StepCodeSection.d.ts.map +1 -0
  25. package/lib/types/client/step-code/api.d.ts +4 -0
  26. package/lib/types/client/step-code/api.d.ts.map +1 -0
  27. package/lib/types/client/step-code/locales.d.ts +648 -0
  28. package/lib/types/client/step-code/locales.d.ts.map +1 -0
  29. package/lib/types/client/step-code/styles.d.ts +28 -0
  30. package/lib/types/client/step-code/styles.d.ts.map +1 -0
  31. package/lib/types/client/step-code/useStepCodeSection.d.ts +122 -0
  32. package/lib/types/client/step-code/useStepCodeSection.d.ts.map +1 -0
  33. package/lib/types/host/antigravity/account-pool.d.ts.map +1 -1
  34. package/lib/types/host/common/account-pool.d.ts +38 -3
  35. package/lib/types/host/common/account-pool.d.ts.map +1 -1
  36. package/lib/types/host/common/model-request-control.d.ts +1 -1
  37. package/lib/types/host/common/model-request-control.d.ts.map +1 -1
  38. package/lib/types/host/common/request-diagnostics.d.ts +1 -1
  39. package/lib/types/host/common/request-diagnostics.d.ts.map +1 -1
  40. package/lib/types/host/glm-coding-plan/account-pool.d.ts.map +1 -1
  41. package/lib/types/host/glm-coding-plan/adapter.d.ts +1 -14
  42. package/lib/types/host/glm-coding-plan/adapter.d.ts.map +1 -1
  43. package/lib/types/host/glm-coding-plan/client.d.ts.map +1 -1
  44. package/lib/types/host/glm-coding-plan/types.d.ts +0 -10
  45. package/lib/types/host/glm-coding-plan/types.d.ts.map +1 -1
  46. package/lib/types/host/ollama/adapter.d.ts +26 -2
  47. package/lib/types/host/ollama/adapter.d.ts.map +1 -1
  48. package/lib/types/host/ollama/client.d.ts +16 -1
  49. package/lib/types/host/ollama/client.d.ts.map +1 -1
  50. package/lib/types/host/ollama/routes.d.ts +1 -1
  51. package/lib/types/host/ollama/routes.d.ts.map +1 -1
  52. package/lib/types/host/ollama/types.d.ts +74 -8
  53. package/lib/types/host/ollama/types.d.ts.map +1 -1
  54. package/lib/types/host/step-code/account-pool.d.ts +187 -0
  55. package/lib/types/host/step-code/account-pool.d.ts.map +1 -0
  56. package/lib/types/host/step-code/adapter.d.ts +142 -0
  57. package/lib/types/host/step-code/adapter.d.ts.map +1 -0
  58. package/lib/types/host/step-code/adopt.d.ts +201 -0
  59. package/lib/types/host/step-code/adopt.d.ts.map +1 -0
  60. package/lib/types/host/step-code/cache-stats.d.ts +181 -0
  61. package/lib/types/host/step-code/cache-stats.d.ts.map +1 -0
  62. package/lib/types/host/step-code/client.d.ts +331 -0
  63. package/lib/types/host/step-code/client.d.ts.map +1 -0
  64. package/lib/types/host/step-code/mapper.d.ts +301 -0
  65. package/lib/types/host/step-code/mapper.d.ts.map +1 -0
  66. package/lib/types/host/step-code/model-catalog.d.ts +230 -0
  67. package/lib/types/host/step-code/model-catalog.d.ts.map +1 -0
  68. package/lib/types/host/step-code/oauth.d.ts +265 -0
  69. package/lib/types/host/step-code/oauth.d.ts.map +1 -0
  70. package/lib/types/host/step-code/routes.d.ts +126 -0
  71. package/lib/types/host/step-code/routes.d.ts.map +1 -0
  72. package/lib/types/host/step-code/token-store.d.ts +325 -0
  73. package/lib/types/host/step-code/token-store.d.ts.map +1 -0
  74. package/lib/types/host/step-code/types.d.ts +488 -0
  75. package/lib/types/host/step-code/types.d.ts.map +1 -0
  76. package/lib/types/host/workbuddy/adapter.d.ts.map +1 -1
  77. package/lib/types/index.d.ts +5 -1
  78. package/lib/types/index.d.ts.map +1 -1
  79. package/lib/types/shared/ollama-contracts.d.ts +30 -0
  80. package/lib/types/shared/ollama-contracts.d.ts.map +1 -1
  81. package/lib/types/shared/step-code-contracts.d.ts +438 -0
  82. package/lib/types/shared/step-code-contracts.d.ts.map +1 -0
  83. package/package.json +1 -1
  84. package/lib/types/host/glm-coding-plan/signing.d.ts +0 -323
  85. package/lib/types/host/glm-coding-plan/signing.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GlmCodingPlanSection.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/GlmCodingPlanSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAA2B,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAOtG,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE,yBAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6ZzG"}
1
+ {"version":3,"file":"GlmCodingPlanSection.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/GlmCodingPlanSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,EAA2B,KAAK,yBAAyB,EAAE,MAAM,8BAA8B,CAAA;AAOtG,wBAAgB,oBAAoB,CAAC,EAAE,aAAa,EAAE,GAAE,yBAA8B,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAwazG"}
@@ -14,12 +14,10 @@ export declare const zh: {
14
14
  readonly region: "区域";
15
15
  readonly regionCn: "国区(bigmodel.cn)";
16
16
  readonly regionIntl: "国际区(z.ai)";
17
- readonly regionHint: "「导入本机登录态」与「手工粘贴授权码」按这里选定的区域发起;上方两个登录按钮各自固定一个区域。区域是凭据的属性,一区铸造的 Key 会被另一区拒绝,所以两区账号互不串用。";
18
- readonly addCnAccount: "添加国区账号";
19
- readonly addIntlAccount: "添加国际区账号";
17
+ readonly regionHint: "下方账号区的全部登录入口都按这里选定的区域发起:「添加账号」按它打开授权页,「导入本机登录态」与「手工粘贴授权码」也落在它那一区。区域是凭据的属性,一区铸造的 Key 会被另一区拒绝,所以两区账号互不串用。";
20
18
  readonly authorizing: "授权中…";
21
- readonly loginSection: "登录授权";
22
19
  readonly loginIdle: "尚未开始登录。";
20
+ readonly loginHaveAccounts: "号池里已有 {count} 个账号可用。要再加一个就点上面的「添加账号」。";
23
21
  readonly loginPending: "等待浏览器完成登录与授权,然后本卡片会自动继续。";
24
22
  readonly loginComplete: "登录完成,账号已加入号池。";
25
23
  readonly loginCompletedAt: "完成时间:{time}";
@@ -51,7 +49,7 @@ export declare const zh: {
51
49
  readonly adoptTokenExpired: "ZCode 的登录态已经过期,回 ZCode 客户端重新登录后再导入。";
52
50
  readonly adoptExchangeFailed: "兑换 Coding Plan Key 失败:这个账号可能没有 Coding Plan 套餐,或没有建 Key 的权限。";
53
51
  readonly adoptNotAZcodeLogin: "凭据文件里没有本线路认识的 ZCode 登录态(该文件也可能属于别的工具)。";
54
- readonly adoptFallback: "导入只是省一次登录的快捷路径,失败不影响使用——请改用上方的浏览器登录。";
52
+ readonly adoptFallback: "导入只是省一次登录的快捷路径,失败不影响使用——请改用浏览器登录或手工粘贴授权码。";
55
53
  readonly adoptedBadge: "导入的登录态";
56
54
  readonly connection: "连接";
57
55
  readonly testConnection: "测试连接";
@@ -84,7 +82,7 @@ export declare const zh: {
84
82
  readonly saved: "已保存";
85
83
  readonly invalidCapacity: "容量格式无效:{value}";
86
84
  readonly quotaSection: "用量与配额";
87
- readonly quotaDesc: "数据来自 Coding Plan 的配额接口(该接口用裸 Key 鉴权,不加 Bearer)。";
85
+ readonly quotaDesc: "数据来自 Coding Plan 的配额接口,页面可见时最多每 60 秒刷新一次。";
88
86
  readonly quotaRefresh: "刷新用量";
89
87
  readonly quotaRefreshing: "刷新中...";
90
88
  readonly quotaSignedOut: "未登录,先在上方完成登录授权。";
@@ -94,14 +92,13 @@ export declare const zh: {
94
92
  readonly quotaRenews: "续费时间";
95
93
  readonly quotaReadAt: "读取时间";
96
94
  readonly quotaSources: "数据源";
97
- readonly quotaWindowNames: "窗口名按窗口长度本地化(5 小时 / 1 周 / 1 月),不在本页硬编码;每个账号自己的进度条画在它的账号卡片里。";
98
95
  readonly quotaRefreshingNote: "正在后台刷新配额,下方是上一次读到的数字。";
99
96
  readonly quotaErrorLabel: "配额读取失败";
100
97
  readonly quotaAllowance: "额度类型";
101
98
  readonly quotaAllowancePlan: "付费套餐";
102
99
  readonly quotaAllowanceFreeTrial: "免费体验额度";
103
100
  readonly quotaAllowanceUnknown: "未判定";
104
- readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」按官方文档指新用户注册即自动获得、首次使用起 5 天内每天 800 万 token 的体验额度;额度耗尽时由上游返回 429,本线路不预判。";
101
+ readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」指新用户注册后自动获得、首次使用起 5 天内每天 800 万 token 的体验额度。";
105
102
  readonly accountPool: string;
106
103
  readonly addAccount: string;
107
104
  readonly accountCount: string;
@@ -142,12 +139,10 @@ export declare const dictionaries: {
142
139
  readonly region: "区域";
143
140
  readonly regionCn: "国区(bigmodel.cn)";
144
141
  readonly regionIntl: "国际区(z.ai)";
145
- readonly regionHint: "「导入本机登录态」与「手工粘贴授权码」按这里选定的区域发起;上方两个登录按钮各自固定一个区域。区域是凭据的属性,一区铸造的 Key 会被另一区拒绝,所以两区账号互不串用。";
146
- readonly addCnAccount: "添加国区账号";
147
- readonly addIntlAccount: "添加国际区账号";
142
+ readonly regionHint: "下方账号区的全部登录入口都按这里选定的区域发起:「添加账号」按它打开授权页,「导入本机登录态」与「手工粘贴授权码」也落在它那一区。区域是凭据的属性,一区铸造的 Key 会被另一区拒绝,所以两区账号互不串用。";
148
143
  readonly authorizing: "授权中…";
149
- readonly loginSection: "登录授权";
150
144
  readonly loginIdle: "尚未开始登录。";
145
+ readonly loginHaveAccounts: "号池里已有 {count} 个账号可用。要再加一个就点上面的「添加账号」。";
151
146
  readonly loginPending: "等待浏览器完成登录与授权,然后本卡片会自动继续。";
152
147
  readonly loginComplete: "登录完成,账号已加入号池。";
153
148
  readonly loginCompletedAt: "完成时间:{time}";
@@ -179,7 +174,7 @@ export declare const dictionaries: {
179
174
  readonly adoptTokenExpired: "ZCode 的登录态已经过期,回 ZCode 客户端重新登录后再导入。";
180
175
  readonly adoptExchangeFailed: "兑换 Coding Plan Key 失败:这个账号可能没有 Coding Plan 套餐,或没有建 Key 的权限。";
181
176
  readonly adoptNotAZcodeLogin: "凭据文件里没有本线路认识的 ZCode 登录态(该文件也可能属于别的工具)。";
182
- readonly adoptFallback: "导入只是省一次登录的快捷路径,失败不影响使用——请改用上方的浏览器登录。";
177
+ readonly adoptFallback: "导入只是省一次登录的快捷路径,失败不影响使用——请改用浏览器登录或手工粘贴授权码。";
183
178
  readonly adoptedBadge: "导入的登录态";
184
179
  readonly connection: "连接";
185
180
  readonly testConnection: "测试连接";
@@ -212,7 +207,7 @@ export declare const dictionaries: {
212
207
  readonly saved: "已保存";
213
208
  readonly invalidCapacity: "容量格式无效:{value}";
214
209
  readonly quotaSection: "用量与配额";
215
- readonly quotaDesc: "数据来自 Coding Plan 的配额接口(该接口用裸 Key 鉴权,不加 Bearer)。";
210
+ readonly quotaDesc: "数据来自 Coding Plan 的配额接口,页面可见时最多每 60 秒刷新一次。";
216
211
  readonly quotaRefresh: "刷新用量";
217
212
  readonly quotaRefreshing: "刷新中...";
218
213
  readonly quotaSignedOut: "未登录,先在上方完成登录授权。";
@@ -222,14 +217,13 @@ export declare const dictionaries: {
222
217
  readonly quotaRenews: "续费时间";
223
218
  readonly quotaReadAt: "读取时间";
224
219
  readonly quotaSources: "数据源";
225
- readonly quotaWindowNames: "窗口名按窗口长度本地化(5 小时 / 1 周 / 1 月),不在本页硬编码;每个账号自己的进度条画在它的账号卡片里。";
226
220
  readonly quotaRefreshingNote: "正在后台刷新配额,下方是上一次读到的数字。";
227
221
  readonly quotaErrorLabel: "配额读取失败";
228
222
  readonly quotaAllowance: "额度类型";
229
223
  readonly quotaAllowancePlan: "付费套餐";
230
224
  readonly quotaAllowanceFreeTrial: "免费体验额度";
231
225
  readonly quotaAllowanceUnknown: "未判定";
232
- readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」按官方文档指新用户注册即自动获得、首次使用起 5 天内每天 800 万 token 的体验额度;额度耗尽时由上游返回 429,本线路不预判。";
226
+ readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」指新用户注册后自动获得、首次使用起 5 天内每天 800 万 token 的体验额度。";
233
227
  readonly accountPool: string;
234
228
  readonly addAccount: string;
235
229
  readonly accountCount: string;
@@ -268,12 +262,10 @@ export declare const dictionaries: {
268
262
  readonly region: "区域";
269
263
  readonly regionCn: "国区(bigmodel.cn)";
270
264
  readonly regionIntl: "国际区(z.ai)";
271
- readonly regionHint: "「导入本机登录态」与「手工粘贴授权码」按这里选定的区域发起;上方两个登录按钮各自固定一个区域。区域是凭据的属性,一区铸造的 Key 会被另一区拒绝,所以两区账号互不串用。";
272
- readonly addCnAccount: "添加国区账号";
273
- readonly addIntlAccount: "添加国际区账号";
265
+ readonly regionHint: "下方账号区的全部登录入口都按这里选定的区域发起:「添加账号」按它打开授权页,「导入本机登录态」与「手工粘贴授权码」也落在它那一区。区域是凭据的属性,一区铸造的 Key 会被另一区拒绝,所以两区账号互不串用。";
274
266
  readonly authorizing: "授权中…";
275
- readonly loginSection: "登录授权";
276
267
  readonly loginIdle: "尚未开始登录。";
268
+ readonly loginHaveAccounts: "号池里已有 {count} 个账号可用。要再加一个就点上面的「添加账号」。";
277
269
  readonly loginPending: "等待浏览器完成登录与授权,然后本卡片会自动继续。";
278
270
  readonly loginComplete: "登录完成,账号已加入号池。";
279
271
  readonly loginCompletedAt: "完成时间:{time}";
@@ -305,7 +297,7 @@ export declare const dictionaries: {
305
297
  readonly adoptTokenExpired: "ZCode 的登录态已经过期,回 ZCode 客户端重新登录后再导入。";
306
298
  readonly adoptExchangeFailed: "兑换 Coding Plan Key 失败:这个账号可能没有 Coding Plan 套餐,或没有建 Key 的权限。";
307
299
  readonly adoptNotAZcodeLogin: "凭据文件里没有本线路认识的 ZCode 登录态(该文件也可能属于别的工具)。";
308
- readonly adoptFallback: "导入只是省一次登录的快捷路径,失败不影响使用——请改用上方的浏览器登录。";
300
+ readonly adoptFallback: "导入只是省一次登录的快捷路径,失败不影响使用——请改用浏览器登录或手工粘贴授权码。";
309
301
  readonly adoptedBadge: "导入的登录态";
310
302
  readonly connection: "连接";
311
303
  readonly testConnection: "测试连接";
@@ -338,7 +330,7 @@ export declare const dictionaries: {
338
330
  readonly saved: "已保存";
339
331
  readonly invalidCapacity: "容量格式无效:{value}";
340
332
  readonly quotaSection: "用量与配额";
341
- readonly quotaDesc: "数据来自 Coding Plan 的配额接口(该接口用裸 Key 鉴权,不加 Bearer)。";
333
+ readonly quotaDesc: "数据来自 Coding Plan 的配额接口,页面可见时最多每 60 秒刷新一次。";
342
334
  readonly quotaRefresh: "刷新用量";
343
335
  readonly quotaRefreshing: "刷新中...";
344
336
  readonly quotaSignedOut: "未登录,先在上方完成登录授权。";
@@ -348,14 +340,13 @@ export declare const dictionaries: {
348
340
  readonly quotaRenews: "续费时间";
349
341
  readonly quotaReadAt: "读取时间";
350
342
  readonly quotaSources: "数据源";
351
- readonly quotaWindowNames: "窗口名按窗口长度本地化(5 小时 / 1 周 / 1 月),不在本页硬编码;每个账号自己的进度条画在它的账号卡片里。";
352
343
  readonly quotaRefreshingNote: "正在后台刷新配额,下方是上一次读到的数字。";
353
344
  readonly quotaErrorLabel: "配额读取失败";
354
345
  readonly quotaAllowance: "额度类型";
355
346
  readonly quotaAllowancePlan: "付费套餐";
356
347
  readonly quotaAllowanceFreeTrial: "免费体验额度";
357
348
  readonly quotaAllowanceUnknown: "未判定";
358
- readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」按官方文档指新用户注册即自动获得、首次使用起 5 天内每天 800 万 token 的体验额度;额度耗尽时由上游返回 429,本线路不预判。";
349
+ readonly quotaAllowanceHint: "登录时探活认定的额度来源。「免费体验额度」指新用户注册后自动获得、首次使用起 5 天内每天 800 万 token 的体验额度。";
359
350
  readonly accountPool: string;
360
351
  readonly addAccount: string;
361
352
  readonly accountCount: string;
@@ -387,8 +378,8 @@ export declare const dictionaries: {
387
378
  readonly quotaFactsScope: string;
388
379
  readonly composerLabel: string;
389
380
  };
390
- en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "addCnAccount" | "addIntlAccount" | "authorizing" | "loginSection" | "loginIdle" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaWindowNames" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
391
- 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "addCnAccount" | "addIntlAccount" | "authorizing" | "loginSection" | "loginIdle" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaWindowNames" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
381
+ en: Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
382
+ 'en-US': Record<"quotaRefreshing" | "rotationStrategy" | "accountId" | "relogin" | "tokens" | "title" | "expires" | "loading" | "connection" | "testConnection" | "selectAll" | "unselectAll" | "modelsHint" | "contextWindowReset" | "contextWindowResetAll" | "save" | "quotaSignedOut" | "modelChecklistCount" | "accountPool" | "addAccount" | "accountCount" | "primaryAccount" | "activeAccount" | "setPrimary" | "deleteAccount" | "cooling" | "cooldownLeft" | "clearCooldown" | "needsRelogin" | "strategySequential" | "strategyRoundRobin" | "strategySticky" | "noAccounts" | "email" | "lastUsed" | "accountQuota" | "quotaNone" | "quotaSnapshot" | "quotaResets" | "quotaExhausted" | "quotaWindow" | "quotaUsed" | "quotaFactsScope" | "composerLabel" | "progress" | "pageDesc" | "modelsSection" | "contextWindowSection" | "contextWindowHint" | "contextWindowNoneEnabled" | "saved" | "saving" | "quotaSection" | "quotaDesc" | "quotaEmpty" | "adoptedBadge" | "openAuthorizeUrl" | "authorizeUrl" | "loginComplete" | "manualPasteSection" | "manualPasteHint" | "manualPastePlaceholder" | "manualPasteSubmit" | "manualPasteSubmitting" | "testingConnection" | "testSuccess" | "testLatency" | "testFailed" | "routeOwned" | "routeConflict" | "refreshCatalog" | "refreshingCatalog" | "adopt" | "region" | "regionCn" | "regionIntl" | "regionHint" | "authorizing" | "loginIdle" | "loginHaveAccounts" | "loginPending" | "loginCompletedAt" | "loginCompleteNoAccount" | "loginError" | "loginRetryable" | "loginNotRetryable" | "pollEvery" | "loginExpiresAt" | "restartLogin" | "cancelLogin" | "cancelLoginBusy" | "manualPasteEmpty" | "adopting" | "adoptAdopted" | "adoptNoAttempt" | "adoptNoCredentialsFile" | "adoptSecretUnavailable" | "adoptDecryptFailed" | "adoptTokenExpired" | "adoptExchangeFailed" | "adoptNotAZcodeLogin" | "adoptFallback" | "testSuccessAccount" | "testSuccessModel" | "testFailedDetail" | "modelsUnavailable" | "dismiss" | "invalidCapacity" | "quotaRefresh" | "quotaPlan" | "quotaPlanLevel" | "quotaRenews" | "quotaReadAt" | "quotaSources" | "quotaRefreshingNote" | "quotaErrorLabel" | "quotaAllowance" | "quotaAllowancePlan" | "quotaAllowanceFreeTrial" | "quotaAllowanceUnknown" | "quotaAllowanceHint", string>;
392
383
  };
393
384
  export type GlmCodingPlanLocaleKey = keyof typeof zh;
394
385
  /** 一个配额窗口的键到「窗口长度(分钟)」的映射。 */
@@ -1 +1 @@
1
- {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/locales.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAEvH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAA;AAEvD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmHL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CA+G9C,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEpD,8BAA8B;AAC9B,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIlE,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAYlE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER"}
1
+ {"version":3,"file":"locales.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/locales.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAA;AAEvH;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,wBAAwB,CAAA;AAEvD,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHL,CAAA;AAEV,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,OAAO,EAAE,EAAE,MAAM,CA4G9C,CAAA;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,MAAM,OAAO,EAAE,CAAA;AAEpD,8BAA8B;AAC9B,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAIlE,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;AAYlE,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,UAAU,EAAE,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,GACjD,MAAM,CAER"}
@@ -5,8 +5,8 @@ export declare const STYLE_ID = "dsh-glm-coding-plan-settings-style";
5
5
  * 共享样式一律不重复声明:模型清单(.dsh-mcl-*)由 common/model-checklist-styles.ts
6
6
  * 负责,账号卡与配额条(.dsha-account-*)由 common/styles.ts 负责,基础控件
7
7
  * (.dsha-page / .dsha-group / .dsha-row / 胶囊等)由兄弟线路的安装器负责。
8
- * 本文件只声明没有兄弟线路共用过的东西:登录流程块、手工粘贴行、等宽文本、
9
- * 模型行右侧的窗口数字,以及「导入的登录态」徽标。
8
+ * 本文件只声明没有兄弟线路共用过的东西:登录流程块、兜底入口行与手工粘贴面板、
9
+ * 等宽文本、模型行右侧的窗口数字,以及「导入的登录态」徽标。
10
10
  *
11
11
  * 两区登录入口复用的 .dsha-account-add-actions 由 workbuddy/styles.ts 声明;
12
12
  * Claude 卡片同样直接用它而不在自己文件里重复声明,本卡沿用同一做法。
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,uCAAuC,CAAA;AAE5D;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAWjD"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/client/glm-coding-plan/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,uCAAuC,CAAA;AAE5D;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAkBjD"}
@@ -10,9 +10,9 @@
10
10
  * (the same principle claude-style's brand.js documents).
11
11
  */
12
12
  import { type BrandMarkKey } from './brand-svg.ts';
13
- export type HubProviderId = 'chatgpt' | 'antigravity' | 'command-code' | 'kimi-code' | 'workbuddy' | 'minimax-code' | 'glm-coding-plan' | 'claude' | 'ollama';
13
+ export type HubProviderId = 'chatgpt' | 'antigravity' | 'command-code' | 'kimi-code' | 'workbuddy' | 'minimax-code' | 'glm-coding-plan' | 'claude' | 'ollama' | 'step-code';
14
14
  /** 一张标记的键:BRAND_MARKS 的全部键,加上本文件自带的键。 */
15
- export type ProviderMarkKey = BrandMarkKey | 'glm';
15
+ export type ProviderMarkKey = BrandMarkKey | 'glm' | 'step-code';
16
16
  interface ProviderBrand {
17
17
  /** Key into BRAND_MARKS (or LOCAL_MARKS); absent for monogram-only providers. */
18
18
  mark?: ProviderMarkKey;
@@ -1 +1 @@
1
- {"version":3,"file":"brand-icons.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/brand-icons.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,YAAY,EAAqB,MAAM,gBAAgB,CAAA;AAElF,MAAM,MAAM,aAAa,GACrB,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,WAAW,GACxD,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAkB1E,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,KAAK,CAAA;AASlD,UAAU,aAAa;IACrB,iFAAiF;IACjF,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,aAAa,CAUhE,CAAA;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUjI;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,IAAS,EAAE,EAAE;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWpG;AAoBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAMtE"}
1
+ {"version":3,"file":"brand-icons.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/brand-icons.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAe,KAAK,YAAY,EAAqB,MAAM,gBAAgB,CAAA;AAElF,MAAM,MAAM,aAAa,GACrB,SAAS,GAAG,aAAa,GAAG,cAAc,GAAG,WAAW,GACxD,WAAW,GAAG,cAAc,GAAG,iBAAiB,GAAG,QAAQ,GAAG,QAAQ,GACtE,WAAW,CAAA;AAyDf,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,KAAK,GAAG,WAAW,CAAA;AAShE,UAAU,aAAa;IACrB,iFAAiF;IACjF,IAAI,CAAC,EAAE,eAAe,CAAA;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,aAAa,EAAE,aAAa,CAgBhE,CAAA;AAED,qEAAqE;AACrE,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUjI;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,EAAE,IAAS,EAAE,EAAE;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAWpG;AAoBD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAMtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/providers.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAgBpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,gFAAgF;IAChF,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,aAAa,CAAA;IACjB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACxD,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAAA;CACxD;AA4BD,6DAA6D;AAC7D,eAAO,MAAM,aAAa,EAAE,SAAS,qBAAqB,EAwDzD,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAEnF"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../../../src/client/hub/providers.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAqBpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEtD,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,CAAA;IACvB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAA;IAC1B,gFAAgF;IAChF,OAAO,EAAE,YAAY,CAAC,kBAAkB,CAAC,CAAA;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,aAAa,CAAA;IACjB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACxD,YAAY,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAAA;CACxD;AA4BD,6DAA6D;AAC7D,eAAO,MAAM,aAAa,EAAE,SAAS,qBAAqB,EAgEzD,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAEnF"}
@@ -8,6 +8,7 @@ import { type MinimaxCodeLocaleKey } from './minimax-code/locales.ts';
8
8
  import { type WorkBuddyLocaleKey } from './workbuddy/locales.ts';
9
9
  import { type GlmCodingPlanLocaleKey } from './glm-coding-plan/locales.ts';
10
10
  import { type OllamaLocaleKey } from './ollama/locales.ts';
11
+ import { type StepCodeLocaleKey } from './step-code/locales.ts';
11
12
  declare module '@deepseek-ai/dsh-client-ui-slots' {
12
13
  /**
13
14
  * Every namespace this plugin registers, typed by that line's own dictionary.
@@ -27,6 +28,7 @@ declare module '@deepseek-ai/dsh-client-ui-slots' {
27
28
  'dsh-workbuddy': WorkBuddyLocaleKey;
28
29
  'dsh-glm-coding-plan': GlmCodingPlanLocaleKey;
29
30
  'dsh-ollama': OllamaLocaleKey;
31
+ 'dsh-step-code': StepCodeLocaleKey;
30
32
  }
31
33
  }
32
34
  export declare const inject: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGxH,OAAO,EAAgD,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG9G,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,kBAAkB,CAAA;QACnC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;KAC9B;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CA0H9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAenE,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAA;AAM/D,OAAO,EAAoD,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAGtH,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGlG,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAExH,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAG5G,OAAO,EAAqD,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAGxH,OAAO,EAAgD,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAG9G,OAAO,EAA0D,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAElI,OAAO,EAA0C,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI5G,OAAO,QAAQ,kCAAkC,CAAC;IAChD;;;;;;;OAOG;IACH,UAAU,kBAAkB;QAC1B,0BAA0B,EAAE,SAAS,CAAA;QACrC,iBAAiB,EAAE,oBAAoB,CAAA;QACvC,YAAY,EAAE,eAAe,CAAA;QAC7B,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,iBAAiB,CAAA;QAClC,kBAAkB,EAAE,oBAAoB,CAAA;QACxC,eAAe,EAAE,kBAAkB,CAAA;QACnC,qBAAqB,EAAE,sBAAsB,CAAA;QAC7C,YAAY,EAAE,eAAe,CAAA;QAC7B,eAAe,EAAE,iBAAiB,CAAA;KACnC;CACF;AAED,eAAO,MAAM,MAAM,UAQlB,CAAA;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAqI9C"}
@@ -1 +1 @@
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,CAmP9D"}
1
+ {"version":3,"file":"OllamaSection.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/OllamaSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AA6B/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,CAuR9D"}
@@ -22,6 +22,19 @@ export declare class OllamaApi {
22
22
  refreshCatalog(): Promise<{
23
23
  models: unknown[];
24
24
  }>;
25
+ /**
26
+ * Store the default thinking level, answering with the refreshed status.
27
+ *
28
+ * '/settings' replies with the stored settings document rather than with the
29
+ * status the card renders, so the status is re-read behind the write. That is
30
+ * the same shape {@link refreshCatalog} needs, and it is why the return type is
31
+ * a status: handing the settings document to the renderer would blank the
32
+ * model list the user just configured.
33
+ *
34
+ * null is a real value ('do not specify'), not an absent one, so it is sent
35
+ * explicitly rather than left out of the body.
36
+ */
37
+ setDefaultReasoningEffort(effort: string | null): Promise<OllamaWebStatus>;
25
38
  /**
26
39
  * Replace the enabled-model selection.
27
40
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAIvE;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;IAIlC;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,EACtF,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GACpF,OAAO,CAAC,eAAe,CAAC;IAI3B,cAAc,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAIhD;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CAGlG"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/client/ollama/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAA;AAIvE;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,MAAM,IAAI,OAAO,CAAC,eAAe,CAAC;IAIlC;;;;;OAKG;IACH,aAAa,CACX,MAAM,EAAE,KAAK,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,gBAAgB,GAAG,UAAU,EACtF,IAAI,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GACpF,OAAO,CAAC,eAAe,CAAC;IAI3B,cAAc,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAC;IAIhD;;;;;;;;;;;OAWG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC;IAK1E;;;;;;OAMG;IACH,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;KAAE,CAAC;CAGlG"}
@@ -29,6 +29,10 @@ export declare const zh: {
29
29
  readonly selectAll: "全选";
30
30
  readonly unselectAll: "全不选";
31
31
  readonly noneSelected: "未选择任何模型,该线路不会出现在模型选择器中。";
32
+ readonly enhanced: "增强功能";
33
+ readonly defaultReasoningEffort: "默认思考档位";
34
+ readonly defaultReasoningEffortHint: "只对支持思考控制的模型生效。具体可选档位由模型自身决定:gpt-oss 一类只接受 low / medium / high,deepseek-r1 一类只有开或关,其余模型不接受思考控制,Host 会按模型形态收敛。选「不指定」时使用模型自身的默认值。";
35
+ readonly defaultEffortAuto: "不指定";
32
36
  readonly limitsSection: "能力边界";
33
37
  readonly limitsHint: "以下为 Ollama Cloud 官方文档列出的限制,本线路不会绕过:";
34
38
  readonly limitNoStateful: "不支持 Responses 的有状态会话(仅无状态形式)。";
@@ -102,6 +106,10 @@ export declare const en: {
102
106
  readonly selectAll: "Select all";
103
107
  readonly unselectAll: "Clear all";
104
108
  readonly noneSelected: "No models are selected, so this line will not appear in the model picker.";
109
+ readonly enhanced: "Enhanced";
110
+ readonly defaultReasoningEffort: "Default thinking level";
111
+ readonly defaultReasoningEffortHint: "Applies only to models that accept thinking control. The levels a model can take are its own: the gpt-oss family takes low / medium / high, the deepseek-r1 family takes only on or off, and the rest take no thinking control at all — the Host narrows the stored level to what the target model accepts. Choose \"Do not specify\" to leave each model on its own default.";
112
+ readonly defaultEffortAuto: "Do not specify";
105
113
  readonly limitsSection: "Documented limits";
106
114
  readonly limitsHint: "Ollama Cloud documents these limits; this line does not work around them:";
107
115
  readonly limitNoStateful: "No stateful Responses (stateless only).";
@@ -176,6 +184,10 @@ export declare const dictionaries: {
176
184
  readonly selectAll: "全选";
177
185
  readonly unselectAll: "全不选";
178
186
  readonly noneSelected: "未选择任何模型,该线路不会出现在模型选择器中。";
187
+ readonly enhanced: "增强功能";
188
+ readonly defaultReasoningEffort: "默认思考档位";
189
+ readonly defaultReasoningEffortHint: "只对支持思考控制的模型生效。具体可选档位由模型自身决定:gpt-oss 一类只接受 low / medium / high,deepseek-r1 一类只有开或关,其余模型不接受思考控制,Host 会按模型形态收敛。选「不指定」时使用模型自身的默认值。";
190
+ readonly defaultEffortAuto: "不指定";
179
191
  readonly limitsSection: "能力边界";
180
192
  readonly limitsHint: "以下为 Ollama Cloud 官方文档列出的限制,本线路不会绕过:";
181
193
  readonly limitNoStateful: "不支持 Responses 的有状态会话(仅无状态形式)。";
@@ -249,6 +261,10 @@ export declare const dictionaries: {
249
261
  readonly selectAll: "全选";
250
262
  readonly unselectAll: "全不选";
251
263
  readonly noneSelected: "未选择任何模型,该线路不会出现在模型选择器中。";
264
+ readonly enhanced: "增强功能";
265
+ readonly defaultReasoningEffort: "默认思考档位";
266
+ readonly defaultReasoningEffortHint: "只对支持思考控制的模型生效。具体可选档位由模型自身决定:gpt-oss 一类只接受 low / medium / high,deepseek-r1 一类只有开或关,其余模型不接受思考控制,Host 会按模型形态收敛。选「不指定」时使用模型自身的默认值。";
267
+ readonly defaultEffortAuto: "不指定";
252
268
  readonly limitsSection: "能力边界";
253
269
  readonly limitsHint: "以下为 Ollama Cloud 官方文档列出的限制,本线路不会绕过:";
254
270
  readonly limitNoStateful: "不支持 Responses 的有状态会话(仅无状态形式)。";
@@ -322,6 +338,10 @@ export declare const dictionaries: {
322
338
  readonly selectAll: "Select all";
323
339
  readonly unselectAll: "Clear all";
324
340
  readonly noneSelected: "No models are selected, so this line will not appear in the model picker.";
341
+ readonly enhanced: "Enhanced";
342
+ readonly defaultReasoningEffort: "Default thinking level";
343
+ readonly defaultReasoningEffortHint: "Applies only to models that accept thinking control. The levels a model can take are its own: the gpt-oss family takes low / medium / high, the deepseek-r1 family takes only on or off, and the rest take no thinking control at all — the Host narrows the stored level to what the target model accepts. Choose \"Do not specify\" to leave each model on its own default.";
344
+ readonly defaultEffortAuto: "Do not specify";
325
345
  readonly limitsSection: "Documented limits";
326
346
  readonly limitsHint: "Ollama Cloud documents these limits; this line does not work around them:";
327
347
  readonly limitNoStateful: "No stateful Responses (stateless only).";
@@ -395,6 +415,10 @@ export declare const dictionaries: {
395
415
  readonly selectAll: "Select all";
396
416
  readonly unselectAll: "Clear all";
397
417
  readonly noneSelected: "No models are selected, so this line will not appear in the model picker.";
418
+ readonly enhanced: "Enhanced";
419
+ readonly defaultReasoningEffort: "Default thinking level";
420
+ readonly defaultReasoningEffortHint: "Applies only to models that accept thinking control. The levels a model can take are its own: the gpt-oss family takes low / medium / high, the deepseek-r1 family takes only on or off, and the rest take no thinking control at all — the Host narrows the stored level to what the target model accepts. Choose \"Do not specify\" to leave each model on its own default.";
421
+ readonly defaultEffortAuto: "Do not specify";
398
422
  readonly limitsSection: "Documented limits";
399
423
  readonly limitsHint: "Ollama Cloud documents these limits; this line does not work around them:";
400
424
  readonly limitNoStateful: "No stateful Responses (stateless only).";
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDL,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsEL,CAAA;AAEV,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDL,CAAA;AAIV,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,EAAE,CAAA"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Step Code(Step Plan 订阅)在输入框右侧的额度胶囊。
3
+ *
4
+ * 与 GLM 那颗同款:胶囊是唯一一眼能看到数字的地方,所以点一下要走强制刷新;
5
+ * 而「显示哪一个数字」是每条线路唯一值得自己写的部分,因此单独导出一个纯函数
6
+ * selectBadgeFacts 供测试直接调用。
7
+ *
8
+ * 挑选口径与卡片一致:**只按已测量的窗口选最紧的那一个**,不碰 Credit 桶。
9
+ *
10
+ * - 老式窗口(5 小时 / 周)有百分比,所以能选;
11
+ * - Credit 桶是绝对量(总额 / 剩余),把它折成一个「剩余百分比」需要自行决定
12
+ * 分母,而新式套餐里不同桶的地位并不等价(订阅额度与充值额度不是一回事),
13
+ * 折出来的是编的;
14
+ * - `kind: 'unknown'` 更是连形状都认不出。
15
+ *
16
+ * 所以这三种情况一律返回 null,即**不渲染胶囊**:装一个占位数字比不显示更像坏了。
17
+ */
18
+ import type { ModelDirectoryState } from '@deepseek-ai/dsh-client-ui-model-selection/client';
19
+ import type { PropsLocale, PropsRuntime } from '@deepseek-ai/dsh-client-ui-slots';
20
+ import { type StepCodeStatusDto } from '../../shared/step-code-contracts.ts';
21
+ import { type ComposerQuotaFacts } from '../common/ComposerQuotaBadge.tsx';
22
+ import type { SnapshotStore } from '../store.ts';
23
+ import { NS_STEP_CODE, type StepCodeLocaleKey } from './locales.ts';
24
+ type Props = PropsRuntime<'conversation.input.right'> & PropsLocale<typeof NS_STEP_CODE> & {
25
+ directory: SnapshotStore<ModelDirectoryState>;
26
+ loadModelDirectory: () => void;
27
+ };
28
+ /**
29
+ * 胶囊显示「最紧的那个老式窗口」的剩余百分比。
30
+ *
31
+ * 两个窗口(5 小时 / 周)互相独立地重置,用户当下真正被卡住的是**已用比例最高**的
32
+ * 那一个:另外那个可能还剩一大半。所以这里不平均、不取最小剩余,而是取最大已用;
33
+ * 已用相等时取更短的窗口——重置更早的那个才是当下的瓶颈。
34
+ *
35
+ * 窗口名不硬编码:键映射成窗口长度后交给共享的 quotaWindowLabel 本地化
36
+ * (5 小时 / 1 周 / 5 hours / 1 week)。
37
+ *
38
+ * 没有快照、没有窗口、或全部窗口都没有百分比时返回 null(见文件头)。
39
+ */
40
+ export declare function selectBadgeFacts(status: StepCodeStatusDto | null, lookup?: (key: StepCodeLocaleKey) => string): ComposerQuotaFacts | null;
41
+ /**
42
+ * 输入框右侧的额度胶囊本体。
43
+ *
44
+ * **槽位号由波次 4 注册,本文件不注册任何槽位**:conversation.input.right 现有
45
+ * 35–42(codex → antigravity → command-code → kimi-code → workbuddy → minimax-code →
46
+ * claude → glm-coding-plan),本线路取下一个号 43,id 沿用命名习惯
47
+ * 'step-code-quota',locale 为 NS_STEP_CODE。顺延而不是插号:给新线路重排既有号会让
48
+ * 已上线线路的槽位位置无谓地变一次。
49
+ */
50
+ export declare function StepCodeComposerQuota({ directory, loadModelDirectory, t }: Props): React.JSX.Element | null;
51
+ export {};
52
+ //# sourceMappingURL=StepCodeComposerQuota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepCodeComposerQuota.d.ts","sourceRoot":"","sources":["../../../../src/client/step-code/StepCodeComposerQuota.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mDAAmD,CAAA;AAC5F,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAkC,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAA;AAG1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,OAAO,EAAE,YAAY,EAA4B,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE7F,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;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,GAAG,IAAI,EAChC,MAAM,GAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,MAAyB,GAC5D,kBAAkB,GAAG,IAAI,CA0B3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAY3G"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Step Code(Step Plan 订阅)设置卡片。
3
+ *
4
+ * 纯渲染:状态、副作用与请求都在 'useStepCodeSection.ts',两者之间只通过一个具名结构
5
+ * 交接(GLM / WorkBuddy / MiniMax Code 同款分工)。
6
+ *
7
+ * 本文件没有新建任何 UI 组件:进入入口(hub 卡片)在 hub/providers.tsx,账号池与它的
8
+ * 配额条在 AccountPoolSection,模型勾选在 ModelChecklist,上下文窗口在
9
+ * ContextWindowEditor,输入框胶囊在 StepCodeComposerQuota.tsx。
10
+ *
11
+ * 两条它自己负责的渲染规则:
12
+ *
13
+ * 1. **能力只画契约里的字段**:图片输入、思考档位、上下文窗口全部来自 host 生成的
14
+ * hint,客户端不按模型名推断任何一项;同一事实只呈现一次——勾选列表的行已经带了
15
+ * 那句话,所以下面不再另起一块把已勾选模型的能力重列一遍;
16
+ * 2. **缓存只画 token 维度**:读入量与命中率一条条,没数据就是占位符;写侧在本线路
17
+ * 恒为 0,用 STEP_CODE_CACHE_WRITE_NOTE 标注而不是画一条永远是 0 的进度条;
18
+ * 单价未文档化,因此整页不出现任何金额。
19
+ *
20
+ * 版面纪律(全卡适用):**每个分组标题下最多留一行说明**,其余原句收进 .dshsc-details
21
+ * 折叠区(moreNotes 辅助函数),阅读顺序因此固定为「标题 → 一句话 → 控件 → 折叠的补充
22
+ * 说明」。实现坐标(读侧字段优先级链、端点路径、plan_family 的机器值)不留在正文:
23
+ * 它们解释的是这份数据怎么来的,而不是用户现在该做什么——但也绝不删除,一律进折叠区。
24
+ */
25
+ import React from 'react';
26
+ import { type StepCodeSectionProps } from './useStepCodeSection.ts';
27
+ export declare function StepCodeSection({ onModelChange }?: StepCodeSectionProps): React.JSX.Element;
28
+ //# sourceMappingURL=StepCodeSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepCodeSection.d.ts","sourceRoot":"","sources":["../../../../src/client/step-code/StepCodeSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AA0BzB,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAA;AAwHhC,wBAAgB,eAAe,CAAC,EAAE,aAAa,EAAE,GAAE,oBAAyB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8qB/F"}
@@ -0,0 +1,4 @@
1
+ export declare const get: <T>(path: string) => Promise<T>;
2
+ export declare const post: <T>(path: string, body?: object) => Promise<T>;
3
+ export declare function messageOf(cause: unknown): string;
4
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/client/step-code/api.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,GAAG,iCAAU,CAAA;AAC1B,eAAO,MAAM,IAAI,gDAAW,CAAA;AAE5B,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEhD"}