dsh-plugin-guide 0.3.2 → 0.3.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.
Files changed (142) hide show
  1. package/README.es.md +5 -1
  2. package/README.hi.md +5 -1
  3. package/README.md +5 -1
  4. package/README.pt.md +5 -1
  5. package/README.zh.md +5 -1
  6. package/dist/dsh-plugin-dev.js +3 -3
  7. package/guide/plugin-dev-guide.md +2 -2
  8. package/guide/quick-reference.es.md +2 -2
  9. package/guide/quick-reference.hi.md +1 -1
  10. package/guide/quick-reference.md +2 -2
  11. package/guide/quick-reference.pt.md +2 -2
  12. package/guide/quick-reference.zh-CN.md +2 -2
  13. package/package.json +3 -3
  14. package/references/official-docs/AGENTS.md +3 -3
  15. package/references/official-docs/SNAPSHOT.md +4 -4
  16. package/references/official-docs/THIRD_PARTY_NOTICES.md +4 -6
  17. package/references/official-docs/docs/agent-lifecycle.i18n.yaml +2 -2
  18. package/references/official-docs/docs/agent-lifecycle.md +5 -3
  19. package/references/official-docs/docs/agent-lifecycle.zh.md +5 -3
  20. package/references/official-docs/docs/architecture.i18n.yaml +2 -2
  21. package/references/official-docs/docs/architecture.md +9 -4
  22. package/references/official-docs/docs/architecture.zh.md +9 -4
  23. package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
  24. package/references/official-docs/docs/capability-seams.md +8 -1
  25. package/references/official-docs/docs/capability-seams.zh.md +8 -1
  26. package/references/official-docs/docs/config-catalog.i18n.yaml +2 -2
  27. package/references/official-docs/docs/config-catalog.md +104 -68
  28. package/references/official-docs/docs/config-catalog.zh.md +101 -65
  29. package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +2 -2
  30. package/references/official-docs/docs/cookbook/adding-a-package.md +1 -1
  31. package/references/official-docs/docs/cookbook/adding-a-package.zh.md +1 -1
  32. package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +2 -2
  33. package/references/official-docs/docs/cookbook/extension-cookbook.md +12 -10
  34. package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +12 -10
  35. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +2 -2
  36. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +16 -12
  37. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +16 -12
  38. package/references/official-docs/docs/event-producer-consumer.i18n.yaml +2 -2
  39. package/references/official-docs/docs/event-producer-consumer.md +30 -29
  40. package/references/official-docs/docs/event-producer-consumer.zh.md +35 -34
  41. package/references/official-docs/docs/module-graph.i18n.yaml +2 -2
  42. package/references/official-docs/docs/module-graph.md +214 -360
  43. package/references/official-docs/docs/module-graph.zh.md +214 -360
  44. package/references/official-docs/docs/persistence-catalog.i18n.yaml +2 -2
  45. package/references/official-docs/docs/persistence-catalog.md +74 -64
  46. package/references/official-docs/docs/persistence-catalog.zh.md +72 -62
  47. package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +2 -2
  48. package/references/official-docs/docs/subsystems/agent-team.md +4 -3
  49. package/references/official-docs/docs/subsystems/agent-team.zh.md +4 -3
  50. package/references/official-docs/docs/subsystems/attachment.i18n.yaml +2 -2
  51. package/references/official-docs/docs/subsystems/attachment.md +157 -4
  52. package/references/official-docs/docs/subsystems/attachment.zh.md +157 -4
  53. package/references/official-docs/docs/subsystems/code-runtime.i18n.yaml +2 -2
  54. package/references/official-docs/docs/subsystems/code-runtime.md +7 -3
  55. package/references/official-docs/docs/subsystems/code-runtime.zh.md +7 -3
  56. package/references/official-docs/docs/subsystems/commands.i18n.yaml +2 -2
  57. package/references/official-docs/docs/subsystems/commands.md +25 -16
  58. package/references/official-docs/docs/subsystems/commands.zh.md +25 -16
  59. package/references/official-docs/docs/subsystems/compaction.i18n.yaml +2 -2
  60. package/references/official-docs/docs/subsystems/compaction.md +9 -9
  61. package/references/official-docs/docs/subsystems/compaction.zh.md +9 -9
  62. package/references/official-docs/docs/subsystems/conversation.i18n.yaml +2 -2
  63. package/references/official-docs/docs/subsystems/conversation.md +4 -4
  64. package/references/official-docs/docs/subsystems/conversation.zh.md +4 -4
  65. package/references/official-docs/docs/subsystems/core.i18n.yaml +2 -2
  66. package/references/official-docs/docs/subsystems/core.md +66 -4
  67. package/references/official-docs/docs/subsystems/core.zh.md +66 -4
  68. package/references/official-docs/docs/subsystems/feedback.i18n.yaml +2 -2
  69. package/references/official-docs/docs/subsystems/feedback.md +2 -2
  70. package/references/official-docs/docs/subsystems/feedback.zh.md +2 -2
  71. package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +2 -2
  72. package/references/official-docs/docs/subsystems/llm-streaming.md +23 -2
  73. package/references/official-docs/docs/subsystems/llm-streaming.zh.md +23 -2
  74. package/references/official-docs/docs/subsystems/persistence.i18n.yaml +2 -2
  75. package/references/official-docs/docs/subsystems/persistence.md +183 -191
  76. package/references/official-docs/docs/subsystems/persistence.zh.md +183 -191
  77. package/references/official-docs/docs/subsystems/schedule.i18n.yaml +2 -2
  78. package/references/official-docs/docs/subsystems/schedule.md +1 -1
  79. package/references/official-docs/docs/subsystems/schedule.zh.md +1 -1
  80. package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +2 -2
  81. package/references/official-docs/docs/subsystems/session-projection.md +40 -17
  82. package/references/official-docs/docs/subsystems/session-projection.zh.md +40 -17
  83. package/references/official-docs/docs/subsystems/session-query.i18n.yaml +2 -2
  84. package/references/official-docs/docs/subsystems/session-query.md +19 -13
  85. package/references/official-docs/docs/subsystems/session-query.zh.md +19 -13
  86. package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +2 -2
  87. package/references/official-docs/docs/subsystems/session-reference.md +25 -1
  88. package/references/official-docs/docs/subsystems/session-reference.zh.md +25 -1
  89. package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +2 -2
  90. package/references/official-docs/docs/subsystems/session-telemetry.md +6 -5
  91. package/references/official-docs/docs/subsystems/session-telemetry.zh.md +6 -5
  92. package/references/official-docs/docs/subsystems/session-title.i18n.yaml +2 -2
  93. package/references/official-docs/docs/subsystems/session-title.md +5 -5
  94. package/references/official-docs/docs/subsystems/session-title.zh.md +5 -5
  95. package/references/official-docs/docs/subsystems/session.i18n.yaml +2 -2
  96. package/references/official-docs/docs/subsystems/session.md +143 -71
  97. package/references/official-docs/docs/subsystems/session.zh.md +143 -71
  98. package/references/official-docs/docs/subsystems/slots.i18n.yaml +2 -2
  99. package/references/official-docs/docs/subsystems/slots.md +1 -0
  100. package/references/official-docs/docs/subsystems/slots.zh.md +1 -0
  101. package/references/official-docs/docs/subsystems/storage.i18n.yaml +2 -2
  102. package/references/official-docs/docs/subsystems/storage.md +28 -5
  103. package/references/official-docs/docs/subsystems/storage.zh.md +28 -5
  104. package/references/official-docs/docs/subsystems/subagent.i18n.yaml +2 -2
  105. package/references/official-docs/docs/subsystems/subagent.md +32 -88
  106. package/references/official-docs/docs/subsystems/subagent.zh.md +31 -87
  107. package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +2 -2
  108. package/references/official-docs/docs/subsystems/token-meter.md +2 -2
  109. package/references/official-docs/docs/subsystems/token-meter.zh.md +2 -2
  110. package/references/official-docs/docs/subsystems/web-client.i18n.yaml +2 -2
  111. package/references/official-docs/docs/subsystems/web-client.md +1 -1
  112. package/references/official-docs/docs/subsystems/web-client.zh.md +1 -1
  113. package/references/official-docs/docs/subsystems/workspace.i18n.yaml +2 -2
  114. package/references/official-docs/docs/subsystems/workspace.md +8 -8
  115. package/references/official-docs/docs/subsystems/workspace.zh.md +8 -8
  116. package/references/official-docs/docs/testing.i18n.yaml +2 -2
  117. package/references/official-docs/docs/testing.md +2 -2
  118. package/references/official-docs/docs/testing.zh.md +2 -2
  119. package/references/official-docs/docs/tool-catalog.i18n.yaml +2 -2
  120. package/references/official-docs/docs/tool-catalog.md +9 -63
  121. package/references/official-docs/docs/tool-catalog.zh.md +8 -62
  122. package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +6 -0
  123. package/references/official-docs/docs/user/guide/network-proxy.md +85 -0
  124. package/references/official-docs/docs/user/guide/network-proxy.zh.md +85 -0
  125. package/references/official-docs/docs/user/guide/providers.i18n.yaml +2 -2
  126. package/references/official-docs/docs/user/guide/providers.md +70 -17
  127. package/references/official-docs/docs/user/guide/providers.zh.md +70 -17
  128. package/references/official-docs/docs/web-styling.i18n.yaml +2 -2
  129. package/references/official-docs/docs/web-styling.md +4 -0
  130. package/references/official-docs/docs/web-styling.zh.md +4 -0
  131. package/references/official-docs/packages/AGENTS.md +2 -2
  132. package/references/official-docs/website-docs.ts +8 -0
  133. package/templates/js/README.es.md +1 -1
  134. package/templates/js/README.hi.md +1 -1
  135. package/templates/js/README.md +1 -1
  136. package/templates/js/README.pt.md +1 -1
  137. package/templates/js/README.zh.md +1 -1
  138. package/templates/ts/README.es.md +1 -1
  139. package/templates/ts/README.hi.md +1 -1
  140. package/templates/ts/README.md +1 -1
  141. package/templates/ts/README.pt.md +1 -1
  142. package/templates/ts/README.zh.md +1 -1
