dsh-packycode-api 1.1.6 → 1.1.7
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 +7 -0
- package/README.en.md +3 -3
- package/README.md +3 -3
- package/cordis.patch.yml +0 -16
- package/lib/index.js +8 -7
- package/package.json +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.1.7
|
|
4
|
+
|
|
5
|
+
- Fixed HTTP 405 from the settings RPC after a first hot install. The shipped Connection getter retains its own row's context, which need not inject `webServer`; the browser channel now registers with this plugin's `connection` / `webServer` injection scope as its explicit owner. Native Connection admission, authentication and RPC envelopes remain in use. The explicit-owner entry is internal to the shipped service, so other Connection implementations retain the public `rpc.handle` contract.
|
|
6
|
+
- Removed the bundle override of the protected `connection` row. First installation now mounts the plugin's own channel without rebuilding that row or restarting DSH; unloading or losing the optional webserver scope removes the channel. Installation instructions now describe the restart-free first install.
|
|
7
|
+
- Added real Connection / Cordis HTTP regressions for the 0.1.5 and 0.2.0-rc.2 hosts, covering first install, authenticated settings access, uninstall/reinstall and optional webserver availability. The 0.2 test host uses a separate development fixture with matching host dependencies.
|
|
8
|
+
- Validation: 284 tests passed, both bundles rebuilt and the tarball generated. The six HTTP lifecycle/authentication checks also passed against the built host bundle, without restarting the fixture's existing server or Connection service.
|
|
9
|
+
|
|
3
10
|
## 1.1.6
|
|
4
11
|
|
|
5
12
|
- Fixed the missing `image` input capability on `deepseek-flash`, following [DeepSeek's official vision guide](https://api-docs.deepseek.com/guides/vision/). DSH can now send image attachments through the existing Chat Completions route. Audited the two GPT models, Grok 4.7 and three Claude models against their vendor documentation; all six already declare image input.
|
package/README.en.md
CHANGED
|
@@ -45,9 +45,9 @@ Open the desktop application's **Plugins** page, click **Add plugin**, and enter
|
|
|
45
45
|
dsh-packycode-api
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
Choose the **official** install source, then click **Install**. To pin a version, enter `dsh-packycode-api@1.1.
|
|
48
|
+
Choose the **official** install source, then click **Install**. To pin a version, enter `dsh-packycode-api@1.1.7`.
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
A **first install requires no DSH restart**: open **Settings → PackyCode** and add a key immediately. When updating an already loaded older version, follow the restart guidance in the **Plugin version** card.
|
|
51
51
|
|
|
52
52
|
### 2. Add a key
|
|
53
53
|
|
|
@@ -64,7 +64,7 @@ Choose a model from the `PackyCode` group. `deepseek-flash`, `gpt-6.1-sol`, `gpt
|
|
|
64
64
|
|
|
65
65
|
The **Plugins** page shows the installed state and version, and is also where you enable, disable, or uninstall.
|
|
66
66
|
|
|
67
|
-
**For non-desktop profiles only:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.
|
|
67
|
+
**For non-desktop profiles only:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.7`. Do not use it for `desktop` — the CLI refuses it (`profile "desktop" is managed exclusively by the Electron application`).
|
|
68
68
|
|
|
69
69
|
A local checkout can be linked with `dsh plugin --profile <name> add link:/path/to/dsh-packycode-api`.
|
|
70
70
|
|
package/README.md
CHANGED
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
dsh-packycode-api
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
在**安装源**中选择**官方源**,然后点击**安装**。需要固定版本时填入 `dsh-packycode-api@1.1.
|
|
52
|
+
在**安装源**中选择**官方源**,然后点击**安装**。需要固定版本时填入 `dsh-packycode-api@1.1.7`。
|
|
53
53
|
|
|
54
|
-
|
|
54
|
+
首次安装后**无需重启 DSH**,可直接打开**设置 → PackyCode** 添加 Key。更新已加载的旧版时,按「插件版本」卡片的重启提示操作。
|
|
55
55
|
|
|
56
56
|
### 2. 添加 Key
|
|
57
57
|
|
|
@@ -68,7 +68,7 @@ dsh-packycode-api
|
|
|
68
68
|
|
|
69
69
|
桌面应用的**插件**页可以看到已安装状态与版本,也可以在那里启用、停用或卸载。
|
|
70
70
|
|
|
71
|
-
**仅用于非 desktop profile:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.
|
|
71
|
+
**仅用于非 desktop profile:** `dsh plugin --profile <name> add dsh-packycode-api@1.1.7`。不要对 `desktop` 使用它 —— CLI 会直接拒绝(`profile "desktop" is managed exclusively by the Electron application`)。
|
|
72
72
|
|
|
73
73
|
本地开发可以用绝对路径:`dsh plugin --profile <name> add link:/path/to/dsh-packycode-api`。
|
|
74
74
|
|
package/cordis.patch.yml
CHANGED
|
@@ -5,19 +5,3 @@
|
|
|
5
5
|
- insert:
|
|
6
6
|
- id: packycode-api
|
|
7
7
|
name: 'dsh-packycode-api'
|
|
8
|
-
|
|
9
|
-
# Connection registers a plugin's RPC channel through `owner.webServer`, where
|
|
10
|
-
# the owner is the Connection row's own fiber — not the caller's. The shipped
|
|
11
|
-
# dsh-web-app row injects `webRuntime` alone, so that read is refused with
|
|
12
|
-
# `cannot get property "webServer" without inject`, the channel never reaches
|
|
13
|
-
# the web server, and the browser's calls answer HTTP 405 while the boot log
|
|
14
|
-
# stays clean.
|
|
15
|
-
#
|
|
16
|
-
# An entry patch replaces the whole inject list, so name every service that
|
|
17
|
-
# fiber actually touches: `credentials` is the module's own inject, `webRuntime`
|
|
18
|
-
# carries the row's `trustedHosts: !!js ctx.webRuntime.trustedHosts`, and
|
|
19
|
-
# `webServer` is what channel registration reads. The name guard leaves a
|
|
20
|
-
# replacement Connection implementation untouched.
|
|
21
|
-
- id: connection
|
|
22
|
-
name: '@deepseek-ai/dsh-client-connection'
|
|
23
|
-
inject: [credentials, webRuntime, webServer]
|
package/lib/index.js
CHANGED
|
@@ -6915,15 +6915,16 @@ function apply(ctx, config) {
|
|
|
6915
6915
|
modelSelection
|
|
6916
6916
|
});
|
|
6917
6917
|
/**
|
|
6918
|
-
* Connection
|
|
6919
|
-
*
|
|
6920
|
-
*
|
|
6921
|
-
*
|
|
6922
|
-
*
|
|
6923
|
-
*
|
|
6918
|
+
* The shipped Connection getter retains its own service context, whose row
|
|
6919
|
+
* need not inject webServer. Register with our injected context explicitly:
|
|
6920
|
+
* a first hot install then mounts the channel without rebuilding Connection.
|
|
6921
|
+
* The native registry still owns admission and the wire protocol. Its
|
|
6922
|
+
* explicit-owner entry is internal, so retain the public RPC contract for
|
|
6923
|
+
* other Connection implementations. A headless profile can omit this scope.
|
|
6924
6924
|
*/
|
|
6925
6925
|
ctx.inject(["connection", "webServer"], (connectionCtx) => {
|
|
6926
|
-
|
|
6926
|
+
const service = connectionCtx.connection;
|
|
6927
|
+
connectionCtx.effect(() => typeof service.register === "function" ? service.register(connectionCtx, CHANNEL, handler) : service.rpc.handle(CHANNEL, handler), "packycode-api: loopback account RPC");
|
|
6927
6928
|
});
|
|
6928
6929
|
ctx.inject(["tools"], (toolsCtx) => {
|
|
6929
6930
|
ctx.effect(() => toolsCtx.tools.register(createClaudeCodeTool({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-packycode-api",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.7",
|
|
4
4
|
"description": "Use a PackyCode (PackyAPI) API key in DeepSeek Harness through a built-in multi-protocol model route with key rotation and balance display",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -82,13 +82,18 @@
|
|
|
82
82
|
},
|
|
83
83
|
"devDependencies": {
|
|
84
84
|
"@deepseek-ai/cordis": "4.0.2",
|
|
85
|
+
"@deepseek-ai/dsh-brand": "0.1.5-rc.3",
|
|
86
|
+
"@deepseek-ai/dsh-client-connection": "0.1.5-rc.3",
|
|
85
87
|
"@deepseek-ai/dsh-credentials": "0.1.5-rc.2",
|
|
88
|
+
"@deepseek-ai/dsh-invariants": "0.1.5-rc.3",
|
|
86
89
|
"@deepseek-ai/dsh-llm": "0.1.5-rc.2",
|
|
87
90
|
"@deepseek-ai/dsh-llm-pi-ai": "0.1.5-rc.2",
|
|
91
|
+
"@deepseek-ai/dsh-scope": "0.1.5-rc.3",
|
|
88
92
|
"@deepseek-ai/dsh-settings": "0.1.5-rc.2",
|
|
89
93
|
"@deepseek-ai/dsh-tools": "0.1.5-rc.2",
|
|
90
94
|
"@deepseek-ai/schemastery": "3.18.4",
|
|
91
95
|
"@earendil-works/pi-ai": "0.85.1",
|
|
96
|
+
"packycode-host-v020-fixture": "file:tests/fixtures/host-v020",
|
|
92
97
|
"react": "18.3.1",
|
|
93
98
|
"tsdown": "0.22.2",
|
|
94
99
|
"yaml": "2.9.1"
|