@eddyskywalker/dsh-chatgpt-subscription 0.45.0 → 0.46.1

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 (37) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/lib/client.js +19 -0
  3. package/lib/client.js.map +1 -1
  4. package/lib/index.js +883 -153
  5. package/lib/types/client/kimi-code/KimiCodeSection.d.ts.map +1 -1
  6. package/lib/types/client/kimi-code/locales.d.ts +11 -2
  7. package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
  8. package/lib/types/client/locales-ru/kimi-code.d.ts.map +1 -1
  9. package/lib/types/compat.d.ts +1 -1
  10. package/lib/types/host/cache-warmup/budget.d.ts +19 -4
  11. package/lib/types/host/cache-warmup/budget.d.ts.map +1 -1
  12. package/lib/types/host/cache-warmup/contracts.d.ts +13 -0
  13. package/lib/types/host/cache-warmup/contracts.d.ts.map +1 -1
  14. package/lib/types/host/cache-warmup/index.d.ts +2 -2
  15. package/lib/types/host/cache-warmup/index.d.ts.map +1 -1
  16. package/lib/types/host/cache-warmup/install.d.ts +14 -6
  17. package/lib/types/host/cache-warmup/install.d.ts.map +1 -1
  18. package/lib/types/host/cache-warmup/projection.d.ts.map +1 -1
  19. package/lib/types/host/cache-warmup/store.d.ts.map +1 -1
  20. package/lib/types/host/cache-warmup/usage.d.ts +10 -0
  21. package/lib/types/host/cache-warmup/usage.d.ts.map +1 -1
  22. package/lib/types/host/cline-pass/adapter.d.ts.map +1 -1
  23. package/lib/types/host/cline-pass/mapper.d.ts +10 -0
  24. package/lib/types/host/cline-pass/mapper.d.ts.map +1 -1
  25. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  26. package/lib/types/host/kimi-code/routes.d.ts.map +1 -1
  27. package/lib/types/host/kimi-code/session-cache-state.d.ts +12 -0
  28. package/lib/types/host/kimi-code/session-cache-state.d.ts.map +1 -1
  29. package/lib/types/host/opendesign/adapter.d.ts +15 -0
  30. package/lib/types/host/opendesign/adapter.d.ts.map +1 -1
  31. package/lib/types/host/opendesign/mapper.d.ts +50 -3
  32. package/lib/types/host/opendesign/mapper.d.ts.map +1 -1
  33. package/lib/types/host/responses-client.d.ts.map +1 -1
  34. package/lib/types/index.d.ts.map +1 -1
  35. package/lib/types/shared/kimi-code-contracts.d.ts +13 -0
  36. package/lib/types/shared/kimi-code-contracts.d.ts.map +1 -1
  37. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.46.1 - 2026-10-29
6
+
7
+ - **[codex-chatgpt] Codex 请求在 TLS 握手/连接建立前失败时最多重试两次**
8
+ - **重试与上限**:`ResponsesClient` 对握手前失败(TLS 会话建立前断开、连接超时、`ECONNREFUSED`、`ENOTFOUND`/`EAI_AGAIN` 等 DNS 失败)最多重试 2 次,退避 400 ms / 800 ms;`AbortSignal` 触发时立即中止,不再重试。
9
+ - **不重放歧义失败**:`ECONNRESET`、`other side closed` 这类可能发生在请求已抵达 ChatGPT 之后的失败不在本层重放,保持原样报 `NETWORK`,避免重复提交 POST。
10
+ - **失败指引**:重试耗尽后错误信息附带「请求未抵达 ChatGPT」的提示,指向网络、代理/VPN/TUN 与插件代理设置,并继续保留完整 cause 链。
11
+ - **测试**:新增 3 例覆盖握手前失败后恢复、重试次数上限与歧义失败零重放。
12
+
13
+ ## 0.46.0 - 2026-10-29
14
+
15
+ - **[kimi-code] `cache-warmup` 预热与结果投影全面增强:双轨稳态判据、空闲 TTL 回退、JSON 转义全链路加固与 59 个真实会话重放纠偏**
16
+ - **双轨稳态判据与空闲 TTL 回退**:新增 `isWarmupHitReport` 双轨命中判定——除原有的 `hitRatio >= 0.97` 外,当已缓存前缀 $\ge 1024$ tokens、相比紧邻上一轮无漂移报告一字未缩水(`cached >= prev.cached`)且单轮新增未命中 `inputTokens <= 256`(对齐 Kimi 256-token 缓存块)时同样计入连续命中,解决短会话因分母小无法退出预热期的问题;同时新增 `cacheTtlMs = 25 * 60 * 1000`,空闲超过 25 分钟时自动将预算退回 `1200` 字符。
17
+ - **拦截工具扩展与细粒度投影**:`CACHE_WARMUP_SOURCE_TOOLS` 扩展覆盖 `run_code`、`win_bash`、`bash`、`pwsh`、`job_output`;支持 PTC `run_code` JSON Envelope 白名单日志字段(`stdout`/`stderr`/`output`/`logs`/`log`)局部替换为 preview 并保留外层 JSON 结构;`buildShellSections` 支持连带提取 TypeScript `error TSxxxx` 紧随其后的最多 6 行缩进类型差异详情。
18
+ - **JSON 转义全链路与单行 JSON 分页**:使用 `JSON.stringify(line).length` 精确计量 JSON Envelope 内嵌行的转义膨胀宽度并在落盘前校验总长度;解码后自动剥离终端 ANSI 颜色控制符与 `\r`;支持顶层 JSON 字符串与双重 JSON 序列化解包;`store.ts` 对无真实换行的单行 minified JSON 按奇偶反斜杠回溯识别逻辑转义换行 `\n`,使 `limit: 64` 行上限生效且多页拼接后与原文逐字节相等。
19
+ - **真实会话重放防误伤加固**:经 59 个真实会话(2,903 条工具结果)全量重放检验,新增带行号源码切片(`1: `、`1\t`、`1| `、`50- `)与 `git diff` 补丁保护、内嵌 JSON/混合证据识别、Tab/竖线分隔 `grep` 识别、TSV 表头符号校验、JSONL 最小 5 行同构键校验,以及单纯文件路径行(如 `stream-error.ts`)与测试通过行(`PASS` / `✓` / `✔`)过滤,实现源码、契约与混合证据 **0 误压**。
20
+ - **预热状态持久化与设置页展示**:`SessionCacheStateStore.noteWarmupStreak` 原地持久化 `warmupConsecutiveHits`,重启且未满 25 分钟时通过 `durableHint` 自动恢复稳态;Kimi 设置页「缓存与 K3 调优」卡片新增「结果预览预算」行(中/英/俄三语对齐)。
21
+
22
+ - **[opendesign / cline-pass] 流式解析与错误分类加固**
23
+ - 加固 OpenDesign 与 Cline Pass 线路的流式 SSE 帧解析、空闲/中断边界处理及测试覆盖(`5031549`)。
24
+
5
25
  ## 0.45.0 - 2026-10-28
