dsh-git-ui 0.1.0 → 0.1.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 +28 -0
- package/README.zh.md +27 -0
- package/lib/client.js +26 -26
- package/lib/client.js.map +4 -4
- package/lib/contracts/host-endpoints.d.ts +27 -0
- package/lib/host/index.d.ts +20 -12
- package/lib/host/index.js +59 -38
- package/lib/host/index.js.map +3 -3
- package/package.json +1 -1
- package/src/adapters/dsh/client-adapter.ts +120 -0
- package/src/adapters/dsh/types/cordis.d.ts +48 -0
- package/src/adapters/dsh/types/typert-protocol.d.ts +81 -0
- package/src/adapters/dsh/types/ui-primitives.d.ts +45 -0
- package/src/adapters/dsh/ui-primitives.ts +16 -0
- package/src/client/GitCenter.tsx +3 -1
- package/src/client/GitPill.tsx +5 -15
- package/src/client/controller.ts +5 -37
- package/src/client/index.ts +38 -135
- package/src/client/remote.ts +2 -2
- package/src/contracts/client-platform.ts +147 -0
- package/src/contracts/host-endpoints.ts +58 -0
- package/src/contracts/plugin-activation.ts +129 -0
- package/src/contracts/ui-context.tsx +28 -0
- package/src/contracts/ui-primitives.ts +48 -0
- package/src/host/index.ts +52 -57
package/README.md
CHANGED
|
@@ -133,6 +133,34 @@ pnpm run build # host (esbuild ESM, never minified) + client (ModuleLoade
|
|
|
133
133
|
dsh plugin --profile web add ./ # local install; restart dsh web to verify
|
|
134
134
|
```
|
|
135
135
|
|
|
136
|
+
### Architecture
|
|
137
|
+
|
|
138
|
+
The plugin is layered to isolate the dsh platform behind a narrow adapter seam,
|
|
139
|
+
so business logic stays untouched when dsh APIs evolve:
|
|
140
|
+
|
|
141
|
+
```mermaid
|
|
142
|
+
flowchart TB
|
|
143
|
+
subgraph Biz["Business Layer — zero dsh imports"]
|
|
144
|
+
HostBiz["src/host/ · core / actions / queries / parser"]
|
|
145
|
+
ClientBiz["src/client/ · controller / GitPill / GitCenter"]
|
|
146
|
+
end
|
|
147
|
+
subgraph Contracts["Contracts Layer — stable interfaces"]
|
|
148
|
+
C["src/contracts/ · host-endpoints / client-platform / ui-primitives"]
|
|
149
|
+
end
|
|
150
|
+
subgraph Adapters["Adapters Layer — the only dsh-aware code"]
|
|
151
|
+
A["src/adapters/dsh/ · client-adapter / ui-primitives / types"]
|
|
152
|
+
end
|
|
153
|
+
HostBiz --> C
|
|
154
|
+
ClientBiz --> C
|
|
155
|
+
C --> A
|
|
156
|
+
A --> DSH["dsh platform · cordis / typert / ui-primitives"]
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
- `src/contracts/` defines the plugin's own stable interfaces (no dsh imports).
|
|
160
|
+
- `src/host/` and `src/client/` implement business logic against those interfaces.
|
|
161
|
+
- `src/adapters/dsh/` is the **only** place that imports `@deepseek-ai/*`;
|
|
162
|
+
a dsh upgrade only requires changes here.
|
|
163
|
+
|
|
136
164
|
## License
|
|
137
165
|
|
|
138
166
|
[MIT](LICENSE)
|
package/README.zh.md
CHANGED
|
@@ -130,6 +130,33 @@ pnpm run build # host(esbuild ESM,禁止压缩)+ client(ModuleLoa
|
|
|
130
130
|
dsh plugin --profile web add ./ # 本地安装;重启 dsh web 验证
|
|
131
131
|
```
|
|
132
132
|
|
|
133
|
+
### 架构
|
|
134
|
+
|
|
135
|
+
插件采用分层架构,将 dsh 平台隔离在窄适配层之后,dsh API 演进时业务逻辑零改动:
|
|
136
|
+
|
|
137
|
+
```mermaid
|
|
138
|
+
flowchart TB
|
|
139
|
+
subgraph Biz["业务层 — 零 dsh import"]
|
|
140
|
+
HostBiz["src/host/ · core / actions / queries / parser"]
|
|
141
|
+
ClientBiz["src/client/ · controller / GitPill / GitCenter"]
|
|
142
|
+
end
|
|
143
|
+
subgraph Contracts["契约层 — 稳定接口"]
|
|
144
|
+
C["src/contracts/ · host-endpoints / client-platform / ui-primitives"]
|
|
145
|
+
end
|
|
146
|
+
subgraph Adapters["适配层 — 唯一感知 dsh 的代码"]
|
|
147
|
+
A["src/adapters/dsh/ · client-adapter / ui-primitives / types"]
|
|
148
|
+
end
|
|
149
|
+
HostBiz --> C
|
|
150
|
+
ClientBiz --> C
|
|
151
|
+
C --> A
|
|
152
|
+
A --> DSH["dsh 平台 · cordis / typert / ui-primitives"]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
- `src/contracts/` 定义插件自己的稳定接口(零 dsh import)。
|
|
156
|
+
- `src/host/` 与 `src/client/` 基于这些接口实现业务逻辑。
|
|
157
|
+
- `src/adapters/dsh/` 是**唯一** import `@deepseek-ai/*` 的地方;
|
|
158
|
+
dsh 升级只需修改此处。
|
|
159
|
+
|
|
133
160
|
## 许可证
|
|
134
161
|
|
|
135
162
|
[MIT](LICENSE)
|