dsh-plugin-dev-kb 1.0.9 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.en.md +6 -6
  3. package/README.md +6 -6
  4. package/kb/INDEX.md +4 -2
  5. package/kb/README.md +4 -4
  6. package/kb/extra/AGENTS.md +1 -1
  7. package/kb/extra/cookbook/adding-a-remote-api.md +197 -0
  8. package/kb/extra/cookbook/adding-a-remote-api.zh.md +197 -0
  9. package/kb/extra/deepseek-llm-api-wire-extensions.md +18 -14
  10. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +18 -14
  11. package/kb/extra/event-producer-consumer.md +44 -43
  12. package/kb/extra/event-producer-consumer.zh.md +47 -46
  13. package/kb/extra/i18n/style-samples.md +2 -2
  14. package/kb/extra/module-graph.md +444 -991
  15. package/kb/extra/module-graph.zh.md +446 -993
  16. package/kb/extra/subsystems/agent-team.md +4 -3
  17. package/kb/extra/subsystems/agent-team.zh.md +4 -3
  18. package/kb/extra/subsystems/attachment.md +157 -4
  19. package/kb/extra/subsystems/attachment.zh.md +157 -4
  20. package/kb/extra/subsystems/feedback.md +2 -2
  21. package/kb/extra/subsystems/feedback.zh.md +2 -2
  22. package/kb/extra/testing.md +6 -2
  23. package/kb/extra/testing.zh.md +6 -2
  24. package/kb/extra/web-styling.md +4 -0
  25. package/kb/extra/web-styling.zh.md +4 -0
  26. package/kb/meta/search-index.json +135 -111
  27. package/kb/meta/site-pages.txt +184 -182
  28. package/kb/meta/source.json +5 -5
  29. package/kb/meta/topics.md +4 -4
  30. package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +3 -2
  31. package/kb/site/develop/practice/llm-adapter.md +4 -3
  32. package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +3 -2
  33. package/kb/site/en/develop/practice/llm-adapter.md +4 -3
  34. package/kb/site/en/guide/network-proxy.md +87 -0
  35. package/kb/site/en/guide/providers.md +70 -17
  36. package/kb/site/en/guide/schedule.md +2 -0
  37. package/kb/site/en/reference/agent-lifecycle.md +5 -3
  38. package/kb/site/en/reference/api-gateway.md +2 -2
  39. package/kb/site/en/reference/capability-seams.md +14 -7
  40. package/kb/site/en/reference/config-catalog.md +157 -230
  41. package/kb/site/en/reference/cookbook/adding-a-package.md +1 -2
  42. package/kb/site/en/reference/cookbook/adding-a-settings-card.md +10 -8
  43. package/kb/site/en/reference/cookbook/extension-cookbook.md +15 -12
  44. package/kb/site/en/reference/index.md +11 -4
  45. package/kb/site/en/reference/persistence-catalog.md +91 -70
  46. package/kb/site/en/reference/subsystems/code-runtime.md +7 -3
  47. package/kb/site/en/reference/subsystems/commands.md +25 -16
  48. package/kb/site/en/reference/subsystems/compaction.md +9 -9
  49. package/kb/site/en/reference/subsystems/conversation.md +11 -4
  50. package/kb/site/en/reference/subsystems/core.md +96 -15
  51. package/kb/site/en/reference/subsystems/credentials.md +5 -4
  52. package/kb/site/en/reference/subsystems/goal.md +1 -1
  53. package/kb/site/en/reference/subsystems/index.md +1 -1
  54. package/kb/site/en/reference/subsystems/llm-streaming.md +24 -3
  55. package/kb/site/en/reference/subsystems/permission-presets.md +5 -5
  56. package/kb/site/en/reference/subsystems/persistence.md +185 -194
  57. package/kb/site/en/reference/subsystems/plan.md +3 -3
  58. package/kb/site/en/reference/subsystems/sandbox.md +2 -0
  59. package/kb/site/en/reference/subsystems/schedule.md +9 -3
  60. package/kb/site/en/reference/subsystems/session-projection.md +50 -24
  61. package/kb/site/en/reference/subsystems/session-query.md +19 -13
  62. package/kb/site/en/reference/subsystems/session-reference.md +25 -1
  63. package/kb/site/en/reference/subsystems/session-telemetry.md +6 -5
  64. package/kb/site/en/reference/subsystems/session-title.md +6 -6
  65. package/kb/site/en/reference/subsystems/session.md +156 -73
  66. package/kb/site/en/reference/subsystems/settings.md +30 -12
  67. package/kb/site/en/reference/subsystems/skills.md +1 -1
  68. package/kb/site/en/reference/subsystems/slots.md +1 -0
  69. package/kb/site/en/reference/subsystems/storage.md +28 -5
  70. package/kb/site/en/reference/subsystems/subagent.md +43 -97
  71. package/kb/site/en/reference/subsystems/system-prompt.md +16 -3
  72. package/kb/site/en/reference/subsystems/token-meter.md +2 -2
  73. package/kb/site/en/reference/subsystems/typert.md +18 -18
  74. package/kb/site/en/reference/subsystems/web-client.md +1 -1
  75. package/kb/site/en/reference/subsystems/workspace.md +8 -8
  76. package/kb/site/en/reference/tool-catalog.md +10 -64
  77. package/kb/site/guide/network-proxy.md +87 -0
  78. package/kb/site/guide/providers.md +70 -17
  79. package/kb/site/guide/schedule.md +2 -0
  80. package/kb/site/reference/agent-lifecycle.md +5 -3
  81. package/kb/site/reference/api-gateway.md +2 -2
  82. package/kb/site/reference/capability-seams.md +14 -7
  83. package/kb/site/reference/config-catalog.md +156 -229
  84. package/kb/site/reference/cookbook/adding-a-package.md +1 -2
  85. package/kb/site/reference/cookbook/adding-a-settings-card.md +10 -8
  86. package/kb/site/reference/cookbook/extension-cookbook.md +15 -12
  87. package/kb/site/reference/index.md +11 -4
  88. package/kb/site/reference/persistence-catalog.md +91 -70
  89. package/kb/site/reference/subsystems/code-runtime.md +7 -3
  90. package/kb/site/reference/subsystems/commands.md +25 -16
  91. package/kb/site/reference/subsystems/compaction.md +9 -9
  92. package/kb/site/reference/subsystems/conversation.md +11 -4
  93. package/kb/site/reference/subsystems/core.md +96 -15
  94. package/kb/site/reference/subsystems/credentials.md +5 -4
  95. package/kb/site/reference/subsystems/goal.md +1 -1
  96. package/kb/site/reference/subsystems/index.md +1 -1
  97. package/kb/site/reference/subsystems/llm-streaming.md +24 -3
  98. package/kb/site/reference/subsystems/permission-presets.md +5 -5
  99. package/kb/site/reference/subsystems/persistence.md +184 -193
  100. package/kb/site/reference/subsystems/plan.md +3 -3
  101. package/kb/site/reference/subsystems/schedule.md +9 -3
  102. package/kb/site/reference/subsystems/session-projection.md +50 -24
  103. package/kb/site/reference/subsystems/session-query.md +19 -13
  104. package/kb/site/reference/subsystems/session-reference.md +25 -1
  105. package/kb/site/reference/subsystems/session-telemetry.md +6 -5
  106. package/kb/site/reference/subsystems/session-title.md +6 -6
  107. package/kb/site/reference/subsystems/session.md +156 -73
  108. package/kb/site/reference/subsystems/settings.md +30 -12
  109. package/kb/site/reference/subsystems/skills.md +1 -1
  110. package/kb/site/reference/subsystems/slots.md +1 -0
  111. package/kb/site/reference/subsystems/storage.md +28 -5
  112. package/kb/site/reference/subsystems/subagent.md +43 -97
  113. package/kb/site/reference/subsystems/system-prompt.md +16 -3
  114. package/kb/site/reference/subsystems/token-meter.md +2 -2
  115. package/kb/site/reference/subsystems/typert.md +18 -18
  116. package/kb/site/reference/subsystems/web-client.md +1 -1
  117. package/kb/site/reference/subsystems/workspace.md +8 -8
  118. package/kb/site/reference/tool-catalog.md +9 -63
  119. package/package.json +2 -2
  120. package/skills/dsh-plugin-dev-kb.md +4 -4