6
26
 
7
27
  - **[kimi-code] 新增 `cache-warmup` 子包:稳定前缀下快速预热、保守结果投影与原文引用**
package/lib/client.js CHANGED
@@ -4953,6 +4953,9 @@ window.__ModuleLoader__.load({
4953
4953
  cacheOutput: "输出 tokens",
4954
4954
  cacheRequests: "请求数",
4955
4955
  cacheWrite: "缓存写入",
4956
+ cacheWarmupLabel: "结果预览预算",
4957
+ cacheWarmupWarming: "预热中 ({hits}/{required}) · 上限 {chars} 字符",
4958
+ cacheWarmupSettled: "稳态 ({hits}/{required}) · 上限 {chars} 字符",
4956
4959
  unknownMetric: "暂无",
4957
4960
  cacheExpired: "本会话已空闲超过缓存有效期,下一轮将重新处理约 {tokens} 个 token。",
4958
4961
  cacheDrift: "最近前缀状态",
@@ -5118,6 +5121,9 @@ window.__ModuleLoader__.load({
5118
5121
  cacheOutput: "Output tokens",
5119
5122
  cacheRequests: "Requests",
5120
5123
  cacheWrite: "Cache writes",
5124
+ cacheWarmupLabel: "Result preview budget",
5125
+ cacheWarmupWarming: "Warming up ({hits}/{required}) · cap {chars} chars",
5126
+ cacheWarmupSettled: "Steady state ({hits}/{required}) · cap {chars} chars",
5121
5127
  unknownMetric: "n/a",
5122
5128
  cacheDrift: "Last prefix state",
5123
5129
  cacheDriftFirst: "First request (cache cold)",
@@ -6284,6 +6290,16 @@ window.__ModuleLoader__.load({
6284
6290
  className: "dsha-value",
6285
6291
  children: tokenCount(status.cache.cacheWriteTokens, t)
6286
6292
  })]
6293
+ }),
6294
+ status.cache.warmup !== void 0 && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
6295
+ className: "dsha-row",
6296
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
6297
+ className: "dsha-label",
6298
+ children: t.cacheWarmupLabel
6299
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
6300
+ className: "dsha-value",
6301
+ children: (status.cache.warmup.warmup ? t.cacheWarmupWarming : t.cacheWarmupSettled).replace("{hits}", String(status.cache.warmup.consecutiveHits)).replace("{required}", String(status.cache.warmup.requiredHits)).replace("{chars}", status.cache.warmup.maxChars.toLocaleString())
6302
+ })]
6287
6303
  })
6288
6304
  ]
6289
6305
  })
@@ -20567,6 +20583,9 @@ window.__ModuleLoader__.load({
20567
20583
  cacheOutput: "Выходные токены",
20568
20584
  cacheRequests: "Запросы",
20569
20585
  cacheWrite: "Запись в кеш",
20586
+ cacheWarmupLabel: "Бюджет превью результатов",
20587
+ cacheWarmupWarming: "Прогрев ({hits}/{required}) · лимит {chars} симв.",
20588
+ cacheWarmupSettled: "Стабильный режим ({hits}/{required}) · лимит {chars} симв.",
20570
20589
  unknownMetric: "нет данных",
20571
20590
  cacheExpired: "Сессия простаивала дольше времени жизни кеша, поэтому следующий ход заново обработает около {tokens} токенов.",
20572
20591
  cacheDrift: "Состояние последнего префикса",