dsh-code-index 0.11.0 → 0.11.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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  All notable changes to dsh-code-index are documented here.
4
4
 
5
+ ## 0.11.1 — DSH rc.3 compatibility
6
+
7
+ - Add the verified exact `@deepseek-ai/dsh-tools@0.2.1-rc.3` host group; retain `0.2.0-rc.2` and `0.2.1-rc.2` support without exemptions or an open-ended range.
8
+ - Verify all eight tools and Impact X-Ray in a real DSH rc.3 Web/Host environment. Keep server/client behavior, runtime dependencies and the development API baseline unchanged.
9
+ - Make rc.3 the default installed-package smoke target and include `code_health` in native runtime dispatch coverage. See `RELEASE_EVIDENCE_v0.11.1.md` for methods and limits.
10
+
5
11
  ## 0.11.0 — Impact X-Ray
6
12
 
7
13
  - Present the existing `code_change_context` analysis in an interactive bilingual Desktop view with source-backed nodes and relationships; keep default text output and `code_context` Context Packs compatible.
package/README.md CHANGED
@@ -5,36 +5,36 @@
5
5
 
6
6
  English | [中文](README.zh.md)
7
7
 
8
- **v0.11.0 — Impact X-Ray.** See the potential blast radius before AI edits code, then inspect each relationship against real source evidence. The 30-second recording shows the real `0.11.0-dev.0` MVP; the dev.1 first-screen change-center and uncertainty improvements are shown in separate [real Desktop screenshots](IMPACT_XRAY_RC.md#first-screen-and-visual-evidence). The release preserves existing `code_change_context` analysis and `code_context` packs.
8
+ ## Impact X-Ray
9
9
 
10
- **Supported Desktop versions**
10
+ **See the blast radius before your AI edits the code.**
11
11
 
12
- The compatibility support introduced in [v0.10.1](https://github.com/lemonxiny55/dsh-code-index/releases/tag/v0.10.1) remains: only DSH/dsh-tools `0.2.0-rc.2` and `0.2.1-rc.2` host groups are supported. Keep each host's first-party packages on the same version.
12
+ A local plugin for [DeepSeek Harness (DSH)](https://github.com/deepseek-ai/deepseek-harness). See which callers, imports and tests may be affected by a code change, then click a relationship to inspect its actual source, file and line. Uncertain matches and missing evidence stay visible.
13
13
 
14
- ## Impact X-Ray
14
+ **Try v0.11.1 in DSH Desktop 0.2.1-rc.2** using Desktop's bundled CLI:
15
15
 
16
- **See the blast radius before your AI edits the code.**
16
+ ```sh
17
+ dsh plugin --profile desktop add dsh-code-index@0.11.1
18
+ ```
17
19
 
18
- - **Before AI edits your code:** start from a real working-tree Git diff, a supplied diff, or an explicitly labeled file/symbol selection.
19
- - **See what may break:** inspect changed declarations, direct callers, indirect paths, module imports and candidate tests.
20
- - **Inspect the evidence:** select a node or arrow to see its reason, provenance, file, line and actual source snapshot. Expand the view for a graph and evidence side by side; open current files in Desktop's native preview.
21
- - **Know what remains uncertain:** dotted amber `name-only` candidates, import scope, unmapped ranges, missing source and truncation stay visible. A test lead does not prove coverage or failure.
20
+ Restart Desktop after installation. [Other profiles and compatibility](#install).
22
21
 
23
- This is an interactive presentation of the existing `code_change_context` analysis, with source from the existing reader. It does not introduce a new impact-analysis engine.
22
+ **30-second real Desktop demo:** `normalize()` changes → inspect callers and tests → click an arrow for source evidence.
24
23
 
25
- ![Impact X-Ray in actual DSH Desktop](assets/impact-xray-mvp.gif)
24
+ ![Impact X-Ray in actual DSH Desktop: changed normalize function, callers, tests and clickable source evidence](assets/impact-xray-mvp.gif)
26
25
 
27
- [Actual recording and reproduction notes](assets/impact-xray-mvp-demo.md) · [Release evidence and remaining limits](RELEASE_EVIDENCE_v0.11.0.md) · [Bilingual release notes](RELEASE_NOTES_v0.11.0.md)
26
+ [Full-size GIF](assets/impact-xray-mvp.gif) · [MP4](assets/impact-xray-mvp.mp4) · [Reproduce the demo](assets/impact-xray-mvp-demo.md) · [Report what helped or was missing](https://github.com/lemonxiny55/dsh-code-index/issues/new?template=feedback.yml)
28
27
 
29
- The recording shows the real `dev.0` MVP; its first 10 seconds show the changed function, caller/test lanes and source-backed exact relationship. The `dev.1` first-screen improvements are documented separately with actual Desktop screenshots; the video has not been represented as a recording of those later header changes.
28
+ The recording is the real `0.11.0-dev.0` MVP in Desktop 0.2.1-rc.2. Later first-screen improvements have separate [real Desktop screenshots](IMPACT_XRAY_RC.md#首屏与实机操作). Open the full-size media to read small source text.
30
29
 
31
- Install v0.11.0 into an existing supported Desktop profile with Desktop's bundled CLI:
30
+ - **Before AI edits your code:** start from a real working-tree Git diff, a supplied diff, or an explicitly labeled file/symbol selection.
31
+ - **See what may break:** inspect changed declarations, direct callers, indirect paths, module imports and candidate tests.
32
+ - **Inspect the evidence:** select a node or arrow to see its reason, provenance, file, line and actual source snapshot. Expand the view for a graph and evidence side by side; open current files in Desktop's native preview.
33
+ - **Know what remains uncertain:** dotted amber `name-only` candidates, import scope, unmapped ranges, missing source and truncation stay visible. A test lead does not prove coverage or failure.
32
34
 
33
- ```sh
34
- dsh plugin --profile desktop add dsh-code-index@0.11.0
35
- ```
35
+ This is an interactive presentation of the existing `code_change_context` analysis, with source from the existing reader. It does not introduce a new impact-analysis engine.
36
36
 
37
- Restart Desktop after installation. For local development, use Node 22/24 and pnpm 11. Desktop 0.2.1-rc.2 received full UI verification. Desktop 0.2.0-rc.2 passed installation and ToolRuntime checks; its full Impact X-Ray UI was not validated. The peer range remains unchanged. See the release evidence for actual methods, performance observations and limitations.
37
+ **Verified hosts:** Desktop 0.2.1-rc.2 received full Impact X-Ray UI verification. Desktop 0.2.0-rc.2 passed installation and ToolRuntime checks; its full X-Ray UI was not validated. v0.11.1 also verifies DSH Web/Host 0.2.1-rc.3 (all eight tools and Impact X-Ray; no model-driven Agent run). See [v0.11.1 evidence](RELEASE_EVIDENCE_v0.11.1.md). These three exact DSH/dsh-tools host groups are declared; keep each host's first-party packages on the same version. For local development, use Node 22/24 and pnpm 11. [Release evidence and limits](RELEASE_EVIDENCE_v0.11.0.md) · [Bilingual release notes](RELEASE_NOTES_v0.11.0.md).
38
38
 
39
39
  Ask the Agent to call `code_change_context` with:
40
40
 
@@ -88,16 +88,16 @@ This supports syntax and static code context, without full HarmonyOS SDK semanti
88
88
 
89
89
  ## Quick start
90
90
 
91
- Requires Node 22/24 and a matching DSH `0.2.0-rc.2` or `0.2.1-rc.2` host group. Install into an existing Desktop profile using its bundled `dsh` CLI:
91
+ Requires Node 22/24 and a matching DSH `0.2.0-rc.2`, `0.2.1-rc.2` or `0.2.1-rc.3` host group. Install into an existing Desktop profile using its bundled `dsh` CLI:
92
92
 
93
93
  ```sh
94
- dsh plugin --profile desktop add dsh-code-index@0.11.0
94
+ dsh plugin --profile desktop add dsh-code-index@0.11.1
95
95
  ```
96
96
 
97
97
  Restart Desktop after installation. For a matching Web profile:
98
98
 
99
99
  ```sh
100
- npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.0
100
+ npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.1
101
101
  npx @deepseek-ai/dsh@0.2.1-rc.2 web
102
102
  ```
103
103
 
@@ -149,13 +149,13 @@ Plus an optional **auto-injected system prompt section** (`code-index:repo-map`,
149
149
 
150
150
  Requires `dsh` (any install path — npx, npm, or source) and Node ≥ 22.
151
151
 
152
- The compatibility range introduced in v0.10.1 remains `@deepseek-ai/dsh-tools: 0.2.0-rc.2 || 0.2.1-rc.2`. Use matching DSH/dsh-tools groups, rather than mixing first-party RC packages. The DSH plugin surface remains a preview API; other RCs and future releases are outside this compatibility declaration.
152
+ v0.11.1 extends the compatibility range to `@deepseek-ai/dsh-tools: 0.2.0-rc.2 || 0.2.1-rc.2 || 0.2.1-rc.3`. Use matching DSH/dsh-tools groups, rather than mixing first-party RC packages. The DSH plugin surface remains a preview API; other RCs and future releases are outside this compatibility declaration.
153
153
 
154
154
  Desktop checks DSH peer requirements before activation. v0.10.0's exact `0.2.0-rc.2` pin is rejected by DSH `0.2.1-rc.2`; v0.10.1 enumerates the supported groups instead of requiring a version exemption or an unbounded range. Its development dependency stays on `0.2.0-rc.2` for backward API checks.
155
155
 
156
156
  ```sh
157
157
  # from npm (prebuilt)
158
- npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.0
158
+ npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.1
159
159
 
160
160
  # or from a directory containing this checkout
161
161
  npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add ./dsh-code-index
package/README.zh.md CHANGED
@@ -2,36 +2,38 @@
2
2
 
3
3
  [English](README.md) | 中文
4
4
 
5
- **v0.11.0 — Impact X-Ray。**在 AI 修改代码前查看潜在影响范围,并用真实源码证据核对每条关系。30 秒录屏来自真实运行的 `0.11.0-dev.0` MVP;dev.1 首屏对变更中心及不确定性的改进另有[真实 Desktop 截图](IMPACT_XRAY_RC.md#first-screen-and-visual-evidence)。本版本复用现有 `code_change_context` 分析,保留 `code_context` pack 行为。
5
+ ## Impact X-Ray
6
6
 
7
- **支持的 Desktop 版本**
7
+ **See the blast radius before your AI edits the code.**
8
8
 
9
- [v0.10.1](https://github.com/lemonxiny55/dsh-code-index/releases/tag/v0.10.1) 引入的兼容范围保持不变:仅支持 DSH/dsh-tools `0.2.0-rc.2`、`0.2.1-rc.2` 两个精确宿主组,每组第一方包必须同版。
9
+ **在 AI 修改代码前,看清潜在影响范围。**
10
10
 
11
- ## Impact X-Ray
11
+ 这是 [DeepSeek Harness(DSH)](https://github.com/deepseek-ai/deepseek-harness) 的本地插件。查看代码变更可能影响的调用者、导入和测试,再点击关系核对真实源码、文件与行号。不确定的匹配和缺失证据会明确显示。
12
12
 
13
- **See the blast radius before your AI edits the code.**
13
+ **在 DSH Desktop 0.2.1-rc.2 中试用 v0.11.1**,使用 Desktop 自带的 CLI:
14
14
 
15
- - **在 AI 修改之前:**从真实工作区 Git diff、输入 diff,或明确标注的文件/符号选择开始。
16
- - **看清可能影响什么:**检查变更声明、直接调用者、间接路径、模块导入和测试候选。
17
- - **检查真实证据:**点击节点或箭头,查看纳入原因、关系来源、文件行号及实际源码快照。放大视图中图与证据并排展示,可打开 Desktop 原生文件预览。
18
- - **了解不确定性:**黄色点线的 `name-only` 候选、导入范围、未映射行、缺失源码和裁剪均明确呈现;测试线索不证明覆盖率或必然失败。
15
+ ```sh
16
+ dsh plugin --profile desktop add dsh-code-index@0.11.1
17
+ ```
19
18
 
20
- 这是既有 `code_change_context` 分析和源码读取能力的交互展示,不是新开发的影响分析算法。
19
+ 安装后重启 Desktop。[其他 profile 与兼容范围](#安装)。
21
20
 
22
- ![真实 DSH Desktop 中的 Impact X-Ray](assets/impact-xray-mvp.gif)
21
+ **30 秒真实 Desktop 演示:**`normalize()` 发生修改 → 查看调用者和测试 → 点击箭头核对源码证据。
23
22
 
24
- [真实录制与复现说明](assets/impact-xray-mvp-demo.md) · [发布证据与已知限制](RELEASE_EVIDENCE_v0.11.0.md) · [中英文发布说明](RELEASE_NOTES_v0.11.0.md)
23
+ ![真实 DSH Desktop 中的 Impact X-Ray:变更的 normalize、调用者、测试与可点击的源码证据](assets/impact-xray-mvp.gif)
25
24
 
26
- 视频展示真实 `dev.0` MVP;前 10 秒可看到变更函数、调用者/测试和有源码证据的 exact 关系。`dev.1` 首屏的变更中心改进另以实机截图记录,没有把视频描述成后续首屏版本的录制。
25
+ [全尺寸 GIF](assets/impact-xray-mvp.gif) · [MP4 视频](assets/impact-xray-mvp.mp4) · [复现 Demo](assets/impact-xray-mvp-demo.md) · [反馈有帮助或遗漏的上下文](https://github.com/lemonxiny55/dsh-code-index/issues/new?template=feedback.yml)
27
26
 
28
- 使用 Desktop 自带的 CLI 将 v0.11.0 安装到现有受支持的 Desktop profile:
27
+ 录屏来自真实 Desktop 0.2.1-rc.2 中的 `0.11.0-dev.0` MVP;后续首屏改进另有[真实 Desktop 截图](IMPACT_XRAY_RC.md#首屏与实机操作)。源码小字请打开全尺寸素材查看。
29
28
 
30
- ```sh
31
- dsh plugin --profile desktop add dsh-code-index@0.11.0
32
- ```
29
+ - **在 AI 修改之前:** 从真实工作区 Git diff、输入 diff,或明确标注的文件/符号选择开始。
30
+ - **看清可能影响什么:** 检查变更声明、直接调用者、间接路径、模块导入和测试候选。
31
+ - **检查真实证据:** 点击节点或箭头,查看纳入原因、关系来源、文件行号及实际源码快照。放大视图中图与证据并排展示,可打开 Desktop 原生文件预览。
32
+ - **了解不确定性:** 黄色点线的 `name-only` 候选、导入范围、未映射行、缺失源码和裁剪均明确呈现;测试线索不证明覆盖率或必然失败。
33
+
34
+ 这是既有 `code_change_context` 分析和源码读取能力的交互展示,不是新开发的影响分析算法。
33
35
 
34
- 安装后重启 Desktop。本版本的完整 UI 已在 DSH Desktop 0.2.1-rc.2 实机验证;0.2.0-rc.2 通过安装及 ToolRuntime 检查,但未完成完整 Impact X-Ray UI 验收。peer 范围未扩大。实际验证方法、性能观察和已知限制见发布证据。开发构建使用 Node 22/24 与 pnpm 11。
36
+ **实测宿主:** DSH Desktop 0.2.1-rc.2 已完成完整 Impact X-Ray UI 验证;0.2.0-rc.2 通过安装及 ToolRuntime 检查,但未完成完整 X-Ray UI 验收。v0.11.1 新增 DSH Web/Host 0.2.1-rc.3 的全部 8 个工具及 Impact X-Ray 验证(未进行模型驱动的 Agent 运行),详见 [v0.11.1 验证报告](RELEASE_EVIDENCE_v0.11.1.md)。仅声明这三个精确 DSH/dsh-tools 宿主组,每组第一方包必须同版。开发构建使用 Node 22/24 与 pnpm 11。[发布证据与已知限制](RELEASE_EVIDENCE_v0.11.0.md) · [中英文发布说明](RELEASE_NOTES_v0.11.0.md)。
35
37
 
36
38
  让 Agent 调用 `code_change_context`:
37
39
 
@@ -85,16 +87,16 @@ node scripts/impact-xray-demo.mjs D:/absolute/path/to/new-demo-repo
85
87
 
86
88
  ## 快速开始
87
89
 
88
- 需要 Node 22/24 与匹配的 DSH `0.2.0-rc.2` 或 `0.2.1-rc.2` 宿主版本组。用 Desktop 自带的 `dsh` CLI 安装到现有 profile:
90
+ 需要 Node 22/24 与匹配的 DSH `0.2.0-rc.2`、`0.2.1-rc.2` 或 `0.2.1-rc.3` 宿主版本组。用 Desktop 自带的 `dsh` CLI 安装到现有 profile:
89
91
 
90
92
  ```sh
91
- dsh plugin --profile desktop add dsh-code-index@0.11.0
93
+ dsh plugin --profile desktop add dsh-code-index@0.11.1
92
94
  ```
93
95
 
94
96
  安装后重启 Desktop。匹配的 Web profile 可使用:
95
97
 
96
98
  ```sh
97
- npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.0
99
+ npx @deepseek-ai/dsh@0.2.1-rc.2 plugin --profile web add dsh-code-index@0.11.1
98
100
  npx @deepseek-ai/dsh@0.2.1-rc.2 web
99
101
  ```
100
102
 
@@ -146,13 +148,13 @@ npx @deepseek-ai/dsh@0.2.1-rc.2 web
146
148
 
147
149
  需要 `dsh`(任意安装方式——npx、npm 或源码)与 Node ≥ 22。
148
150
 
149
- v0.10.1 引入的兼容范围继续保持 `@deepseek-ai/dsh-tools: 0.2.0-rc.2 || 0.2.1-rc.2`。使用配套的 DSH/dsh-tools 版本组,不混装第一方 RC 包。DSH 插件接口仍属于预览 API;其他 RC 和未来版本不在此兼容声明范围内。
151
+ v0.11.1 将兼容范围扩展为 `@deepseek-ai/dsh-tools: 0.2.0-rc.2 || 0.2.1-rc.2 || 0.2.1-rc.3`。使用配套的 DSH/dsh-tools 版本组,不混装第一方 RC 包。DSH 插件接口仍属于预览 API;其他 RC 和未来版本不在此兼容声明范围内。
150
152
 
151
153
  Desktop 在激活前检查 DSH peer 约束。v0.10.0 的精确 `0.2.0-rc.2` pin 会被 DSH `0.2.1-rc.2` 拒绝;v0.10.1 明确列举支持组,不依赖版本豁免或无上限范围。开发依赖保留 `0.2.0-rc.2`,继续检查旧版 API。
152
154
 
153
155
  ```sh
154
156
  # 从 npm(预编译)
155
- npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.0
157
+ npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add dsh-code-index@0.11.1
156
158
 
157
159
  # 或从包含本仓库检查副本的目录
158
160
  npx @deepseek-ai/dsh@0.2.0-rc.2 plugin --profile web add ./dsh-code-index
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-code-index",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "description": "Impact X-Ray for DSH: inspect potential code-change impact, provenance and real source evidence before AI edits.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "peerDependencies": {
53
53
  "@deepseek-ai/cordis": "^4.0.1",
54
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2 || 0.2.1-rc.2"
54
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2 || 0.2.1-rc.2 || 0.2.1-rc.3"
55
55
  },
56
56
  "peerDependenciesMeta": {
57
57
  "@deepseek-ai/cordis": {
@@ -67,7 +67,7 @@ function parseJsonArrayOutput(output, command) {
67
67
  // A release gate can reuse one immutable candidate across Node versions.
68
68
  const suppliedTarball = process.argv[2] ? path.resolve(process.argv[2]) : null
69
69
  // Exercise each supported host group against the same immutable candidate.
70
- const toolsVersion = process.argv[3] ?? '0.2.1-rc.2'
70
+ const toolsVersion = process.argv[3] ?? '0.2.1-rc.3'
71
71
  const supportedToolsVersions = packageJson.peerDependencies['@deepseek-ai/dsh-tools'].split(' || ')
72
72
  assert.ok(supportedToolsVersions.includes(toolsVersion), 'smoke requires an explicitly supported DSH tools version')
73
73
  const packed = suppliedTarball ? null : parseJsonArrayOutput(run(npm, ['pack', '--ignore-scripts', '--json'], root), 'npm pack')
@@ -294,6 +294,8 @@ try {
294
294
  assert.ok(rustSymbols.value.some(symbol => symbol.name === 'CrateOnly' && symbol.signature === 'CrateOnly' && !symbol.exported))
295
295
  assert.ok(rustSymbols.value.some(symbol => symbol.name === 'Restricted' && symbol.signature === 'Restricted' && !symbol.exported))
296
296
  const rustMap = await nativeInvoke('code_map', { repoRoot: rustRoot })
297
+ const health = await nativeInvoke('code_health', { repoRoot: rustRoot })
298
+ assert.match(health.value, /repo health/)
297
299
  for (const name of ['PublicOne', 'PublicEnum', 'PublicTrait']) {
298
300
  const search = await nativeInvoke('code_search', { query: name, repoRoot: rustRoot })
299
301
  assert.equal(search.value[0]?.name, name)