@@ -14,6 +14,8 @@ flowchart LR
14
14
  pkg_tool_fs["tool-fs"]
15
15
  pkg_llm_pi_ai["llm-pi-ai"]
16
16
  pkg_llm_deepseek["llm-deepseek"]
17
+ pkg_client_file_upload["client-file-upload"]
18
+ svc_fileUploads["ctx.fileUploads<br/>Agent-scoped staged file uploads"]
17
19
  pkg_llm["llm"]
18
20
  svc_llm["ctx.llm<br/>LLM adapter registry"]
19
21
  pkg_llm_replay["llm-replay"]
@@ -162,6 +164,7 @@ flowchart LR
162
164
  pkg_code_runtime["code-runtime"]
163
165
  svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
164
166
  pkg_code_runtime_worker_thread["code-runtime-worker-thread"]
167
+ pkg_experimental_code_runtime_python["experimental-code-runtime-python"]
165
168
  pkg_fs["fs"]
166
169
  svc_fs["ctx.fs<br/>Filesystem provider seam"]
167
170
  pkg_fs_local["fs-local"]
@@ -234,6 +237,7 @@ flowchart LR
234
237
  pkg_authorization --> svc_authorization
235
238
  pkg_bash_local --> svc_shell
236
239
  pkg_bash_sandbox --> svc_shell
240
+ pkg_client_file_upload --> svc_fileUploads
237
241
  pkg_client_modules --> svc_clientModules
238
242
  pkg_code_runtime --> svc_codeRuntime
239
243
  pkg_code_runtime_worker_thread --> svc_codeRuntime
@@ -248,6 +252,7 @@ flowchart LR
248
252
  pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
249
253
  pkg_e2b --> svc_e2b
250
254
  pkg_experimental_agent_team --> svc_agentTeams
255
+ pkg_experimental_code_runtime_python --> svc_codeRuntime
251
256
  pkg_file_reference --> svc_fileReferences
252
257
  pkg_file_reference_local --> svc_fileReferences
253
258
  pkg_fs --> svc_fs
@@ -362,6 +367,7 @@ flowchart LR
362
367
  svc_e2b --> pkg_fs_e2b
363
368
  svc_e2b --> pkg_subprocess_e2b
364
369
  svc_fileReferences --> pkg_api_session_controller
370
+ svc_fileUploads --> pkg_api_session_controller
365
371
  svc_fs --> pkg_tool_fs
366
372
  svc_invariants --> pkg_agent
367
373
  svc_invariants --> pkg_agent_loop
@@ -464,6 +470,7 @@ flowchart LR
464
470
  | ctx key | Role | Owner | Implementations | Direct consumers | Companion plugins | Note |
465
471
  | --- | --- | --- | --- | --- | --- | --- |
466
472
  | `ctx.attachments` | `seam` | [`attachment`](../packages/attachment/attachment) | [`attachment-local`](../packages/attachment/attachment-local) | [`api-session-controller`](../packages/api/session-controller), [`tool-fs`](../packages/fs/tool-fs), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`llm-deepseek`](../packages/llm/llm-deepseek) | - | The host commits accepted images before session events; provider adapters resolve authorized durable references into provider-native content. |
473
+ | `ctx.fileUploads` | `core` | [`client-file-upload`](../packages/client/file-upload) | - | [`api-session-controller`](../packages/api/session-controller) | - | Owns streaming intake, durable storage, and staged receipt lifetime; the Session controller binds receipts to accepted submissions. |
467
474
  | `ctx.llm` | `seam` | [`llm`](../packages/llm/llm) | [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`llm-replay`](../packages/test-support/llm-replay) | [`agent-loop`](../packages/core/agent-loop), [`compaction-basic`](../packages/compaction/compaction-basic) | - | Adapters register provider implementations; the loop and compaction call the provider-neutral stream service. |
