@eddyskywalker/dsh-chatgpt-subscription 0.44.0 → 0.46.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 (47) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/lib/client.js +32 -0
  3. package/lib/client.js.map +1 -1
  4. package/lib/index.js +2888 -93
  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 +79 -0
  11. package/lib/types/host/cache-warmup/budget.d.ts.map +1 -0
  12. package/lib/types/host/cache-warmup/contracts.d.ts +280 -0
  13. package/lib/types/host/cache-warmup/contracts.d.ts.map +1 -0
  14. package/lib/types/host/cache-warmup/index.d.ts +21 -0
  15. package/lib/types/host/cache-warmup/index.d.ts.map +1 -0
  16. package/lib/types/host/cache-warmup/install.d.ts +138 -0
  17. package/lib/types/host/cache-warmup/install.d.ts.map +1 -0
  18. package/lib/types/host/cache-warmup/logging.d.ts +120 -0
  19. package/lib/types/host/cache-warmup/logging.d.ts.map +1 -0
  20. package/lib/types/host/cache-warmup/projection.d.ts +29 -0
  21. package/lib/types/host/cache-warmup/projection.d.ts.map +1 -0
  22. package/lib/types/host/cache-warmup/result-tool.d.ts +87 -0
  23. package/lib/types/host/cache-warmup/result-tool.d.ts.map +1 -0
  24. package/lib/types/host/cache-warmup/settings.d.ts +73 -0
  25. package/lib/types/host/cache-warmup/settings.d.ts.map +1 -0
  26. package/lib/types/host/cache-warmup/store.d.ts +108 -0
  27. package/lib/types/host/cache-warmup/store.d.ts.map +1 -0
  28. package/lib/types/host/cache-warmup/usage.d.ts +96 -0
  29. package/lib/types/host/cache-warmup/usage.d.ts.map +1 -0
  30. package/lib/types/host/cline-pass/adapter.d.ts.map +1 -1
  31. package/lib/types/host/cline-pass/mapper.d.ts +10 -0
  32. package/lib/types/host/cline-pass/mapper.d.ts.map +1 -1
  33. package/lib/types/host/kimi-code/adapter.d.ts.map +1 -1
  34. package/lib/types/host/kimi-code/routes.d.ts.map +1 -1
  35. package/lib/types/host/kimi-code/session-cache-state.d.ts +12 -0
  36. package/lib/types/host/kimi-code/session-cache-state.d.ts.map +1 -1
  37. package/lib/types/host/opendesign/adapter.d.ts +15 -0
  38. package/lib/types/host/opendesign/adapter.d.ts.map +1 -1
  39. package/lib/types/host/opendesign/mapper.d.ts +50 -3
  40. package/lib/types/host/opendesign/mapper.d.ts.map +1 -1
  41. package/lib/types/index.d.ts +11 -0
  42. package/lib/types/index.d.ts.map +1 -1
  43. package/lib/types/shared/kimi-code-contracts.d.ts +13 -0
  44. package/lib/types/shared/kimi-code-contracts.d.ts.map +1 -1
  45. package/lib/types/shared/model-catalog.d.ts +12 -1
  46. package/lib/types/shared/model-catalog.d.ts.map +1 -1
  47. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,31 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.46.0 - 2026-10-29
