@eddyskywalker/dsh-chatgpt-subscription 0.1.10 → 0.1.12

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 (45) hide show
  1. package/CHANGELOG.md +9 -50
  2. package/README.md +17 -7
  3. package/lib/client.js +442 -28
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +718 -247
  6. package/lib/types/client/CodexComposerQuota.d.ts +13 -0
  7. package/lib/types/client/CodexComposerQuota.d.ts.map +1 -0
  8. package/lib/types/client/CodexImageToolView.d.ts +10 -0
  9. package/lib/types/client/CodexImageToolView.d.ts.map +1 -0
  10. package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
  11. package/lib/types/client/api.d.ts +2 -1
  12. package/lib/types/client/api.d.ts.map +1 -1
  13. package/lib/types/client/index.d.ts.map +1 -1
  14. package/lib/types/client/locales.d.ts +168 -114
  15. package/lib/types/client/locales.d.ts.map +1 -1
  16. package/lib/types/client/quota.d.ts +9 -0
  17. package/lib/types/client/quota.d.ts.map +1 -0
  18. package/lib/types/client/styles.d.ts.map +1 -1
  19. package/lib/types/compat.d.ts +7 -0
  20. package/lib/types/compat.d.ts.map +1 -1
  21. package/lib/types/host/codex-images.d.ts +9 -0
  22. package/lib/types/host/codex-images.d.ts.map +1 -0
  23. package/lib/types/host/codex-search.d.ts +11 -0
  24. package/lib/types/host/codex-search.d.ts.map +1 -0
  25. package/lib/types/host/model-catalog.d.ts.map +1 -1
  26. package/lib/types/host/preferences.d.ts +12 -0
  27. package/lib/types/host/preferences.d.ts.map +1 -0
  28. package/lib/types/host/responses-mapper.d.ts.map +1 -1
  29. package/lib/types/host/routes.d.ts +2 -1
  30. package/lib/types/host/routes.d.ts.map +1 -1
  31. package/lib/types/host/search-provider-switcher.d.ts +15 -0
  32. package/lib/types/host/search-provider-switcher.d.ts.map +1 -0
  33. package/lib/types/host/usage-service.d.ts +2 -1
  34. package/lib/types/host/usage-service.d.ts.map +1 -1
  35. package/lib/types/index.d.ts +3 -1
  36. package/lib/types/index.d.ts.map +1 -1
  37. package/lib/types/shared/contracts.d.ts +40 -3
  38. package/lib/types/shared/contracts.d.ts.map +1 -1
  39. package/lib/types/shared/model-catalog.d.ts +81 -0
  40. package/lib/types/shared/model-catalog.d.ts.map +1 -0
  41. package/lib/types/shared/preferences.d.ts +7 -0
  42. package/lib/types/shared/preferences.d.ts.map +1 -0
  43. package/package.json +126 -107
  44. package/lib/types/host/subagent-report-scheduling-compat.d.ts +0 -21
  45. package/lib/types/host/subagent-report-scheduling-compat.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,50 +1,9 @@
