@eddyskywalker/dsh-chatgpt-subscription 0.32.0 → 0.33.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 (79) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +49 -1
  3. package/lib/client.js +3535 -1191
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +7225 -2833
  6. package/lib/types/client/hub/brand-icons.d.ts +17 -1
  7. package/lib/types/client/hub/brand-icons.d.ts.map +1 -1
  8. package/lib/types/client/hub/hub-styles.d.ts.map +1 -1
  9. package/lib/types/client/hub/providers.d.ts.map +1 -1
  10. package/lib/types/client/index.d.ts +2 -0
  11. package/lib/types/client/index.d.ts.map +1 -1
  12. package/lib/types/client/minimax-code/VideoFormDialog.d.ts +46 -50
  13. package/lib/types/client/minimax-code/VideoFormDialog.d.ts.map +1 -1
  14. package/lib/types/client/minimax-code/locales.d.ts +80 -20
  15. package/lib/types/client/minimax-code/locales.d.ts.map +1 -1
  16. package/lib/types/client/minimax-code/styles.d.ts.map +1 -1
  17. package/lib/types/client/minimax-code/video-command-host.d.ts +17 -11
  18. package/lib/types/client/minimax-code/video-command-host.d.ts.map +1 -1
  19. package/lib/types/client/minimax-code/video-command-icon.d.ts +38 -0
  20. package/lib/types/client/minimax-code/video-command-icon.d.ts.map +1 -0
  21. package/lib/types/client/minimax-code/video-command.d.ts +53 -59
  22. package/lib/types/client/minimax-code/video-command.d.ts.map +1 -1
  23. package/lib/types/client/minimax-code/video-media-dropzone.d.ts +57 -0
  24. package/lib/types/client/minimax-code/video-media-dropzone.d.ts.map +1 -0
  25. package/lib/types/client/minimax-code/video-media-input.d.ts +173 -0
  26. package/lib/types/client/minimax-code/video-media-input.d.ts.map +1 -0
  27. package/lib/types/client/minimax-code/video-presets.d.ts +67 -0
  28. package/lib/types/client/minimax-code/video-presets.d.ts.map +1 -0
  29. package/lib/types/client/minimax-code/video-workspace.d.ts +41 -0
  30. package/lib/types/client/minimax-code/video-workspace.d.ts.map +1 -0
  31. package/lib/types/client/qoder/QoderComposerQuota.d.ts +41 -0
  32. package/lib/types/client/qoder/QoderComposerQuota.d.ts.map +1 -0
  33. package/lib/types/client/qoder/QoderSection.d.ts +26 -0
  34. package/lib/types/client/qoder/QoderSection.d.ts.map +1 -0
  35. package/lib/types/client/qoder/api.d.ts +4 -0
  36. package/lib/types/client/qoder/api.d.ts.map +1 -0
  37. package/lib/types/client/qoder/locales.d.ts +310 -0
  38. package/lib/types/client/qoder/locales.d.ts.map +1 -0
  39. package/lib/types/client/qoder/styles.d.ts +16 -0
  40. package/lib/types/client/qoder/styles.d.ts.map +1 -0
  41. package/lib/types/client/qoder/useQoderSection.d.ts +97 -0
  42. package/lib/types/client/qoder/useQoderSection.d.ts.map +1 -0
  43. package/lib/types/host/common/model-request-control.d.ts +1 -1
  44. package/lib/types/host/common/model-request-control.d.ts.map +1 -1
  45. package/lib/types/host/common/request-diagnostics.d.ts +1 -1
  46. package/lib/types/host/common/request-diagnostics.d.ts.map +1 -1
  47. package/lib/types/host/kimi-code/adapter.d.ts +3 -1
  48. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  49. package/lib/types/host/kimi-code/mapper.d.ts.map +1 -1
  50. package/lib/types/host/qoder/account-pool.d.ts +137 -0
  51. package/lib/types/host/qoder/account-pool.d.ts.map +1 -0
  52. package/lib/types/host/qoder/adapter.d.ts +134 -0
  53. package/lib/types/host/qoder/adapter.d.ts.map +1 -0
  54. package/lib/types/host/qoder/adopt.d.ts +146 -0
  55. package/lib/types/host/qoder/adopt.d.ts.map +1 -0
  56. package/lib/types/host/qoder/client.d.ts +189 -0
  57. package/lib/types/host/qoder/client.d.ts.map +1 -0
  58. package/lib/types/host/qoder/cosy.d.ts +173 -0
  59. package/lib/types/host/qoder/cosy.d.ts.map +1 -0
  60. package/lib/types/host/qoder/mapper.d.ts +235 -0
  61. package/lib/types/host/qoder/mapper.d.ts.map +1 -0
  62. package/lib/types/host/qoder/model-catalog.d.ts +185 -0
  63. package/lib/types/host/qoder/model-catalog.d.ts.map +1 -0
  64. package/lib/types/host/qoder/oauth.d.ts +134 -0
  65. package/lib/types/host/qoder/oauth.d.ts.map +1 -0
  66. package/lib/types/host/qoder/routes.d.ts +96 -0
  67. package/lib/types/host/qoder/routes.d.ts.map +1 -0
  68. package/lib/types/host/qoder/token-store.d.ts +231 -0
  69. package/lib/types/host/qoder/token-store.d.ts.map +1 -0
  70. package/lib/types/host/qoder/types.d.ts +257 -0
  71. package/lib/types/host/qoder/types.d.ts.map +1 -0
  72. package/lib/types/host/workbuddy/adapter.d.ts.map +1 -1
  73. package/lib/types/host/workbuddy/mapper.d.ts +1 -0
  74. package/lib/types/host/workbuddy/mapper.d.ts.map +1 -1
  75. package/lib/types/index.d.ts +5 -0
  76. package/lib/types/index.d.ts.map +1 -1
  77. package/lib/types/shared/qoder-contracts.d.ts +293 -0
  78. package/lib/types/shared/qoder-contracts.d.ts.map +1 -0
  79. package/package.json +1 -1
