Repository navigation
Releases: mjylfz/dsh-skill-mover
Release list
v1.1.1 — 支持 DSH 2.0.17 / dsh 0.2.0-rc.2
适配 DSH 2.0.17(运行时 @deepseek-ai/dsh@0.2.0-rc.2)。
修复
- peer 范围:
^0.1.0-rc.6 || ^0.1.5-rc.1→^0.1.0-rc.6 || >=0.2.0-rc.1 <0.3.0-0。
旧范围在预发布语义下两条分支都封顶<0.2.0-0,因此 2.0.17 的插件兼容闸门会直接拒绝加载。 - strict codec:0.2.x 的
validateCodec()要求{ mode: 'strict' }的 codec 带create()工厂
(旧写法只有schema:,会被strict codec has no create() factory拒绝)。客户端描述符已改为create: () => ({ parse })。 ctx.shell接口:0.2.x 移除了shell.run(spec),改为execute(spec)返回进程句柄、结果取自handle.result()。
另外execute().result()对非零退出不 reject,所以失败的命令会被当成迁移成功 —— 现在非零退出与超时都会抛出错误。
验证
npm test 全绿:
test/runtime-compat.test.mjs—— 用 DSH 自己的evaluatePluginCompatibility()做闸门 before/after 对照,
并对每个@deepseek-ai/*具名导入比对应用内运行时的真实导出test/host-core.test.mjs—— shell 新老两条缝隙 + 非零退出/超时上浮test/client-boot.mjs—— 真实 api-gateway client + 真实 typert registry 下跑通挂载、slot 注册与scan()调用,
并用旧{schema}/ 新{create}codec 做挂载对照test/remote-descriptor.test.mjs—— 新老两代网关都能发现scan/migrate/uninstall
安装
dsh plugin --profile desktop add github:mjylfz/dsh-skill-mover#v1.1.1或使用下方 tarball(sha256 5c2e2f135b7757c9812ee849a2bfb6e77a8a538289534b5817c1ba3b3f0612ca)。
v1.1.0 — two-generation @Remote compatibility
Two-generation @Remote compatibility
DSH Desktop 2.0.9 embeds @deepseek-ai/dsh-typert-protocol@0.1.5-rc.1, which moved the @Remote
marker store from a module-private WeakMap (0.1.0-rc.x) to a versioned string descriptor on the
class prototype.
When the older copy is the one resolved, the runtime gateway read only the prototype descriptor and
found nothing: the service loaded, the methods existed, but no /api/skillMover/* route was
published and every client call returned 404 with no error in the log.
This release keeps the decorators (old gateways still read the WeakMap) and additionally plants
the new descriptor on the gateway prototype, so both generations route.
Changes
src/remote-descriptor.ts— newplantRemoteDescriptor(); markers carry onlymethod+
invocation: { kind: 'direct' }src/index.ts— plant after the class definition; the 3@Remote(...)decorators are untouchedpackage.json— typert peer range widened to^0.1.0-rc.6 || ^0.1.5-rc.1.
A peer range without an explicit prerelease branch silently excludes every prerelease buildtest/remote-descriptor.test.mjs— 17-assertion regression test. Removing the plant call fails
9 of the 17
Install
dsh plugin --profile desktop add github:mjylfz/dsh-skill-mover#v1.1.0