dsh-plugin-dev-kb 1.0.2 → 1.0.4
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 +31 -0
- package/kb/README.md +1 -1
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +3 -3
- package/kb/extra/cookbook/maintaining-dsh-code-review.zh.md +1 -1
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
- package/kb/extra/defensive-patterns.zh.md +3 -1
- package/kb/extra/development.zh.md +15 -9
- package/kb/extra/event-producer-consumer.md +5 -2
- package/kb/extra/event-producer-consumer.zh.md +5 -2
- package/kb/extra/graph-atlas.zh.md +7 -7
- package/kb/extra/i18n/README.md +3 -3
- package/kb/extra/i18n/README.zh.md +9 -7
- package/kb/extra/i18n/style-samples.md +1 -1
- package/kb/extra/i18n/translation-prompt.md +3 -3
- package/kb/extra/i18n/translation-rules.md +2 -2
- package/kb/extra/i18n/translation-rules.zh.md +3 -3
- package/kb/extra/module-graph.md +18 -9
- package/kb/extra/module-graph.zh.md +18 -9
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.zh.md +1 -1
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +1 -1
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +1 -1
- package/kb/extra/postmortem/README.zh.md +5 -5
- package/kb/extra/rescope.zh.md +1 -1
- package/kb/extra/subsystems/agent-team.md +2 -2
- package/kb/extra/subsystems/agent-team.zh.md +6 -6
- package/kb/extra/subsystems/attachment.md +63 -12
- package/kb/extra/subsystems/attachment.zh.md +63 -12
- package/kb/extra/subsystems/extensions.md +9 -9
- package/kb/extra/subsystems/extensions.zh.md +12 -12
- package/kb/extra/subsystems/feedback.md +2 -2
- package/kb/extra/subsystems/feedback.zh.md +2 -2
- package/kb/extra/testing.md +1 -1
- package/kb/extra/testing.zh.md +7 -7
- package/kb/extra/web-styling.zh.md +2 -2
- package/kb/meta/search-index.json +132 -132
- package/kb/meta/source.json +2 -2
- package/kb/meta/topics.md +2 -2
- package/kb/site/develop/basic/index.md +1 -1
- package/kb/site/develop/basic/publish.md +3 -3
- package/kb/site/develop/cordis-tutorial/index.md +1 -1
- package/kb/site/en/reference/capability-seams.md +5 -0
- package/kb/site/en/reference/config-catalog.md +52 -17
- package/kb/site/en/reference/persistence-catalog.md +1 -1
- package/kb/site/en/reference/subsystems/approval.md +3 -3
- package/kb/site/en/reference/subsystems/client-modules.md +7 -7
- package/kb/site/en/reference/subsystems/code-runtime.md +2 -2
- package/kb/site/en/reference/subsystems/commands.md +3 -3
- package/kb/site/en/reference/subsystems/compaction.md +3 -3
- package/kb/site/en/reference/subsystems/core.md +19 -19
- package/kb/site/en/reference/subsystems/credentials.md +163 -8
- package/kb/site/en/reference/subsystems/filesystem.md +5 -5
- package/kb/site/en/reference/subsystems/goal.md +3 -3
- package/kb/site/en/reference/subsystems/invariants.md +2 -2
- package/kb/site/en/reference/subsystems/jobs.md +2 -2
- package/kb/site/en/reference/subsystems/llm-streaming.md +16 -4
- package/kb/site/en/reference/subsystems/lsp.md +2 -2
- package/kb/site/en/reference/subsystems/permission-presets.md +2 -2
- package/kb/site/en/reference/subsystems/persistence.md +2 -2
- package/kb/site/en/reference/subsystems/plan.md +2 -2
- package/kb/site/en/reference/subsystems/sandbox.md +3 -3
- package/kb/site/en/reference/subsystems/session-projection.md +60 -35
- package/kb/site/en/reference/subsystems/session-query.md +2 -2
- package/kb/site/en/reference/subsystems/session-reference.md +3 -3
- package/kb/site/en/reference/subsystems/session-telemetry.md +3 -3
- package/kb/site/en/reference/subsystems/session-title.md +2 -2
- package/kb/site/en/reference/subsystems/session.md +6 -6
- package/kb/site/en/reference/subsystems/settings.md +4 -4
- package/kb/site/en/reference/subsystems/shell.md +3 -3
- package/kb/site/en/reference/subsystems/skills.md +3 -3
- package/kb/site/en/reference/subsystems/spill.md +2 -2
- package/kb/site/en/reference/subsystems/storage.md +4 -4
- package/kb/site/en/reference/subsystems/subagent.md +6 -6
- package/kb/site/en/reference/subsystems/subprocess.md +3 -3
- package/kb/site/en/reference/subsystems/system-prompt.md +4 -4
- package/kb/site/en/reference/subsystems/terminal.md +2 -2
- package/kb/site/en/reference/subsystems/token-meter.md +2 -2
- package/kb/site/en/reference/subsystems/tools.md +8 -8
- package/kb/site/en/reference/subsystems/typert.md +4 -4
- package/kb/site/en/reference/subsystems/user-questions.md +2 -2
- package/kb/site/en/reference/subsystems/web-server.md +46 -6
- package/kb/site/en/reference/subsystems/web.md +2 -2
- package/kb/site/en/reference/subsystems/workflow.md +8 -8
- package/kb/site/en/reference/subsystems/workspace.md +3 -3
- package/kb/site/en/reference/tool-catalog.md +3 -3
- package/kb/site/guide/providers.md +2 -2
- package/kb/site/guide/python-sdk.md +2 -2
- package/kb/site/guide/quickstart.md +2 -2
- package/kb/site/reference/capability-seams.md +5 -0
- package/kb/site/reference/config-catalog.md +53 -18
- package/kb/site/reference/cookbook/adding-a-conversation-node.md +1 -1
- package/kb/site/reference/cookbook/adding-a-package.md +5 -3
- package/kb/site/reference/cookbook/adding-a-settings-card.md +1 -1
- package/kb/site/reference/cookbook/adding-a-tool.md +6 -6
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +2 -2
- package/kb/site/reference/cookbook/extension-cookbook.md +6 -4
- package/kb/site/reference/index.md +4 -4
- package/kb/site/reference/persistence-catalog.md +5 -5
- package/kb/site/reference/subsystems/approval.md +3 -3
- package/kb/site/reference/subsystems/client-modules.md +8 -8
- package/kb/site/reference/subsystems/code-runtime.md +4 -4
- package/kb/site/reference/subsystems/commands.md +5 -5
- package/kb/site/reference/subsystems/compaction.md +7 -7
- package/kb/site/reference/subsystems/core.md +26 -24
- package/kb/site/reference/subsystems/credentials.md +163 -8
- package/kb/site/reference/subsystems/filesystem.md +6 -6
- package/kb/site/reference/subsystems/goal.md +5 -5
- package/kb/site/reference/subsystems/index.md +5 -5
- package/kb/site/reference/subsystems/invariants.md +5 -5
- package/kb/site/reference/subsystems/jobs.md +4 -4
- package/kb/site/reference/subsystems/llm-streaming.md +21 -9
- package/kb/site/reference/subsystems/lsp.md +3 -3
- package/kb/site/reference/subsystems/permission-presets.md +3 -3
- package/kb/site/reference/subsystems/persistence.md +6 -6
- package/kb/site/reference/subsystems/plan.md +4 -4
- package/kb/site/reference/subsystems/sandbox.md +7 -5
- package/kb/site/reference/subsystems/schedule.md +1 -1
- package/kb/site/reference/subsystems/scope.md +1 -1
- package/kb/site/reference/subsystems/session-projection.md +61 -36
- package/kb/site/reference/subsystems/session-query.md +2 -2
- package/kb/site/reference/subsystems/session-reference.md +3 -3
- package/kb/site/reference/subsystems/session-telemetry.md +5 -5
- package/kb/site/reference/subsystems/session-title.md +2 -2
- package/kb/site/reference/subsystems/session.md +13 -11
- package/kb/site/reference/subsystems/settings.md +4 -4
- package/kb/site/reference/subsystems/shell.md +6 -6
- package/kb/site/reference/subsystems/skills.md +3 -3
- package/kb/site/reference/subsystems/spill.md +3 -3
- package/kb/site/reference/subsystems/storage.md +7 -7
- package/kb/site/reference/subsystems/subagent.md +11 -9
- package/kb/site/reference/subsystems/subprocess.md +4 -4
- package/kb/site/reference/subsystems/system-prompt.md +5 -5
- package/kb/site/reference/subsystems/terminal.md +3 -3
- package/kb/site/reference/subsystems/token-meter.md +2 -2
- package/kb/site/reference/subsystems/tools.md +9 -9
- package/kb/site/reference/subsystems/typert.md +5 -5
- package/kb/site/reference/subsystems/user-questions.md +2 -2
- package/kb/site/reference/subsystems/web-server.md +48 -8
- package/kb/site/reference/subsystems/web.md +3 -3
- package/kb/site/reference/subsystems/workflow.md +11 -11
- package/kb/site/reference/subsystems/workspace.md +5 -5
- package/kb/site/reference/tool-catalog.md +9 -5
- package/lib/index.js +9 -1
- package/package.json +2 -1
- package/skills/dsh-plugin-dev-kb.md +1 -1
package/kb/meta/source.json
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"source": "官方文档站点 https://deepseek-harness.github.io/deepseek-harness/ (VitePress)",
|
|
4
4
|
"repository": "https://github.com/deepseek-ai/deepseek-harness",
|
|
5
5
|
"branch": "master",
|
|
6
|
-
"commit": "
|
|
7
|
-
"fetchedAt": "2026-08-
|
|
6
|
+
"commit": "b150a551b8d465e31e418e1b2eaf5e79bbb7d28e",
|
|
7
|
+
"fetchedAt": "2026-08-21T13:35:39.256Z",
|
|
8
8
|
"siteBase": "https://deepseek-harness.github.io/deepseek-harness",
|
|
9
9
|
"publishedMarkdownPages": 168,
|
|
10
10
|
"siteFiles": 172,
|
package/kb/meta/topics.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 主题导航(Topics)
|
|
2
2
|
|
|
3
|
-
> 用途:按**任务场景**快速定位要读的文档。路径相对于知识库根 `kb
|
|
3
|
+
> 用途:按**任务场景**快速定位要读的文档。路径相对于知识库根 `kb/`(知识库绝对路径见技能正文注入的 `{{KB_ROOT}}`,不在此写死机器路径)。
|
|
4
4
|
> 中文优先读 `site/` 下的文件;英文原文在 `site/en/` 对应路径(如 `site/en/develop/basic/index.md`)。
|
|
5
5
|
> 每个主题:**核心** = 先读这些;**扩展** = 需要细节时再读。
|
|
6
6
|
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
- 核心:`site/reference/cookbook/adding-a-package.md`、`site/reference/cookbook/adding-a-settings-card.md`、`site/reference/cookbook/adding-a-conversation-node.md`
|
|
45
45
|
|
|
46
46
|
## 11. 子系统能力速查(按需)
|
|
47
|
-
- 总览:`site/reference/subsystems/index.md
|
|
47
|
+
- 总览:`site/reference/subsystems/index.md`
|
|
48
48
|
- 内核与作用域:`core.md`、`scope.md`、`invariants.md`(运行时不变式)
|
|
49
49
|
- 会话与持久化:`session.md`、`session-query.md`、`session-reference.md`、`session-title.md`、`session-projection.md`、`persistence.md`、`spill.md`、`session-telemetry.md`
|
|
50
50
|
- 模型与上下文:`llm-streaming.md`、`token-meter.md`、`system-prompt.md`、`compaction.md`(上下文压缩)
|
|
@@ -4,7 +4,7 @@ editSource: "docs/user/develop/basic/index.zh.md"
|
|
|
4
4
|
|
|
5
5
|
# 第一个插件
|
|
6
6
|
|
|
7
|
-
本教程会创建一个最小的 Harness 插件,并将其加载到 Web UI 中。请从已完成[从源码运行路径](https://github.com/deepseek-ai/deepseek-harness/blob/master/README.md#run-from-source)的仓库检出开始。
|
|
7
|
+
本教程会创建一个最小的 Harness 插件,并将其加载到 Web UI 中。请从已完成[从源码运行路径](https://github.com/deepseek-ai/deepseek-harness/blob/master/README.zh.md#run-from-source)的仓库检出开始。
|
|
8
8
|
|
|
9
9
|
## 创建本地项目
|
|
10
10
|
|
|
@@ -6,7 +6,7 @@ editSource: "docs/user/develop/basic/publish.zh.md"
|
|
|
6
6
|
|
|
7
7
|
前几篇教程通过 `--patch` overlay 加载本地插件。本教程把它打包成可安装的**组合包**(bundle),用 `dsh plugin add` 安装进一个 **profile**,并解释决定组合后配置的层顺序。本文假设 `dsh` CLI 已安装。请先完成[插件配置](./config.md)。
|
|
8
8
|
|
|
9
|
-
如果改用全新的源码 checkout,请先按照[从源码运行章节](https://github.com/deepseek-ai/deepseek-harness/blob/master/README.md#run-from-source)完成准备,将本教程的 `hello-plugin` 目录放在仓库根目录,并从该目录把下文的 `dsh ...` 命令改为 `pnpm dsh ...`。构建与启动器行为见[源码执行](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/reference/README.md#source-execution)。
|
|
9
|
+
如果改用全新的源码 checkout,请先按照[从源码运行章节](https://github.com/deepseek-ai/deepseek-harness/blob/master/README.zh.md#run-from-source)完成准备,将本教程的 `hello-plugin` 目录放在仓库根目录,并从该目录把下文的 `dsh ...` 命令改为 `pnpm dsh ...`。构建与启动器行为见[源码执行](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/reference/README.zh.md#source-execution)。
|
|
10
10
|
|
|
11
11
|
## 两个概念,两种 manifest
|
|
12
12
|
|
|
@@ -138,7 +138,7 @@ dsh --profile demo
|
|
|
138
138
|
name: 'dsh-hello-plugin/startup'
|
|
139
139
|
```
|
|
140
140
|
|
|
141
|
-
该插件导出 `inject = ['cmdlineArgs']`,使用自己的 commander program 调用 [`@deepseek-ai/dsh-cmdline`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/cmdline/README.md) 中的 `parseCmdline`,再在 program 自己的 action 中把应用自有服务提供出去。启动器把自身 flag 之后的同一份不可变参数交给每个插件,因此添加应用专属 flag 无需修改启动器,多个插件也可以解析该快照。Loader 行不需要启动器标记或特殊类型。
|
|
141
|
+
该插件导出 `inject = ['cmdlineArgs']`,使用自己的 commander program 调用 [`@deepseek-ai/dsh-cmdline`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/cmdline/README.zh.md) 中的 `parseCmdline`,再在 program 自己的 action 中把应用自有服务提供出去。启动器把自身 flag 之后的同一份不可变参数交给每个插件,因此添加应用专属 flag 无需修改启动器,多个插件也可以解析该快照。Loader 行不需要启动器标记或特殊类型。
|
|
142
142
|
|
|
143
143
|
受这些参数配置的行会注入提供方服务,并在自己的 `!!js` 选项中读取它,同时把部署取值写在旁边作为回退:
|
|
144
144
|
|
|
@@ -182,4 +182,4 @@ dsh plugin --profile demo add github:you/hello-plugin
|
|
|
182
182
|
## 下一步
|
|
183
183
|
|
|
184
184
|
- [插件与生命周期](../framework/index.md) — 插件的完整生命周期
|
|
185
|
-
- [CLI(命令行界面)行为参考](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/reference/README.md) — 确切的层优先级、flag 与 profile 机制
|
|
185
|
+
- [CLI(命令行界面)行为参考](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/cli/reference/README.zh.md) — 确切的层优先级、flag 与 profile 机制
|
|
@@ -16,7 +16,7 @@ Cordis 是 DeepSeek Harness 底层的插件框架:它是一个小型运行时
|
|
|
16
16
|
|
|
17
17
|
## 准备工作
|
|
18
18
|
|
|
19
|
-
你需要克隆本仓库并安装依赖;[开发指南](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/development.md#setup-tutorial)列出了前置条件。本教程不需要 API 密钥;所有示例均可在无密钥环境中运行。
|
|
19
|
+
你需要克隆本仓库并安装依赖;[开发指南](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/development.zh.md#setup-tutorial)列出了前置条件。本教程不需要 API 密钥;所有示例均可在无密钥环境中运行。
|
|
20
20
|
|
|
21
21
|
```sh
|
|
22
22
|
git clone https://github.com/deepseek-ai/deepseek-harness.git
|
|
@@ -55,6 +55,8 @@ flowchart LR
|
|
|
55
55
|
pkg_credentials["credentials"]
|
|
56
56
|
svc_credentials["ctx.credentials<br/>Credential seam"]
|
|
57
57
|
pkg_credentials_local["credentials-local"]
|
|
58
|
+
pkg_authorization["authorization"]
|
|
59
|
+
svc_authorization["ctx.authorization<br/>Authorization flow registry"]
|
|
58
60
|
pkg_session_telemetry["session-telemetry"]
|
|
59
61
|
svc_sessionTelemetry["ctx.sessionTelemetry<br/>Session telemetry seam"]
|
|
60
62
|
pkg_session_telemetry_otel["session-telemetry-otel"]
|
|
@@ -214,6 +216,7 @@ flowchart LR
|
|
|
214
216
|
pkg_approval --> svc_approval
|
|
215
217
|
pkg_attachment --> svc_attachments
|
|
216
218
|
pkg_attachment_local --> svc_attachments
|
|
219
|
+
pkg_authorization --> svc_authorization
|
|
217
220
|
pkg_bash_local --> svc_shell
|
|
218
221
|
pkg_bash_sandbox --> svc_shell
|
|
219
222
|
pkg_code_runtime --> svc_codeRuntime
|
|
@@ -319,6 +322,7 @@ flowchart LR
|
|
|
319
322
|
svc_approval --> pkg_tools
|
|
320
323
|
svc_attachments --> pkg_host_runtime
|
|
321
324
|
svc_attachments --> pkg_llm_pi_ai
|
|
325
|
+
svc_authorization --> pkg_llm_pi_ai
|
|
322
326
|
svc_clientModules --> pkg_hmr
|
|
323
327
|
svc_codeRuntime --> pkg_tools
|
|
324
328
|
svc_compaction --> pkg_compaction_basic
|
|
@@ -436,6 +440,7 @@ flowchart LR
|
|
|
436
440
|
| `ctx.sessionPersistence` | `seam` | [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence) | [`session-persistence-jsonl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-jsonl), [`session-persistence-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-sqlite) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Backends persist the same SessionEvent vocabulary; apps choose a backend at composition time. |
|
|
437
441
|
| `ctx.settings` | `seam` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | [`settings-file`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings-file) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), `apiproxy` | - | Plugins register namespace schemas and resolve layered values; providers store the raw document. The LLM adapters register their entry config as the composition base under the user section; the web gateway serves redacted layered descriptors and writes the user layer. |
|
|
438
442
|
| `ctx.credentials` | `seam` | [`credentials`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials) | [`credentials-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials-local) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), `apiproxy` | - | Configuration carries references to secrets; providers own the values. Consumers resolve per operation, so a rotated credential reaches the very next request; the web gateway exposes value-free views and write-only storage. |
|
|
443
|
+
| `ctx.authorization` | `seam` | [`authorization`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/authorization) | - | [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | Flows are registered by the plugin that knows how to obtain one credential and keyed by the record they write; the seam owns the conversation and the one-attempt-per-key lifecycle, never the protocol. |
|
|
439
444
|
| `ctx.sessionTelemetry` | `seam` | [`session-telemetry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry) | [`session-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry-otel) | - | - | The seam captures, redacts, and hands session records to one backend; nothing else consumes the service — its output leaves the process. |
|
|
440
445
|
| `ctx.storage` | `seam` | [`storage`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage) | [`storage-json`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-json), [`storage-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-sqlite) | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | Backends register side by side under names; data forms (domain first) mount on the hub and translate typed operations into opaque KV-unit primitives. |
|
|
441
446
|
| `ctx.storageDomain` | `core` | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Waits for every configured backend, then publishes the domain form as one lifecycle-bound service for typed durable state. |
|
|
@@ -331,20 +331,26 @@ Source: [`packages/core/agent-tool-presentation/src/index.ts:38`](https://github
|
|
|
331
331
|
export interface Config {
|
|
332
332
|
/** Explicit harness home; omitted follows `DSH_HOME`, then `~/.dsh`. */
|
|
333
333
|
dshHome?: string
|
|
334
|
-
/** Maximum encoded bytes accepted for one image. */
|
|
334
|
+
/** Maximum encoded bytes accepted for one submitted image. Default: 20 MiB. */
|
|
335
335
|
maxImageBytes?: number
|
|
336
|
-
/** Maximum image count accepted in one submitted message. */
|
|
336
|
+
/** Maximum image count accepted in one submitted message. Default: 20. */
|
|
337
337
|
maxImagesPerMessage?: number
|
|
338
|
-
/** Maximum aggregate encoded image bytes accepted in one submitted message. */
|
|
338
|
+
/** Maximum aggregate encoded image bytes accepted in one submitted message. Default: 200 MiB. */
|
|
339
339
|
maxMessageImageBytes?: number
|
|
340
|
-
/** Maximum intrinsic width multiplied by height accepted for one image. */
|
|
340
|
+
/** Maximum intrinsic width multiplied by height accepted for one submitted image. Default: 64,000,000. */
|
|
341
341
|
maxImagePixels?: number
|
|
342
|
-
/** Maximum intrinsic width and maximum intrinsic height accepted for one image. */
|
|
342
|
+
/** Maximum intrinsic width and maximum intrinsic height accepted for one submitted image. Default: 8192px. */
|
|
343
343
|
maxImageDimension?: number
|
|
344
|
+
/** Long-edge pixel cap of the stored provider-independent normalized image. */
|
|
345
|
+
normalizedImageMaxDimension?: number
|
|
346
|
+
/** Encoded-byte safety cap of the stored provider-independent normalized image. */
|
|
347
|
+
normalizedImageMaxBytes?: number
|
|
348
|
+
/** Maximum simultaneous normalization or request-image transformations in this service instance. */
|
|
349
|
+
imageCompressionConcurrency?: number
|
|
344
350
|
}
|
|
345
351
|
```
|
|
346
352
|
|
|
347
|
-
Source: [`packages/attachment/attachment-local/src/index.ts:
|
|
353
|
+
Source: [`packages/attachment/attachment-local/src/index.ts:51`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/attachment/attachment-local/src/index.ts)
|
|
348
354
|
|
|
349
355
|
<a id="deepseek-aidsh-bash-local"></a>
|
|
350
356
|
|
|
@@ -411,7 +417,7 @@ export interface ConnectionConfig {
|
|
|
411
417
|
* that is not a bare, canonical authority fails the plugin load.
|
|
412
418
|
*/
|
|
413
419
|
trustedHosts?: string[]
|
|
414
|
-
/** Maximum buffered JSON body for every `/api` request. */
|
|
420
|
+
/** Maximum buffered JSON body for every `/api` request. Default: 300 MiB. */
|
|
415
421
|
maxRequestBodyBytes?: number
|
|
416
422
|
}
|
|
417
423
|
```
|
|
@@ -571,7 +577,7 @@ export interface Config {
|
|
|
571
577
|
}
|
|
572
578
|
```
|
|
573
579
|
|
|
574
|
-
Source: [`packages/credentials/credentials-local/src/index.ts:
|
|
580
|
+
Source: [`packages/credentials/credentials-local/src/index.ts:64`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/credentials-local/src/index.ts)
|
|
575
581
|
|
|
576
582
|
<a id="deepseek-aidsh-e2b"></a>
|
|
577
583
|
|
|
@@ -867,7 +873,7 @@ export interface Config {
|
|
|
867
873
|
}
|
|
868
874
|
```
|
|
869
875
|
|
|
870
|
-
Source: [`packages/host/webserver/src/index.ts:
|
|
876
|
+
Source: [`packages/host/webserver/src/index.ts:59`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/webserver/src/index.ts)
|
|
871
877
|
|
|
872
878
|
<a id="deepseek-aidsh-invariants"></a>
|
|
873
879
|
|
|
@@ -932,12 +938,30 @@ export interface Config {
|
|
|
932
938
|
maxTokens?: number
|
|
933
939
|
/** Positive context capacity used when the selected model has no exact value (default 1,000,000). */
|
|
934
940
|
defaultContextWindow?: number
|
|
935
|
-
/** Advisory models shown by discovery consumers; defaults to V4 Flash and V4
|
|
941
|
+
/** Advisory models shown by discovery consumers; defaults to V4 Flash, V4 Pro, and V4 Flash Vision Exp. */
|
|
936
942
|
models?: DeepSeekCatalogModel[]
|
|
937
943
|
/** Maximum provider idle time while one stream read is outstanding (default five minutes). */
|
|
938
944
|
streamIdleTimeoutMs?: number
|
|
939
|
-
/** Maximum accumulated
|
|
940
|
-
|
|
945
|
+
/** Maximum accumulated file-referenced image bytes per chat request (default 128 MiB). */
|
|
946
|
+
maxRequestFilesBytes?: number
|
|
947
|
+
/** Maximum accumulated base64 image payload after Files API fallback (default 20 MiB). */
|
|
948
|
+
maxInlineRequestImageBytes?: number
|
|
949
|
+
/** Maximum number of represented images per chat request (default 600). */
|
|
950
|
+
maxImagesPerRequest?: number
|
|
951
|
+
/** Raw-byte removal step after the request exceeds its file bound (default 64 MiB). */
|
|
952
|
+
imageOffloadByteQuantum?: number
|
|
953
|
+
/** Base64-byte removal step after inline fallback exceeds its bound (default 10 MiB). */
|
|
954
|
+
inlineImageOffloadByteQuantum?: number
|
|
955
|
+
/** Image-count removal step after the request exceeds its count bound (default 20). */
|
|
956
|
+
imageOffloadCountQuantum?: number
|
|
957
|
+
/** Maximum duration of one request-image Files API resolution (default one minute). */
|
|
958
|
+
filesApiTimeoutMs?: number
|
|
959
|
+
/** Explicit lifetime assigned to each uploaded image (default seven days). */
|
|
960
|
+
fileExpiresAfterSeconds?: number
|
|
961
|
+
/** Remaining lifetime below which an indexed file is replaced (default one hour). */
|
|
962
|
+
fileRefreshMarginSeconds?: number
|
|
963
|
+
/** Oldest harness-owned files deleted before one quota-recovery upload retry (default 100). */
|
|
964
|
+
fileQuotaCleanupBatch?: number
|
|
941
965
|
/** Provider-owned model-request retry policy; omission uses normal mode with five retries. */
|
|
942
966
|
retryPolicy?: RetryPolicyConfig
|
|
943
967
|
}
|
|
@@ -956,12 +980,18 @@ export interface DeepSeekCatalogModel {
|
|
|
956
980
|
maxTokens?: number
|
|
957
981
|
/** Accepted request modalities; omission is text-only. */
|
|
958
982
|
inputModalities?: ModelModality[]
|
|
983
|
+
/** Total-pixel budget for one deterministic request preview. */
|
|
984
|
+
imagePixelBudget?: number
|
|
985
|
+
/** Encoded-byte cap for one deterministic request preview. */
|
|
986
|
+
imageMaxBytes?: number
|
|
987
|
+
/** Provider detail tier; `low` uses the 512-by-512 total-pixel default. */
|
|
988
|
+
imageDetail?: 'auto' | 'low'
|
|
959
989
|
}
|
|
960
990
|
```
|
|
961
991
|
|
|
962
992
|
Depends on: [`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
|
|
963
993
|
|
|
964
|
-
Source: [`packages/llm/llm-deepseek/src/index.ts:
|
|
994
|
+
Source: [`packages/llm/llm-deepseek/src/index.ts:106`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts)
|
|
965
995
|
|
|
966
996
|
<a id="deepseek-aidsh-llm-pi-ai"></a>
|
|
967
997
|
|
|
@@ -1063,6 +1093,10 @@ export interface PiAiProviderProfile {
|
|
|
1063
1093
|
* requests instead of being rejected by a request-size cap.
|
|
1064
1094
|
*/
|
|
1065
1095
|
maxRequestImageBytes?: number
|
|
1096
|
+
/** Total-pixel budget for each deterministic inline request version. */
|
|
1097
|
+
requestImagePixelBudget?: number
|
|
1098
|
+
/** Raw encoded-byte cap for each deterministic inline request version. */
|
|
1099
|
+
requestImageMaxBytes?: number
|
|
1066
1100
|
/** Provider-owned model-request retry policy; omission uses normal mode with five retries. */
|
|
1067
1101
|
retryPolicy?: RetryPolicyConfig
|
|
1068
1102
|
}
|
|
@@ -1211,7 +1245,7 @@ export type PiAiThinkingFormat = NonNullable<OpenAICompletionsCompat['thinkingFo
|
|
|
1211
1245
|
|
|
1212
1246
|
Depends on: `Api` (`@earendil-works/pi-ai`) · `CacheRetention` (`@earendil-works/pi-ai`) · `Model` (`@earendil-works/pi-ai`) · `ModelThinkingLevel` (`@earendil-works/pi-ai`) · `OpenAICompletionsCompat` (`@earendil-works/pi-ai`) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · `ThinkingBudgets` (`@earendil-works/pi-ai`) · `Transport` (`@earendil-works/pi-ai`)
|
|
1213
1247
|
|
|
1214
|
-
Source: [`packages/llm/llm-pi-ai/src/config.ts:
|
|
1248
|
+
Source: [`packages/llm/llm-pi-ai/src/config.ts:213`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-pi-ai/src/config.ts)
|
|
1215
1249
|
|
|
1216
1250
|
<a id="deepseek-aidsh-llm-replay"></a>
|
|
1217
1251
|
|
|
@@ -1279,7 +1313,7 @@ export interface ReplayModelConfig {
|
|
|
1279
1313
|
|
|
1280
1314
|
Depends on: [`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
|
|
1281
1315
|
|
|
1282
|
-
Source: [`packages/test-support/llm-replay/src/index.ts:
|
|
1316
|
+
Source: [`packages/test-support/llm-replay/src/index.ts:809`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-replay/src/index.ts)
|
|
1283
1317
|
|
|
1284
1318
|
<a id="deepseek-aidsh-llm-retry"></a>
|
|
1285
1319
|
|
|
@@ -1462,7 +1496,7 @@ export interface PresetSpec {
|
|
|
1462
1496
|
|
|
1463
1497
|
Depends on: [`ApprovalPolicy`](./subsystems/approval.md) · [`SandboxMode`](./subsystems/sandbox.md)
|
|
1464
1498
|
|
|
1465
|
-
Source: [`packages/interaction/permission-presets/src/index.ts:
|
|
1499
|
+
Source: [`packages/interaction/permission-presets/src/index.ts:156`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/permission-presets/src/index.ts)
|
|
1466
1500
|
|
|
1467
1501
|
<a id="deepseek-aidsh-persona"></a>
|
|
1468
1502
|
|
|
@@ -1502,7 +1536,7 @@ export interface PlanModeConfig {
|
|
|
1502
1536
|
}
|
|
1503
1537
|
```
|
|
1504
1538
|
|
|
1505
|
-
Source: [`packages/plan/plan-mode/src/index.ts:
|
|
1539
|
+
Source: [`packages/plan/plan-mode/src/index.ts:70`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
|
|
1506
1540
|
|
|
1507
1541
|
<a id="deepseek-aidsh-pwsh-local"></a>
|
|
1508
1542
|
|
|
@@ -3195,6 +3229,7 @@ These load from a `cordis.yml` entry with no `config:` block; they declare no co
|
|
|
3195
3229
|
- `@deepseek-ai/dsh-agent` ([`packages/core/agent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent/src/index.ts))
|
|
3196
3230
|
- `@deepseek-ai/dsh-api-gateway` — requires `typert` ([`packages/api/gateway/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/gateway/src/index.ts))
|
|
3197
3231
|
- `@deepseek-ai/dsh-api-remotes` ([`packages/api/remotes/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/remotes/src/index.ts))
|
|
3232
|
+
- `@deepseek-ai/dsh-authorization` — requires `credentials` ([`packages/credentials/authorization/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/authorization/src/index.ts))
|
|
3198
3233
|
- `@deepseek-ai/dsh-client-locale` ([`packages/client/locale/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/locale/src/index.ts))
|
|
3199
3234
|
- `@deepseek-ai/dsh-client-modules` — requires `webServer` · `loader` ([`packages/client/modules/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/src/index.ts))
|
|
3200
3235
|
- `@deepseek-ai/dsh-client-runtime` ([`packages/client/runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/runtime/src/index.ts))
|
|
@@ -536,7 +536,7 @@ Source: [`packages/interaction/permission-presets/src/index.ts:50`](https://gith
|
|
|
536
536
|
'plan/mode': { active: boolean }
|
|
537
537
|
```
|
|
538
538
|
|
|
539
|
-
Source: [`packages/plan/plan-mode/src/index.ts:
|
|
539
|
+
Source: [`packages/plan/plan-mode/src/index.ts:53`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
|
|
540
540
|
|
|
541
541
|
### `request/*`
|
|
542
542
|
|
|
@@ -96,7 +96,7 @@ The audit events are log-only and do not enter the model transcript. Model-visib
|
|
|
96
96
|
|
|
97
97
|
## Cordis API
|
|
98
98
|
|
|
99
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
99
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
100
100
|
|
|
101
101
|
<a id="ctxapproval--approvalservice"></a>
|
|
102
102
|
|
|
@@ -144,7 +144,7 @@ overrideOf(session: Session): ApprovalPolicy | undefined
|
|
|
144
144
|
|
|
145
145
|
Types: [Agent](./core.md) · [Session](./session.md)
|
|
146
146
|
|
|
147
|
-
Source: [`packages/interaction/user-approval/src/index.ts
|
|
147
|
+
Source: [`packages/interaction/user-approval/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-approval/src/index.ts)
|
|
148
148
|
|
|
149
149
|
<a id="approval-events"></a>
|
|
150
150
|
|
|
@@ -169,5 +169,5 @@ Ask composed answerers for one decision. Return an outcome to claim the request
|
|
|
169
169
|
|
|
170
170
|
Types: [Scoped](./scope.md)
|
|
171
171
|
|
|
172
|
-
Source: [`packages/interaction/user-approval/src/index.ts
|
|
172
|
+
Source: [`packages/interaction/user-approval/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-approval/src/index.ts)
|
|
173
173
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -5,13 +5,13 @@ outline: [2,3]
|
|
|
5
5
|
|
|
6
6
|
# Client Modules
|
|
7
7
|
|
|
8
|
-
The web plugin table: the Node half of the client module system in [dsh-client-modules](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules), provided as `ctx.clientModules` (`ClientModuleRegistry`). It scans the host Loader's entries for packages declaring `dsh.client`, composes the `window.__DSH_BOOT__` entry graph, serves each bundle at `/plugins/<id>/client.js`, and
|
|
8
|
+
The web plugin table: the Node half of the client module system in [dsh-client-modules](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules), provided as `ctx.clientModules` (`ClientModuleRegistry`). It scans the host Loader's entries for packages declaring `dsh.client`, composes the `window.__DSH_BOOT__` entry graph, serves each bundle at `/plugins/<id>/client.js`, and answers every index-injection collection with the boot manifest rows — the four faces of one service. It is an optional capability of the web GUI stack, not part of the agent-loop spine, and it is a consumer of [dsh-host-webserver](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/webserver): the carrier described in [web-server.md](./web-server.md) supplies the prefix route and the `webserver/index-inject` event this service answers. The same package's browser half (`ctx.modules`, the lazy-CJS module table that fetches and materializes these bundles) is kernel machinery documented in the [package README](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/README.md), not here.
|
|
9
9
|
|
|
10
10
|
Source: [`packages/client/modules/src/client/manifest.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/src/client/manifest.ts)
|
|
11
11
|
|
|
12
12
|
## The wire
|
|
13
13
|
|
|
14
|
-
The graph is the wire single source between the Node and browser halves: the host composes `WebBootEntry` rows from scanned packages,
|
|
14
|
+
The graph is the wire single source between the Node and browser halves: the host composes `WebBootEntry` rows from scanned packages, publishes the graph as a `global` injection row rendered ahead of later script rows (`globalThis["__DSH_BOOT__"]`, with `<` escaped so plugin-controlled strings cannot break out of the script element), and the shell parses it before booting anything. A page without a valid manifest cannot boot — the browser-side parser throws loud on a missing or malformed graph.
|
|
15
15
|
|
|
16
16
|
```ts type-equiv
|
|
17
17
|
/**
|
|
@@ -63,9 +63,9 @@ Scanning is incremental per package; there is no full-rescan code path. Every co
|
|
|
63
63
|
|
|
64
64
|
Package metadata — including the negative "not a client package" verdict — is cached per name and never expires: plugin-set changes take effect on restart. A fiber restart reuses its row and rev untouched; bundle content changes reach the graph only through `rebuilt()`.
|
|
65
65
|
|
|
66
|
-
## The bundle route and index
|
|
66
|
+
## The bundle route and index injection
|
|
67
67
|
|
|
68
|
-
`GET`/`HEAD /plugins/<id>/client.js` serves the registered bundle from disk with `no-cache` (the rev query, not HTTP caching, anchors consistency); other methods are 405. An unknown id — or a registered row whose bundle is unreadable because it has not been built yet — answers a loud 404
|
|
68
|
+
`GET`/`HEAD /plugins/<id>/client.js` serves the registered bundle from disk with `no-cache` (the rev query, not HTTP caching, anchors consistency); other methods are 405. An unknown id — or a registered row whose bundle is unreadable because it has not been built yet — answers a loud 404, so no unreadable bundle appears as a successful JavaScript response. The injection rows carry the current graph on every index render, so a reload always boots against the live composition.
|
|
69
69
|
|
|
70
70
|
## The service
|
|
71
71
|
|
|
@@ -79,13 +79,13 @@ In development, [dsh-client-hmr](https://github.com/deepseek-ai/deepseek-harness
|
|
|
79
79
|
|
|
80
80
|
## Cordis API
|
|
81
81
|
|
|
82
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
82
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
83
83
|
|
|
84
84
|
<a id="ctxclientmodules--clientmoduleregistry"></a>
|
|
85
85
|
|
|
86
86
|
### `ctx.clientModules` — `ClientModuleRegistry`
|
|
87
87
|
|
|
88
|
-
The web plugin table service: incremental `dsh.client` scan + wire composition + bundle route + index
|
|
88
|
+
The web plugin table service: incremental `dsh.client` scan + wire composition + bundle route + index injection rows. Construction runs the activation scan synchronously — a malformed declaration or missing bundle among the already-loaded entries aggregates into one loud throw (FAILED fiber; the boot activation audit reports it).
|
|
89
89
|
|
|
90
90
|
```ts cordis-catalog
|
|
91
91
|
/**
|
|
@@ -125,5 +125,5 @@ onRebuilt(listener: (id: string, rev: string) => void): () => void
|
|
|
125
125
|
onGraphChanged(listener: () => void): () => void
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
Source: [`packages/client/modules/src/index.ts
|
|
128
|
+
Source: [`packages/client/modules/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/src/index.ts)
|
|
129
129
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -169,7 +169,7 @@ interface CodeRunFailure {
|
|
|
169
169
|
|
|
170
170
|
## Cordis API
|
|
171
171
|
|
|
172
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
172
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
173
173
|
|
|
174
174
|
<a id="ctxcoderuntime--coderuntime-abstract-seam"></a>
|
|
175
175
|
|
|
@@ -190,5 +190,5 @@ Registers one `ctx.codeRuntime` implementation. Program, budget, abort, and subs
|
|
|
190
190
|
abstract run(request: CodeRunRequest): Promise<CodeRunResult>
|
|
191
191
|
```
|
|
192
192
|
|
|
193
|
-
Source: [`packages/code-runtime/code-runtime/src/index.ts
|
|
193
|
+
Source: [`packages/code-runtime/code-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/code-runtime/code-runtime/src/index.ts)
|
|
194
194
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -125,7 +125,7 @@ interface ParsedCommand {
|
|
|
125
125
|
|
|
126
126
|
## Cordis API
|
|
127
127
|
|
|
128
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
128
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
129
129
|
|
|
130
130
|
<a id="ctxcommands--commandruntime"></a>
|
|
131
131
|
|
|
@@ -187,7 +187,7 @@ find(agent: Agent, name: string): CommandDefinition | undefined
|
|
|
187
187
|
|
|
188
188
|
Types: [Agent](./core.md) · [EncodedImageAttachment](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/subsystems/attachment.md)
|
|
189
189
|
|
|
190
|
-
Source: [`packages/interaction/commands/src/index.ts
|
|
190
|
+
Source: [`packages/interaction/commands/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/commands/src/index.ts)
|
|
191
191
|
|
|
192
192
|
<a id="commands-events"></a>
|
|
193
193
|
|
|
@@ -209,5 +209,5 @@ A command was registered or unregistered. This is an unfiltered registry notific
|
|
|
209
209
|
'commands/change'(): void
|
|
210
210
|
```
|
|
211
211
|
|
|
212
|
-
Source: [`packages/interaction/commands/src/types.ts
|
|
212
|
+
Source: [`packages/interaction/commands/src/types.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/commands/src/types.ts)
|
|
213
213
|
<!-- END GENERATED cordis-surface -->
|
|
@@ -126,7 +126,7 @@ interface PruneResult {
|
|
|
126
126
|
|
|
127
127
|
## Cordis API
|
|
128
128
|
|
|
129
|
-
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) —
|
|
129
|
+
Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
|
|
130
130
|
|
|
131
131
|
<a id="ctxcompaction--compactionengine-abstract-seam"></a>
|
|
132
132
|
|
|
@@ -195,7 +195,7 @@ abstract compactRegion( start: number, end: number, agent: CompactionAgentContex
|
|
|
195
195
|
|
|
196
196
|
Types: [CommandId](./commands.md)
|
|
197
197
|
|
|
198
|
-
Source: [`packages/compaction/compaction/src/index.ts
|
|
198
|
+
Source: [`packages/compaction/compaction/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction/src/index.ts)
|
|
199
199
|
|
|
200
200
|
<a id="ctxtoolresultpruner--toolresultpruner"></a>
|
|
201
201
|
|
|
@@ -237,5 +237,5 @@ pruneSession(session: Session): PruneResult
|
|
|
237
237
|
|
|
238
238
|
Types: [ContentBlock](./llm-streaming.md) · [Session](./session.md)
|
|
239
239
|
|
|
240
|
-
Source: [`packages/compaction/compaction-tool-result-pruner/src/index.ts
|
|
240
|
+
Source: [`packages/compaction/compaction-tool-result-pruner/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-tool-result-pruner/src/index.ts)
|
|
241
241
|
<!-- END GENERATED cordis-surface -->
|