1
- # Changelog
2
-
3
- ## 0.1.10 - 2026-08-17
4
-
5
- - 移除临时 Bash Prompt 兼容模块:由于上游 DSH `0.1.0-rc.7` 已经原生修复持久化 Bash 提示符不匹配与重置问题,现按照标记 `DSH_COMPAT_REMOVE(persistent-bash-prompt-mismatch)` 安全移除全部相关兼容代码与测试。保留子代理报告去重兼容模块 `DSH_COMPAT_REMOVE(subagent-report-settlement-dedup)`。
6
- - 增强 Responses Mapper DSH `0.1.0-rc.7` 中新版规范 `ReplayEnvelope` 嵌套结构(`response.outputItems`)的兼容解构支持。
7
-
8
- ## 0.1.8 - 2026-08-17
9
-
10
- - 修复 Cordis 插件依赖安全检查:使用 `ctx.inject(['terminals'], ...)` 作用域安全声明,解决在未加载 terminals 服务的 Profile 或非终端环境下直接访问 `ctx.terminals` 抛出 `cannot get property "terminals" without inject` 的启动崩溃问题。
11
-
12
- ## 0.1.7 - 2026-08-17
13
-
14
- - 临时兼容 DSH `0.1.0-rc.6` 持久化 Bash 提示符不匹配(70倍命令提速):修补 PTY 会话在 `tool-bash-persistent` 设置 `__DSH_PERSISTENT_BASH_PROMPT__ ` 时的就绪判定,避免因底层硬编码 `dsh> ` 及 6 字符截断导致回退到 3.5 秒静默超时。代码统一标记为 `DSH_COMPAT_REMOVE(persistent-bash-prompt-mismatch)`,待 DSH 原生修复后可整体移除。
15
-
16
- ## 0.1.6 - 2026-08-17
17
-
18
- - 临时兼容 DSH `0.1.0-rc.6` 的子代理报告去重:当 `subagent-settled` 已携带与同一子代理排队 `subagent-report` 完全相同的最终内容时,删除重复报告,保留 settlement 通知;部分报告、不同内容和不同子代理不受影响。代码统一标记为 `DSH_COMPAT_REMOVE(subagent-report-settlement-dedup)`,待 DSH 原生修复后可整体移除。
19
- - 新增 Linux Host 支持:平台凭据存储选择、用户私有 `0600` TokenStore,以及 Bash/POSIX shell 工具调用兼容说明与测试。
20
- - 设置页现在根据 Host 返回值展示 Windows DPAPI 或 Linux 文件存储及其真实安全边界。
21
- - 移除与 Codex 订阅接入无关的执行过程详情折叠功能。
22
-
23
- ## 0.1.2 - 2026-08-16
24
-
25
- - 优化过程详情折叠(Process folding)的初始化时机与节点匹配探测逻辑。
26
- - 增强客户端 DOM 观察与挂载测试用例覆盖。
27
-
28
- ## 0.1.1 - 2026-08-16
29
-
30
- - 新增执行过程详情与思考过程的可折叠展示机制(Collapsible process detail folding)。
31
- - 增强客户端与服务端 Responses 过程解析及 UI 交互。
32
-
33
- ## 0.1.0 - 2026-08-16
34
-
35
- - 首个正式版本发布。
36
- - 完善客户端 UI 样式体系与 `@eddyskywalker` 命名空间配置。
37
- - 增强命令执行工具与无状态安全重试机制。
38
-
39
- ## 0.1.0-alpha.0 - 2026-08-14
40
-
41
- - 新增 DSH Host/Client 双端插件与一级“Codex 订阅”设置入口。
42
- - 新增 ChatGPT OAuth PKCE、localhost callback、DPAPI TokenStore、刷新和注销。
43
- - 新增 `codex-chatgpt` LLM Adapter、固定 Responses SSE、vision、reasoning 与工具调用映射。
44
- - 新增 401 单次刷新重试、DSH 有界 retry policy、取消与安全工具参数校验。
45
- - 新增 Wham usage 双 bucket/双窗口解析、缓存、节流、连接测试和可访问进度条。
46
- - 新增 OAuth、路由、DPAPI、Responses、额度与 Client 注册测试。
47
- - 修复 OAuth 失败详情被状态刷新清空、旧 keep-alive 回调连接复用,以及 refresh token 失效后重复尝试的问题;token exchange 现在显示脱敏错误标识。
48
- - 修复工具调用 replay 缺失时仍发送孤立 `function_call_output` 导致 Codex 返回 400;现在会补全调用配对,并安全处理被压缩历史中的孤立结果。
49
-
50
- 这是首个 prerelease;没有稳定版升级承诺。ChatGPT backend compatibility 可能随上游变化。
1
+ # Changelog
2
+
3
+ ## 0.1.12 - 2026-08-20
4
+
5
+ - 适配 DSH `0.1.0-rc.8`:peerDependencies / devDependencies 中全部 DSH 包范围从 `^0.1.0-rc.6` 提升至 `^0.1.0-rc.8`,并重新生成 package-lock.json。已在本机 rc.8 依赖集上验证:typecheck、55 项测试与 tsdown 构建全部通过,插件代码无需改动。
6
+ - 移除已无引用的 `@deepseek-ai/dsh-agent` peer 依赖(子代理报告去重兼容模块已于 0.1.11 移除)。
7
+ - 新增 `@deepseek-ai/dsh-client-connection` peer 依赖(客户端 `ContentBlock` 类型来源,符合 rc.8 客户端包 peer 声明惯例)。
8
+ - 说明:rc.8 中 `@deepseek-ai/dsh-client-ui-slots` 不再是 DSH 运行时依赖图成员(仅保留为各客户端包的 devDependency),插件继续将其声明为 peer 依赖以保证安装时解析(`^0.1.0-rc.6` 联网安装时解析到 rc.8;本地锁文件因离线环境暂固定 rc.7,API 与 rc.8 用法一致)。
9
+
package/README.md CHANGED
@@ -31,17 +31,27 @@
31
31
  - 固定 Codex Responses 地址,支持流式文本、reasoning summary、图片输入与工具调用/结果;
32
32
  - 原样转发 DSH 暴露的工具 schema;命令工具兼容 `pwsh` / `powershell`、`bash`、`sh` 与 `shell`,并按 PowerShell、Bash 或 POSIX sh 注入对应说明;
33
33
  - 429/5xx 由 DSH retry policy 接管;401 只强制刷新并重试一次,支持 `AbortSignal`;
34
- - CodexCode review 多窗口额度,60 秒缓存、15 秒上游节流并遵守 `Retry-After`;
35
- - 临时兼容 DSH `0.1.0-rc.6` 的子代理最终报告去重:若 settlement 已向父 Agent 提供同一子代理、完全相同的最终内容,则删除仍在 inbox 中的重复 report;部分报告、不同内容和不同子代理不受影响。兼容代码以 `DSH_COMPAT_REMOVE(subagent-report-settlement-dedup)` 集中标记,待 DSH 原生修复后删除。
34
+ - CodexCode review 及上游返回的额外窗口额度,支持 Credits、月度消费控制与 reset credits 展示;60 秒缓存、15 秒上游节流并遵守 `Retry-After`;
35
+ - 提供 ChatGPT 订阅侧 Codex 搜索 provider,可在设置页切换 DSH 默认搜索或 Codex 订阅搜索;
36
+ - 新增 `codex_image_generate` 工具,生成图片后通过 DSH 附件系统保存并在会话中渲染;
37
+ - 可选 composer 快捷用量徽标,按当前 `codex-chatgpt` 模型显示最紧张窗口的剩余额度。
36
38
 
