@eddyskywalker/dsh-chatgpt-subscription 0.8.4 → 0.8.5
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.
- package/CHANGELOG.md +9 -0
- package/lib/index.js +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
- **修复 issue #18:在 DSH Desktop 0.1.7-rc.2 启用本插件时报 `fiber state 5`、导致三条 web 行「未激活」**。报错原文是 `dsh: warning: 3 entries did not activate`,点名 `web`、`web-search-deepseek`、`web-fetch-http`,且**只有装了本插件才会出现**。根因是**启用路径上的启动时序**,不是本插件把 `web` 弄坏了。
|
|
6
|
+
- **`fiber state 5` 是 `UNLOADING`**(`FiberState`:0 PENDING / 1 LOADING / 2 ACTIVE / 3 FAILED / 4 DISPOSED / 5 UNLOADING)。harness 的 `inactiveEntries()`(`packages/boot/app-boot/src/index.ts:857`)把任何非 ACTIVE / PENDING / FAILED 的行渲染成 `fiber state N`;「未激活」是它对**卸载中**这一瞬态的措辞,不是加载失败。
|
|
7
|
+
- **为什么是这三行**:`web-search-deepseek` 与 `web-fetch-http` 都 `inject: ['web']`,所以 `web` 一旦重启,它们必然跟着卸载。它们是**被牵连**的,不是各自出错的。
|
|
8
|
+
- **触发链**:本插件在 `ctx.inject(['web'], ...)` 里注册 provider 后立刻调用了 `applyWebProviders()`,它会改写 `web` 行的 config;改写 config 会让 `web` 重启(卸载 → 重新加载),从而把依赖它的两行一起卸下。这段代码跑在**整个 profile 合成的同一个 loader update 里**,而宿主在合成 settle 的那一刻就会审计这棵树(`reconcileProfilePatches` 先 `Promise.allSettled(previousFibers)`、再 `loader.await()`,紧接 `inactiveEntries()`,`index.ts:290-292`)——于是这次重启被**读到一半**,报成三行未激活。
|
|
9
|
+
- **为什么只有部分用户遇到**:只有当 `resolveActiveProxyUrl() !== null`(机器上存在系统代理 / 环境代理)时才会改写 `web` config;报告者正是 Windows + 系统代理。没有代理时本插件不动 `web`,因此不重启、也就没有这条警告。这也解释了「不装本插件时 web 行正常」的对照实验。
|
|
10
|
+
- **修法**:把首次选择**推迟一个 macrotask**(`setTimeout(applyWebProviders, 0)`),让它落在宿主那次审计**之后**。注册 provider 本身仍然同步完成,所以注入不受影响;启动后的 readiness 回调、偏好变更与代理探测回调**都照旧**做 reconcile,最终状态不变。这是**时序修复**:被修的是一处启动竞态,配置的最终结果本来就正确(`test/web-provider-lifecycle.test.ts` 早就在断言最终状态,所以旧用例抓不到它)。
|
|
11
|
+
- **这条时序是实测的,不是推断的**:在真实 `Loader` + `WebRuntime` 上按启用流程(合成 → settle → 读树)打点,立即选择得到 `select -> settle -> audit`,推迟后得到 `settle -> audit -> select`——即推迟确实把重启挪到了审计读树之后。新增回归用例断言 `loader.await()`(合成 settle 点、宿主紧接着同步读树之处)时 `select` **一次都没被调用**;**已验证该用例在改动前失败**(合成期被调用 2 次)、改动后通过。
|
|
12
|
+
- **顺带说明**:`fiber.update(config, true)` 在「行尚未 ACTIVE」时会走 `_setEpoch(INACTIVE)` → `_unload()` → 返回状态 5(`node_modules/@deepseek-ai/cordis/lib/index.js:1427`、`:1330`),这正是本插件既有的 `entry.fiber?.await()` 等待存在的原因,本次改动没有动那条路径。
|
|
13
|
+
|
|
5
14
|
- **支持 DSH 0.1.7-rc.2**(本机 harness checkout 的 HEAD `477b4f4205` 就是 `dsh-v0.1.7-rc.2` 本身,`packages/boot/app-boot/package.json` 与 `dsh --version` 都答 `0.1.7-rc.2`;npm 上 `next` 也是它,`latest` 仍是 `0.1.5-rc.3`)。这一版同样**不需要任何行为改动**,而且这次有直接证据:同一份源码在精确钉住的 rc.1 与 rc.2 两个净室里**结果逐项相同**(1315 条通过 / 0 失败)。窗口 `dsh-v0.1.7-rc.1..dsh-v0.1.7-rc.2` 是 346 个提交 / 3429 个文件,收敛到本插件导入的二十个包后只有六个有源码改动,动作落在基线、依赖清单与两处需要说清的行为变更上。
|
|
6
15
|
- **rc.2 的头号特性(会话中途变更工具声明)在本插件这里是空集,且由构造保证**:agent-loop 现在会写 `developer/message` 携带 `tool-addition` / `tool-removal` 块(`packages/core/agent-loop/src/agent.ts:626`),`dsh-llm` 新增 `ToolUpdate`(`'in-history' | 'addition-only'`)、`LlmResolvedModelInfo.toolUpdate?`、`GenerateOptions.toolHistory?`,并在派发时按线路投影(`content.ts` 的 `projectToolUpdates`、`index.ts:1075`)。本插件任何线路都没有声明 `toolUpdate`(`grep -rn "toolUpdate\|deferLoading" src` 为 **0**),于是投影走第一分支:**剥掉全部 developer 消息、并去掉每个工具的 `deferLoading`**——mapper 收到的仍是「完整当前工具列表 + 无 developer 消息」,与 rc.1 的内容一致(rc.1 本来也没有这些块的产出方)。`agent.ts:394` 同样把 `startsSeries` 收紧为 `preparedCall?.toolUpdate === undefined && this.toolsChanged(...)`,未声明时保留 rc.1 行为。**未采用 `toolUpdate`**:它能让本线路在工具变更时缓存稳定前缀,但那是一个要逐线路核对线协议的优化,不是修复。另外这个接缝**本插件的测试根本看不见**——投影发生在 adapter 之上的 `LlmRuntime`,直接调用 mapper 的用例永远碰不到它,结论全部来自读 harness 源码。
|
|
7
16
|
- **GUI 选择模型从「目录仅供参考」变成硬门槛**:`packages/api/session-controller/src/catalog.ts` 新增 `modelAvailable()`——provider 要在 `listProviders()` 里**且** `await listModels(provider)` 要包含该 model id——`commands.ts:380` 在 `selectModel` 开头用新的 `requireModel()` 拦截,失败为 `session/model-unavailable`;`routableProviders` 也从裸的 provider 列表改成「至少广告了一个模型」的组。**同一个提交里发送路径反而更宽松**:`sendPrompt` 的 `routeServed()` 检查连同整个函数被删掉。客户端 `directory.ts` 把 `routable` 的语义从「有 adapter 服务该 provider」改成「当前选择出现在可用目录里」,并移除了 `ModelDirectoryResolver` 的 `blockReason` 配置与 `conversation.blocks` 发布——选择掉出目录时输入框不再被置灰。**对本插件的影响**:六条线路都各自广告了自己提供的模型(Codex 用 `CODEX_MODEL_CATALOG` 按 `visibleModelIds` 过滤、antigravity 用内置表、zhipu 未登录时回落 `FALLBACK_MODELS`),离线时选择照常;但 `command-code` / `kimi-code` / `workbuddy` 三条线路的 `catalog()` 要读远端列表,**该请求失败时改模型会失败**,rc.1 则允许。这与 Codex 主线路此前那次「持久化目录快照」是同一个失效形态,而门槛是 harness 有意加的,**因此不加桥接**——把刚建立的门槛「简化」掉正是要避免的做法,仅记录待维护者决定。另外 `ModelDirectoryState` 新增了**必填**的 `pending` 与可选 `retainedEffort`,本插件只读 `directory.store`、从不构造该对象,所以强制 typecheck 干净。
|
package/lib/index.js
CHANGED
|
@@ -26751,7 +26751,7 @@ function apply(ctx, pluginConfig = {}) {
|
|
|
26751
26751
|
ctx.inject(["web"], (ctx) => {
|
|
26752
26752
|
ctx.web.registerSearchProvider(createCodexSearchProvider(oauth, { fetchFn: proxyFetch }));
|
|
26753
26753
|
ctx.web.registerFetchProvider(createCodexFetchProvider({ fetchFn: proxyFetch }));
|
|
26754
|
-
applyWebProviders
|
|
26754
|
+
setTimeout(applyWebProviders, 0);
|
|
26755
26755
|
});
|
|
26756
26756
|
const disposePreferenceWatch = preferences.watch((next) => applyWebProviders(next));
|
|
26757
26757
|
const disposeReadyWatch = ctx.get("appReady")?.onReady(() => applyWebProviders());
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAmGxC,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAA;CAC9C;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAM3B,CAAA;AAEF,eAAO,MAAM,MAAM,UAAqE,CAAA;AAExF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,GAAE,MAAW,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AAmGxC,yDAAyD;AACzD,MAAM,WAAW,MAAM;IACrB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAA;IACpC,qFAAqF;IACrF,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B;;;;;;OAMG;IACH,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAA;IACpC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,SAAS,GAAG,YAAY,CAAA;CAC9C;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAM3B,CAAA;AAEF,eAAO,MAAM,MAAM,UAAqE,CAAA;AAExF,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,YAAY,GAAE,MAAW,GAAG,IAAI,CAogBnE;AAED,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,UAAU,EACV,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EACL,8BAA8B,EAC9B,kCAAkC,EAClC,qBAAqB,EACrB,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,gBAAgB,EAChB,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,gCAAgC,EAChC,uBAAuB,EACvB,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,aAAa,GACd,MAAM,gCAAgC,CAAA;AACvC,YAAY,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,cAAc,GACf,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,GACzB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,KAAK,4BAA4B,EAAE,MAAM,oCAAoC,CAAA;AAC9G,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,YAAY,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AAClE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,GAClC,MAAM,qCAAqC,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EACL,mBAAmB,IAAI,0BAA0B,EACjD,sBAAsB,IAAI,6BAA6B,EACvD,cAAc,IAAI,yBAAyB,EAC3C,iBAAiB,IAAI,4BAA4B,EACjD,kCAAkC,GACnC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EACL,aAAa,IAAI,qBAAqB,EACtC,iBAAiB,IAAI,yBAAyB,EAC9C,UAAU,IAAI,qBAAqB,GACpC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAA;AAClG,OAAO,EACL,iBAAiB,IAAI,qBAAqB,EAC1C,gBAAgB,IAAI,qBAAqB,EACzC,cAAc,IAAI,mBAAmB,EACrC,kBAAkB,IAAI,qBAAqB,GAC5C,MAAM,+BAA+B,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAA;AACjH,OAAO,EACL,mBAAmB,IAAI,uBAAuB,EAC9C,sBAAsB,IAAI,0BAA0B,EACpD,cAAc,IAAI,sBAAsB,EACxC,iBAAiB,IAAI,yBAAyB,EAC9C,+BAA+B,EAC/B,aAAa,IAAI,qBAAqB,GACvC,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,aAAa,IAAI,kBAAkB,EACnC,iBAAiB,IAAI,yBAAyB,EAC9C,iBAAiB,IAAI,sBAAsB,EAC3C,kBAAkB,IAAI,oBAAoB,EAC1C,0BAA0B,IAAI,kCAAkC,GACjE,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,aAAa,IAAI,qBAAqB,EACtC,kBAAkB,IAAI,kBAAkB,EACxC,gBAAgB,IAAI,kBAAkB,EACtC,cAAc,IAAI,gBAAgB,GACnC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACzF,OAAO,EAAE,gBAAgB,EAAE,eAAe,IAAI,wBAAwB,EAAE,MAAM,6BAA6B,CAAA;AAC3G,OAAO,EACL,mBAAmB,IAAI,wBAAwB,EAC/C,sBAAsB,IAAI,2BAA2B,EACrD,gBAAgB,EAChB,iBAAiB,IAAI,0BAA0B,EAC/C,mBAAmB,IAAI,wBAAwB,EAC/C,gCAAgC,EAChC,eAAe,IAAI,wBAAwB,GAC5C,MAAM,iCAAiC,CAAA;AACxC,OAAO,EACL,iBAAiB,IAAI,mBAAmB,EACxC,gBAAgB,IAAI,mBAAmB,EACvC,cAAc,IAAI,iBAAiB,EACnC,kBAAkB,IAAI,qBAAqB,EAC3C,iBAAiB,IAAI,mBAAmB,EACxC,iBAAiB,IAAI,0BAA0B,EAC/C,kBAAkB,IAAI,2BAA2B,EACjD,YAAY,IAAI,qBAAqB,GACtC,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAA;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACrE,OAAO,EACL,eAAe,IAAI,gBAAgB,EACnC,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,IAAI,wBAAwB,GAC5C,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,eAAe,IAAI,oBAAoB,EAAE,6BAA6B,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAA;AAC3J,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,KAAK,gBAAgB,GACtB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,mBAAmB,IAAI,oBAAoB,EAC3C,sBAAsB,IAAI,uBAAuB,EACjD,cAAc,IAAI,mBAAmB,EACrC,iBAAiB,IAAI,sBAAsB,EAC3C,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,EACf,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAA;AACpC,OAAO,EACL,sBAAsB,IAAI,2BAA2B,EACrD,kBAAkB,IAAI,iBAAiB,EACvC,gBAAgB,IAAI,eAAe,EACnC,iBAAiB,IAAI,eAAe,EACpC,cAAc,IAAI,aAAa,EAC/B,WAAW,IAAI,gBAAgB,EAC/B,kBAAkB,IAAI,uBAAuB,EAC7C,SAAS,IAAI,cAAc,EAC3B,gBAAgB,IAAI,qBAAqB,EACzC,WAAW,IAAI,gBAAgB,EAC/B,YAAY,IAAI,iBAAiB,EACjC,YAAY,IAAI,iBAAiB,EACjC,WAAW,IAAI,gBAAgB,EAC/B,eAAe,IAAI,kBAAkB,GACtC,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,IAAI,2BAA2B,EACrD,iBAAiB,IAAI,sBAAsB,GAC5C,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EACL,eAAe,IAAI,YAAY,EAC/B,YAAY,IAAI,iBAAiB,EACjC,yBAAyB,IAAI,4BAA4B,EACzD,uBAAuB,IAAI,yBAAyB,EACpD,kBAAkB,IAAI,oBAAoB,EAC1C,eAAe,IAAI,oBAAoB,EACvC,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,+BAA+B,CAAA;AACtC,OAAO,EACL,SAAS,IAAI,eAAe,EAC5B,WAAW,IAAI,iBAAiB,EAChC,WAAW,IAAI,iBAAiB,EAChC,aAAa,IAAI,mBAAmB,EACpC,UAAU,IAAI,gBAAgB,EAC9B,gBAAgB,IAAI,sBAAsB,EAC1C,iBAAiB,IAAI,uBAAuB,EAC5C,gBAAgB,IAAI,qBAAqB,EACzC,eAAe,IAAI,oBAAoB,EACvC,gBAAgB,IAAI,qBAAqB,GAC1C,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,mBAAmB,GACzB,MAAM,kCAAkC,CAAA;AACzC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA"}
|