mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Implements the LSP capability seam RFC as three packages: dsh-lsp (the ctx.lsp interface — provider registry by branded id + exclusive extension mapping, per-query order-independent selection, closed request/result vocabulary, LspError taxonomy), dsh-lsp-local (a generic stdio language-server provider — Content-Length JSON-RPC framing, per-(provider, workspace) process single-flight, transient didOpen/query/didClose, an abortable per-instance queue, UTF-16 negotiation, host-namespace source reads outside ctx.fs, and bounded shutdown/kill teardown), and dsh-tool-lsp (the model-facing lsp tool — four operations, one-based UTF-16 cursor conversion, workspace-grouped location rendering, hover capping, a required session workspace, and a timeout budget). Why: an agent had text search and file reads but no way to identify a program symbol — follow an alias, connect an interface to implementations, or read an inferred type — before changing code. Splitting model contract, seam, and local subprocess behavior keeps the four semantic queries stable across future remote or sandbox-native providers without leaking a JSON-RPC escape hatch.
44 lines
1.3 KiB
JSON
44 lines
1.3 KiB
JSON
{
|
|
"name": "@deepseek-ai/dsh-lsp-local",
|
|
"description": "Generic stdio language-server provider for the DeepSeek Harness LSP capability seam (ctx.lsp) — spawns configured servers, translates JSON-RPC, and serves transient-open definition/references/implementation/hover queries in the host filesystem namespace",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"type": "module",
|
|
"main": "lib/index.js",
|
|
"types": "lib/types/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./lib/types/index.d.ts",
|
|
"default": "./lib/index.js"
|
|
},
|
|
"./src/*": "./src/*",
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"lib/index.js",
|
|
"lib/types/**/*.d.ts",
|
|
"lib/types/**/*.d.ts.map",
|
|
"src"
|
|
],
|
|
"license": "BSD-3-Clause",
|
|
"peerDependencies": {
|
|
"@deepseek-ai/dsh-brand": "^0.0.1",
|
|
"@deepseek-ai/dsh-llm": "^0.0.1",
|
|
"@deepseek-ai/dsh-lsp": "^0.0.1",
|
|
"@deepseek-ai/dsh-timeout": "^0.0.1",
|
|
"cordis": "^4.0.0-rc.7"
|
|
},
|
|
"dependencies": {
|
|
"schemastery": "^3.18.0"
|
|
},
|
|
"devDependencies": {
|
|
"@deepseek-ai/dsh-brand": "workspace:^",
|
|
"@deepseek-ai/dsh-llm": "workspace:^",
|
|
"@deepseek-ai/dsh-lsp": "workspace:^",
|
|
"@deepseek-ai/dsh-timeout": "workspace:^",
|
|
"cordis": "^4.0.0-rc.7",
|
|
"typescript": "^6.0.3",
|
|
"typescript-language-server": "^5.0.0"
|
|
}
|
|
}
|