468
475
  | `ctx.deepseekLlmApiExtensions` | `seam` | [`deepseek-llm-api-extensions`](../packages/llm/deepseek-llm-api-extensions) | [`session-log-deepseek`](../packages/session/session-log-deepseek), [`plugin-package-inventory-deepseek`](../packages/llm/plugin-package-inventory-deepseek) | [`llm-deepseek`](../packages/llm/llm-deepseek) | - | Plugins prepare independent top-level fields; the official adapter merges them and commits their delivery state after HTTP acceptance. |
469
476
  | `ctx.tokenMeter` | `core` | [`token-meter`](../packages/llm/token-meter) | - | [`compaction-basic`](../packages/compaction/compaction-basic) | - | Owns isolated per-session replay folds; pressure consumers share immutable revisioned measurements. |
@@ -515,7 +522,7 @@ flowchart LR
515
522
  | `ctx.sandboxPolicy` | `core` | [`sandbox-policy`](../packages/sandbox/sandbox-policy) | - | [`bash-sandbox`](../packages/shell/bash-sandbox), [`fs-sandbox`](../packages/fs/fs-sandbox), [`terminal-bash`](../packages/terminal/terminal-bash) | - | The one home for the deployment default mode + workspace root; only the sandboxed executor and provider read the service (the tool layers use the pure `sandbox/mode` fold it also exports). Both enforcing families read it so bash and fs cannot confine to different roots. |
516
523
  | `ctx.approval` | `seam` | [`user-approval`](../packages/interaction/user-approval) | - | [`tools`](../packages/core/tools), [`tool-bash`](../packages/shell/tool-bash), [`acp`](../packages/acp/acp) | - | One-shot permission decisions dispatched over the `approval/request` waterfall; answerers are listeners (the ACP bridge for its own agents), absence fails closed to `unavailable`. |
517
524
  | `ctx.permissionPresets` | `core` | [`permission-presets`](../packages/interaction/permission-presets) | - | - | - | User-facing preset table (`workspace-write`/`danger-full-access`) bundling the sandbox-mode and approval-policy knobs; a switch writes one `permission/preset` event through to both knob events. |
