@deepseek-ai/dsh-tool-lsp 0.0.1-rc.2 → 0.1.0-rc.2
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/LICENSE +17 -24
- package/README.i18n.yaml +2 -2
- package/README.md +1 -1
- package/README.zh.md +5 -5
- package/lib/index.js +1 -1
- package/lib/types/index.d.ts +1 -1
- package/package.json +23 -23
package/LICENSE
CHANGED
|
@@ -1,28 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026
|
|
3
|
+
Copyright (c) 2026 DeepSeek
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
7
11
|
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
10
14
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/lsp/tool-lsp/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: e0fd5738cf114314a8483125d20142d5f1ffac40
|
|
6
|
+
README.zh.md: 8c908c1e8766ab47e9cefbc9d1f72f05e8c2709f
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ The tool requires the workspace root from the session `header.cwd`, with no fall
|
|
|
18
18
|
|---|---|---|
|
|
19
19
|
| `maxLocations` | `100` | Largest number of rendered locations before an omission marker. |
|
|
20
20
|
| `maxResultChars` | `16000` | Largest complete rendered result, including truncation metadata. |
|
|
21
|
-
| `timeoutMs` | `60000` | Tool-call timeout budget, enforced by `dsh-timeout-policy`; covers the complete queued open/query/close lifecycle and is not model-configurable. |
|
|
21
|
+
| `timeoutMs` | `60000` | Tool-call timeout budget, enforced by `dsh-tool-call-timeout-policy`; covers the complete queued open/query/close lifecycle and is not model-configurable. |
|
|
22
22
|
|
|
23
23
|
## Model Experience
|
|
24
24
|
|
package/README.zh.md
CHANGED
|
@@ -8,9 +8,9 @@ Namespace 插件(`name`/`inject`/`Config`/`apply`,无默认导出)
|
|
|
8
8
|
|
|
9
9
|
## 工具
|
|
10
10
|
|
|
11
|
-
`lsp` 接受 `operation`(`goToDefinition` | `findReferences` | `goToImplementation` | `hover`)、`file_path`、`line` 和 `character`。`line` 与 `character` 是正的、从 1 开始的 UTF-16 光标坐标;工具将其转换为 seam 从零开始的位置,并把渲染位置转换回来。`findReferences` 包含声明,因此影响分析不会遗漏定义位置。提供方、language id
|
|
11
|
+
`lsp` 接受 `operation`(`goToDefinition` | `findReferences` | `goToImplementation` | `hover`)、`file_path`、`line` 和 `character`。`line` 与 `character` 是正的、从 1 开始的 UTF-16 光标坐标;工具将其转换为 seam 从零开始的位置,并把渲染位置转换回来。`findReferences` 包含声明,因此影响分析不会遗漏定义位置。提供方、language id、工作区根目录、限制、超时、初始化和可执行文件均不进入模型输入。
|
|
12
12
|
|
|
13
|
-
该工具要求从会话 `header.cwd`
|
|
13
|
+
该工具要求从会话 `header.cwd` 取得工作区根目录,没有回退值:缺失时会在查询前以 `LSP_WORKSPACE_REQUIRED` 失败。其规范结果是完整的已规范化 Service Definition 联合类型:`{ kind: "locations", locations, resolvedWorkspaceUri }` 或 `{ kind: "hover", hover }`;Code Mode 可以直接检查每个已取得的位置和从零开始的范围。原生渲染以提供方的规范工作区 URI 为基准,投影按文件稳定分组的 `path:line:character` 条目,而不对会话 cwd 应用宿主平台路径规则。`file:` URI 落在该工作区 URI 内时成为工作区相对路径,位于其外时成为从 URI 派生的绝对路径;格式错误的 URI 与非 `file:` URI 保持原样。空位置和 `null` hover 都是成功的无结果响应;格式错误的提供方载荷仍是结构化错误。
|
|
14
14
|
|
|
15
15
|
## 配置
|
|
16
16
|
|
|
@@ -18,7 +18,7 @@ Namespace 插件(`name`/`inject`/`Config`/`apply`,无默认导出)
|
|
|
18
18
|
|---|---|---|
|
|
19
19
|
| `maxLocations` | `100` | 出现省略标记前可渲染位置的最大数量。 |
|
|
20
20
|
| `maxResultChars` | `16000` | 完整渲染结果的最大长度,包括截断元数据。 |
|
|
21
|
-
| `timeoutMs` | `60000` | 由 `dsh-timeout-policy` 强制执行的工具调用超时预算;覆盖完整的排队打开/查询/关闭生命周期,且模型不可配置。 |
|
|
21
|
+
| `timeoutMs` | `60000` | 由 `dsh-tool-call-timeout-policy` 强制执行的工具调用超时预算;覆盖完整的排队打开/查询/关闭生命周期,且模型不可配置。 |
|
|
22
22
|
|
|
23
23
|
## 模型体验
|
|
24
24
|
|
|
@@ -40,7 +40,7 @@ Use search/read for ordinary navigation. Use lsp when textual matches are ambigu
|
|
|
40
40
|
|
|
41
41
|
#### KV Cache 影响
|
|
42
42
|
|
|
43
|
-
只要插件 scope
|
|
43
|
+
只要插件 scope 与指引文本不变,前缀就保持稳定;激活或 dispose(资源释放)可能使从该区段起的复用失效。
|
|
44
44
|
|
|
45
45
|
### 工具 schema
|
|
46
46
|
|
|
@@ -86,5 +86,5 @@ Use search/read for ordinary navigation. Use lsp when textual matches are ambigu
|
|
|
86
86
|
|
|
87
87
|
## 已知限制与暂缓事项
|
|
88
88
|
|
|
89
|
-
- **UTF-16 光标坐标**:列坐标与协议精确一致,但模型难以在非 BMP
|
|
89
|
+
- **UTF-16 光标坐标**:列坐标与协议精确一致,但模型难以在非 BMP 字符周围计数;未落在符号上的位置可能返回空结果,因此提示词解释了该约定,但不鼓励广泛使用 LSP(见 [seam Agent Note](../../../.agents/notes/implemented/architecture/2026-07-15-lsp-capability-seam.md))。
|
|
90
90
|
- **不承诺跨服务器完整性**:受支持的服务器仍可能根据索引就绪情况返回空或部分结果;该工具不承诺跨语言或服务器的完整性。
|
package/lib/index.js
CHANGED
|
@@ -183,7 +183,7 @@ function sessionCwd(exec) {
|
|
|
183
183
|
* (`goToDefinition`/`findReferences`/`goToImplementation`/`hover`); it converts one-based UTF-16
|
|
184
184
|
* cursor coordinates to the seam's zero-based positions, requires the session workspace with no
|
|
185
185
|
* fallback, caps and renders results, and attaches a configurable timeout budget for
|
|
186
|
-
* `dsh-timeout-policy` to enforce. It runtime-injects only `tools`, `lsp`, and `systemPrompt` and
|
|
186
|
+
* `dsh-tool-call-timeout-policy` to enforce. It runtime-injects only `tools`, `lsp`, and `systemPrompt` and
|
|
187
187
|
* imports no provider.
|
|
188
188
|
*
|
|
189
189
|
* Namespace plugin (named exports, no default export).
|
package/lib/types/index.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (`goToDefinition`/`findReferences`/`goToImplementation`/`hover`); it converts one-based UTF-16
|
|
4
4
|
* cursor coordinates to the seam's zero-based positions, requires the session workspace with no
|
|
5
5
|
* fallback, caps and renders results, and attaches a configurable timeout budget for
|
|
6
|
-
* `dsh-timeout-policy` to enforce. It runtime-injects only `tools`, `lsp`, and `systemPrompt` and
|
|
6
|
+
* `dsh-tool-call-timeout-policy` to enforce. It runtime-injects only `tools`, `lsp`, and `systemPrompt` and
|
|
7
7
|
* imports no provider.
|
|
8
8
|
*
|
|
9
9
|
* Namespace plugin (named exports, no default export).
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-tool-lsp",
|
|
3
3
|
"description": "Model-facing lsp tool over the DeepSeek Harness LSP capability seam (ctx.lsp) — one read-only tool with goToDefinition/findReferences/goToImplementation/hover operations, one-based UTF-16 cursor coordinates, bounded location rendering, and hover normalization",
|
|
4
|
-
"version": "0.0
|
|
4
|
+
"version": "0.1.0-rc.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
7
7
|
},
|
|
@@ -30,32 +30,32 @@
|
|
|
30
30
|
"lib/invariant.js",
|
|
31
31
|
"lib/types/**/*.d.ts"
|
|
32
32
|
],
|
|
33
|
-
"license": "
|
|
33
|
+
"license": "MIT",
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@deepseek-ai/dsh-invariants": "^0.0
|
|
36
|
-
"@deepseek-ai/dsh-llm": "^0.0
|
|
37
|
-
"@deepseek-ai/dsh-lsp": "^0.0
|
|
38
|
-
"@deepseek-ai/dsh-system-prompt": "^0.0
|
|
39
|
-
"@deepseek-ai/dsh-timeout": "^0.0
|
|
40
|
-
"@deepseek-ai/dsh-tools": "^0.0
|
|
41
|
-
"@deepseek-ai/cordis": "^4.0.1
|
|
35
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.2",
|
|
36
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.2",
|
|
37
|
+
"@deepseek-ai/dsh-lsp": "^0.1.0-rc.2",
|
|
38
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.2",
|
|
39
|
+
"@deepseek-ai/dsh-timeout": "^0.1.0-rc.2",
|
|
40
|
+
"@deepseek-ai/dsh-tools": "^0.1.0-rc.2",
|
|
41
|
+
"@deepseek-ai/cordis": "^4.0.1"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@deepseek-ai/schemastery": "^3.18.1
|
|
44
|
+
"@deepseek-ai/schemastery": "^3.18.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@deepseek-ai/dsh-agent": "^0.0
|
|
48
|
-
"@deepseek-ai/dsh-fs-local": "^0.0
|
|
49
|
-
"@deepseek-ai/dsh-invariants": "^0.0
|
|
50
|
-
"@deepseek-ai/dsh-llm": "^0.0
|
|
51
|
-
"@deepseek-ai/dsh-lsp": "^0.0
|
|
52
|
-
"@deepseek-ai/dsh-lsp-
|
|
53
|
-
"@deepseek-ai/dsh-session": "^0.0
|
|
54
|
-
"@deepseek-ai/dsh-subprocess-local": "^0.0
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-timeout": "^0.0
|
|
57
|
-
"@deepseek-ai/dsh-
|
|
58
|
-
"@deepseek-ai/
|
|
59
|
-
"@deepseek-ai/
|
|
47
|
+
"@deepseek-ai/dsh-agent": "^0.1.0-rc.2",
|
|
48
|
+
"@deepseek-ai/dsh-fs-local": "^0.1.0-rc.2",
|
|
49
|
+
"@deepseek-ai/dsh-invariants": "^0.1.0-rc.2",
|
|
50
|
+
"@deepseek-ai/dsh-llm": "^0.1.0-rc.2",
|
|
51
|
+
"@deepseek-ai/dsh-lsp": "^0.1.0-rc.2",
|
|
52
|
+
"@deepseek-ai/dsh-lsp-stdio": "^0.1.0-rc.2",
|
|
53
|
+
"@deepseek-ai/dsh-session": "^0.1.0-rc.2",
|
|
54
|
+
"@deepseek-ai/dsh-subprocess-local": "^0.1.0-rc.2",
|
|
55
|
+
"@deepseek-ai/dsh-timeout": "^0.1.0-rc.2",
|
|
56
|
+
"@deepseek-ai/dsh-tool-call-timeout-policy": "^0.1.0-rc.2",
|
|
57
|
+
"@deepseek-ai/dsh-system-prompt": "^0.1.0-rc.2",
|
|
58
|
+
"@deepseek-ai/dsh-tools": "^0.1.0-rc.2",
|
|
59
|
+
"@deepseek-ai/cordis": "^4.0.1"
|
|
60
60
|
}
|
|
61
61
|
}
|