@@ -0,0 +1,293 @@
1
+ /**
2
+ * Qoder(订阅)线路的共享契约。
3
+ *
4
+ * host 与 client 两半只依赖本文件的类型与常量,互不 import。
5
+ * 本文件由调度者冻结:类型名与常量名不得更改,可追加。
6
+ *
7
+ * 边界精神与 `account-pool-contracts.ts` 首行一致:这里的一切都是公开信息,
8
+ * **任何凭据都不越过这条边界**。Qoder 的三种凭据——设备流换到的 job token、
9
+ * 手动粘贴的 PAT(`pt-...`)、adopt 读到的 `~/.qoder/.auth/user` 快照——一律不出现在
10
+ * 下列任何类型里。手动粘贴 PAT 的请求体也正因如此**刻意不在本文件声明**:它必然带凭据,
11
+ * 由 host 侧自行解析,不进冻结契约。
12
+ *
13
+ * 取值依据:`docs/qoder-line-plan.md` §1-§5,以及逐字来源
14
+ * Qoder 官方文档(docs.qoder.com/cli/authentication)、
15
+ * 开源实现 simonsmh/pi-provider-qoder(live 验证)与 Liki4/qodercli2api
16
+ * (qodercli v1.1.34 的全合成 frozen fixtures)。
17
+ */
18
+ import type { AccountPoolStatusDto, PoolAccountSummaryDto } from './account-pool-contracts.ts';
19
+ /** 线路 id。与官方 CLI 的 `qoder` 同名是有意的:模型 id 与端点词汇都照它。 */
20
+ export declare const QODER_PROVIDER_ID = "qoder";
21
+ /** 设置卡片与 hub 卡片上显示的名字。 */
22
+ export declare const QODER_PROVIDER_NAME = "Qoder\uFF08\u8BA2\u9605\uFF09";
23
+ /**
24
+ * 路由前缀(host 暴露、client 消费)。
25
+ *
26
+ * 与其余各订阅线路一致:每条线路把自己的设置面挂在 `/<line>/api` 下,
27
+ * 不挂到 Codex 那条线路的 `/api/dsh-chatgpt-subscription` 前缀下面。
28
+ */
29
+ export declare const QODER_ROUTE_PREFIX = "/qoder/api";
30
+ /**
31
+ * 账号所属区域。
32
+ *
33
+ * `qoder.sh`(全球)与 `qoder.com.cn`(中国)两套部署互不通用:一个区铸造的凭据
34
+ * 打另一个区的端点会被拒。区域因此是**凭据的属性**而不是请求的属性,一个号池可以同时
35
+ * 持有两区账号且互不串用(计划 §1;与 step-code 的 profile 同一原则)。
36
+ *
37
+ * 取值逐字来自 pi-provider-qoder `src/region.ts` 的 `QoderMode`。
38
+ */
39
+ export type QoderRegion = 'global' | 'cn';
40
+ /** 全部区域,声明顺序即设置页的默认顺序(全球区在前:它是唯一支持浏览器设备流的)。 */
41
+ export declare const QODER_REGIONS: readonly QoderRegion[];
42
+ /** 参数是否是本线路认识的区域(供 route 层校验自由输入)。 */
43
+ export declare function isQoderRegion(value: unknown): value is QoderRegion;
44
+ /**
45
+ * 本线路能命名的思考档位。
46
+ *
47
+ * 取值就是 DSH 的完整档位词汇,而不是上游那几档:上游不认识的档位一律被
48
+ * `convergeQoderEffort`(host 侧 `types.ts`)收敛到**模型真实梯子**上再发出去,
49
+ * 两份词汇表是分开的——详见 `QODER_REASONING_EFFORTS` 的注释。
50
+ */
51
+ export type QoderReasoningEffort = 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
52
+ /**
53
+ * 线路级档位词汇表,从低到高。
54
+ *
55
+ * 上游的档位是**逐模型**声明的(目录条目的 `thinking_config.enabled.efforts` 的键集,
56
+ * pi-provider `catalog.ts` `buildThinkingLevelMap`),未在集合里的档位不能发。
57
+ * 线路级词汇表比上游宽是**故意的**:本地收敛即可,而窄表一旦上游加了新档位就无处安放。
58
+ */
59
+ export declare const QODER_REASONING_EFFORTS: readonly QoderReasoningEffort[];
60
+ /** 档位参数是否是本线路词汇表里的值(供 route 层校验自由输入)。 */
61
+ export declare function isQoderReasoningEffort(value: unknown): value is QoderReasoningEffort;
62
+ /**
63
+ * 一只额度桶的稳定标识。
64
+ *
65
+ * 逐字取自 `GET {openapi}/api/v2/quota/usage` 的载荷键(pi-provider `auth/usage.ts`):
66
+ *
67
+ * - `personal`:`userQuota`,账号自带的周期额度;
68
+ * - `add-on`:`addOnQuota`,加购 Credits;
69
+ * - `org`:`orgResourcePackage`,组织资源包(总额字段是 `cap` 而不是 `total`)。
70
+ *
71
+ * 刻意是封闭联合而不是自由字符串:上游给出一个认不出的桶时**不下发、不发明**。
72
+ */
73
+ export type QoderQuotaBucketKind = 'personal' | 'add-on' | 'org';
74
+ /**
75
+ * 一只额度桶。
76
+ *
77
+ * Qoder 的额度是**绝对量**(总额 / 已用 / 剩余 + 单位),不是窗口——没有「已用百分比
78
+ * 与重置时刻」这一对,所以不硬塞进窗口形状。所有数字都可能缺失:上游没报就是没报,
79
+ * 缺失渲染成占位符,而不是 0(计划 §5;技能规约「零不是未知」)。
80
+ */
81
+ export interface QoderQuotaBucketDto {
82
+ /** 线路自己的桶标识,由客户端本地化成桶名。 */
83
+ kind: QoderQuotaBucketKind;
84
+ /** 该桶的总额度;上游未给出时为 null。 */
85
+ total: number | null;
86
+ /** 该桶的已用额度;上游未给出时为 null。 */
87
+ used: number | null;
88
+ /** 该桶的剩余额度;上游未给出时为 null。 */
89
+ remaining: number | null;
90
+ /** 上游自述的单位(如 Credits);未给出时为 null。 */
91
+ unit: string | null;
92
+ }
93
+ /**
94
+ * 某一时刻的整份额度快照。
95
+ *
96
+ * `buckets` 只装上游真的报了的桶;一只桶都不认识时快照本身不下发(卡片显示
97
+ * 「读不出来」而不是一张全空的卡)。
98
+ */
99
+ export interface QoderQuotaSnapshotDto {
100
+ buckets: QoderQuotaBucketDto[];
101
+ /** 账号周期截止(Unix 毫秒);上游未给出时为 null。 */
102
+ expiresAt: number | null;
103
+ /** 本次读取时刻(Unix 毫秒),卡片据此判断数据新旧。 */
104
+ fetchedAt: number;
105
+ /** 这份快照是在哪个区域读到的(额度跟着账号走,账号的区域即快照的区域)。 */
106
+ region: QoderRegion;
107
+ }
108
+ /**
109
+ * 设置卡片渲染的一行模型(图标 + 名称 + 行尾勾)。
110
+ *
111
+ * 能力**不得从模型名推断**(计划 §4):目录完全靠运行时发现,能力字段一律来自
112
+ * 端点字段(`is_vl` / `is_reasoning` / `thinking_config` / `context_config`),
113
+ * 拿不到的走区域兜底值。
114
+ */
115
+ export interface QoderModelOption {
116
+ /** 公开 id:上游 `display_name` 去空白(pi-provider `toQoderModelId` 同一规则)。 */
117
+ id: string;
118
+ /** 显示名(上游 `display_name` 原样)。 */
119
+ name: string;
120
+ /** 一句话能力描述:思考形态 / 可选档位 / 输入模态 / 上下文窗口。 */
121
+ hint: string;
122
+ /** 是否由 DSH 提供给会话模型选择器。 */
123
+ enabled: boolean;
124
+ /** 目录声明的默认上下文窗口(token)。 */
125
+ defaultContextWindow: number;
126
+ /** 生效窗口:有覆盖值时用覆盖值,否则等于 `defaultContextWindow`。 */
127
+ contextWindow: number;
128
+ /** 调用方不指定时,本线路请求的输出上限(目录不报输出上限,取文档化的上游上限)。 */
129
+ defaultMaxTokens: number;
130
+ /** 该模型**真实**接受的思考档位;空数组表示它不接受 `reasoning_effort`。 */
131
+ reasoningEfforts: readonly QoderReasoningEffort[];
132
+ /** 思考能否关闭。与上一条正交:档位非空而本项为 false = 恒定开启。 */
133
+ thinkingDisableable: boolean;
134
+ /** 是否接受 image 输入(上游 `is_vl`)。 */
135
+ supportsImages: boolean;
136
+ /** 服务该模型的区域;同一个 id 在两区的可用性可能不同。 */
137
+ regions: readonly QoderRegion[];
138
+ /** 上游描述;目录没有时为 null。 */
139
+ description: string | null;
140
+ }
141
+ /**
142
+ * 一个池内账号的展示行。
143
+ *
144
+ * 扩展共享的 `PoolAccountSummaryDto`,因此同样只带非机密信息:
145
+ * 这里没有任何字段派生自 job token、PAT 或刷新令牌,连 token 的片段也不给。
146
+ */
147
+ export interface QoderAccountSummaryDto extends PoolAccountSummaryDto {
148
+ /** 账号所属区域;区域属于凭据,池内可混有 global 与 cn。 */
149
+ region: QoderRegion;
150
+ /** 凭据来源:浏览器设备流 / 手动粘贴 PAT / adopt 本机登录态。 */
151
+ origin: 'device' | 'pat' | 'adopt';
152
+ /** 账号邮箱(非机密,上游 userinfo 自述);没有时缺省(与基类 `email?: string` 同形)。 */
153
+ email?: string;
154
+ /** 账号显示名(非机密);没有时缺省。 */
155
+ accountName?: string;
156
+ }
157
+ /**
158
+ * 设备流登录流程的实时状态,卡片轮询它。
159
+ *
160
+ * 这条线路**不开本地回调端口**:流程跑在 host 上,卡片只跟随这里
161
+ * (与其余各线路的登录面同构)。用户在浏览器里人工确认,host 轮询取回凭据。
162
+ *
163
+ * `authorizeUrl` 始终下发,即使 host 同时打开过浏览器——启动失败时用户还能手动打开。
164
+ */
165
+ export interface QoderLoginFlowStatus {
166
+ status: 'idle' | 'pending' | 'complete' | 'error';
167
+ /** 本次流程要登录的区域(设备流只会是 `global`,但如实记录)。 */
168
+ region?: QoderRegion;
169
+ /** 浏览器必须打开的授权页(`https://qoder.com/device/selectAccounts?…`,由 host 拼)。 */
170
+ authorizeUrl?: string;
171
+ startedAt?: number;
172
+ completedAt?: number;
173
+ /** 本地总超时换算出的绝对时刻(Unix 毫秒)。 */
174
+ expiresAt?: number;
175
+ /** 轮询间隔(秒);客户端据此显示「每 N 秒查询一次」。 */
176
+ pollIntervalSec?: number;
177
+ /** pending 阶段的人类可读进度。 */
178
+ progress?: string;
179
+ /** 流程完成后拿到的账号标识(上游 `user_id`)。 */
180
+ uid?: string;
181
+ /** 失败原因(面向用户,不是堆栈)。 */
182
+ error?: string;
183
+ /** 本次失败是否值得自动重试(传输类失败为 true,协议类与用户取消为 false)。 */
184
+ retryable?: boolean;
185
+ }
186
+ /** 设置面接受的补丁。 */
187
+ export interface QoderSettingsUpdateDto {
188
+ enabled?: boolean;
189
+ enabledModelIds?: string[];
190
+ /** 数字表示为该模型设置覆盖值;`null` 恢复目录默认。 */
191
+ contextWindowOverrides?: Record<string, number | null>;
192
+ /** `null` 表示各模型用自己的默认档位。 */
193
+ defaultReasoningEffort?: QoderReasoningEffort | null;
194
+ /** 手动指定下一个请求使用的账号;`null` 交回号池调度。 */
195
+ selectedAccountId?: string | null;
196
+ }
197
+ /** 显式连通性测试的结果。 */
198
+ export interface QoderConnectionDto {
199
+ connected: boolean;
200
+ /** 探测请求的往返耗时。 */
201
+ latencyMs: number;
202
+ /** 探测用到的账号;未登录时为 null。 */
203
+ account: QoderAccountSummaryDto | null;
204
+ /** 探测所用的目录首行模型 id;读不到时为 null。 */
205
+ model: string | null;
206
+ checkedAt: number;
207
+ /** 失败原因(面向用户)。 */
208
+ error?: string;
209
+ }
210
+ /**
211
+ * adopt(本机已登录的 qodercli 客户端登录态)的一次尝试结果。
212
+ *
213
+ * adopt 只是省一次登录的快捷路径,**失败永不阻断**:每个 `reason` 对应一种
214
+ * 「换一条路登录」的说明,卡片据此给出不同的下一步。
215
+ */
216
+ export interface QoderAdoptResultDto {
217
+ /** 是否真的尝试了 adopt(没找到凭据文件时为 false)。 */
218
+ attempted: boolean;
219
+ /** 是否拿到可用登录态。 */
220
+ adopted: boolean;
221
+ /**
222
+ * 失败原因。
223
+ *
224
+ * `unsupported-shape` 是「读懂了但没有认出的字段组合」;`not-a-qoder-login` 是
225
+ * 「文件在、能解密,但里面没有 access_token」;`region-unresolved` 是「解密成功但
226
+ * 两个区域的 userinfo 都不认这把 token」——三者的下一步不同,所以分开。
227
+ */
228
+ reason?: 'no-credentials-file' | 'invalid-credentials' | 'unsupported-shape' | 'not-a-qoder-login' | 'region-unresolved';
229
+ /** 成功时采用的区域。 */
230
+ region?: QoderRegion;
231
+ }
232
+ /**
233
+ * 本进程累计的缓存用量(**只读展示**,不含任何金额)。
234
+ *
235
+ * 只放 token:Qoder 订阅没有公开的 token 单价(计划 §5),卡片能诚实给出的只有
236
+ * 「读入多少、写出多少、样本多大」。命中率由客户端算——**分母为 0 时是「还不知道」,
237
+ * 不是「一个都没命中」**,因此这个 DTO 不带百分比字段。
238
+ *
239
+ * 与 step-code 不同,本线路的写侧**不**恒为 0:上游的
240
+ * `prompt_tokens_details.cache_write_tokens` 可能真的报数(pi-provider `stream.ts`
241
+ * 的 usage 解析),所以写侧如实累计,不发「恒零」声明。
242
+ */
243
+ export interface QoderCacheStatsDto {
244
+ /** 缓存读入 token(`prompt_tokens_details.cached_tokens`)。 */
245
+ cacheReadTokens: number;
246
+ /** 未命中的输入 token:本轮聚合 prompt 减去缓存读入与写入的那部分。 */
247
+ missedInputTokens: number;
248
+ /** 缓存写入 token(`prompt_tokens_details.cache_write_tokens`;上游没报就是 0)。 */
249
+ cacheWriteTokens: number;
250
+ /** 这些数字覆盖了几次请求;样本未知时为 null。 */
251
+ requests: number | null;
252
+ }
253
+ /**
254
+ * 设置卡片与 composer 徽标渲染所需的全部状态。
255
+ *
256
+ * 继承共享的号池切片,因此每条元素只带非机密展示信息;令牌永远不过这条边界。
257
+ */
258
+ export interface QoderStatusDto extends Partial<AccountPoolStatusDto> {
259
+ /** 线路总开关;关闭时适配器不暴露任何模型。 */
260
+ enabled?: boolean;
261
+ authenticated: boolean;
262
+ hasCredentials: boolean;
263
+ providerId: typeof QODER_PROVIDER_ID;
264
+ /** 凭据存储位置说明(Windows DPAPI / macOS Keychain / Linux SecretService)。 */
265
+ storagePath: string;
266
+ /** 下一次登录要用的区域(设备流只在全球区开放)。 */
267
+ region: QoderRegion;
268
+ account: QoderAccountSummaryDto | null;
269
+ /** 无可用快照时为 null,UI 应优雅降级。 */
270
+ quota: QoderQuotaSnapshotDto | null;
271
+ lastFetchedAt: number | null;
272
+ /** 本次应答背后是否正在刷新额度。 */
273
+ quotaRefreshing?: boolean;
274
+ /** 额度读取失败的原因;与快照并列给出,而不是互相取代。 */
275
+ quotaError?: string | null;
276
+ models: QoderModelOption[];
277
+ contextWindowOverrides: Record<string, number>;
278
+ defaultReasoningEffort: QoderReasoningEffort | null;
279
+ /** 当前进行中的登录流程;无流程时为 null。 */
280
+ login?: QoderLoginFlowStatus | null;
281
+ /**
282
+ * 本进程累计的缓存用量;尚无样本时为 undefined。
283
+ *
284
+ * 客户端把「未下发」与「下发了一个 0」分开渲染(占位符 vs 真实的 0%),
285
+ * 所以这里刻意是可选的:缺失表达的是「还不知道」,不是「没有命中」。
286
+ */
287
+ cacheStats?: QoderCacheStatsDto;
288
+ /** 本插件是否正在服务该 Provider 路由。 */
289
+ serving: boolean;
290
+ /** 路由被别的适配器占用时的诊断文案。 */
291
+ conflict: string | null;
292
+ }
293
+ //# sourceMappingURL=qoder-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qoder-contracts.d.ts","sourceRoot":"","sources":["../../../src/shared/qoder-contracts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eddyskywalker/dsh-chatgpt-subscription",
3
- "version": "0.32.0",
3
+ "version": "0.33.0",
4
4
  "description": "DSH provider plugin for Codex access through a ChatGPT subscription.",
5
5
  "icon": "./icon.svg",
6
6
  "author": {