518
- | `ctx.codeRuntime` | `seam` | [`code-runtime`](../packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](../packages/code-runtime/code-runtime-worker-thread) | [`tools`](../packages/core/tools) | - | Runs one model-written program against host-provided async bindings; backends differ by substrate and language (the tool registry consumes it for PTC mode). |
525
+ | `ctx.codeRuntime` | `seam` | [`code-runtime`](../packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](../packages/code-runtime/code-runtime-worker-thread), [`experimental-code-runtime-python`](../packages/experimental/code-runtime-python) | [`tools`](../packages/core/tools) | - | Runs one model-written program against host-provided async bindings; backends differ by substrate and language (the tool registry consumes it for PTC mode). |
519
526
  | `ctx.fs` | `seam` | [`fs`](../packages/fs/fs) | [`fs-local`](../packages/fs/fs-local), [`fs-sandbox`](../packages/fs/fs-sandbox), [`fs-e2b`](../packages/e2b/fs-e2b) | [`tool-fs`](../packages/fs/tool-fs) | [`fs-observation-policy`](../packages/fs/fs-observation-policy) | tool-fs executes read/write/edit through ctx.fs; fs-sandbox fences mutations by the shared sandbox mode; fs-observation-policy contributes observed-state checks through the fs/* event gate. |
520
527
  | `ctx.compaction` | `seam` | [`compaction`](../packages/compaction/compaction) | [`compaction-basic`](../packages/compaction/compaction-basic) | [`compaction-basic`](../packages/compaction/compaction-basic) | - | The basic backend consumes post-step pressure and request-error recovery events; there is no model-facing compact tool. |
521
528
  | `ctx.subagents` | `seam` | [`subagent`](../packages/subagent/subagent) | [`subagent-spawn-in-process`](../packages/subagent/subagent-spawn-in-process), [`subagent-fork-in-process`](../packages/subagent/subagent-fork-in-process), [`subagent-acp`](../packages/subagent/subagent-acp), [`subagent-codex`](../packages/subagent/subagent-codex), [`subagent-claude-code`](../packages/subagent/subagent-claude-code), [`subagent-dsh-sdk`](../packages/subagent/subagent-dsh-sdk) | [`tool-subagent`](../packages/subagent/tool-subagent), [`tool-subagent-control`](../packages/subagent/tool-subagent-control), [`tool-ralph`](../packages/workflow/tool-ralph) | - | Providers implement transports; the service also owns optional Activation-based continuation orchestration, tool-subagent selects one-shot or continuable delegation, tool-subagent-control delivers follow-ups, and tool-ralph requires one fresh structured-output route. |
@@ -16,6 +16,8 @@ flowchart LR
16
16
  pkg_tool_fs["tool-fs"]
17
17
  pkg_llm_pi_ai["llm-pi-ai"]
18
18
  pkg_llm_deepseek["llm-deepseek"]
19
+ pkg_client_file_upload["client-file-upload"]
20
+ svc_fileUploads["ctx.fileUploads<br/>Agent-scoped staged file uploads"]
19
21
  pkg_llm["llm"]
20
22
  svc_llm["ctx.llm<br/>LLM adapter registry"]
21
23
  pkg_llm_replay["llm-replay"]
@@ -164,6 +166,7 @@ flowchart LR
164
166
  pkg_code_runtime["code-runtime"]
165
167
  svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
166
168
  pkg_code_runtime_worker_thread["code-runtime-worker-thread"]
169
+ pkg_experimental_code_runtime_python["experimental-code-runtime-python"]
167
170
  pkg_fs["fs"]
168
171
  svc_fs["ctx.fs<br/>Filesystem provider seam"]
169
172
  pkg_fs_local["fs-local"]
@@ -236,6 +239,7 @@ flowchart LR
236
239
  pkg_authorization --> svc_authorization
237
240
  pkg_bash_local --> svc_shell
238
241
  pkg_bash_sandbox --> svc_shell
242
+ pkg_client_file_upload --> svc_fileUploads
239
243
  pkg_client_modules --> svc_clientModules
240
244
  pkg_code_runtime --> svc_codeRuntime
241
245
  pkg_code_runtime_worker_thread --> svc_codeRuntime
@@ -250,6 +254,7 @@ flowchart LR
250
254
  pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
251
255
  pkg_e2b --> svc_e2b
252
256
  pkg_experimental_agent_team --> svc_agentTeams
257
+ pkg_experimental_code_runtime_python --> svc_codeRuntime
253
258
  pkg_file_reference --> svc_fileReferences
254
259
  pkg_file_reference_local --> svc_fileReferences
255
260
  pkg_fs --> svc_fs
@@ -364,6 +369,7 @@ flowchart LR
364
369
  svc_e2b --> pkg_fs_e2b
365
370
  svc_e2b --> pkg_subprocess_e2b
366
371
  svc_fileReferences --> pkg_api_session_controller
372
+ svc_fileUploads --> pkg_api_session_controller
367
373
  svc_fs --> pkg_tool_fs
368
374
  svc_invariants --> pkg_agent
369
375
  svc_invariants --> pkg_agent_loop
@@ -466,6 +472,7 @@ flowchart LR
466
472
  | ctx 键 | 角色 | 所属包 | 实现 | 直接消费方 | 配套插件 | 说明 |
467
473
  | --- | --- | --- | --- | --- | --- | --- |
468
474
  | `ctx.attachments` | `seam` | [`attachment`](../packages/attachment/attachment) | [`attachment-local`](../packages/attachment/attachment-local) | [`api-session-controller`](../packages/api/session-controller), [`tool-fs`](../packages/fs/tool-fs), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`llm-deepseek`](../packages/llm/llm-deepseek) | - | 宿主会在会话事件之前提交已接受的图片;提供方适配器将已授权的持久引用解析为提供方原生内容。 |
475
+ | `ctx.fileUploads` | `core` | [`client-file-upload`](../packages/client/file-upload) | - | [`api-session-controller`](../packages/api/session-controller) | - | 负责流式接收、持久存储和暂存回执生命周期;Session Controller 将回执绑定到已接受的提交。 |
469
476
  | `ctx.llm` | `seam` | [`llm`](../packages/llm/llm) | [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`llm-replay`](../packages/test-support/llm-replay) | [`agent-loop`](../packages/core/agent-loop), [`compaction-basic`](../packages/compaction/compaction-basic) | - | 适配器注册提供方实现;agent loop(智能体循环)与压缩功能调用提供方无关的流服务。 |
470
477
  | `ctx.deepseekLlmApiExtensions` | `seam` | [`deepseek-llm-api-extensions`](../packages/llm/deepseek-llm-api-extensions) | [`session-log-deepseek`](../packages/session/session-log-deepseek), [`plugin-package-inventory-deepseek`](../packages/llm/plugin-package-inventory-deepseek) | [`llm-deepseek`](../packages/llm/llm-deepseek) | - | 插件准备彼此独立的顶层字段;官方适配器会合并这些字段,并在 HTTP 接受后提交其交付状态。 |
471
478
  | `ctx.tokenMeter` | `core` | [`token-meter`](../packages/llm/token-meter) | - | [`compaction-basic`](../packages/compaction/compaction-basic) | - | 拥有按会话隔离的回放折叠区;压力消费方共享不可变且带修订版本的测量结果。 |
@@ -517,7 +524,7 @@ flowchart LR
517
524
  | `ctx.sandboxPolicy` | `core` | [`sandbox-policy`](../packages/sandbox/sandbox-policy) | - | [`bash-sandbox`](../packages/shell/bash-sandbox), [`fs-sandbox`](../packages/fs/fs-sandbox), [`terminal-bash`](../packages/terminal/terminal-bash) | - | 统一保存部署默认模式和工作区根目录;只有沙箱执行器和提供方读取该服务(工具层使用它同时导出的纯 `sandbox/mode` 折叠区)。两类强制执行组件都读取该服务,因此 bash 与 fs 不会限制到不同的根目录。 |
518
525
  | `ctx.approval` | `seam` | [`user-approval`](../packages/interaction/user-approval) | - | [`tools`](../packages/core/tools), [`tool-bash`](../packages/shell/tool-bash), [`acp`](../packages/acp/acp) | - | 一次性权限决策通过 `approval/request` waterfall(瀑布式事件)分派;回答方是监听器(即 ACP 为自身 agent 提供的桥接),没有回答方时以 `unavailable` 关闭失败。 |
519
526
  | `ctx.permissionPresets` | `core` | [`permission-presets`](../packages/interaction/permission-presets) | - | - | - | 面向用户的预设表(`workspace-write`/`danger-full-access`),将沙箱模式与审批策略选项组合在一起;一次切换会写入一个 `permission/preset` 事件,并贯通到两个选项事件。 |
520
- | `ctx.codeRuntime` | `seam` | [`code-runtime`](../packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](../packages/code-runtime/code-runtime-worker-thread) | [`tools`](../packages/core/tools) | - | 使用 Host 提供的异步绑定运行一段由模型编写的程序;各后端采用不同的基础环境和语言(工具注册表在 PTC mode 下消费该服务)。 |
527
+ | `ctx.codeRuntime` | `seam` | [`code-runtime`](../packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](../packages/code-runtime/code-runtime-worker-thread), [`experimental-code-runtime-python`](../packages/experimental/code-runtime-python) | [`tools`](../packages/core/tools) | - | 使用 Host 提供的异步绑定运行一段由模型编写的程序;各后端采用不同的基础环境和语言(工具注册表在 PTC mode 下消费该服务)。 |
521
528
  | `ctx.fs` | `seam` | [`fs`](../packages/fs/fs) | [`fs-local`](../packages/fs/fs-local), [`fs-sandbox`](../packages/fs/fs-sandbox), [`fs-e2b`](../packages/e2b/fs-e2b) | [`tool-fs`](../packages/fs/tool-fs) | [`fs-observation-policy`](../packages/fs/fs-observation-policy) | tool-fs 通过 ctx.fs 执行读取/写入/编辑;fs-sandbox 按共享沙箱模式限制变更;fs-observation-policy 通过 fs/* 事件门禁贡献基于观测状态的检查。 |
522
529
  | `ctx.compaction` | `seam` | [`compaction`](../packages/compaction/compaction) | [`compaction-basic`](../packages/compaction/compaction-basic) | [`compaction-basic`](../packages/compaction/compaction-basic) | - | 基础后端消费步骤后的压力事件和请求错误恢复事件;不存在面向模型的压缩工具。 |
523
530
  | `ctx.subagents` | `seam` | [`subagent`](../packages/subagent/subagent) | [`subagent-spawn-in-process`](../packages/subagent/subagent-spawn-in-process), [`subagent-fork-in-process`](../packages/subagent/subagent-fork-in-process), [`subagent-acp`](../packages/subagent/subagent-acp), [`subagent-codex`](../packages/subagent/subagent-codex), [`subagent-claude-code`](../packages/subagent/subagent-claude-code), [`subagent-dsh-sdk`](../packages/subagent/subagent-dsh-sdk) | [`tool-subagent`](../packages/subagent/tool-subagent), [`tool-subagent-control`](../packages/subagent/tool-subagent-control), [`tool-ralph`](../packages/workflow/tool-ralph) | - | 提供方实现传输;该服务还负责可选的、基于 Activation 的延续编排,tool-subagent 选择一次性或可延续委派,tool-subagent-control 传递后续消息,而 tool-ralph 要求一条全新的结构化输出路由。 |
@@ -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 docs/config-catalog.md
5
- config-catalog.md: 5d19ab42f0423cd92fd6227bf1c169db1269d9d4
6
- config-catalog.zh.md: 77fdabb9da9b78aba6c9704fd0ec5c095ea14679
5
+ config-catalog.md: af72b832723423745817fd340022e65c0c066d36
6
+ config-catalog.zh.md: 6d961f22b3c29fbc4355e99c8de55823e014b74c
@@ -111,7 +111,7 @@ export interface Config {
111
111
 
112
112
  Depends on: [`AgentOptions`](subsystems/core.md) · [`SessionId`](subsystems/core.md)
113
113
 
114
- Source: [`packages/core/agent-loop/src/index.ts:311`](../packages/core/agent-loop/src/index.ts)
114
+ Source: [`packages/core/agent-loop/src/index.ts:318`](../packages/core/agent-loop/src/index.ts)
115
115
 
116
116
  <a id="deepseek-aidsh-agent-presets"></a>
117
117
 
@@ -203,19 +203,17 @@ Source: [`packages/api/gateway/src/index.ts:119`](../packages/api/gateway/src/in
203
203
 
204
204
  ## `@deepseek-ai/dsh-api-session-controller`
205
205
 
206
- Requires: `agentDefaultModel` · `agents` · `attachments` · `llm` · `sessions` · `sessionProjections` · `sessionQuery` · `typert` · `workspaceRegistry`
206
+ Requires: `agentDefaultModel` · `agents` · `attachments` · `fileUploads` · `llm` · `sessions` · `sessionProjections` · `sessionQuery` · `typert` · `workspaceRegistry`
207
207
 
208
208
  ```ts config-catalog
209
209
  /** Session Controller deployment policy. */
