deepseek-coordination 0.11.0 → 0.12.0
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 +36 -5
- package/README.zh-CN.md +36 -5
- package/lib/client.js +80 -0
- package/lib/index.mjs +15269 -390
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
A dual-face Cordis plugin for DeepSeek Harness: the host half owns a coordination SQLite database, seven model-facing tools and an HTTP surface; the web half mounts five composer dropdowns, a settings catalog and the service-level takeover dialog.
|
|
6
6
|
|
|
7
|
-
**Status: v0.
|
|
7
|
+
**Status: v0.12.0 (2026-10-18).** This release adds a domain-concept layer split by ecosystem — tex, book, markdown, html, five programming languages, maven/npm and Office — plus a `kind` filter on the chain query, a directory layer, and the canonical `NodeRecord`. It builds on v0.11.0 (durable settings, DSH-owned reasoning, experimental cache proxy). The package version, changelog and release tarball are the same tree; claims below were checked against source, not against the design documents alone.
|
|
8
8
|
|
|
9
9
|
| Status | Meaning in this README |
|
|
10
10
|
|---|---|
|
|
@@ -60,7 +60,7 @@ Install the packed tarball, not the GitHub source:
|
|
|
60
60
|
|
|
61
61
|
```powershell
|
|
62
62
|
npm pack
|
|
63
|
-
dsh plugin --profile <name> add .\deepseek-coordination-0.
|
|
63
|
+
dsh plugin --profile <name> add .\deepseek-coordination-0.12.0.tgz
|
|
64
64
|
dsh --profile <name> --dump-config # expect a deepseek-coordination layer
|
|
65
65
|
```
|
|
66
66
|
|
|
@@ -188,6 +188,37 @@ The budgets live in `src/host/comprehension.ts` and the shared `ValidationBudget
|
|
|
188
188
|
|
|
189
189
|
Terminal turn states (`done`, `failed`, `cancelled`, `abandoned`) are irreversible. The turn hook records turn metadata and an empty prompt row; it does not mirror the DSH conversation into the coordination database.
|
|
190
190
|
|
|
191
|
+
## Domain ecosystems and parsers
|
|
192
|
+
|
|
193
|
+
The file layer is not one parser with a bag of node kinds. Each system owns a module under `src/host/text/`, and the node kinds it may emit are bounded by that system's semantics. All output is body-free `NodeMetadata`: kind, explicit name/label, span and fragment coordinates — never a body, a cell value or a paragraph.
|
|
194
|
+
|
|
195
|
+
| Ecosystem | Module | Node kinds it may emit |
|
|
196
|
+
|---|---|---|
|
|
197
|
+
| tex | `tex.ts` | `definition`, `lemma`, `theorem`, `proof`, `property`, `axiom`, `corollary`, `claim`, `example`, `remark`, `calculation`, `condition` (+ `requires`/`meets` edges) |
|
|
198
|
+
| book | `book.ts` | `book`, `part`, `chapter`, `article`, `section`, `person`, `venue` — the only producer of `article` |
|
|
199
|
+
| markdown | `markup.ts` | `document`, `chapter`, `heading`, `paragraph`, `div`, `link`, `code`, `section`, `sheet`, `cell`, `range`, `condition` |
|
|
200
|
+
| html | `markup.ts` | `document`, `section` (`<article>` maps here), `chapter` (`<h1>`), `link`, `code` |
|
|
201
|
+
| js/ts | `javascript.ts` | `class`, `function`, `method`, `variable`, `interface`, `type`, `enum`, `namespace`, `importation`, `exportation`, `condition` |
|
|
202
|
+
| java | `java.ts` | `module`, `class`, `method`, `variable`, `importation` |
|
|
203
|
+
| python | `python.ts` | `class`, `function`, `method`, `variable`, `importation` |
|
|
204
|
+
| c/c++ | `c-family.ts` | `module`, `class`, `function`, `method`, `variable`, `importation` |
|
|
205
|
+
| rust | `rust.ts` | `module`, `class`, `function`, `method`, `variable`, `importation` |
|
|
206
|
+
| php | `php.ts` | `module`, `class`, `function`, `method`, `variable`, `importation` |
|
|
207
|
+
| maven | `maven.ts` | `project`, `module`, `dependency` (parent is a dependency with `label: 'parent'`) |
|
|
208
|
+
| npm | `npm.ts` | `project`, `dependency`, `script` (the command body is never stored) |
|
|
209
|
+
| office | `office.ts` | docx: `document`, `chapter`, `section`, `paragraph`, `link`; xlsx: `workbook`, `sheet`, `range`, `formula`; pptx: `document`, `slide`; pub/accdb: no nodes, one `unsupported-format` diagnostic |
|
|
210
|
+
| text | `sentence.ts` | `sentence` segmentation and `line` ranges (coordinates, not nodes) |
|
|
211
|
+
|
|
212
|
+
Rules that hold across every ecosystem:
|
|
213
|
+
|
|
214
|
+
- **Language nuance lives in `label`, not in new kinds.** Rust `impl` is `kind: 'class'` with `label: 'implementation'`; C++ `struct`/`enum` and PHP `trait` work the same way. `NodeKind` stays a small closed union.
|
|
215
|
+
- **Descriptive only.** No parser writes files, builds, installs, executes macros or reaches the network. A real "create project" is a shell command behind DSH's permission model, never a plugin tool.
|
|
216
|
+
- **Explicit evidence only.** A heading level is never inferred from text, a package version is never invented, and a missing relationship is reported rather than paired positionally. Malformed input returns a diagnostic and never throws.
|
|
217
|
+
- **Bounded.** ZIP entries ≤ 2000, uncompressed ≤ 64 MiB per entry / 256 MiB total, XML nesting ≤ 128, nodes ≤ `MAX_METADATA_NODES` (20 000), and the parser honors the token/time budgets.
|
|
218
|
+
- **`SUMMARY.md` resolves to `book`** through the registry's filename-first rule; `README.md` and other Markdown stay with the Markdown parser.
|
|
219
|
+
|
|
220
|
+
The graph answers "what is in this workspace" through `coordination_parse`, `coordination_describe` and `coordination_chain`. The chain query takes an optional `kind` (trimmed, case-insensitive) on every node-returning action, so "all lemmas" or "all chapters" is one call instead of a scan. Directory nodes are derived from unambiguous workspace paths and connected with `contains`/`part_of`; the invariant is **`part_of` (child→parent) exact, `contains` (parent→child) best-effort**.
|
|
221
|
+
|
|
191
222
|
## Settings and configuration
|
|
192
223
|
|
|
193
224
|
The settings page is driven by `SETTINGS_CONTROLS` in `src/shared/selection.ts`: **139 controls in 13 groups, 122 writable host rows, covering 155 config leaves**. Twelve scene leaves (`scenes.*.thinking`, `scenes.*.reasoningEffort`) stay in the schema but have no row: DSH's model page owns reasoning, and duplicating it here would create two sources of truth. The 18 top-level config keys include `database` and `databasePath`, which are deliberately not projected or writable.
|
|
@@ -348,7 +379,7 @@ There is no `coordination_write`, `coordination_refresh`, `outline`, `findSymbol
|
|
|
348
379
|
|
|
349
380
|
| Check | Result |
|
|
350
381
|
|---|---|
|
|
351
|
-
| `npm test` | **
|
|
382
|
+
| `npm test` | **615 tests, 614 pass, 1 skipped (GC-only), 0 fail**, ~3 s on Node 24.21.0 |
|
|
352
383
|
| `npm run typecheck` / `npm run test:tsc` | Clean |
|
|
353
384
|
| `npm run build` | Host + client bundles green; MUI `"use client"` directive warnings are non-fatal |
|
|
354
385
|
| `npm run pack:check` | OK: the runtime tarball carries the four shipped files |
|
|
@@ -359,7 +390,7 @@ Parser and structure numbers are guards, not promises: a 100k-character parse te
|
|
|
359
390
|
Known limitations, stated rather than hidden:
|
|
360
391
|
|
|
361
392
|
1. **Durable graph is bounded.** `node`/`edge`/`snapshot` are now schema 24 and survive a new runtime; rehydration is bounded to the newest 10k nodes / 50k edges, removed symbols are not pruned, and a handle older than the rehydration window is `NOT_FOUND`.
|
|
362
|
-
2. **Domain extraction is parser-level;
|
|
393
|
+
2. **Domain extraction is parser-level; some projections are still partial.** Book/Article/Part/Chapter/Section/Paragraph, Person/Venue, Condition, Sheet/Cell/Range and TeX proof status are emitted and projected onto node cards; docx/xlsx/pptx now parse through a bounded ZIP+OOXML reader, while Publisher/Access stay explicitly unsupported. `partOf`/`condition` edges are queryable through `coordination_chain`; cross-file Book composition and Sign promotion remain deferred.
|
|
363
394
|
3. **The core turn pipeline is wired, the wider engines are not.** Comprehension → Organization → Plan/score and required Predict rows now run for `command=none` turns, with the scene policy applied where ports exist. Standalone Emotion/Bayesian/Cognition/Orchestration/Learning/Resource/Score, plan rebuild loops and decompose/dispatch/verify/synthesize remain library-only. Reasoning is DSH-owned and no longer reported as a plugin gap; `allowBash`, `maxIteration` and non-writing score thresholds are still recorded as deferred diagnostics, not faked.
|
|
364
395
|
4. **Configured caps are live.** `parser.maxAstDepth`, both dependency-graph caps and `tools.maxResultBytes` are consumed; parser/chain limits retune an existing runtime, and a config change no longer leaves a stale tool runtime.
|
|
365
396
|
5. **Workspace root is resolved, not hard-coded.** Tool option → service root → host root → sandbox-policy root → `process.cwd()` only as the last fallback.
|
|
@@ -371,6 +402,6 @@ Known limitations, stated rather than hidden:
|
|
|
371
402
|
|
|
372
403
|
## Repository history and license
|
|
373
404
|
|
|
374
|
-
`0.1.x` is **dsh-os**, a different OS-interaction project, no longer on the branch tip; `0.2.0` became the DSH plugin bundle; `0.3`–`0.6` moved the UI from Angular to MDUI to plain React to Material UI; `0.7`–`0.9` added the five dropdowns, i18n, profession lock, takeover, compaction, the P0 parser, the domain model and the shared data structures; `0.10.0` added the settings catalog, the four file tools, the second data-structure pass and the verified tarball; `0.11.0` added durable settings, DSH-owned reasoning and the experimental cache proxy with brand profiles. Earlier states remain in git history and tags.
|
|
405
|
+
`0.1.x` is **dsh-os**, a different OS-interaction project, no longer on the branch tip; `0.2.0` became the DSH plugin bundle; `0.3`–`0.6` moved the UI from Angular to MDUI to plain React to Material UI; `0.7`–`0.9` added the five dropdowns, i18n, profession lock, takeover, compaction, the P0 parser, the domain model and the shared data structures; `0.10.0` added the settings catalog, the four file tools, the second data-structure pass and the verified tarball; `0.11.0` added durable settings, DSH-owned reasoning and the experimental cache proxy with brand profiles; `0.12.0` added the per-ecosystem domain layer, the chain `kind` filter, the directory layer and `NodeRecord`. Earlier states remain in git history and tags.
|
|
375
406
|
|
|
376
407
|
MIT © 2026 Eloy Kim. See [LICENSE](LICENSE). Source: [github.com/eloyhere/deepseek-coordination](https://github.com/eloyhere/deepseek-coordination).
|
package/README.zh-CN.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
一个面向 DeepSeek Harness 的双端 Cordis 插件:宿主端持有协调 SQLite 数据库、7 个模型可见工具和一组 HTTP 路由;浏览器端在输入框挂载五个下拉框,并提供设置目录与服务级接管对话框。
|
|
6
6
|
|
|
7
|
-
**当前版本:v0.
|
|
7
|
+
**当前版本:v0.12.0(2026-10-18)。** 本版新增按体系拆分的领域概念层——tex、book、markdown、html、五种编程语言、maven/npm 与 Office——并为 chain 查询加上 `kind` 过滤、加入目录层与规范 `NodeRecord`。它建立在 v0.11.0(持久设置、推理交还 DSH、实验性缓存代理)之上。包版本、更新日志和发布 tarball 来自同一棵树;下文按源码核对,不以设计文档代替实现。
|
|
8
8
|
|
|
9
9
|
| 状态 | 含义 |
|
|
10
10
|
|---|---|
|
|
@@ -60,7 +60,7 @@ npm pack # 先执行 prepack,生成可安装 tarball
|
|
|
60
60
|
|
|
61
61
|
```powershell
|
|
62
62
|
npm pack
|
|
63
|
-
dsh plugin --profile <name> add .\deepseek-coordination-0.
|
|
63
|
+
dsh plugin --profile <name> add .\deepseek-coordination-0.12.0.tgz
|
|
64
64
|
dsh --profile <name> --dump-config # 应出现 deepseek-coordination 层
|
|
65
65
|
```
|
|
66
66
|
|
|
@@ -188,6 +188,37 @@ deepseek-coordination/
|
|
|
188
188
|
|
|
189
189
|
`done`、`failed`、`cancelled`、`abandoned` 是不可逆终态。Turn 钩子只记录 Turn 元数据和一条空 prompt 行,不把 DSH 对话镜像进协调库。
|
|
190
190
|
|
|
191
|
+
## 领域体系与解析器
|
|
192
|
+
|
|
193
|
+
文件层不是一个解析器加一堆节点类型。每个体系在 `src/host/text/` 下拥有独立模块,它能产出的节点类型由该体系的语义限定。所有输出都是 body-free 的 `NodeMetadata`:kind、显式 name/label、span 与 fragment 坐标——绝不包含正文、单元格值或段落内容。
|
|
194
|
+
|
|
195
|
+
| 体系 | 模块 | 可产出的节点 |
|
|
196
|
+
|---|---|---|
|
|
197
|
+
| tex | `tex.ts` | `definition`、`lemma`、`theorem`、`proof`、`property`、`axiom`、`corollary`、`claim`、`example`、`remark`、`calculation`、`condition`(含 `requires`/`meets` 边) |
|
|
198
|
+
| book | `book.ts` | `book`、`part`、`chapter`、`article`、`section`、`person`、`venue`——`article` 的唯一产出者 |
|
|
199
|
+
| markdown | `markup.ts` | `document`、`chapter`、`heading`、`paragraph`、`div`、`link`、`code`、`section`、`sheet`、`cell`、`range`、`condition` |
|
|
200
|
+
| html | `markup.ts` | `document`、`section`(`<article>` 映射于此)、`chapter`(`<h1>`)、`link`、`code` |
|
|
201
|
+
| js/ts | `javascript.ts` | `class`、`function`、`method`、`variable`、`interface`、`type`、`enum`、`namespace`、`importation`、`exportation`、`condition` |
|
|
202
|
+
| java | `java.ts` | `module`、`class`、`method`、`variable`、`importation` |
|
|
203
|
+
| python | `python.ts` | `class`、`function`、`method`、`variable`、`importation` |
|
|
204
|
+
| c/c++ | `c-family.ts` | `module`、`class`、`function`、`method`、`variable`、`importation` |
|
|
205
|
+
| rust | `rust.ts` | `module`、`class`、`function`、`method`、`variable`、`importation` |
|
|
206
|
+
| php | `php.ts` | `module`、`class`、`function`、`method`、`variable`、`importation` |
|
|
207
|
+
| maven | `maven.ts` | `project`、`module`、`dependency`(parent 是 `label: 'parent'` 的 dependency) |
|
|
208
|
+
| npm | `npm.ts` | `project`、`dependency`、`script`(命令体永不入库) |
|
|
209
|
+
| office | `office.ts` | docx:`document`、`chapter`、`section`、`paragraph`、`link`;xlsx:`workbook`、`sheet`、`range`、`formula`;pptx:`document`、`slide`;pub/accdb:无节点,只出一条 `unsupported-format` 诊断 |
|
|
210
|
+
| text | `sentence.ts` | `sentence` 切分与 `line` 区间(坐标,不是节点) |
|
|
211
|
+
|
|
212
|
+
跨体系恒定规则:
|
|
213
|
+
|
|
214
|
+
- **语言细分放 `label`,不新增 kind。** Rust 的 `impl` 是 `kind: 'class'` + `label: 'implementation'`;C++ 的 `struct`/`enum`、PHP 的 `trait` 同理。`NodeKind` 保持为小而封闭的联合。
|
|
215
|
+
- **只描述、不操作。** 任何解析器都不写文件、不构建、不安装、不执行宏、不联网。"创建项目"若真需要,是 DSH 权限模型下的 shell 命令,绝不是插件工具。
|
|
216
|
+
- **只认显式证据。** 不从正文推断标题层级、不编造版本号、缺失关系只报告不按位置配对;异常输入返回诊断且绝不抛异常。
|
|
217
|
+
- **有界。** ZIP 条目 ≤ 2000、单条解压 ≤ 64 MiB、总计 ≤ 256 MiB、XML 嵌套 ≤ 128、节点 ≤ `MAX_METADATA_NODES`(20 000),并遵守 token/时间预算。
|
|
218
|
+
- **`SUMMARY.md` 由 book 解析器处理**(文件名优先规则);`README.md` 等仍走 Markdown。
|
|
219
|
+
|
|
220
|
+
图通过 `coordination_parse`、`coordination_describe`、`coordination_chain` 回答"工作区里有什么"。chain 查询在所有返回节点的动作上支持可选 `kind`(去空格、大小写不敏感),因此"所有 lemma""所有 chapter"是一次调用而不是全量扫描。目录节点从无歧义的工作区路径派生并以 `contains`/`part_of` 连接;不变量是**`part_of`(子→父)精确、`contains`(父→子)尽力而为**。
|
|
221
|
+
|
|
191
222
|
## 设置与配置
|
|
192
223
|
|
|
193
224
|
设置页由 `src/shared/selection.ts` 的 `SETTINGS_CONTROLS` 生成:**13 组、139 个控件、122 个可写宿主行,覆盖 155 个配置叶子**。其中 12 个情景叶子(`scenes.*.thinking`、`scenes.*.reasoningEffort`)留在 schema 里但没有对应行:推理由 DSH 的模型页负责,这里再放一套会形成两个真相来源。18 个顶层配置键包含 `database` 与 `databasePath`,这两个键故意不投影、不可写。
|
|
@@ -348,7 +379,7 @@ P0 解析器是词法级、确定性的:JS/TS/JSX(import/export/`require`/
|
|
|
348
379
|
|
|
349
380
|
| 检查 | 结果 |
|
|
350
381
|
|---|---|
|
|
351
|
-
| `npm test` | **
|
|
382
|
+
| `npm test` | **615 tests,614 pass,1 skipped(仅 GC),0 fail**,Node 24.21.0 上约 3 s |
|
|
352
383
|
| `npm run typecheck` / `npm run test:tsc` | 通过 |
|
|
353
384
|
| `npm run build` | 宿主 + 客户端 bundle 通过;MUI 的 `"use client"` directive 警告不致命 |
|
|
354
385
|
| `npm run pack:check` | OK:运行时 tarball 含四个发布文件 |
|
|
@@ -359,7 +390,7 @@ P0 解析器是词法级、确定性的:JS/TS/JSX(import/export/`require`/
|
|
|
359
390
|
已知限制,直接列出而不是隐藏:
|
|
360
391
|
|
|
361
392
|
1. **持久图有边界。** `node`/`edge`/`snapshot` 已是 schema 24,跨运行时保留;但重水化只取最新 10k 节点 / 50k 边,删除的符号不会清理,超出窗口的旧 handle 返回 `NOT_FOUND`。
|
|
362
|
-
2.
|
|
393
|
+
2. **领域提取在解析器层,部分投影仍不完整。** Book/Article/Part/Chapter/Section/Paragraph、Person/Venue、Condition、Sheet/Cell/Range、TeX 证明状态和 CSV/TSV 表格已产出并投影到节点卡;docx/xlsx/pptx 现在通过有界 ZIP+OOXML 读取器解析,Publisher/Access 明确不支持。`partOf`/`condition` 边已可通过 `coordination_chain` 查询;跨文件 Book 组合与 Sign 提升仍未实现。
|
|
363
394
|
3. **核心 Turn 流水线已接线,更宽的引擎没有。** `command=none` 的 Turn 会运行 Comprehension → Organization → Plan/score,以及需要的 Predict 行;有端口的 scene 策略会生效。独立 Emotion/Bayesian/Cognition/Orchestration/Learning/Resource/Score、计划重建循环和 decompose/dispatch/verify/synthesize 仍是库级。`thinking`、`allowBash`、`maxIteration` 和非写作阈值记录为延迟诊断,不伪造。
|
|
364
395
|
4. **配置上限已生效。** `parser.maxAstDepth`、两个依赖图上限和 `tools.maxResultBytes` 都有消费者;parser/chain 上限会 retune 已存在运行时,不再留下陈旧运行时。
|
|
365
396
|
5. **工作区根已解析,不再硬编码。** 工具参数 → service 根 → host 根 → sandbox policy 根 → 最后才回退 `process.cwd()`。
|
|
@@ -371,6 +402,6 @@ P0 解析器是词法级、确定性的:JS/TS/JSX(import/export/`require`/
|
|
|
371
402
|
|
|
372
403
|
## 仓库历史与许可
|
|
373
404
|
|
|
374
|
-
`0.1.x` 是另一个项目 **dsh-os**,已不在分支顶端;`0.2.0` 变成 DSH 插件 bundle;`0.3`–`0.6` 的 UI 从 Angular 经 MDUI、纯 React 迁到 Material UI;`0.7`–`0.9` 加入五个下拉框、i18n、职能锁定、接管、压缩、P0 解析器、领域模型和共享数据结构;`0.10.0` 加入设置目录、四个文件工具、第二轮数据结构采用和可验证 tarball;`0.11.0` 加入持久设置、推理交还 DSH
|
|
405
|
+
`0.1.x` 是另一个项目 **dsh-os**,已不在分支顶端;`0.2.0` 变成 DSH 插件 bundle;`0.3`–`0.6` 的 UI 从 Angular 经 MDUI、纯 React 迁到 Material UI;`0.7`–`0.9` 加入五个下拉框、i18n、职能锁定、接管、压缩、P0 解析器、领域模型和共享数据结构;`0.10.0` 加入设置目录、四个文件工具、第二轮数据结构采用和可验证 tarball;`0.11.0` 加入持久设置、推理交还 DSH,以及带品牌策略的实验性缓存代理;`0.12.0` 加入按体系拆分的领域层、chain `kind` 过滤、目录层与 `NodeRecord`。旧状态仍在 git 历史和 tag 中。
|
|
375
406
|
|
|
376
407
|
MIT © 2026 Eloy Kim。见 [LICENSE](LICENSE)。源码:[github.com/eloyhere/deepseek-coordination](https://github.com/eloyhere/deepseek-coordination)。
|
package/lib/client.js
CHANGED
|
@@ -24480,6 +24480,46 @@ To suppress this warning, you need to explicitly provide the \`palette.${key}Cha
|
|
|
24480
24480
|
turn: "目标 Turn 序号;省略时使用当前活动 Turn。"
|
|
24481
24481
|
}
|
|
24482
24482
|
}
|
|
24483
|
+
},
|
|
24484
|
+
fileTools: {
|
|
24485
|
+
coordination_parse: {
|
|
24486
|
+
description: "解析工作区文件(或给定文本):返回引用、诊断、字符集、截断标记与节点卡片;绝不返回文件全文。",
|
|
24487
|
+
parameters: {
|
|
24488
|
+
path: "工作区相对路径;与 text 二选一。",
|
|
24489
|
+
text: "要直接解析的文本;与 path 二选一,不写缓存。",
|
|
24490
|
+
parserId: "强制解析器(javascript / css / html / markdown / latex);省略时按扩展名。"
|
|
24491
|
+
}
|
|
24492
|
+
},
|
|
24493
|
+
coordination_describe: {
|
|
24494
|
+
description: "按 handle 查询节点卡片与指定的元数据字段;正文永不返回。",
|
|
24495
|
+
parameters: {
|
|
24496
|
+
handle: "公共节点 handle(由 coordination_parse 的 cards 返回)。",
|
|
24497
|
+
fields: "额外字段:summary / description / usage / purpose;brief、reference 与六个平面字段总是返回。"
|
|
24498
|
+
}
|
|
24499
|
+
},
|
|
24500
|
+
coordination_chain: {
|
|
24501
|
+
description: "查询节点的有界关系链:依赖 / 被依赖 / 满足 / 基线 / 前置 / 未满足 / 路径 / 环;最多 8 层、50 条链接,不返回 AST 或图结构。",
|
|
24502
|
+
parameters: {
|
|
24503
|
+
handle: "链根节点的公共 handle。",
|
|
24504
|
+
action: "dependencies / dependents / satisfies / satisfied_by / baseline / prerequisites / unmet / path / cycle。",
|
|
24505
|
+
depth: "遍历深度 1–8;省略时按动作取默认值。",
|
|
24506
|
+
limit: "链接上限 1–50;默认 50。",
|
|
24507
|
+
target: "path 动作的目标 handle。",
|
|
24508
|
+
relation: "只沿单一关系遍历(depends_on 等价于 depends)。",
|
|
24509
|
+
kind: "只返回该种类的节点(忽略大小写与首尾空白),例如 lemma;省略时不过滤。"
|
|
24510
|
+
}
|
|
24511
|
+
},
|
|
24512
|
+
coordination_read: {
|
|
24513
|
+
description: "读取工作区文件的字节或行范围;这是唯一返回文件内容的工具,单次上限 256 KiB / 2000 行 / 16k tokens。",
|
|
24514
|
+
parameters: {
|
|
24515
|
+
path: "工作区相对路径。",
|
|
24516
|
+
mode: "bytes(字节偏移,end 不含)或 lines(1 基行号,end 含)。",
|
|
24517
|
+
start: "起始字节偏移或起始行号。",
|
|
24518
|
+
end: "结束字节偏移(不含)或结束行号(含)。",
|
|
24519
|
+
maxBytes: "本次最多返回的字节数(≤262144)。",
|
|
24520
|
+
maxLines: "本次最多返回的行数(≤2000)。"
|
|
24521
|
+
}
|
|
24522
|
+
}
|
|
24483
24523
|
}
|
|
24484
24524
|
};
|
|
24485
24525
|
const EN_CONTROL_LABELS = {
|
|
@@ -25262,6 +25302,46 @@ To suppress this warning, you need to explicitly provide the \`palette.${key}Cha
|
|
|
25262
25302
|
turn: "Target turn ordinal; the active turn when omitted."
|
|
25263
25303
|
}
|
|
25264
25304
|
}
|
|
25305
|
+
},
|
|
25306
|
+
fileTools: {
|
|
25307
|
+
coordination_parse: {
|
|
25308
|
+
description: "Parse a workspace file (or supplied text): returns references, diagnostics, charset, truncation and node cards; never the file body.",
|
|
25309
|
+
parameters: {
|
|
25310
|
+
path: "Workspace-relative path; exactly one of path or text.",
|
|
25311
|
+
text: "Text to parse directly; exactly one of path or text, not cached.",
|
|
25312
|
+
parserId: "Force a parser (javascript / css / html / markdown / latex); the extension decides when omitted."
|
|
25313
|
+
}
|
|
25314
|
+
},
|
|
25315
|
+
coordination_describe: {
|
|
25316
|
+
description: "Read one node card and the requested metadata fields by handle; the body is never returned.",
|
|
25317
|
+
parameters: {
|
|
25318
|
+
handle: "Public node handle (from coordination_parse cards).",
|
|
25319
|
+
fields: "Extra fields: summary / description / usage / purpose; brief, reference and the six flat fields are always returned."
|
|
25320
|
+
}
|
|
25321
|
+
},
|
|
25322
|
+
coordination_chain: {
|
|
25323
|
+
description: "Query a bounded relation chain: dependencies / dependents / satisfies / baseline / prerequisites / unmet / path / cycle; at most depth 8 and 50 links, never an AST or graph structure.",
|
|
25324
|
+
parameters: {
|
|
25325
|
+
handle: "Public handle of the chain root.",
|
|
25326
|
+
action: "dependencies / dependents / satisfies / satisfied_by / baseline / prerequisites / unmet / path / cycle.",
|
|
25327
|
+
depth: "Traversal depth 1–8; the action default applies when omitted.",
|
|
25328
|
+
limit: "Link cap 1–50; default 50.",
|
|
25329
|
+
target: "Target handle for the path action.",
|
|
25330
|
+
relation: "Traverse a single relation (depends_on is an alias of depends).",
|
|
25331
|
+
kind: "Only return nodes of this kind (case-insensitive, trimmed), e.g. lemma; omit it to disable the filter."
|
|
25332
|
+
}
|
|
25333
|
+
},
|
|
25334
|
+
coordination_read: {
|
|
25335
|
+
description: "Read a byte or line range of a workspace file; the only tool that returns file content, capped at 256 KiB / 2,000 lines / 16k tokens per call.",
|
|
25336
|
+
parameters: {
|
|
25337
|
+
path: "Workspace-relative path.",
|
|
25338
|
+
mode: "bytes (byte offsets, end exclusive) or lines (1-based lines, end inclusive).",
|
|
25339
|
+
start: "Start byte offset or 1-based start line.",
|
|
25340
|
+
end: "End byte offset (exclusive) or end line (inclusive).",
|
|
25341
|
+
maxBytes: "Maximum bytes to return this call (≤262144).",
|
|
25342
|
+
maxLines: "Maximum lines to return this call (≤2000)."
|
|
25343
|
+
}
|
|
25344
|
+
}
|
|
25265
25345
|
}
|
|
25266
25346
|
}
|
|
25267
25347
|
};
|