@@ -35,7 +35,7 @@ export interface AcpConfig {
35
35
 
36
36
  依赖:`Stream`(`@agentclientprotocol/sdk`)
37
37
 
38
- 来源:[`packages/acp/acp/src/index.ts:74`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/acp/acp/src/index.ts)
38
+ 来源:[`packages/acp/acp/src/index.ts:75`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/acp/acp/src/index.ts)
39
39
 
40
40
  <a id="deepseek-aidsh-agent-default-model"></a>
41
41
 
@@ -57,6 +57,8 @@ export interface Config {
57
57
 
58
58
  ## `@deepseek-ai/dsh-agent-instructions`
59
59
 
60
+ 需要:`sessionProjections`
61
+
60
62
  ```ts config-catalog
61
63
  /** User-facing workspace instruction loader configuration. */
62
64
  export interface Config {
@@ -87,7 +89,7 @@ export interface Config {
87
89
 
88
90
  ## `@deepseek-ai/dsh-agent-loop`
89
91
 
90
- 需要:`agents` · `sessions` · `llm` · `tools` · `systemPrompt`
92
+ 需要:`agents` · `sessions` · `llm` · `tools` · `systemPrompt` · `sessionProjections`
91
93
 
92
94
  ```ts config-catalog
93
95
  /** Agent-loop plugin configuration. */
@@ -113,13 +115,13 @@ export interface Config {
113
115
 
114
116
  依赖:[`AgentOptions`](./subsystems/core.md) · [`SessionId`](./subsystems/core.md)
115
117
 
116
- 来源:[`packages/core/agent-loop/src/index.ts:255`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts)
118
+ 来源:[`packages/core/agent-loop/src/index.ts:318`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts)
117
119
 
118
120
  <a id="deepseek-aidsh-agent-presets"></a>
119
121
 
120
122
  ## `@deepseek-ai/dsh-agent-presets`
121
123
 
122
- 需要:`loader`
124
+ 需要:`loader` · `sessionProjections`
123
125
 
124
126
  ```ts config-catalog
125
127
  /** Plugin config: which preset is the default, and where presets live. */
@@ -159,100 +161,7 @@ export interface PresetRoot {
159
161
  export type PresetTrust = 'system' | 'user'
160
162
  ```
161
163
 
162
- 来源:[`packages/preset/agent-presets/src/preset.ts:54`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-presets/src/preset.ts)
163
-
164
- <a id="deepseek-aidsh-agent-spine-demo"></a>
165
-
166
- ## `@deepseek-ai/dsh-agent-spine-demo`
167
-
168
- ```ts config-catalog
169
- /**
170
- * Bundle config: each field forwarded verbatim to the child that owns it —
171
- * `agents` to the agent loop (an app that pre-creates no agents, like the ACP
172
- * bridge, simply omits it), `includeHarnessIdentity`, `includeRuntimeContext`,
173
- * `persona`, and `toolOrder` to the system-prompt plugin (the fixed opener,
174
- * dynamic-context policy, deployment persona, and explicit model-facing tool
175
- * order), the `tools` object to the tool
176
- * registry (its presentation `mode`),
177
- * `dshHome` to bash environment and local skill discovery, `sessionTitle` to
178
- * the fallback title service, `skills` to the
179
- * skill registry/local provider/tool consumer, `workspaceContext` to the
180
- * agent-instructions loader, `jobs` to the process-local job provider, and
181
- * `toolBash`/`toolJobs` to the model-facing tool plugins this bundle owns.
182
- * Provider adapters own their `retryPolicy`; this bundle always mounts its
183
- * executor.
184
- * `goals` opts into and configures the persisted goal domain plus its model tool
185
- * and same-session driver; `invariants` configures global and package-filtered
186
- * relational checks. Owner schemas supply defaults for optional input;
187
- * workspace context instead requires an explicit byte budget or `false` because
188
- * it changes model-visible input. Producer opt-in stays producer-local:
189
- * `toolBash` configures bash only; independently composed producers keep their
190
- * own config. Set `toolBash: false` when another plugin owns the model-facing
191
- * `bash` name.
192
- */
193
- export interface Config {
194
- /** The agent-loop `agents` list (see dsh-agent-loop's `Config`). */
195
- agents?: AgentLoopConfig['agents']
196
- /** Agent-loop concurrency cap; `1` is serial. */
197
- maxParallelToolCalls?: AgentLoopConfig['maxParallelToolCalls']
198
- /** Whether the system prompt includes the fixed Harness identity (default true). */
199
- includeHarnessIdentity?: SystemPromptConfig['includeHarnessIdentity']
200
- /** Whether model history includes dynamic runtime-context snapshots (default true). */
201
- includeRuntimeContext?: SystemPromptConfig['includeRuntimeContext']
202
- /** The deployment persona (see dsh-system-prompt's `Config`). */
203
- persona?: SystemPromptConfig['persona']
204
- /** The explicit model-facing tool order (see dsh-system-prompt's `Config`). */
205
- toolOrder?: SystemPromptConfig['toolOrder']
206
- /** The tool registry's config — its presentation `mode` (see dsh-tools' `Config`). */
207
- tools?: ToolsConfig
208
- /** DeepSeek Harness home directory shared by shell context and local skill discovery. */
209
- dshHome?: string
210
- /** Deterministic fallback and accepted-title limits; omission uses the bundle's example policy. */
211
- sessionTitle?: SessionTitleConfig
212
- /** Workspace-context loader controls with an explicit byte budget; set `false` for hermetic prompts. */
213
- workspaceContext: workspaceContext.Config | false
214
- /**
215
- * Skill registry, local provider, and model-facing consumer config.
216
- * Skills use `enabled` because one nested config controls a provider stack;
217
- * single model-tool plugins use `Config | false` to disable that one consumer.
218
- */
219
- skills?: SkillConfig
220
- /** Model-facing bash tool config, or false when another plugin owns `bash`. */
221
- toolBash?: toolBash.Config | false
222
- /** Process-local background-job admission config. */
223
- jobs?: JobsConfig
224
- /** Generic background-job controls; set false to keep the job service without model-facing job tools. */
225
- toolJobs?: toolJobs.Config | false
226
- /** Global enablement and package-name filters for invariant companions. */
227
- invariants?: InvariantConfig
228
- /** Opt-in persisted same-session goal stack; set false or omit to leave it unmounted. */
229
- goals?: GoalConfig | false
230
- }
231
-
232
- /** Skill bundle config forwarded to the registry, local provider, and model-facing consumer. */
233
- export interface SkillConfig {
234
- /** Mount the bundled local skill provider and model-facing skill tool (default true). */
235
- enabled?: boolean
236
- /** Registry-level discovery cache settings. */
237
- registry?: SkillRegistryConfig
238
- /** Local filesystem skill provider settings. */
239
- filesystem?: SkillFileSystem.Config
240
- /** Model-facing skill catalog and tool settings. */
241
- tool?: toolSkill.Config
242
- }
243
-
244
- /** Persisted goal domain, model-tool policy, and same-session driver config. */
245
- export interface GoalConfig {
246
- /** Goal-domain creation defaults. */
247
- domain?: GoalDomainConfig
248
- /** Model-facing goal-tool authority policy. */
249
- tool?: toolGoal.Config
250
- }
251
- ```
252
-
253
- 依赖:[`AgentLoopConfig`](#deepseek-aidsh-agent-loop) · [`GoalDomainConfig`](#deepseek-aidsh-goal) · [`InvariantConfig`](#deepseek-aidsh-invariants) · [`JobsConfig`](#deepseek-aidsh-jobs-local) · [`SessionTitleConfig`](#deepseek-aidsh-session-title) · [`SkillFileSystem`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-filesystem/src/index.ts) · [`SkillRegistryConfig`](#deepseek-aidsh-skill) · [`SystemPromptConfig`](#deepseek-aidsh-system-prompt) · [`toolBash`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash/src/index.ts) · [`toolGoal`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/tool-goal/src/index.ts) · [`toolJobs`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/tool-jobs/src/index.ts) · [`ToolsConfig`](#deepseek-aidsh-tools) · [`toolSkill`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/tool-skill/src/index.ts) · [`workspaceContext`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/agent-instructions/src/index.ts)
254
-
255
- 来源:[`packages/examples/agent-spine-demo/src/index.ts:93`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/examples/agent-spine-demo/src/index.ts)
164
+ 来源:[`packages/preset/agent-presets/src/preset.ts:52`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-presets/src/preset.ts)
256
165
 
257
166
  <a id="deepseek-aidsh-agent-tool-presentation"></a>
258
167
 
@@ -287,30 +196,28 @@ export interface Config {
287
196
  ```ts config-catalog
288
197
  /** Gateway transport configuration. */
289
198
  export interface Config {
290
- /** WebSocket Ping interval from 1 through 2,147,483,647 milliseconds. @default 30000 */
199
+ /** WebSocket Ping interval from 1 through 2,147,483,647 milliseconds. @default 2000 */
291
200
  readonly websocketHeartbeatIntervalMs?: number
292
201
  }
293
202
  ```
294
203
 
295
- 来源:[`packages/api/gateway/src/index.ts:117`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/gateway/src/index.ts)
204
+ 来源:[`packages/api/gateway/src/index.ts:119`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/gateway/src/index.ts)
296
205
 
297
206
  <a id="deepseek-aidsh-api-session-controller"></a>
298
207
 
299
208
  ## `@deepseek-ai/dsh-api-session-controller`
300
209
 
301
- 需要:`agentDefaultModel` · `agents` · `attachments` · `llm` · `sessions` · `sessionProjections` · `sessionQuery` · `typert` · `workspaceRegistry`
210
+ 需要:`agentDefaultModel` · `agents` · `attachments` · `fileUploads` · `llm` · `sessions` · `sessionProjections` · `sessionQuery` · `typert` · `workspaceRegistry`
302
211
 
303
212
  ```ts config-catalog
304
213
  /** Session Controller deployment policy. */
305
214
  export interface Config {
306
- /** Maximum cold Session artifact size eligible for one full projection observation. */
307
- readonly coldBlankProbeMaxBytes?: number
308
215
  /** Override platform desktop-opener detection. */
309
216
  readonly nativeOpen?: boolean
310
217
  }
311
218
  ```
312
219
 
313
- 来源:[`packages/api/session-controller/src/index.ts:67`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/session-controller/src/index.ts)
220
+ 来源:[`packages/api/session-controller/src/index.ts:69`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/session-controller/src/index.ts)
314
221
 
315
222
  <a id="deepseek-aidsh-api-settings-controller"></a>
316
223
 
@@ -324,7 +231,7 @@ export interface Config {
324
231
  }
325
232
  ```
326
233
 
327
- 来源:[`packages/api/settings-controller/src/index.ts:41`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/settings-controller/src/index.ts)
234
+ 来源:[`packages/api/settings-controller/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/settings-controller/src/index.ts)
328
235
 
329
236
  <a id="deepseek-aidsh-attachment-local"></a>
330
237
 
@@ -359,7 +266,7 @@ export interface Config {
359
266
  }
360
267
  ```
361
268
 
362
- 来源:[`packages/attachment/attachment-local/src/index.ts:55`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/attachment/attachment-local/src/index.ts)
269
+ 来源:[`packages/attachment/attachment-local/src/index.ts:61`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/attachment/attachment-local/src/index.ts)
363
270
 
364
271
  <a id="deepseek-aidsh-bash-local"></a>
365
272
 
@@ -433,7 +340,7 @@ export interface ConnectionConfig {
433
340
  }
434
341
  ```
435
342
 
436
- 来源:[`packages/client/connection/src/index.ts:55`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/connection/src/index.ts)
343
+ 来源:[`packages/client/connection/src/index.ts:71`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/connection/src/index.ts)
437
344
 
438
345
  <a id="deepseek-aidsh-client-hmr"></a>
439
346
 
@@ -552,7 +459,7 @@ export interface ToolResultPruneConfig {
552
459
  }
553
460
  ```
554
461
 
555
- 来源:[`packages/compaction/compaction-tool-result-pruner/src/types.ts:4`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-tool-result-pruner/src/types.ts)
462
+ 来源:[`packages/compaction/compaction-tool-result-pruner/src/types.ts:5`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-tool-result-pruner/src/types.ts)
556
463
 
557
464
  <a id="deepseek-aidsh-cordis-host-runner"></a>
558
465
 
@@ -606,13 +513,13 @@ export interface Config {
606
513
  }
607
514
  ```
608
515
 
609
- 来源:[`packages/e2b/e2b/src/index.ts:43`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/e2b/e2b/src/index.ts)
516
+ 来源:[`packages/e2b/e2b/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/e2b/e2b/src/index.ts)
610
517
 
611
518
  <a id="deepseek-aidsh-experimental-agent-team"></a>
612
519
 
613
520
  ## `@deepseek-ai/dsh-experimental-agent-team`
614
521
 
615
- 需要:`agents` · `sessions` · `sessionPersistence` · `subagents`
522
+ 需要:`agents` · `sessions` · `sessionPersistence` · `sessionProjections` · `subagents`
616
523
 
617
524
  ```ts config-catalog
618
525
  /** Team-service deployment limits. */
@@ -630,7 +537,74 @@ export interface Config {
630
537
  }
631
538
  ```
632
539
 
633
- 来源:[`packages/experimental/agent-team/src/types.ts:125`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team/src/types.ts)
540
+ 来源:[`packages/experimental/agent-team/src/types.ts:124`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team/src/types.ts)
541
+
542
+ <a id="deepseek-aidsh-experimental-code-runtime-python"></a>
543
+
544
+ ## `@deepseek-ai/dsh-experimental-code-runtime-python`
545
+
546
+ ```ts config-catalog
547
+ /** Plugin config: every cap, changeable from `cordis.yml` (no hardcoded tunables). */
548
+ export interface Config {
549
+ /**
550
+ * RLIMIT_CPU in whole seconds (a positive integer — `setrlimit` in the child
551
+ * rejects a float). The child sets the soft limit to `cpuSeconds` and the
552
+ * hard limit to `cpuSeconds + 1`: the kernel delivers SIGXCPU at the soft
553
+ * limit, which the host classifies as a `timeout`; the +1s hard limit is a
554
+ * SIGKILL backstop for a program that traps SIGXCPU. Granularity is seconds —
555
+ * a coarser counterpart to the worker backend's millisecond `computeMs`.
556
+ */
557
+ cpuSeconds?: number
558
+ /** Wall-clock ceiling in milliseconds; backstops CPU time for programs awaiting a promise nobody resolves. */
559
+ maxWallMs?: number
560
+ /**
561
+ * RLIMIT_AS in mebibytes; caps address space so a runaway allocation fails
562
+ * cleanly. Not applied on Darwin, where the dyld shared cache mapped into
563
+ * every process at exec exceeds any practical cap and the kernel rejects
564
+ * the call; `cpuSeconds` and `maxWallMs` still bound the run there. Bounds
565
+ * `maxLogBytes`/`maxValueBytes` at load on EVERY platform (this static check
566
+ * runs on Darwin too, where only the runtime `setrlimit` is skipped): each
567
+ * budget times a worst-case Unicode expansion must fit this byte count minus a
568
+ * fixed interpreter baseline, so a near-budget output cannot breach the address
569
+ * space during the child's build-and-encode.
570
+ */
571
+ addressSpaceMb?: number
572
+ /**
573
+ * Shared byte budget for captured log text (host-side ledger). Bounded at load
574
+ * against `addressSpaceMb`: the child builds and encodes a near-budget entry
575
+ * under RLIMIT_AS with several copies live at once, so this cap times the
576
+ * worst-case Unicode expansion must fit the address space left after the
577
+ * interpreter baseline (see `addressSpaceMb`) — a load-time rejection, not a
578
+ * runtime clamp. Also bounded at load by the host's configured heap like
579
+ * `maxValueBytes` (see its JSDoc): the effective frame cap minus the frame
580
+ * envelope.
581
+ */
582
+ maxLogBytes?: number
583
+ /**
584
+ * Byte cap for the completion value. Bounded at load against `addressSpaceMb`
585
+ * the same way `maxLogBytes` is: the child builds and encodes a near-budget
586
+ * value under RLIMIT_AS with several copies live at once, so this cap times the
587
+ * worst-case Unicode expansion must fit the address space left after the
588
+ * interpreter baseline. Both budgets are ALSO bounded at load by the host's
589
+ * configured heap: the effective frame cap (the protocol cap, or a lower
590
+ * heap-derived ceiling when the host heap cannot safely parse a near-cap
591
+ * frame — see `hostFrameParseCeiling`) minus the frame envelope, so a budget
592
+ * whose honest frame could OOM the host's own JSON.parse is rejected up
593
+ * front.
594
+ */
595
+ maxValueBytes?: number
596
+ /** SIGTERM→SIGKILL grace period on kill, matching bash-local's default. */
597
+ graceMs?: number
598
+ /**
599
+ * Absolute path, relative path, or basename of a CPython 3.10+ interpreter.
600
+ * Resolved and validated once at plugin load under a five-second force-kill
601
+ * deadline; a basename searches `PATH`.
602
+ */
603
+ pythonBin?: string
604
+ }
605
+ ```
606
+
607
+ 来源:[`packages/experimental/code-runtime-python/src/index.ts:42`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/code-runtime-python/src/index.ts)
634
608
 
635
609
  <a id="deepseek-aidsh-experimental-inspector"></a>
636
610
 
@@ -716,13 +690,13 @@ export interface Config {
716
690
  }
717
691
  ```
718
692
 
719
- 来源:[`packages/experimental/tool-agent-team/src/index.ts:18`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/tool-agent-team/src/index.ts)
693
+ 来源:[`packages/experimental/tool-agent-team/src/index.ts:17`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/tool-agent-team/src/index.ts)
720
694
 
721
695
  <a id="deepseek-aidsh-file-reference-local"></a>
722
696
 
723
697
  ## `@deepseek-ai/dsh-file-reference-local`
724
698
 
725
- 需要:`agents`
699
+ 需要:`agents` · `sessionProjections`
726
700
 
727
701
  ```ts config-catalog
728
702
  /** Local file-reference discovery configuration. */
@@ -736,7 +710,7 @@ export interface Config {
736
710
  }
737
711
  ```
738
712
 
739
- 来源:[`packages/context/file-reference-local/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference-local/src/index.ts)
713
+ 来源:[`packages/context/file-reference-local/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference-local/src/index.ts)
740
714
 
741
715
  <a id="deepseek-aidsh-fs-local"></a>
742
716
 
@@ -781,7 +755,7 @@ export type Config = LocalConfig
781
755
 
782
756
  ## `@deepseek-ai/dsh-goal`
783
757
 
784
- 需要:`agents`
758
+ 需要:`agents` · `sessionProjections`
785
759
 
786
760
  ```ts config-catalog
787
761
  /** Deployment defaults for goal creation. */
@@ -791,7 +765,7 @@ export interface Config {
791
765
  }
792
766
  ```
793
767
 
794
- 来源:[`packages/goal/goal/src/index.ts:116`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/goal/src/index.ts)
768
+ 来源:[`packages/goal/goal/src/index.ts:172`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/goal/src/index.ts)
795
769
 
796
770
  <a id="deepseek-aidsh-headless"></a>
797
771
 
@@ -807,13 +781,13 @@ export interface Config {
807
781
  }
808
782
  ```
809
783
 
810
- 来源:[`packages/bundle/headless/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/headless/src/index.ts)
784
+ 来源:[`packages/bundle/headless/src/index.ts:33`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/headless/src/index.ts)
811
785
 
812
786
  <a id="deepseek-aidsh-hooks-claude-code"></a>
813
787
 
814
788
  ## `@deepseek-ai/dsh-hooks-claude-code`
815
789
 
816
- 需要:`shell`
790
+ 需要:`shell` · `sessionProjections`
817
791
 
818
792
  ```ts config-catalog
819
793
  /** Plugin config: where the CC hook config lives + substitution roots. */
@@ -851,7 +825,7 @@ export interface Config {
851
825
 
852
826
  ## `@deepseek-ai/dsh-hooks-codex`
853
827
 
854
- 需要:`shell`
828
+ 需要:`shell` · `sessionProjections`
855
829
 
856
830
  ```ts config-catalog
857
831
  /** Plugin config: where the Codex hooks.json lives + the model name for payloads. */
@@ -1040,7 +1014,7 @@ export interface DeepSeekCatalogModel {
1040
1014
 
1041
1015
  依赖:[`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)
1042
1016
 
1043
- 来源:[`packages/llm/llm-deepseek/src/index.ts:107`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts)
1017
+ 来源:[`packages/llm/llm-deepseek/src/index.ts:125`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts)
1044
1018
 
1045
1019
  <a id="deepseek-aidsh-llm-pi-ai"></a>
1046
1020
 
@@ -1119,7 +1093,7 @@ export interface PiAiProviderProfile {
1119
1093
  * to answer instead.
1120
1094
  */
1121
1095
  defaultInput?: PiAiModality[]
1122
- /** Provider request headers; Harness attribution wins reserved names. */
1096
+ /** Provider request headers, validated against Fetch when the profile resolves; Harness attribution wins reserved names. */
1123
1097
  headers?: Record<string, string>
1124
1098
  /** Provider-neutral pi-ai reasoning level. */
1125
1099
  reasoning?: ModelThinkingLevel
@@ -1383,20 +1357,20 @@ export interface ReplayModelConfig {
1383
1357
 
1384
1358
  依赖:[`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)
1385
1359
 
1386
- 来源:[`packages/test-support/llm-replay/src/index.ts:918`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-replay/src/index.ts)
1360
+ 来源:[`packages/test-support/llm-replay/src/index.ts:1294`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-replay/src/index.ts)
1387
1361
 
1388
1362
  <a id="deepseek-aidsh-llm-retry"></a>
1389
1363
 
1390
1364
  ## `@deepseek-ai/dsh-llm-retry`
1391
1365
 
1392
- 需要:`agents`
1366
+ 需要:`agents` · `sessionProjections`
1393
1367
 
1394
1368
  ```ts config-catalog
1395
1369
  /** This policy executor has no config; providers own `retryPolicy`. */
1396
1370
  export type Config = Readonly<Record<string, never>>
1397
1371
  ```
1398
1372
 
1399
- 来源:[`packages/llm/llm-retry/src/index.ts:24`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-retry/src/index.ts)
1373
+ 来源:[`packages/llm/llm-retry/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-retry/src/index.ts)
1400
1374
 
1401
1375
  <a id="deepseek-aidsh-lsp-stdio"></a>
1402
1376
 
@@ -1527,13 +1501,13 @@ export interface Config {
1527
1501
  }
1528
1502
  ```
1529
1503
 
1530
- 来源:[`packages/feedback/message-feedback/src/index.ts:49`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/feedback/message-feedback/src/index.ts)
1504
+ 来源:[`packages/feedback/message-feedback/src/index.ts:50`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/feedback/message-feedback/src/index.ts)
1531
1505
 
1532
1506
  <a id="deepseek-aidsh-permission-presets"></a>
1533
1507
 
1534
1508
  ## `@deepseek-ai/dsh-permission-presets`
1535
1509
 
1536
- 需要:`shell` · `approval` · `sessions`
1510
+ 需要:`shell` · `approval` · `sessions` · `sessionProjections`
1537
1511
 
1538
1512
  ```ts config-catalog
1539
1513
  /** The {@link PermissionPresetService} config: preset table and composition default. */
@@ -1566,7 +1540,7 @@ export interface PresetSpec {
1566
1540
 
1567
1541
  依赖:[`ApprovalPolicy`](./subsystems/approval.md) · [`SandboxMode`](./subsystems/sandbox.md)
1568
1542
 
1569
- 来源:[`packages/interaction/permission-presets/src/index.ts:156`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/permission-presets/src/index.ts)
1543
+ 来源:[`packages/interaction/permission-presets/src/index.ts:143`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/permission-presets/src/index.ts)
1570
1544
 
1571
1545
  <a id="deepseek-aidsh-persona"></a>
1572
1546
 
@@ -1590,13 +1564,13 @@ export interface Config {
1590
1564
  }
1591
1565
  ```
1592
1566
 
1593
- 来源:[`packages/preset/persona/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/persona/src/index.ts)
1567
+ 来源:[`packages/preset/persona/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/persona/src/index.ts)
1594
1568
 
1595
1569
  <a id="deepseek-aidsh-plan-mode"></a>
1596
1570
 
1597
1571
  ## `@deepseek-ai/dsh-plan-mode`
1598
1572
 
1599
- 需要:`tools` · `systemPrompt`
1573
+ 需要:`tools` · `systemPrompt` · `sessionProjections`
1600
1574
 
1601
1575
  ```ts config-catalog
1602
1576
  /** Deployment-owned plan guidance. */
@@ -1606,7 +1580,7 @@ export interface PlanModeConfig {
1606
1580
  }
1607
1581
  ```
1608
1582
 
1609
- 来源:[`packages/plan/plan-mode/src/index.ts:70`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
1583
+ 来源:[`packages/plan/plan-mode/src/index.ts:63`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
1610
1584
 
1611
1585
  <a id="deepseek-aidsh-plugin-package-inventory-deepseek"></a>
1612
1586
 
@@ -1622,7 +1596,7 @@ export interface Config {
1622
1596
  }
1623
1597
  ```
1624
1598
 
1625
- 来源:[`packages/llm/plugin-package-inventory-deepseek/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/plugin-package-inventory-deepseek/src/index.ts)
1599
+ 来源:[`packages/llm/plugin-package-inventory-deepseek/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/plugin-package-inventory-deepseek/src/index.ts)
1626
1600
 
1627
1601
  <a id="deepseek-aidsh-pwsh-local"></a>
1628
1602
 
@@ -1749,6 +1723,8 @@ export interface Config {
1749
1723
 
1750
1724
  ## `@deepseek-ai/dsh-sandbox-policy`
1751
1725
 
1726
+ 需要:`sessionProjections`
1727
+
1752
1728
  ```ts config-catalog
1753
1729
  /**
1754
1730
  * Plugin config: the deployment's sandbox default. All optional — `Config`
@@ -1770,7 +1746,7 @@ export interface Config {
1770
1746
 
1771
1747
  依赖:[`SandboxMode`](./subsystems/sandbox.md)
1772
1748
 
1773
- 来源:[`packages/sandbox/sandbox-policy/src/index.ts:67`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-policy/src/index.ts)
1749
+ 来源:[`packages/sandbox/sandbox-policy/src/index.ts:70`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-policy/src/index.ts)
1774
1750
 
1775
1751
  <a id="deepseek-aidsh-sdk-app"></a>
1776
1752
 
@@ -1826,7 +1802,7 @@ export interface Config {
1826
1802
  }
1827
1803
  ```
1828
1804
 
1829
- 来源:[`packages/session/session-log-deepseek/src/index.ts:22`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-log-deepseek/src/index.ts)
1805
+ 来源:[`packages/session/session-log-deepseek/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-log-deepseek/src/index.ts)
1830
1806
 
1831
1807
  <a id="deepseek-aidsh-session-log-export"></a>
1832
1808
 
@@ -1845,16 +1821,14 @@ export interface Config {
1845
1821
  export type SessionLogCompressionLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
1846
1822
  ```
1847
1823
 
1848
- 来源:[`packages/session-query/session-log-export/src/index.ts:41`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-log-export/src/index.ts)
1824
+ 来源:[`packages/session-query/session-log-export/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-log-export/src/index.ts)
1849
1825
 
1850
1826
  <a id="deepseek-aidsh-session-persistence-jsonl"></a>
1851
1827
 
1852
1828
  ## `@deepseek-ai/dsh-session-persistence-jsonl`
1853
1829
 
1854
- 需要:`sessions`
1855
-
1856
1830
  ```ts config-catalog
1857
- /** Plugin config: where the JSONL backend keeps its session logs, and the packed-row write switch. */
1831
+ /** Plugin config for the JSONL backend's root and physical encoding. */
1858
1832
  export interface Config {
1859
1833
  /**
1860
1834
  * Root directory for all session files. Required (no default): a default of
@@ -1864,54 +1838,15 @@ export interface Config {
1864
1838
  * readable directory; an absent root is created on first materialization.
1865
1839
  */
1866
1840
  root: string
1867
- /**
1868
- * Write runs of consecutive `assistant/chunk` delta events as packed
1869
- * `text-chunks`/`reasoning-chunks`/`tool-call-chunks` rows (lossless,
1870
- * ~60% smaller logs measured on a real session). Defaults to true; false
1871
- * keeps one `SessionEvent` per line for diagnostics. Reading packed rows is
1872
- * unconditional: a log's layout never depends on this switch.
1873
- */
1874
- packChunks?: boolean
1875
1841
  /** Physical encoding; defaults to checksummed Zstandard frames. */
1876
1842
  compression?: JsonlCompression
1877
- /** Maximum cold Session preparations retained for history-to-resume reuse. */
1878
- preparedSessionCacheSize?: number
1879
- /** Fixed live-event coalescing window; not a backend completion deadline. */
1880
- writeBatchMaxDelayMs?: number
1881
1843
  }
1882
1844
 
1883
1845
  /** Physical encoding selected for JSONL session artifacts. */
1884
1846
  export type JsonlCompression = 'zstd' | 'none'
1885
1847
  ```
1886
1848
 
1887
- 来源:[`packages/session/session-persistence-jsonl/src/index.ts:62`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence-jsonl/src/index.ts)
1888
-
1889
- <a id="deepseek-aidsh-session-persistence-sqlite"></a>
1890
-
1891
- ## `@deepseek-ai/dsh-session-persistence-sqlite`
1892
-
1893
- 需要:`sessions`
1894
-
1895
- ```ts config-catalog
1896
- /** Plugin configuration. */
1897
- export interface Config {
1898
- /** SQLite database path, or `:memory:` for an in-process database. */
1899
- path: string
1900
- /** Durable SQLite journal mode; defaults to `wal`. */
1901
- journalMode?: JournalMode
1902
- /** Maximum wait for another SQLite connection's lock; defaults to 5,000 ms. */
1903
- busyTimeoutMs?: number
1904
- /** Maximum cold Session preparations retained for history-to-resume reuse. */
1905
- preparedSessionCacheSize?: number
1906
- /** Fixed live-event coalescing window; not a backend completion deadline. */
1907
- writeBatchMaxDelayMs?: number
1908
- }
1909
-
1910
- /** Durable journal modes accepted by the backend. */
1911
- export type JournalMode = 'wal' | 'delete' | 'truncate' | 'persist'
1912
- ```
1913
-
1914
- 来源:[`packages/session/session-persistence-sqlite/src/index.ts:38`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence-sqlite/src/index.ts)
1849
+ 来源:[`packages/session/session-persistence-jsonl/src/index.ts:85`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence-jsonl/src/index.ts)
1915
1850
 
1916
1851
  <a id="deepseek-aidsh-session-projection-cache"></a>
1917
1852
 
@@ -1935,7 +1870,7 @@ export interface Config {
1935
1870
  }
1936
1871
  ```
1937
1872
 
1938
- 来源:[`packages/session/session-projection-cache/src/index.ts:48`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection-cache/src/index.ts)
1873
+ 来源:[`packages/session/session-projection-cache/src/index.ts:63`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection-cache/src/index.ts)
1939
1874
 
1940
1875
  <a id="deepseek-aidsh-session-query-sqlite"></a>
1941
1876
 
@@ -1968,8 +1903,10 @@ export interface Config extends SessionQueryConfig {
1968
1903
  maxLimit?: number
1969
1904
  /** Maximum snippet length in Unicode code points. Defaults to 240. */
1970
1905
  snippetChars?: number
1971
- /** Maximum concurrent persisted-log inspections in one inherited batch read. Defaults to 4. */
1972
- persistedInspectConcurrency?: number
1906
+ /** Maximum concurrent persisted-log reads in one inherited batch read. Defaults to 4. */
1907
+ persistedReadConcurrency?: number
1908
+ /** Maximum cold prepared-Session observations the inherited reader retains for reuse. Defaults to 5. */
1909
+ preparedSessionCacheSize?: number
1973
1910
  }
1974
1911
 
1975
1912
  /** SQLite module/handle opening phase; `never` disables full-text search entirely. */
@@ -1981,7 +1918,7 @@ export type JournalMode = 'wal' | 'delete' | 'truncate' | 'persist'
1981
1918
 
1982
1919
  依赖:[`SessionQueryConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query/src/index.ts)
1983
1920
 
1984
- 来源:[`packages/session-query/session-query-sqlite/src/index.ts:89`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query-sqlite/src/index.ts)
1921
+ 来源:[`packages/session-query/session-query-sqlite/src/index.ts:92`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query-sqlite/src/index.ts)
1985
1922
 
1986
1923
  <a id="deepseek-aidsh-session-reference"></a>
1987
1924
 
@@ -2067,7 +2004,7 @@ export interface Config {
2067
2004
  }
2068
2005
  ```
2069
2006
 
2070
- 来源:[`packages/session/session-title/src/index.ts:79`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title/src/index.ts)
2007
+ 来源:[`packages/session/session-title/src/index.ts:56`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title/src/index.ts)
2071
2008
 
2072
2009
  <a id="deepseek-aidsh-session-title-all-prompts-llm"></a>
2073
2010
 
@@ -2117,7 +2054,7 @@ export interface Config {
2117
2054
  }
2118
2055
  ```
2119
2056
 
2120
- 来源:[`packages/settings/settings-file/src/index.ts:21`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings-file/src/index.ts)
2057
+ 来源:[`packages/settings/settings-file/src/index.ts:22`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings-file/src/index.ts)
2121
2058
 
2122
2059
  <a id="deepseek-aidsh-shell-env"></a>
2123
2060
 
@@ -2131,7 +2068,7 @@ export interface Config {
2131
2068
  }
2132
2069
  ```
2133
2070
 
2134
- 来源:[`packages/shell/shell-env/src/index.ts:29`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell-env/src/index.ts)
2071
+ 来源:[`packages/shell/shell-env/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell-env/src/index.ts)
2135
2072
 
2136
2073
  <a id="deepseek-aidsh-skill"></a>
2137
2074
 
@@ -2145,7 +2082,7 @@ export interface Config {
2145
2082
  }
2146
2083
  ```
2147
2084
 
2148
- 来源:[`packages/skill/skill/src/index.ts:279`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill/src/index.ts)
2085
+ 来源:[`packages/skill/skill/src/index.ts:280`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill/src/index.ts)
2149
2086
 
2150
2087
  <a id="deepseek-aidsh-skill-filesystem"></a>
2151
2088
 
@@ -2218,7 +2155,7 @@ export interface Config {
2218
2155
 
2219
2156
  ## `@deepseek-ai/dsh-spill-policy`
2220
2157
 
2221
- 需要:`tools`
2158
+ 需要:`tools` · `sessionProjections`
2222
2159
 
2223
2160
  ```ts config-catalog
2224
2161
  /** Plugin config. */
@@ -2574,7 +2511,7 @@ export interface Config {
2574
2511
 
2575
2512
  ## `@deepseek-ai/dsh-terminal-bash`
2576
2513
 
2577
- 需要:`terminals` · `sandboxPolicy` · `subprocess`
2514
+ 需要:`terminals` · `sandboxPolicy` · `sessionProjections` · `subprocess`
2578
2515
 
2579
2516
  ```ts config-catalog
2580
2517
  /** Public plugin configuration. */
@@ -2624,7 +2561,7 @@ export type ShellDialect = 'bash' | 'pwsh'
2624
2561
 
2625
2562
  ## `@deepseek-ai/dsh-time-context`
2626
2563
 
2627
- 需要:`agents`
2564
+ 需要:`agents` · `sessionProjections`
2628
2565
 
2629
2566
  ```ts config-catalog
2630
2567
  /** Request-preparation clock formatting and append scheduling. Invalid values fail plugin load. */
@@ -2636,13 +2573,13 @@ export interface Config {
2636
2573
  }
2637
2574
  ```
2638
2575
 
2639
- 来源:[`packages/context/time-context/src/index.ts:27`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/time-context/src/index.ts)
2576
+ 来源:[`packages/context/time-context/src/index.ts:48`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/time-context/src/index.ts)
2640
2577
 
2641
2578
  <a id="deepseek-aidsh-tmux-context"></a>
2642
2579
 
2643
2580
  ## `@deepseek-ai/dsh-tmux-context`
2644
2581
 
2645
- 需要:`agents`
2582
+ 需要:`agents` · `sessionProjections`
2646
2583
 
2647
2584
  ```ts config-catalog
2648
2585
  /** Per-turn tmux-location scheduling. Invalid values fail plugin load. */
@@ -2652,18 +2589,20 @@ export interface Config {
2652
2589
  }
2653
2590
  ```
2654
2591
 
2655
- 来源:[`packages/context/tmux-context/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/tmux-context/src/index.ts)
2592
+ 来源:[`packages/context/tmux-context/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/tmux-context/src/index.ts)
2656
2593
 
2657
2594
  <a id="deepseek-aidsh-token-meter"></a>
2658
2595
 
2659
2596
  ## `@deepseek-ai/dsh-token-meter`
2660
2597
 
2598
+ 需要:`sessionProjections`
2599
+
2661
2600
  ```ts config-catalog
2662
2601
  /** Token-meter plugin configuration; the fixed estimator has no settings. */
2663
2602
  export type TokenMeterConfig = Record<string, never>
2664
2603
  ```
2665
2604
 
2666
- 来源:[`packages/llm/token-meter/src/types.ts:12`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/token-meter/src/types.ts)
2605
+ 来源:[`packages/llm/token-meter/src/types.ts:13`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/token-meter/src/types.ts)
2667
2606
 
2668
2607
  <a id="deepseek-aidsh-tool-bash"></a>
2669
2608
 
@@ -2679,7 +2618,7 @@ export interface Config {
2679
2618
  }
2680
2619
  ```
2681
2620
 
2682
- 来源:[`packages/shell/tool-bash/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash/src/index.ts)
2621
+ 来源:[`packages/shell/tool-bash/src/index.ts:33`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash/src/index.ts)
2683
2622
 
2684
2623
  <a id="deepseek-aidsh-tool-bash-persistent"></a>
2685
2624
 
@@ -2764,7 +2703,7 @@ export interface Config {
2764
2703
 
2765
2704
  ## `@deepseek-ai/dsh-tool-goal`
2766
2705
 
2767
- 需要:`agents` · `goals` · `tools` · `systemPrompt`
2706
+ 需要:`agents` · `goals` · `tools` · `systemPrompt` · `sessionProjections`
2768
2707
 
2769
2708
  ```ts config-catalog
2770
2709
  /** Model policy and hard lower bounds for goal-state updates. */
@@ -2774,7 +2713,7 @@ export interface Config {
2774
2713
  }
2775
2714
  ```
2776
2715
 
2777
- 来源:[`packages/goal/tool-goal/src/index.ts:26`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/tool-goal/src/index.ts)
2716
+ 来源:[`packages/goal/tool-goal/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/tool-goal/src/index.ts)
2778
2717
 
2779
2718
  <a id="deepseek-aidsh-tool-jobs"></a>
2780
2719
 
@@ -2808,7 +2747,7 @@ export interface Config {
2808
2747
  export type CompletionDelivery = 'quiet' | 'wakeup'
2809
2748
  ```
2810
2749
 
2811
- 来源:[`packages/jobs/tool-jobs/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/tool-jobs/src/index.ts)
2750
+ 来源:[`packages/jobs/tool-jobs/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/tool-jobs/src/index.ts)
2812
2751
 
2813
2752
  <a id="deepseek-aidsh-tool-lsp"></a>
2814
2753
 
@@ -2828,7 +2767,7 @@ export interface Config {
2828
2767
  }
2829
2768
  ```
2830
2769
 
2831
- 来源:[`packages/lsp/tool-lsp/src/index.ts:58`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/tool-lsp/src/index.ts)
2770
+ 来源:[`packages/lsp/tool-lsp/src/index.ts:57`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/tool-lsp/src/index.ts)
2832
2771
 
2833
2772
  <a id="deepseek-aidsh-tool-pwsh"></a>
2834
2773
 
@@ -2844,7 +2783,7 @@ export interface Config {
2844
2783
  }
2845
2784
  ```
2846
2785
 
2847
- 来源:[`packages/shell/tool-pwsh/src/index.ts:52`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh/src/index.ts)
2786
+ 来源:[`packages/shell/tool-pwsh/src/index.ts:51`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh/src/index.ts)
2848
2787
 
2849
2788
  <a id="deepseek-aidsh-tool-pwsh-persistent"></a>
2850
2789
 
@@ -2888,13 +2827,13 @@ export interface Config {
2888
2827
  }
2889
2828
  ```
2890
2829
 
2891
- 来源:[`packages/workflow/tool-ralph/src/index.ts:22`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-ralph/src/index.ts)
2830
+ 来源:[`packages/workflow/tool-ralph/src/index.ts:21`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-ralph/src/index.ts)
2892
2831
 
2893
2832
  <a id="deepseek-aidsh-tool-session-query"></a>
2894
2833
 
2895
2834
  ## `@deepseek-ai/dsh-tool-session-query`
2896
2835
 
2897
- 需要:`tools` · `systemPrompt` · `sessionQuery`
2836
+ 需要:`tools` · `systemPrompt` · `sessionQuery` · `sessionProjections`
2898
2837
 
2899
2838
  ```ts config-catalog
2900
2839
  /** Deployment-owned search count and timeout bounds. */
@@ -2906,7 +2845,7 @@ export interface Config {
2906
2845
  }
2907
2846
  ```
2908
2847
 
2909
- 来源:[`packages/session-query/tool-session-query/src/index.ts:29`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/tool-session-query/src/index.ts)
2848
+ 来源:[`packages/session-query/tool-session-query/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/tool-session-query/src/index.ts)
2910
2849
 
2911
2850
  <a id="deepseek-aidsh-tool-skill"></a>
2912
2851
 
@@ -2946,7 +2885,7 @@ export interface Config {
2946
2885
 
2947
2886
  ## `@deepseek-ai/dsh-tool-subagent`
2948
2887
 
2949
- 需要:`tools` · `subagents` · `systemPrompt`
2888
+ 需要:`tools` · `subagents` · `systemPrompt` · `sessionProjections`
2950
2889
 
2951
2890
  ```ts config-catalog
2952
2891
  /** Config: which registered provider this tool delegates to, plus child defaults. */
@@ -3012,28 +2951,6 @@ export interface Config {
3012
2951
 
3013
2952
  来源:[`packages/subagent/tool-subagent/src/index.ts:48`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/tool-subagent/src/index.ts)
3014
2953
 
3015
- <a id="deepseek-aidsh-tool-subagent-report"></a>
3016
-
3017
- ## `@deepseek-ai/dsh-tool-subagent-report`
3018
-
3019
- 需要:`subagents` · `tools` · `systemPrompt`
3020
-
3021
- ```ts config-catalog
3022
- /** Config: how accepted reports are scheduled on the parent. */
3023
- export interface Config {
3024
- /**
3025
- * Parent scheduling (default `next-step`). `next-step` wakes the parent and
3026
- * enters at its nearest step boundary; `quiet` adds the same context without
3027
- * waking, so a parked parent waits for another waking input.
3028
- */
3029
- reportDelivery?: SubagentReportDelivery
3030
- }
3031
- ```
3032
-
3033
- 依赖:[`SubagentReportDelivery`](./subsystems/subagent.md)
3034
-
3035
- 来源:[`packages/subagent/tool-subagent-report/src/index.ts:27`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/tool-subagent-report/src/index.ts)
3036
-
3037
2954
  <a id="deepseek-aidsh-tool-terminal"></a>
3038
2955
 
3039
2956
  ## `@deepseek-ai/dsh-tool-terminal`
@@ -3050,7 +2967,7 @@ export interface Config {
3050
2967
  }
3051
2968
  ```
3052
2969
 
3053
- 来源:[`packages/terminal/tool-terminal/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/tool-terminal/src/index.ts)
2970
+ 来源:[`packages/terminal/tool-terminal/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/tool-terminal/src/index.ts)
3054
2971
 
3055
2972
  <a id="deepseek-aidsh-tool-todo"></a>
3056
2973
 
@@ -3154,7 +3071,7 @@ export interface Config {
3154
3071
  export type ToolPresentationMode = 'native' | 'ptc' | 'both'
3155
3072
  ```
3156
3073
 
3157
- 来源:[`packages/core/tools/src/index.ts:655`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/tools/src/index.ts)
3074
+ 来源:[`packages/core/tools/src/index.ts:647`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/tools/src/index.ts)
3158
3075
 
3159
3076
  <a id="deepseek-aidsh-typert-loader"></a>
3160
3077
 
@@ -3201,7 +3118,7 @@ export interface Config {
3201
3118
  export type ApprovalPolicy = 'ask' | 'never'
3202
3119
  ```
3203
3120
 
3204
- 来源:[`packages/interaction/user-approval/src/index.ts:142`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-approval/src/index.ts)
3121
+ 来源:[`packages/interaction/user-approval/src/index.ts:126`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-approval/src/index.ts)
3205
3122
 
3206
3123
  <a id="deepseek-aidsh-web"></a>
3207
3124
 
@@ -3249,7 +3166,7 @@ export interface Config {
3249
3166
  }
3250
3167
  ```
3251
3168
 
3252
- 来源:[`packages/bundle/web-app/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/web-app/src/index.ts)
3169
+ 来源:[`packages/bundle/web-app/src/index.ts:44`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/web-app/src/index.ts)
3253
3170
 
3254
3171
  <a id="deepseek-aidsh-web-fetch-http"></a>
3255
3172
 
@@ -3412,6 +3329,7 @@ export interface Config {
3412
3329
  - `@deepseek-ai/dsh-api-remotes` — 需要 `typertGateway`([`packages/api/remotes/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/remotes/src/index.ts))
3413
3330
  - `@deepseek-ai/dsh-api-workspace-controller` — 需要 `typert` · `workspaceRegistry`([`packages/api/workspace-controller/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/workspace-controller/src/index.ts))
3414
3331
  - `@deepseek-ai/dsh-authorization` — 需要 `credentials`([`packages/credentials/authorization/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/authorization/src/index.ts))
3332
+ - `@deepseek-ai/dsh-client-file-upload` — 需要 `agents` · `attachments` · `commands` · `connection`([`packages/client/file-upload/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/file-upload/src/index.ts))
3415
3333
  - `@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))
3416
3334
  - `@deepseek-ai/dsh-client-modules` — 需要 `webServer` · `loader`([`packages/client/modules/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/src/index.ts))
3417
3335
  - `@deepseek-ai/dsh-client-ui-agent-preset`([`packages/client/ui-agent-preset/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-agent-preset/src/index.ts))
@@ -3435,6 +3353,7 @@ export interface Config {
3435
3353
  - `@deepseek-ai/dsh-client-ui-plan`([`packages/client/ui-plan/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-plan/src/index.ts))
3436
3354
  - `@deepseek-ai/dsh-client-ui-reference`([`packages/client/ui-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-reference/src/index.ts))
3437
3355
  - `@deepseek-ai/dsh-client-ui-renderer`([`packages/client/ui-renderer/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-renderer/src/index.ts))
3356
+ - `@deepseek-ai/dsh-client-ui-schedule`([`packages/client/ui-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-schedule/src/index.ts))
3438
3357
  - `@deepseek-ai/dsh-client-ui-session`([`packages/client/ui-session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-session/src/index.ts))
3439
3358
  - `@deepseek-ai/dsh-client-ui-settings`([`packages/client/ui-settings/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings/src/index.ts))
3440
3359
  - `@deepseek-ai/dsh-client-ui-settings-general`([`packages/client/ui-settings-general/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-general/src/index.ts))
@@ -3470,6 +3389,7 @@ export interface Config {
3470
3389
  - `@deepseek-ai/dsh-session-checkpoint-policy` — 需要 `llm` · `sessionPersistence` · `sessions` · `tools`([`packages/session/session-checkpoint-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-checkpoint-policy/src/index.ts))
3471
3390
  - `@deepseek-ai/dsh-session-projection`([`packages/session/session-projection/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection/src/index.ts))
3472
3391
  - `@deepseek-ai/dsh-session-stats` — 需要 `sessionProjections`([`packages/session/session-stats/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-stats/src/index.ts))
3392
+ - `@deepseek-ai/dsh-session-turn-outline` — 需要 `sessionProjections`([`packages/session/session-turn-outline/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-turn-outline/src/index.ts))
3473
3393
  - `@deepseek-ai/dsh-skill-badge` — 需要 `skills`([`packages/skill/skill-badge/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-badge/src/index.ts))
3474
3394
  - `@deepseek-ai/dsh-storage`([`packages/storage/storage/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage/src/index.ts))
3475
3395
  - `@deepseek-ai/dsh-subagent`([`packages/subagent/subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts))
@@ -3519,13 +3439,14 @@ export interface Config {
3519
3439
  - `@deepseek-ai/dsh-client-ui-slots`([`packages/client/ui-slots/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-slots/src/index.ts))
3520
3440
  - `@deepseek-ai/dsh-client-web`([`packages/client/web/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/web/src/index.ts))
3521
3441
  - `@deepseek-ai/dsh-cmdline`([`packages/boot/cmdline/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/cmdline/src/index.ts))
3522
- - `@deepseek-ai/dsh-code-runtime-python`([`packages/code-runtime/code-runtime-python/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/code-runtime/code-runtime-python/src/index.ts))
3442
+ - `@deepseek-ai/dsh-deque`([`packages/util/deque/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/deque/src/index.ts))
3523
3443
  - `@deepseek-ai/dsh-experimental-agent-team-profile`([`packages/experimental/agent-team-profile/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team-profile/src/index.ts))
3524
3444
  - `@deepseek-ai/dsh-experimental-agent-team-web-profile`([`packages/experimental/agent-team-web-profile/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team-web-profile/src/index.ts))
3525
3445
  - `@deepseek-ai/dsh-experimental-webworker-packer`([`packages/experimental/webworker-packer/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/webworker-packer/src/index.ts))
3526
3446
  - `@deepseek-ai/dsh-experimental-webworker-runtime`([`packages/experimental/webworker-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/webworker-runtime/src/index.ts))
3527
3447
  - `@deepseek-ai/dsh-home-paths`([`packages/util/home-paths/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/home-paths/src/index.ts))
3528
3448
  - `@deepseek-ai/dsh-hook-protocol`([`packages/hooks/hook-protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hook-protocol/src/index.ts))
3449
+ - `@deepseek-ai/dsh-http-proxy`([`packages/util/http-proxy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/http-proxy/src/index.ts))
3529
3450
  - `@deepseek-ai/dsh-launch-environment`([`packages/util/launch-environment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/launch-environment/src/index.ts))
3530
3451
  - `@deepseek-ai/dsh-llm-mock-server`([`packages/test-support/llm-mock-server/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-mock-server/src/index.ts))
3531
3452
  - `@deepseek-ai/dsh-loader-smoke`([`packages/test-support/loader-smoke/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/loader-smoke/src/index.ts))
@@ -3536,6 +3457,10 @@ export interface Config {
3536
3457
  - `@deepseek-ai/dsh-sdk-client`([`packages/sdk/client/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/client/src/index.ts))
3537
3458
  - `@deepseek-ai/dsh-sdk-minimal`([`packages/bundle/sdk-minimal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/sdk-minimal/src/index.ts))
3538
3459
  - `@deepseek-ai/dsh-sdk-protocol`([`packages/sdk/protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/protocol/src/index.ts))
3460
+ - `@deepseek-ai/dsh-session-format`([`packages/session/session-format/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format/src/index.ts))
3461
+ - `@deepseek-ai/dsh-session-format-catalog`([`packages/session/session-format-catalog/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-catalog/src/index.ts))
3462
+ - `@deepseek-ai/dsh-session-format-v0-to-v1`([`packages/session/session-format-v0-to-v1/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v0-to-v1/src/index.ts))
3463
+ - `@deepseek-ai/dsh-session-format-v1-to-v2`([`packages/session/session-format-v1-to-v2/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v1-to-v2/src/index.ts))
3539
3464
  - `@deepseek-ai/dsh-session-snapshot`([`packages/test-support/session-snapshot/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/session-snapshot/src/index.ts))
3540
3465
  - `@deepseek-ai/dsh-session-telemetry`([`packages/session/session-telemetry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry/src/index.ts))
3541
3466
  - `@deepseek-ai/dsh-session-title-llm`([`packages/session/session-title-llm/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts))
@@ -3545,5 +3470,7 @@ export interface Config {
3545
3470
  - `@deepseek-ai/dsh-typert-protocol`([`packages/typert/protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/protocol/src/index.ts))
3546
3471
  - `@deepseek-ai/dsh-typert-registry`([`packages/typert/registry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/registry/src/index.ts))
3547
3472
  - `@deepseek-ai/dsh-util-crypto`([`packages/util/crypto/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/crypto/src/index.ts))
3473
+ - `@deepseek-ai/dsh-util-time`([`packages/util/time/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/time/src/index.ts))
3474
+ - `@deepseek-ai/dsh-util-values`([`packages/util/values/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/values/src/index.ts))
3548
3475
  - `@deepseek-ai/dsh-util-workspace-path`([`packages/util/workspace-path/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/workspace-path/src/index.ts))
3549
3476
  - `@deepseek-ai/dsh-win32-process`([`packages/subprocess/win32-process/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/win32-process/src/index.ts))