210
210
  export interface Config {
211
- /** Maximum cold Session artifact size eligible for one full projection observation. */
212
- readonly coldBlankProbeMaxBytes?: number
213
211
  /** Override platform desktop-opener detection. */
214
212
  readonly nativeOpen?: boolean
215
213
  }
216
214
  ```
217
215
 
218
- Source: [`packages/api/session-controller/src/index.ts:67`](../packages/api/session-controller/src/index.ts)
216
+ Source: [`packages/api/session-controller/src/index.ts:69`](../packages/api/session-controller/src/index.ts)
219
217
 
220
218
  <a id="deepseek-aidsh-api-settings-controller"></a>
221
219
 
@@ -264,7 +262,7 @@ export interface Config {
264
262
  }
265
263
  ```
266
264
 
267
- Source: [`packages/attachment/attachment-local/src/index.ts:55`](../packages/attachment/attachment-local/src/index.ts)
265
+ Source: [`packages/attachment/attachment-local/src/index.ts:61`](../packages/attachment/attachment-local/src/index.ts)
268
266
 
269
267
  <a id="deepseek-aidsh-bash-local"></a>
270
268
 
@@ -338,7 +336,7 @@ export interface ConnectionConfig {
338
336
  }
339
337
  ```
340
338
 
341
- Source: [`packages/client/connection/src/index.ts:70`](../packages/client/connection/src/index.ts)
339
+ Source: [`packages/client/connection/src/index.ts:71`](../packages/client/connection/src/index.ts)
342
340
 
343
341
  <a id="deepseek-aidsh-client-hmr"></a>
344
342
 
@@ -457,7 +455,7 @@ export interface ToolResultPruneConfig {
457
455
  }
458
456
  ```
459
457
 
460
- Source: [`packages/compaction/compaction-tool-result-pruner/src/types.ts:4`](../packages/compaction/compaction-tool-result-pruner/src/types.ts)
458
+ Source: [`packages/compaction/compaction-tool-result-pruner/src/types.ts:5`](../packages/compaction/compaction-tool-result-pruner/src/types.ts)
461
459
 
462
460
  <a id="deepseek-aidsh-cordis-host-runner"></a>
463
461
 
@@ -511,7 +509,7 @@ export interface Config {
511
509
  }
512
510
  ```
513
511
 
514
- Source: [`packages/e2b/e2b/src/index.ts:43`](../packages/e2b/e2b/src/index.ts)
512
+ Source: [`packages/e2b/e2b/src/index.ts:45`](../packages/e2b/e2b/src/index.ts)
515
513
 
516
514
  <a id="deepseek-aidsh-experimental-agent-team"></a>
517
515
 
@@ -535,7 +533,74 @@ export interface Config {
535
533
  }
536
534
  ```
537
535
 
538
- Source: [`packages/experimental/agent-team/src/types.ts:131`](../packages/experimental/agent-team/src/types.ts)
536
+ Source: [`packages/experimental/agent-team/src/types.ts:130`](../packages/experimental/agent-team/src/types.ts)
537
+
538
+ <a id="deepseek-aidsh-experimental-code-runtime-python"></a>
539
+
540
+ ## `@deepseek-ai/dsh-experimental-code-runtime-python`
541
+
542
+ ```ts config-catalog
543
+ /** Plugin config: every cap, changeable from `cordis.yml` (no hardcoded tunables). */
544
+ export interface Config {
545
+ /**
546
+ * RLIMIT_CPU in whole seconds (a positive integer — `setrlimit` in the child
547
+ * rejects a float). The child sets the soft limit to `cpuSeconds` and the
548
+ * hard limit to `cpuSeconds + 1`: the kernel delivers SIGXCPU at the soft
549
+ * limit, which the host classifies as a `timeout`; the +1s hard limit is a
550
+ * SIGKILL backstop for a program that traps SIGXCPU. Granularity is seconds —
551
+ * a coarser counterpart to the worker backend's millisecond `computeMs`.
552
+ */
553
+ cpuSeconds?: number
554
+ /** Wall-clock ceiling in milliseconds; backstops CPU time for programs awaiting a promise nobody resolves. */
555
+ maxWallMs?: number
556
+ /**
557
+ * RLIMIT_AS in mebibytes; caps address space so a runaway allocation fails
558
+ * cleanly. Not applied on Darwin, where the dyld shared cache mapped into
559
+ * every process at exec exceeds any practical cap and the kernel rejects
560
+ * the call; `cpuSeconds` and `maxWallMs` still bound the run there. Bounds
561
+ * `maxLogBytes`/`maxValueBytes` at load on EVERY platform (this static check
562
+ * runs on Darwin too, where only the runtime `setrlimit` is skipped): each
563
+ * budget times a worst-case Unicode expansion must fit this byte count minus a
564
+ * fixed interpreter baseline, so a near-budget output cannot breach the address
565
+ * space during the child's build-and-encode.
566
+ */
567
+ addressSpaceMb?: number
568
+ /**
569
+ * Shared byte budget for captured log text (host-side ledger). Bounded at load
570
+ * against `addressSpaceMb`: the child builds and encodes a near-budget entry
571
+ * under RLIMIT_AS with several copies live at once, so this cap times the
572
+ * worst-case Unicode expansion must fit the address space left after the
573
+ * interpreter baseline (see `addressSpaceMb`) — a load-time rejection, not a
574
+ * runtime clamp. Also bounded at load by the host's configured heap like
575
+ * `maxValueBytes` (see its JSDoc): the effective frame cap minus the frame
576
+ * envelope.
577
+ */
578
+ maxLogBytes?: number
579
+ /**
580
+ * Byte cap for the completion value. Bounded at load against `addressSpaceMb`
581
+ * the same way `maxLogBytes` is: the child builds and encodes a near-budget
582
+ * value under RLIMIT_AS with several copies live at once, so this cap times the
583
+ * worst-case Unicode expansion must fit the address space left after the
584
+ * interpreter baseline. Both budgets are ALSO bounded at load by the host's
585
+ * configured heap: the effective frame cap (the protocol cap, or a lower
586
+ * heap-derived ceiling when the host heap cannot safely parse a near-cap
587
+ * frame — see `hostFrameParseCeiling`) minus the frame envelope, so a budget
588
+ * whose honest frame could OOM the host's own JSON.parse is rejected up
589
+ * front.
590
+ */
591
+ maxValueBytes?: number
592
+ /** SIGTERM→SIGKILL grace period on kill, matching bash-local's default. */
593
+ graceMs?: number
594
+ /**
595
+ * Absolute path, relative path, or basename of a CPython 3.10+ interpreter.
596
+ * Resolved and validated once at plugin load under a five-second force-kill
597
+ * deadline; a basename searches `PATH`.
598
+ */
599
+ pythonBin?: string
600
+ }
601
+ ```
602
+
603
+ Source: [`packages/experimental/code-runtime-python/src/index.ts:42`](../packages/experimental/code-runtime-python/src/index.ts)
539
604
 
