dsh-session-bridge 0.3.0 → 0.3.2-alpha.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.
- package/README.md +18 -1
- package/README.zh.md +16 -0
- package/dsh.plugin.json +2 -2
- package/lib/index.js +498 -89
- package/package.json +21 -20
- package/scripts/build.sh +18 -0
- package/scripts/check-dsh-compat.mjs +173 -0
- package/src/core.ts +77 -13
- package/src/tools.ts +30 -18
package/README.md
CHANGED
|
@@ -119,13 +119,22 @@ time — not just its final reply — and act on it:
|
|
|
119
119
|
# type-check + bundle the host build + pack a tgz (DSH_CHECKOUT points at the dsh source checkout)
|
|
120
120
|
bash scripts/build.sh && npm run build:client
|
|
121
121
|
|
|
122
|
+
# type-check src/ against the dsh that is actually installed (no checkout needed)
|
|
123
|
+
npm run check:compat
|
|
124
|
+
|
|
122
125
|
# via the injector toolchain
|
|
123
126
|
dev_build_plugin dsh-session-bridge
|
|
124
127
|
```
|
|
125
128
|
|
|
126
129
|
`build.sh` type-links against a local DSH checkout and is only for local dev.
|
|
130
|
+
That checkout frequently lags the harness the plugin is loaded into, so a green
|
|
131
|
+
`build.sh` does **not** prove the plugin works on the running DSH — `build.sh`
|
|
132
|
+
warns when the two versions differ. Use `npm run check:compat` for that: it
|
|
133
|
+
type-checks `src/` against the `lib/types/*.d.ts` shipped inside the installed
|
|
134
|
+
DSH package, which is the exact API surface the plugin loads against.
|
|
135
|
+
|
|
127
136
|
The GitHub Actions CI (`ci.yml`) instead resolves the `@deepseek-ai/dsh-*`
|
|
128
|
-
prereleases from the registry — pinned to the `0.1.
|
|
137
|
+
prereleases from the registry — pinned to the `0.1.6-alpha.1` line, which is
|
|
129
138
|
the DSH API surface this code targets — then runs `pnpm typecheck` and
|
|
130
139
|
`pnpm build:client` (the self-contained `tsdown` bundle). Bump that pin
|
|
131
140
|
together with the code when you migrate to a newer DSH API.
|
|
@@ -149,6 +158,14 @@ publishing.
|
|
|
149
158
|
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-session-bridge
|
|
150
159
|
```
|
|
151
160
|
|
|
161
|
+
A prerelease tag (`v0.3.2-alpha.1`) is published to its own dist-tag (`alpha`,
|
|
162
|
+
`beta`, `rc`) instead of `latest`, so it cannot displace the stable release for
|
|
163
|
+
other users. Opt in explicitly:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-session-bridge@alpha
|
|
167
|
+
```
|
|
168
|
+
|
|
152
169
|
pnpm installs the published tarball and runs its `prepare` script (`tsdown`) to
|
|
153
170
|
ensure `lib/` is present, then `dsh` activates the bundle.
|
|
154
171
|
|
package/README.zh.md
CHANGED
|
@@ -87,10 +87,19 @@
|
|
|
87
87
|
# 类型检查 + 打包 host bundle + 生成 tgz(DSH_CHECKOUT 指向 dsh 源码 checkout)
|
|
88
88
|
bash scripts/build.sh && npm run build:client
|
|
89
89
|
|
|
90
|
+
# 针对"实际安装的 dsh"做类型检查(不需要 checkout)
|
|
91
|
+
npm run check:compat
|
|
92
|
+
|
|
90
93
|
# 或经注入器工具链
|
|
91
94
|
dev_build_plugin dsh-session-bridge
|
|
92
95
|
```
|
|
93
96
|
|
|
97
|
+
`build.sh` 按本地 dsh 源码 checkout 做类型链接,仅用于本地开发。该 checkout 常常
|
|
98
|
+
落后于插件实际加载进的 harness,因此 `build.sh` 通过**并不**代表插件在运行中的
|
|
99
|
+
DSH 上可用——两者版本不一致时 `build.sh` 会给出警告。要验证运行版本请用
|
|
100
|
+
`npm run check:compat`:它按已安装 DSH 包内随附的 `lib/types/*.d.ts`(即插件真正
|
|
101
|
+
加载的 API 面)对 `src/` 做类型检查。
|
|
102
|
+
|
|
94
103
|
## 部署
|
|
95
104
|
|
|
96
105
|
DSH web 从活动 profile 加载外部插件。本包是一个 **bundle**:`package.json` 声明了
|
|
@@ -107,6 +116,13 @@ DSH web 从活动 profile 加载外部插件。本包是一个 **bundle**:`pac
|
|
|
107
116
|
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-session-bridge
|
|
108
117
|
```
|
|
109
118
|
|
|
119
|
+
预发布标签(`v0.3.2-alpha.1`)会发布到自己的 dist-tag(`alpha`/`beta`/`rc`),
|
|
120
|
+
而不会占用 `latest`,因此不会顶掉其他用户使用的稳定版。需要显式选用:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
npx -p @deepseek-ai/dsh dsh plugin --profile web add dsh-session-bridge@alpha
|
|
124
|
+
```
|
|
125
|
+
|
|
110
126
|
pnpm 会安装发布的 tarball 并运行其 `prepare` 脚本(`tsdown`)以确保 `lib/` 就绪,
|
|
111
127
|
随后 `dsh` 激活该 bundle。
|
|
112
128
|
|
package/dsh.plugin.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"id": "dsh-external/dsh-session-bridge",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2-alpha.1",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"description": "会话桥:创建主会话 / 向任意会话发消息 / 等待回复 / 读取消息 / 按名或 id 查找会话(支持跨工作区);另含监控/调度主任务与归档会话。",
|
|
6
6
|
"engines": {
|
|
7
|
-
"dsh": "^0.1.0-rc.6 || ^0.1.1-0 || ^0.1.2-0"
|
|
7
|
+
"dsh": "^0.1.0-rc.6 || ^0.1.1-0 || ^0.1.2-0 || ^0.1.5-0 || ^0.1.6-0"
|
|
8
8
|
},
|
|
9
9
|
"contributes": {
|
|
10
10
|
"tools": [
|