37
39
  **设置页**
38
40
 
39
- - 展示账号(脱敏 email、套餐、账号 ID 后四位)、连接状态与额度;
41
+ - 展示账号(脱敏 email、套餐、账号 ID 后四位)、连接状态、额度与订阅增强功能开关;
40
42
  - 可访问的进度条、窄窗口/200% 缩放布局、深浅主题与 reduced-motion。
41
43
 
42
44
  ## 模型目录
43
45
 
44
- `gpt-5.6-sol`、`gpt-5.6-terra`、`gpt-5.6-luna`、`gpt-5.5`、`gpt-5.4`、`gpt-5.4-mini`、`gpt-5.2`
46
+ | 显示名 | 模型 slug |
47
+ | --- | --- |
48
+ | 5.6 Sol | `gpt-5.6-sol` |
49
+ | 5.6 Terra | `gpt-5.6-terra` |
50
+ | 5.6 Luna | `gpt-5.6-luna` |
51
+ | 5.5 | `gpt-5.5` |
52
+ | 5.4 | `gpt-5.4` |
53
+ | 5.4 Mini | `gpt-5.4-mini` |
54
+ | 5.3 Codex Spark | `gpt-5.3-codex-spark` |
45
55
 
46
56
  > 目录只用于展示;账号实际可用的模型由 ChatGPT 套餐、workspace 策略与上游兼容状态决定。
47
57
 
@@ -113,7 +123,7 @@ DSH 模型选择器应显示 **“Codex(ChatGPT 订阅)”**。
113
123
 
114
124
  - OAuth 回调固定为 `http://localhost:1455/auth/callback`,登录任务五分钟超时,同一时刻只允许一个;
115
125
  - OAuth token 只发送到 `https://auth.openai.com/oauth/token`;
116
- - 模型与额度地址分别固定为 `https://chatgpt.com/backend-api/codex/responses` 和 `https://chatgpt.com/backend-api/wham/usage`,没有 endpoint override;
126
+ - 模型、图片、搜索与额度地址分别固定为 `https://chatgpt.com/backend-api/codex/responses`、`https://chatgpt.com/backend-api/codex/images/generations`、`https://chatgpt.com/backend-api/codex/alpha/search` 和 `https://chatgpt.com/backend-api/wham/usage`,没有 endpoint override;
117
127
  - Windows token bundle 使用 CurrentUser DPAPI;明文只经过 Host 内存和 PowerShell stdin/stdout;
118
128
  - Linux token bundle 原子写入当前用户私有文件并在读取时校验普通文件、所有者与 `0600` 权限,同时拒绝符号链接;该文件没有应用层加密,同 UID 进程、root、备份和磁盘快照仍可读取;
119
129
  - 两个平台的 token 都不会进入浏览器、`settings.yaml` 或日志;
@@ -134,6 +144,7 @@ DSH 模型选择器应显示 **“Codex(ChatGPT 订阅)”**。
134
144
  | POST | `/token/refresh` | 刷新 token |
135
145
  | POST | `/quota/refresh` | 刷新额度 |
136
146
  | POST | `/connection/test` | 测试连接 |
147
+ | POST | `/preferences/update` | 更新搜索来源和 composer 快捷用量偏好 |
137
148
 
138
149
  状态响应只包含脱敏 email、套餐、账号 ID 后四位、token 到期时间和额度 DTO。
139
150
 
@@ -159,5 +170,4 @@ npm pack --dry-run
159
170
  | 模型不可用 | 检查 ChatGPT 套餐、workspace 权限与当前模型可用性 |
160
171
  | DPAPI 读取失败 | 确认 DSH 以创建凭据时的同一 Windows 用户运行;必要时清理凭据后重新登录 |
161
172
  | Linux 凭据存储不可用 | 确认凭据属于当前用户且权限为 `0600`,父目录权限为 `0700`;修复权限或注销后重新登录 |
162
- | Linux 上工具调用语法错误 | 确认 DSH 暴露的是 `bash`、`sh` 或 `shell`,并使用相应的 Bash/POSIX 语法与 `/` 路径 |
163
- | 父 Agent 已收到子代理结果,但相同报告仍显示为排队消息 | 本插件为 DSH `0.1.0-rc.6` 提供临时 report/settlement 精确去重;升级或重载插件并新建会话后验证。若未来 DSH 已原生修复,可移除所有 `DSH_COMPAT_REMOVE(subagent-report-settlement-dedup)` 标记代码 |
173
+ | Linux 上工具调用语法错误 | 确认 DSH 暴露的是 `bash`、`sh` 或 `shell`,并使用相应的 Bash/POSIX 语法与 `/` 路径 |