540
605
  <a id="deepseek-aidsh-experimental-inspector"></a>
541
606
 
@@ -696,7 +761,7 @@ export interface Config {
696
761
  }
697
762
  ```
698
763
 
699
- Source: [`packages/goal/goal/src/index.ts:171`](../packages/goal/goal/src/index.ts)
764
+ Source: [`packages/goal/goal/src/index.ts:172`](../packages/goal/goal/src/index.ts)
700
765
 
701
766
  <a id="deepseek-aidsh-headless"></a>
702
767
 
@@ -712,7 +777,7 @@ export interface Config {
712
777
  }
713
778
  ```
714
779
 
715
- Source: [`packages/bundle/headless/src/index.ts:33`](../packages/bundle/headless/src/index.ts)
780
+ Source: [`packages/bundle/headless/src/index.ts:34`](../packages/bundle/headless/src/index.ts)
716
781
 
717
782
  <a id="deepseek-aidsh-hooks-claude-code"></a>
718
783
 
@@ -750,7 +815,7 @@ export interface Config {
750
815
  }
751
816
  ```
752
817
 
753
- Source: [`packages/hooks/hooks-claude-code/src/index.ts:46`](../packages/hooks/hooks-claude-code/src/index.ts)
818
+ Source: [`packages/hooks/hooks-claude-code/src/index.ts:45`](../packages/hooks/hooks-claude-code/src/index.ts)
754
819
 
755
820
  <a id="deepseek-aidsh-hooks-codex"></a>
756
821
 
@@ -777,7 +842,7 @@ export interface Config {
777
842
  }
778
843
  ```
779
844
 
780
- Source: [`packages/hooks/hooks-codex/src/index.ts:45`](../packages/hooks/hooks-codex/src/index.ts)
845
+ Source: [`packages/hooks/hooks-codex/src/index.ts:44`](../packages/hooks/hooks-codex/src/index.ts)
781
846
 
782
847
  <a id="deepseek-aidsh-host-directory-picker-browse"></a>
783
848
 