6
+
7
+ - **[kimi-code] `cache-warmup` 预热与结果投影全面增强:双轨稳态判据、空闲 TTL 回退、JSON 转义全链路加固与 59 个真实会话重放纠偏**
8
+ - **双轨稳态判据与空闲 TTL 回退**:新增 `isWarmupHitReport` 双轨命中判定——除原有的 `hitRatio >= 0.97` 外,当已缓存前缀 $\ge 1024$ tokens、相比紧邻上一轮无漂移报告一字未缩水(`cached >= prev.cached`)且单轮新增未命中 `inputTokens <= 256`(对齐 Kimi 256-token 缓存块)时同样计入连续命中,解决短会话因分母小无法退出预热期的问题;同时新增 `cacheTtlMs = 25 * 60 * 1000`,空闲超过 25 分钟时自动将预算退回 `1200` 字符。
9
+ - **拦截工具扩展与细粒度投影**:`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 行缩进类型差异详情。
10
+ - **JSON 转义全链路与单行 JSON 分页**:使用 `JSON.stringify(line).length` 精确计量 JSON Envelope 内嵌行的转义膨胀宽度并在落盘前校验总长度;解码后自动剥离终端 ANSI 颜色控制符与 `\r`;支持顶层 JSON 字符串与双重 JSON 序列化解包;`store.ts` 对无真实换行的单行 minified JSON 按奇偶反斜杠回溯识别逻辑转义换行 `\n`,使 `limit: 64` 行上限生效且多页拼接后与原文逐字节相等。
11
+ - **真实会话重放防误伤加固**:经 59 个真实会话(2,903 条工具结果)全量重放检验,新增带行号源码切片(`1: `、`1\t`、`1| `、`50- `)与 `git diff` 补丁保护、内嵌 JSON/混合证据识别、Tab/竖线分隔 `grep` 识别、TSV 表头符号校验、JSONL 最小 5 行同构键校验,以及单纯文件路径行(如 `stream-error.ts`)与测试通过行(`PASS` / `✓` / `✔`)过滤,实现源码、契约与混合证据 **0 误压**。
12
+ - **预热状态持久化与设置页展示**:`SessionCacheStateStore.noteWarmupStreak` 原地持久化 `warmupConsecutiveHits`,重启且未满 25 分钟时通过 `durableHint` 自动恢复稳态;Kimi 设置页「缓存与 K3 调优」卡片新增「结果预览预算」行(中/英/俄三语对齐)。
13
+
14
+ - **[opendesign / cline-pass] 流式解析与错误分类加固**
15
+ - 加固 OpenDesign 与 Cline Pass 线路的流式 SSE 帧解析、空闲/中断边界处理及测试覆盖(`5031549`)。
16
+
17
+ ## 0.45.0 - 2026-10-28
18
+
19
+ - **[kimi-code] 新增 `cache-warmup` 子包:稳定前缀下快速预热、保守结果投影与原文引用**
20
+ - **实现**:新增 `src/host/cache-warmup/`,提供内容寻址原文存储、UTF-8/结构化分页、完整失败集与日志投影、预热预算、真实 Kimi 用量观测、`cache_warmup_result` 精确补读、设置开关及脱敏结构化日志;`cacheWarmup` 默认开启且只影响新结果。
21
+ - **保护**:不改 promptCacheKey、replay、动态工具 in-history 或漂移保护;旧历史永不回写,原始 `value` 保留,`stable`/`first-request` 不再被误判为漂移,真实 drift 仍立即收回预算。
22
+ - **准确性**:源码、契约、完整或被截断的 JSON、混合证据与未知大文本保持原样;只有可完整提取的日志/结构化结果生成 preview,完整失败集装不下时回退原文。
23
+ - **验证**:六份相关测试 104 passed / 1 skipped;全量 Vitest 309 files / 5093 tests passed(9 skipped);typecheck、build、pack dry-run、npm ci dry-run 全过。真实 110 条工具结果重放仅 1 条测试日志被投影。
24
+ - **真实 Kimi**:k3.1-pro 第二次请求命中率 97.66%(达到 97% 目标,但仅一次达标,未满足连续两次),第三次 95.52%,控制器保持保守预算;三次额度内未证明进入稳态,详见 `docs/cache-warmup.md`。
25
+
26
+ - **[codex-chatgpt] 随包兜底目录补齐 GPT 6.1 Terra (#76)**
27
+ - 新增 `gpt-6.1-terra` / `6.1 Terra` 并默认可见,沿用 GPT-6 的上下文、输出预留、图像输入和推理能力;实时 `/backend-api/codex/models` 发现链路保持不变。
28
+ - 补齐适配器目录、GPT-6 能力与设置页渲染回归覆盖;PR #77。
29
+
5
30
  ## 0.44.0 - 2026-10-27
6
31
 
7
32
  - **[packaging] 「进展更新」拆成独立组件:同包第二行,可在插件管理页单独关闭**
package/lib/client.js CHANGED
@@ -743,6 +743,18 @@ window.__ModuleLoader__.load({
743
743
  supportsOutputVerbosity: true,
744
744
  defaultOutputVerbosity: "low"
745
745
  },
746
+ {
747
+ id: "gpt-6.1-terra",
748
+ name: "6.1 Terra",
749
+ contextWindow: GPT_6_DEFAULT_CONTEXT_WINDOW,
750
+ inputModalities: ["text", "image"],
751
+ defaultReasoningEffort: "medium",
752
+ reasoningProfile: "gpt-6",
753
+ supportsReasoningSummary: true,
754
+ maxTokens: GPT_6_MAX_TOKENS,
755
+ supportsOutputVerbosity: true,
756
+ defaultOutputVerbosity: "low"
757
+ },
746
758
  {
747
759
  id: "gpt-6-sol",
748
760
  name: "6 Sol",
@@ -834,6 +846,7 @@ window.__ModuleLoader__.load({
834
846
  const DEFAULT_VISIBLE_CODEX_MODEL_IDS = [
835
847
  "gpt-6-astra",
836
848
  "gpt-6.1-sol",
849
+ "gpt-6.1-terra",
837
850
  "gpt-6-sol",
838
851
  "gpt-6-luna",
839
852
  "gpt-5.6-sol",
@@ -4940,6 +4953,9 @@ window.__ModuleLoader__.load({
4940
4953
  cacheOutput: "输出 tokens",
4941
4954
  cacheRequests: "请求数",
4942
4955
  cacheWrite: "缓存写入",
4956
+ cacheWarmupLabel: "结果预览预算",
4957
+ cacheWarmupWarming: "预热中 ({hits}/{required}) · 上限 {chars} 字符",
4958
+ cacheWarmupSettled: "稳态 ({hits}/{required}) · 上限 {chars} 字符",
4943
4959
  unknownMetric: "暂无",
4944
4960
  cacheExpired: "本会话已空闲超过缓存有效期,下一轮将重新处理约 {tokens} 个 token。",
4945
4961
  cacheDrift: "最近前缀状态",
@@ -5105,6 +5121,9 @@ window.__ModuleLoader__.load({
5105
5121
  cacheOutput: "Output tokens",
5106
5122
  cacheRequests: "Requests",
5107
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",
5108
5127
  unknownMetric: "n/a",
5109
5128
  cacheDrift: "Last prefix state",
5110
5129
  cacheDriftFirst: "First request (cache cold)",
@@ -6271,6 +6290,16 @@ window.__ModuleLoader__.load({
6271
6290
  className: "dsha-value",
6272
6291
  children: tokenCount(status.cache.cacheWriteTokens, t)
6273
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
+ })]
6274
6303
  })
6275
6304
  ]
6276
6305
  })
@@ -20554,6 +20583,9 @@ window.__ModuleLoader__.load({
20554
20583
  cacheOutput: "Выходные токены",
20555
20584
  cacheRequests: "Запросы",
20556
20585
  cacheWrite: "Запись в кеш",
20586
+ cacheWarmupLabel: "Бюджет превью результатов",
20587
+ cacheWarmupWarming: "Прогрев ({hits}/{required}) · лимит {chars} симв.",
20588
+ cacheWarmupSettled: "Стабильный режим ({hits}/{required}) · лимит {chars} симв.",
20557
20589
  unknownMetric: "нет данных",
20558
20590
  cacheExpired: "Сессия простаивала дольше времени жизни кеша, поэтому следующий ход заново обработает около {tokens} токенов.",
20559
20591
  cacheDrift: "Состояние последнего префикса",