@@ -1024,7 +1089,7 @@ export interface PiAiProviderProfile {
1024
1089
  * to answer instead.
1025
1090
  */
1026
1091
  defaultInput?: PiAiModality[]
1027
- /** Provider request headers; Harness attribution wins reserved names. */
1092
+ /** Provider request headers, validated against Fetch when the profile resolves; Harness attribution wins reserved names. */
1028
1093
  headers?: Record<string, string>
1029
1094
  /** Provider-neutral pi-ai reasoning level. */
1030
1095
  reasoning?: ModelThinkingLevel
@@ -1288,7 +1353,7 @@ export interface ReplayModelConfig {
1288
1353
 
1289
1354
  Depends on: [`ModelModality`](../packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](../packages/llm/llm/src/index.ts)
1290
1355
 
1291
- Source: [`packages/test-support/llm-replay/src/index.ts:919`](../packages/test-support/llm-replay/src/index.ts)
1356
+ Source: [`packages/test-support/llm-replay/src/index.ts:1294`](../packages/test-support/llm-replay/src/index.ts)
1292
1357
 
1293
1358
  <a id="deepseek-aidsh-llm-retry"></a>
1294
1359
 
@@ -1432,7 +1497,7 @@ export interface Config {
1432
1497
  }
1433
1498
  ```
1434
1499
 
1435
- Source: [`packages/feedback/message-feedback/src/index.ts:49`](../packages/feedback/message-feedback/src/index.ts)
1500
+ Source: [`packages/feedback/message-feedback/src/index.ts:50`](../packages/feedback/message-feedback/src/index.ts)
1436
1501
 
1437
1502
  <a id="deepseek-aidsh-permission-presets"></a>
1438
1503
 
@@ -1733,7 +1798,7 @@ export interface Config {
1733
1798
  }
1734
1799
  ```
1735
1800
 
1736
- Source: [`packages/session/session-log-deepseek/src/index.ts:23`](../packages/session/session-log-deepseek/src/index.ts)
1801
+ Source: [`packages/session/session-log-deepseek/src/index.ts:36`](../packages/session/session-log-deepseek/src/index.ts)
1737
1802
 
1738
1803
  <a id="deepseek-aidsh-session-log-export"></a>
1739
1804
 
@@ -1752,16 +1817,14 @@ export interface Config {
1752
1817
  export type SessionLogCompressionLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
1753
1818
  ```
1754
1819
 
1755
- Source: [`packages/session-query/session-log-export/src/index.ts:42`](../packages/session-query/session-log-export/src/index.ts)
1820
+ Source: [`packages/session-query/session-log-export/src/index.ts:45`](../packages/session-query/session-log-export/src/index.ts)
1756
1821
 
1757
1822
  <a id="deepseek-aidsh-session-persistence-jsonl"></a>
1758
1823
 
1759
1824
  ## `@deepseek-ai/dsh-session-persistence-jsonl`
1760
1825
 
1761
- Requires: `sessions`
1762
-
1763
1826
  ```ts config-catalog
1764
- /** Plugin config: where the JSONL backend keeps its session logs, and the packed-row write switch. */
1827
+ /** Plugin config for the JSONL backend's root and physical encoding. */
1765
1828
  export interface Config {
1766
1829
  /**
1767
1830
  * Root directory for all session files. Required (no default): a default of
@@ -1771,27 +1834,15 @@ export interface Config {
1771
1834
  * readable directory; an absent root is created on first materialization.
1772
1835
  */
1773
1836
  root: string
1774
- /**
1775
- * Write runs of consecutive `assistant/chunk` delta events as packed
1776
- * `text-chunks`/`reasoning-chunks`/`tool-call-chunks` rows (lossless,
1777
- * ~60% smaller logs measured on a real session). Defaults to true; false
1778
- * keeps one `SessionEvent` per line for diagnostics. Reading packed rows is
1779
- * unconditional: a log's layout never depends on this switch.
1780
- */
1781
- packChunks?: boolean
1782
1837
  /** Physical encoding; defaults to checksummed Zstandard frames. */
1783
1838
  compression?: JsonlCompression
1784
- /** Maximum cold Session preparations retained for history-to-resume reuse. */
1785
- preparedSessionCacheSize?: number
1786
- /** Fixed live-event coalescing window; not a backend completion deadline. */
1787
- writeBatchMaxDelayMs?: number
1788
1839
  }
1789
1840
 
1790
1841
  /** Physical encoding selected for JSONL session artifacts. */
1791
1842
  export type JsonlCompression = 'zstd' | 'none'
1792
1843
  ```
1793
1844
 
1794
- Source: [`packages/session/session-persistence-jsonl/src/index.ts:62`](../packages/session/session-persistence-jsonl/src/index.ts)
1845
+ Source: [`packages/session/session-persistence-jsonl/src/index.ts:86`](../packages/session/session-persistence-jsonl/src/index.ts)
1795
1846
 
1796
1847
  <a id="deepseek-aidsh-session-projection-cache"></a>
1797
1848
 
@@ -1815,7 +1866,7 @@ export interface Config {
1815
1866
  }
1816
1867
  ```
1817
1868
 
1818
- Source: [`packages/session/session-projection-cache/src/index.ts:48`](../packages/session/session-projection-cache/src/index.ts)
1869
+ Source: [`packages/session/session-projection-cache/src/index.ts:63`](../packages/session/session-projection-cache/src/index.ts)
1819
1870
 
1820
1871
  <a id="deepseek-aidsh-session-query-sqlite"></a>
1821
1872
 
@@ -1848,8 +1899,10 @@ export interface Config extends SessionQueryConfig {
1848
1899
  maxLimit?: number
1849
1900
  /** Maximum snippet length in Unicode code points. Defaults to 240. */
1850
1901
  snippetChars?: number
1851
- /** Maximum concurrent persisted-log inspections in one inherited batch read. Defaults to 4. */
1852
- persistedInspectConcurrency?: number
1902
+ /** Maximum concurrent persisted-log reads in one inherited batch read. Defaults to 4. */
1903
+ persistedReadConcurrency?: number
1904
+ /** Maximum cold prepared-Session observations the inherited reader retains for reuse. Defaults to 5. */
1905
+ preparedSessionCacheSize?: number
1853
1906
  }
1854
1907
 
1855
1908
  /** SQLite module/handle opening phase; `never` disables full-text search entirely. */
@@ -1861,7 +1914,7 @@ export type JournalMode = 'wal' | 'delete' | 'truncate' | 'persist'
1861
1914
 
1862
1915
  Depends on: [`SessionQueryConfig`](../packages/session-query/session-query/src/index.ts)
1863
1916
 
1864
- Source: [`packages/session-query/session-query-sqlite/src/index.ts:89`](../packages/session-query/session-query-sqlite/src/index.ts)
1917
+ Source: [`packages/session-query/session-query-sqlite/src/index.ts:92`](../packages/session-query/session-query-sqlite/src/index.ts)
1865
1918
 
1866
1919
  <a id="deepseek-aidsh-session-reference"></a>
1867
1920
 
@@ -1947,7 +2000,7 @@ export interface Config {
1947
2000
  }
1948
2001
  ```
1949
2002
 
1950
- Source: [`packages/session/session-title/src/index.ts:55`](../packages/session/session-title/src/index.ts)
2003
+ Source: [`packages/session/session-title/src/index.ts:56`](../packages/session/session-title/src/index.ts)
1951
2004
 
1952
2005
  <a id="deepseek-aidsh-session-title-all-prompts-llm"></a>
1953
2006
 
@@ -2011,7 +2064,7 @@ export interface Config {
2011
2064
  }
2012
2065
  ```
2013
2066
 
2014
- Source: [`packages/shell/shell-env/src/index.ts:29`](../packages/shell/shell-env/src/index.ts)
2067
+ Source: [`packages/shell/shell-env/src/index.ts:28`](../packages/shell/shell-env/src/index.ts)
2015
2068
 
2016
2069
  <a id="deepseek-aidsh-skill"></a>
2017
2070
 
@@ -2516,7 +2569,7 @@ export interface Config {
2516
2569
  }
2517
2570
  ```
2518
2571
 
2519
- Source: [`packages/context/time-context/src/index.ts:48`](../packages/context/time-context/src/index.ts)
2572
+ Source: [`packages/context/time-context/src/index.ts:49`](../packages/context/time-context/src/index.ts)
2520
2573
 
2521
2574
  <a id="deepseek-aidsh-tmux-context"></a>
2522
2575
 
@@ -2545,7 +2598,7 @@ Requires: `sessionProjections`
2545
2598
  export type TokenMeterConfig = Record<string, never>
2546
2599
  ```
2547
2600
 
2548
- Source: [`packages/llm/token-meter/src/types.ts:12`](../packages/llm/token-meter/src/types.ts)
2601
+ Source: [`packages/llm/token-meter/src/types.ts:13`](../packages/llm/token-meter/src/types.ts)
2549
2602
 
2550
2603
  <a id="deepseek-aidsh-tool-bash"></a>
2551
2604
 
@@ -2892,29 +2945,7 @@ export interface Config {
2892
2945
 
2893
2946
  Depends on: [`AgentOptions`](subsystems/core.md)
2894
2947
 
2895
- Source: [`packages/subagent/tool-subagent/src/index.ts:48`](../packages/subagent/tool-subagent/src/index.ts)
2896
-
2897
- <a id="deepseek-aidsh-tool-subagent-report"></a>
2898
-
2899
- ## `@deepseek-ai/dsh-tool-subagent-report`
2900
-
2901
- Requires: `subagents` · `tools` · `systemPrompt`
2902
-
2903
- ```ts config-catalog
2904
- /** Config: how accepted reports are scheduled on the parent. */
2905
- export interface Config {
2906
- /**
2907
- * Parent scheduling (default `next-step`). `next-step` wakes the parent and
2908
- * enters at its nearest step boundary; `quiet` adds the same context without
2909
- * waking, so a parked parent waits for another waking input.
2910
- */
2911
- reportDelivery?: SubagentReportDelivery
2912
- }
2913
- ```
2914
-
2915
- Depends on: [`SubagentReportDelivery`](subsystems/subagent.md)
2916
-
2917
- Source: [`packages/subagent/tool-subagent-report/src/index.ts:25`](../packages/subagent/tool-subagent-report/src/index.ts)
2948
+ Source: [`packages/subagent/tool-subagent/src/index.ts:47`](../packages/subagent/tool-subagent/src/index.ts)
2918
2949
 
2919
2950
  <a id="deepseek-aidsh-tool-terminal"></a>
2920
2951
 
@@ -3083,7 +3114,7 @@ export interface Config {
3083
3114
  export type ApprovalPolicy = 'ask' | 'never'
3084
3115
  ```
3085
3116
 
3086
- Source: [`packages/interaction/user-approval/src/index.ts:142`](../packages/interaction/user-approval/src/index.ts)
3117
+ Source: [`packages/interaction/user-approval/src/index.ts:127`](../packages/interaction/user-approval/src/index.ts)
3087
3118
 
3088
3119
  <a id="deepseek-aidsh-web"></a>
3089
3120
 
@@ -3294,6 +3325,7 @@ These load from a `cordis.yml` entry with no `config:` block; they declare no co
3294
3325
  - `@deepseek-ai/dsh-api-remotes` — requires `typertGateway` ([`packages/api/remotes/src/index.ts`](../packages/api/remotes/src/index.ts))
3295
3326
  - `@deepseek-ai/dsh-api-workspace-controller` — requires `typert` · `workspaceRegistry` ([`packages/api/workspace-controller/src/index.ts`](../packages/api/workspace-controller/src/index.ts))
3296
3327
  - `@deepseek-ai/dsh-authorization` — requires `credentials` ([`packages/credentials/authorization/src/index.ts`](../packages/credentials/authorization/src/index.ts))
3328
+ - `@deepseek-ai/dsh-client-file-upload` — requires `agents` · `attachments` · `commands` · `connection` ([`packages/client/file-upload/src/index.ts`](../packages/client/file-upload/src/index.ts))
3297
3329
  - `@deepseek-ai/dsh-client-locale` ([`packages/client/locale/src/index.ts`](../packages/client/locale/src/index.ts))
3298
3330
  - `@deepseek-ai/dsh-client-modules` — requires `webServer` · `loader` ([`packages/client/modules/src/index.ts`](../packages/client/modules/src/index.ts))
3299
3331
  - `@deepseek-ai/dsh-client-ui-agent-preset` ([`packages/client/ui-agent-preset/src/index.ts`](../packages/client/ui-agent-preset/src/index.ts))
@@ -3404,7 +3436,6 @@ Imported as libraries by other packages; a `cordis.yml` cannot load them.
3404
3436
  - `@deepseek-ai/dsh-client-ui-slots` ([`packages/client/ui-slots/src/index.ts`](../packages/client/ui-slots/src/index.ts))
3405
3437
  - `@deepseek-ai/dsh-client-web` ([`packages/client/web/src/index.ts`](../packages/client/web/src/index.ts))
3406
3438
  - `@deepseek-ai/dsh-cmdline` ([`packages/boot/cmdline/src/index.ts`](../packages/boot/cmdline/src/index.ts))
3407
- - `@deepseek-ai/dsh-code-runtime-python` ([`packages/code-runtime/code-runtime-python/src/index.ts`](../packages/code-runtime/code-runtime-python/src/index.ts))
3408
3439
  - `@deepseek-ai/dsh-deque` ([`packages/util/deque/src/index.ts`](../packages/util/deque/src/index.ts))
3409
3440
  - `@deepseek-ai/dsh-experimental-agent-team-profile` ([`packages/experimental/agent-team-profile/src/index.ts`](../packages/experimental/agent-team-profile/src/index.ts))
3410
3441
  - `@deepseek-ai/dsh-experimental-agent-team-web-profile` ([`packages/experimental/agent-team-web-profile/src/index.ts`](../packages/experimental/agent-team-web-profile/src/index.ts))
@@ -3412,6 +3443,7 @@ Imported as libraries by other packages; a `cordis.yml` cannot load them.
3412
3443
  - `@deepseek-ai/dsh-experimental-webworker-runtime` ([`packages/experimental/webworker-runtime/src/index.ts`](../packages/experimental/webworker-runtime/src/index.ts))
3413
3444
  - `@deepseek-ai/dsh-home-paths` ([`packages/util/home-paths/src/index.ts`](../packages/util/home-paths/src/index.ts))
3414
3445
  - `@deepseek-ai/dsh-hook-protocol` ([`packages/hooks/hook-protocol/src/index.ts`](../packages/hooks/hook-protocol/src/index.ts))
3446
+ - `@deepseek-ai/dsh-http-proxy` ([`packages/util/http-proxy/src/index.ts`](../packages/util/http-proxy/src/index.ts))
3415
3447
  - `@deepseek-ai/dsh-launch-environment` ([`packages/util/launch-environment/src/index.ts`](../packages/util/launch-environment/src/index.ts))
3416
3448
  - `@deepseek-ai/dsh-llm-mock-server` ([`packages/test-support/llm-mock-server/src/index.ts`](../packages/test-support/llm-mock-server/src/index.ts))
3417
3449
  - `@deepseek-ai/dsh-loader-smoke` ([`packages/test-support/loader-smoke/src/index.ts`](../packages/test-support/loader-smoke/src/index.ts))
@@ -3422,6 +3454,10 @@ Imported as libraries by other packages; a `cordis.yml` cannot load them.
3422
3454
  - `@deepseek-ai/dsh-sdk-client` ([`packages/sdk/client/src/index.ts`](../packages/sdk/client/src/index.ts))
3423
3455
  - `@deepseek-ai/dsh-sdk-minimal` ([`packages/bundle/sdk-minimal/src/index.ts`](../packages/bundle/sdk-minimal/src/index.ts))
3424
3456
  - `@deepseek-ai/dsh-sdk-protocol` ([`packages/sdk/protocol/src/index.ts`](../packages/sdk/protocol/src/index.ts))
3457
+ - `@deepseek-ai/dsh-session-format` ([`packages/session/session-format/src/index.ts`](../packages/session/session-format/src/index.ts))
3458
+ - `@deepseek-ai/dsh-session-format-catalog` ([`packages/session/session-format-catalog/src/index.ts`](../packages/session/session-format-catalog/src/index.ts))
3459
+ - `@deepseek-ai/dsh-session-format-v0-to-v1` ([`packages/session/session-format-v0-to-v1/src/index.ts`](../packages/session/session-format-v0-to-v1/src/index.ts))
3460
+ - `@deepseek-ai/dsh-session-format-v1-to-v2` ([`packages/session/session-format-v1-to-v2/src/index.ts`](../packages/session/session-format-v1-to-v2/src/index.ts))
3425
3461
  - `@deepseek-ai/dsh-session-snapshot` ([`packages/test-support/session-snapshot/src/index.ts`](../packages/test-support/session-snapshot/src/index.ts))
3426
3462
  - `@deepseek-ai/dsh-session-telemetry` ([`packages/session/session-telemetry/src/index.ts`](../packages/session/session-telemetry/src/index.ts))
3427
3463
  - `@deepseek-ai/dsh-session-title-llm` ([`packages/session/session-title-llm/src/index.ts`](../packages/session/session-title-llm/src/index.ts))