dsh-plugin-dev-kb 1.0.8 → 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.
- package/CHANGELOG.md +21 -0
- package/README.en.md +6 -6
- package/README.md +6 -6
- package/kb/INDEX.md +21 -5
- package/kb/README.md +11 -10
- package/kb/extra/AGENTS.md +4 -4
- package/kb/extra/cookbook/adding-a-remote-api.md +197 -0
- package/kb/extra/cookbook/adding-a-remote-api.zh.md +197 -0
- package/kb/extra/cookbook/adding-a-vendored-package.md +2 -2
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +2 -2
- package/kb/extra/deepseek-llm-api-wire-extensions.md +163 -0
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +163 -0
- package/kb/extra/development.md +8 -14
- package/kb/extra/development.zh.md +8 -14
- package/kb/extra/event-producer-consumer.md +55 -48
- package/kb/extra/event-producer-consumer.zh.md +58 -51
- package/kb/extra/glossary.md +1 -1
- package/kb/extra/glossary.zh.md +1 -1
- package/kb/extra/graph-atlas.md +0 -2
- package/kb/extra/graph-atlas.zh.md +0 -2
- package/kb/extra/i18n/README.md +4 -4
- package/kb/extra/i18n/README.zh.md +4 -4
- package/kb/extra/i18n/style-samples.md +2 -2
- package/kb/extra/module-graph.md +646 -926
- package/kb/extra/module-graph.zh.md +648 -928
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.md +2 -2
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.zh.md +2 -2
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.md +2 -2
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +2 -2
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.md +2 -2
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.zh.md +2 -2
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +1 -1
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +1 -1
- package/kb/extra/rescope.md +2 -2
- package/kb/extra/rescope.zh.md +2 -2
- package/kb/extra/subsystems/agent-team.md +28 -4
- package/kb/extra/subsystems/agent-team.zh.md +28 -4
- package/kb/extra/subsystems/attachment.md +168 -7
- package/kb/extra/subsystems/attachment.zh.md +168 -7
- package/kb/extra/subsystems/extensions.md +18 -0
- package/kb/extra/subsystems/extensions.zh.md +18 -0
- package/kb/extra/subsystems/feedback.md +4 -4
- package/kb/extra/subsystems/feedback.zh.md +4 -4
- package/kb/extra/subsystems/todo.md +32 -0
- package/kb/extra/subsystems/todo.zh.md +32 -0
- package/kb/extra/subsystems/webhook.md +70 -0
- package/kb/extra/subsystems/webhook.zh.md +70 -0
- package/kb/extra/testing.md +15 -10
- package/kb/extra/testing.zh.md +13 -8
- package/kb/extra/web-styling.md +4 -0
- package/kb/extra/web-styling.zh.md +4 -0
- package/kb/meta/search-index.json +309 -177
- package/kb/meta/site-pages.txt +183 -167
- package/kb/meta/source.json +5 -5
- package/kb/meta/topics.md +14 -6
- package/kb/site/develop/basic/publish.md +2 -2
- package/kb/site/develop/basic/tool.md +1 -1
- package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +5 -4
- package/kb/site/develop/framework/events.md +1 -1
- package/kb/site/develop/practice/dynamic-cordis.md +17 -0
- package/kb/site/develop/practice/llm-adapter.md +4 -3
- package/kb/site/en/develop/basic/publish.md +2 -2
- package/kb/site/en/develop/basic/tool.md +1 -1
- package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +5 -4
- package/kb/site/en/develop/framework/events.md +1 -1
- package/kb/site/en/develop/practice/dynamic-cordis.md +17 -0
- package/kb/site/en/develop/practice/llm-adapter.md +4 -3
- package/kb/site/en/guide/github-review.md +104 -0
- package/kb/site/en/guide/mcp-memory.md +103 -0
- package/kb/site/en/guide/network-proxy.md +87 -0
- package/kb/site/en/guide/providers.md +70 -17
- package/kb/site/en/guide/python-sdk.md +80 -34
- package/kb/site/en/guide/schedule.md +23 -0
- package/kb/site/en/reference/agent-lifecycle.md +6 -4
- package/kb/{extra → site/en/reference}/api-gateway.md +12 -10
- package/kb/site/en/reference/capability-seams.md +128 -73
- package/kb/site/en/reference/config-catalog.md +481 -360
- package/kb/site/en/reference/cookbook/adding-a-package.md +3 -4
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +12 -10
- package/kb/site/en/reference/cookbook/adding-a-tool.md +11 -4
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -1
- package/kb/site/en/reference/cookbook/extension-cookbook.md +20 -17
- package/kb/site/en/reference/cordis-api/inherited.md +1 -1
- package/kb/site/en/reference/cordis-primer.md +2 -1
- package/kb/site/en/reference/index.md +30 -11
- package/kb/site/en/reference/persistence-catalog.md +148 -80
- package/kb/site/en/reference/subsystems/approval.md +10 -10
- package/kb/site/en/reference/subsystems/client-modules.md +58 -16
- package/kb/site/en/reference/subsystems/code-runtime.md +10 -6
- package/kb/site/en/reference/subsystems/commands.md +25 -16
- package/kb/site/en/reference/subsystems/compaction.md +11 -11
- package/kb/site/en/reference/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +50 -24
- package/kb/site/en/reference/subsystems/core.md +156 -17
- package/kb/site/en/reference/subsystems/credentials.md +44 -3
- package/kb/site/en/reference/subsystems/filesystem.md +12 -2
- package/kb/site/en/reference/subsystems/goal.md +1 -1
- package/kb/site/en/reference/subsystems/index.md +7 -2
- package/kb/site/en/reference/subsystems/jobs.md +1 -1
- package/kb/site/en/reference/subsystems/llm-streaming.md +154 -12
- package/kb/site/en/reference/subsystems/permission-presets.md +6 -6
- package/kb/site/en/reference/subsystems/persistence.md +185 -175
- package/kb/site/en/reference/subsystems/plan.md +2 -2
- package/kb/site/en/reference/subsystems/sandbox.md +2 -0
- package/kb/site/en/reference/subsystems/schedule.md +9 -3
- package/kb/site/en/reference/subsystems/session-projection.md +115 -48
- package/kb/site/en/reference/subsystems/session-query.md +28 -14
- package/kb/site/en/reference/subsystems/session-reference.md +53 -8
- package/kb/site/en/reference/subsystems/session-telemetry.md +8 -8
- package/kb/site/en/reference/subsystems/session-title.md +6 -6
- package/kb/site/en/reference/subsystems/session.md +401 -99
- package/kb/site/en/reference/subsystems/settings.md +101 -6
- package/kb/site/en/reference/subsystems/skills.md +23 -0
- package/kb/site/en/reference/subsystems/slots.md +178 -0
- package/kb/site/en/reference/subsystems/spill.md +2 -2
- package/kb/site/en/reference/subsystems/storage.md +34 -3
- package/kb/site/en/reference/subsystems/subagent.md +122 -109
- package/kb/site/en/reference/subsystems/system-prompt.md +17 -4
- package/kb/site/en/reference/subsystems/token-meter.md +27 -12
- package/kb/site/en/reference/subsystems/tools.md +39 -39
- package/kb/site/en/reference/subsystems/typert.md +62 -55
- package/kb/site/en/reference/subsystems/user-questions.md +33 -33
- package/kb/site/en/reference/subsystems/web-client.md +98 -0
- package/kb/site/en/reference/subsystems/web-server.md +11 -5
- package/kb/site/en/reference/subsystems/web.md +7 -1
- package/kb/site/en/reference/subsystems/workspace.md +102 -9
- package/kb/site/en/reference/tool-catalog.md +86 -82
- package/kb/site/en/reference/tool-execution-pipeline.md +1 -1
- package/kb/site/guide/github-review.md +104 -0
- package/kb/site/guide/mcp-memory.md +103 -0
- package/kb/site/guide/network-proxy.md +87 -0
- package/kb/site/guide/providers.md +70 -17
- package/kb/site/guide/python-sdk.md +87 -41
- package/kb/site/guide/schedule.md +23 -0
- package/kb/site/reference/agent-lifecycle.md +6 -4
- package/kb/{extra/api-gateway.zh.md → site/reference/api-gateway.md} +12 -10
- package/kb/site/reference/capability-seams.md +128 -73
- package/kb/site/reference/config-catalog.md +481 -360
- package/kb/site/reference/cookbook/adding-a-package.md +3 -4
- package/kb/site/reference/cookbook/adding-a-settings-card.md +12 -10
- package/kb/site/reference/cookbook/adding-a-tool.md +11 -4
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -1
- package/kb/site/reference/cookbook/extension-cookbook.md +20 -17
- package/kb/site/reference/cordis-api/inherited.md +1 -1
- package/kb/site/reference/cordis-primer.md +2 -1
- package/kb/site/reference/index.md +30 -11
- package/kb/site/reference/persistence-catalog.md +148 -80
- package/kb/site/reference/subsystems/approval.md +10 -10
- package/kb/site/reference/subsystems/client-modules.md +58 -16
- package/kb/site/reference/subsystems/code-runtime.md +10 -6
- package/kb/site/reference/subsystems/commands.md +25 -16
- package/kb/site/reference/subsystems/compaction.md +11 -11
- package/kb/site/reference/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +50 -24
- package/kb/site/reference/subsystems/core.md +156 -17
- package/kb/site/reference/subsystems/credentials.md +44 -3
- package/kb/site/reference/subsystems/filesystem.md +12 -2
- package/kb/site/reference/subsystems/goal.md +1 -1
- package/kb/site/reference/subsystems/index.md +7 -2
- package/kb/site/reference/subsystems/jobs.md +1 -1
- package/kb/site/reference/subsystems/llm-streaming.md +154 -12
- package/kb/site/reference/subsystems/permission-presets.md +5 -5
- package/kb/site/reference/subsystems/persistence.md +184 -174
- package/kb/site/reference/subsystems/plan.md +2 -2
- package/kb/site/reference/subsystems/schedule.md +9 -3
- package/kb/site/reference/subsystems/session-projection.md +115 -48
- package/kb/site/reference/subsystems/session-query.md +28 -14
- package/kb/site/reference/subsystems/session-reference.md +53 -8
- package/kb/site/reference/subsystems/session-telemetry.md +8 -8
- package/kb/site/reference/subsystems/session-title.md +6 -6
- package/kb/site/reference/subsystems/session.md +401 -99
- package/kb/site/reference/subsystems/settings.md +101 -6
- package/kb/site/reference/subsystems/skills.md +23 -0
- package/kb/site/reference/subsystems/slots.md +178 -0
- package/kb/site/reference/subsystems/spill.md +2 -2
- package/kb/site/reference/subsystems/storage.md +34 -3
- package/kb/site/reference/subsystems/subagent.md +122 -109
- package/kb/site/reference/subsystems/system-prompt.md +17 -4
- package/kb/site/reference/subsystems/token-meter.md +27 -12
- package/kb/site/reference/subsystems/tools.md +39 -39
- package/kb/site/reference/subsystems/typert.md +62 -55
- package/kb/site/reference/subsystems/user-questions.md +33 -33
- package/kb/site/reference/subsystems/web-client.md +98 -0
- package/kb/site/reference/subsystems/web-server.md +11 -5
- package/kb/site/reference/subsystems/web.md +7 -1
- package/kb/site/reference/subsystems/workspace.md +102 -9
- package/kb/site/reference/tool-catalog.md +85 -81
- package/kb/site/reference/tool-execution-pipeline.md +1 -1
- package/package.json +2 -2
- package/skills/dsh-plugin-dev-kb.md +8 -6
|
@@ -14,14 +14,21 @@ flowchart LR
|
|
|
14
14
|
pkg_attachment["attachment"]
|
|
15
15
|
svc_attachments["ctx.attachments<br/>Durable binary attachment storage"]
|
|
16
16
|
pkg_attachment_local["attachment-local"]
|
|
17
|
-
|
|
17
|
+
pkg_api_session_controller["api-session-controller"]
|
|
18
|
+
pkg_tool_fs["tool-fs"]
|
|
18
19
|
pkg_llm_pi_ai["llm-pi-ai"]
|
|
20
|
+
pkg_llm_deepseek["llm-deepseek"]
|
|
21
|
+
pkg_client_file_upload["client-file-upload"]
|
|
22
|
+
svc_fileUploads["ctx.fileUploads<br/>Agent-scoped staged file uploads"]
|
|
19
23
|
pkg_llm["llm"]
|
|
20
24
|
svc_llm["ctx.llm<br/>LLM adapter registry"]
|
|
21
|
-
pkg_llm_deepseek["llm-deepseek"]
|
|
22
25
|
pkg_llm_replay["llm-replay"]
|
|
23
26
|
pkg_agent_loop["agent-loop"]
|
|
24
27
|
pkg_compaction_basic["compaction-basic"]
|
|
28
|
+
pkg_deepseek_llm_api_extensions["deepseek-llm-api-extensions"]
|
|
29
|
+
svc_deepseekLlmApiExtensions["ctx.deepseekLlmApiExtensions<br/>Official DeepSeek request extensions"]
|
|
30
|
+
pkg_session_log_deepseek["session-log-deepseek"]
|
|
31
|
+
pkg_plugin_package_inventory_deepseek["plugin-package-inventory-deepseek"]
|
|
25
32
|
pkg_token_meter["token-meter"]
|
|
26
33
|
svc_tokenMeter["ctx.tokenMeter<br/>Replay token measurement"]
|
|
27
34
|
pkg_compaction_tool_result_pruner["compaction-tool-result-pruner"]
|
|
@@ -32,9 +39,18 @@ flowchart LR
|
|
|
32
39
|
pkg_session_persistence["session-persistence"]
|
|
33
40
|
pkg_session_query["session-query"]
|
|
34
41
|
pkg_session_query_sqlite["session-query-sqlite"]
|
|
35
|
-
|
|
42
|
+
pkg_subagent_in_process_driver["subagent-in-process-driver"]
|
|
36
43
|
pkg_invariants["invariants"]
|
|
37
44
|
pkg_message_feedback["message-feedback"]
|
|
45
|
+
svc_sessionController["ctx.sessionController<br/>Host Session Remote controller"]
|
|
46
|
+
svc_sessionFileReferences["ctx.sessionFileReferences<br/>Session-addressed file-reference Remote adapter"]
|
|
47
|
+
svc_sessionSkillCatalog["ctx.sessionSkillCatalog<br/>Session-addressed skill Remote adapter"]
|
|
48
|
+
pkg_api_settings_controller["api-settings-controller"]
|
|
49
|
+
svc_credentialsController["ctx.credentialsController<br/>Host credential-surface Remote controller"]
|
|
50
|
+
svc_settingsController["ctx.settingsController<br/>Host settings-surface Remote controller"]
|
|
51
|
+
pkg_api_workspace_controller["api-workspace-controller"]
|
|
52
|
+
svc_workspaceController["ctx.workspaceController<br/>Host Workspace Remote controller"]
|
|
53
|
+
svc_directoryPickerController["ctx.directoryPickerController<br/>Host directory-picking Remote controller"]
|
|
38
54
|
svc_invariants["ctx.invariants<br/>Package-owned invariant registry"]
|
|
39
55
|
pkg_scope["scope"]
|
|
40
56
|
pkg_typert_registry["typert-registry"]
|
|
@@ -44,14 +60,14 @@ flowchart LR
|
|
|
44
60
|
svc_typertGateway["ctx.typertGateway<br/>Typert Host invocation gateway"]
|
|
45
61
|
svc_sessionPersistence["ctx.sessionPersistence<br/>Durable session persistence seam"]
|
|
46
62
|
pkg_session_persistence_jsonl["session-persistence-jsonl"]
|
|
47
|
-
pkg_session_persistence_sqlite["session-persistence-sqlite"]
|
|
48
63
|
pkg_tool_bash["tool-bash"]
|
|
49
64
|
pkg_hooks_claude_code["hooks-claude-code"]
|
|
50
65
|
pkg_hooks_codex["hooks-codex"]
|
|
51
66
|
pkg_settings["settings"]
|
|
52
67
|
svc_settings["ctx.settings<br/>User-settings seam"]
|
|
53
68
|
pkg_settings_file["settings-file"]
|
|
54
|
-
|
|
69
|
+
pkg_tool_subagent["tool-subagent"]
|
|
70
|
+
svc_subagentModelSelection["ctx.subagentModelSelection<br/>Subagent model-selection preference"]
|
|
55
71
|
pkg_credentials["credentials"]
|
|
56
72
|
svc_credentials["ctx.credentials<br/>Credential seam"]
|
|
57
73
|
pkg_credentials_local["credentials-local"]
|
|
@@ -83,14 +99,12 @@ flowchart LR
|
|
|
83
99
|
pkg_system_prompt["system-prompt"]
|
|
84
100
|
svc_systemPrompt["ctx.systemPrompt<br/>System prompt assembly registry"]
|
|
85
101
|
pkg_tools["tools"]
|
|
86
|
-
pkg_tool_fs["tool-fs"]
|
|
87
102
|
pkg_tool_terminal["tool-terminal"]
|
|
88
103
|
pkg_tool_web["tool-web"]
|
|
89
104
|
svc_tools["ctx.tools<br/>Tool registry and guarded execution pipeline"]
|
|
90
105
|
pkg_tool_ask_user["tool-ask-user"]
|
|
91
106
|
pkg_tool_cordis["tool-cordis"]
|
|
92
107
|
pkg_tool_skill["tool-skill"]
|
|
93
|
-
pkg_tool_subagent["tool-subagent"]
|
|
94
108
|
pkg_tool_todo["tool-todo"]
|
|
95
109
|
pkg_user_questions["user-questions"]
|
|
96
110
|
svc_userQuestions["ctx.userQuestions<br/>Human question/answer seam"]
|
|
@@ -102,9 +116,9 @@ flowchart LR
|
|
|
102
116
|
svc_commands["ctx.commands<br/>Human command registry"]
|
|
103
117
|
pkg_session_projection["session-projection"]
|
|
104
118
|
svc_sessionProjections["ctx.sessionProjections<br/>Session projection units"]
|
|
105
|
-
pkg_host_apiproxy["host-apiproxy"]
|
|
106
119
|
pkg_session_projection_cache["session-projection-cache"]
|
|
107
120
|
svc_sessionProjectionCache["ctx.sessionProjectionCache<br/>Persisted projection cache"]
|
|
121
|
+
pkg_subagent["subagent"]
|
|
108
122
|
pkg_skill["skill"]
|
|
109
123
|
svc_skills["ctx.skills<br/>Skill provider registry"]
|
|
110
124
|
pkg_skill_badge["skill-badge"]
|
|
@@ -115,7 +129,8 @@ flowchart LR
|
|
|
115
129
|
svc_agentDefaultModel["ctx.agentDefaultModel<br/>Default Agent model selection"]
|
|
116
130
|
pkg_headless["headless"]
|
|
117
131
|
svc_agentLoop["ctx.agentLoop<br/>Concrete loop driver"]
|
|
118
|
-
|
|
132
|
+
pkg_base["base"]
|
|
133
|
+
pkg_sdk_minimal["sdk-minimal"]
|
|
119
134
|
pkg_goal["goal"]
|
|
120
135
|
svc_goals["ctx.goals<br/>Same-session goal domain"]
|
|
121
136
|
pkg_e2b["e2b"]
|
|
@@ -146,29 +161,32 @@ flowchart LR
|
|
|
146
161
|
pkg_sandbox_policy["sandbox-policy"]
|
|
147
162
|
svc_sandboxPolicy["ctx.sandboxPolicy<br/>Sandbox policy home"]
|
|
148
163
|
pkg_fs_sandbox["fs-sandbox"]
|
|
149
|
-
|
|
164
|
+
pkg_user_approval["user-approval"]
|
|
150
165
|
svc_approval["ctx.approval<br/>Approval seam"]
|
|
151
166
|
pkg_permission_presets["permission-presets"]
|
|
152
167
|
svc_permissionPresets["ctx.permissionPresets<br/>Permission presets"]
|
|
153
168
|
pkg_code_runtime["code-runtime"]
|
|
154
169
|
svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
|
|
155
|
-
|
|
170
|
+
pkg_code_runtime_worker_thread["code-runtime-worker-thread"]
|
|
171
|
+
pkg_experimental_code_runtime_python["experimental-code-runtime-python"]
|
|
156
172
|
pkg_fs["fs"]
|
|
157
173
|
svc_fs["ctx.fs<br/>Filesystem provider seam"]
|
|
158
174
|
pkg_fs_local["fs-local"]
|
|
159
175
|
pkg_fs_observation_policy["fs-observation-policy"]
|
|
160
176
|
pkg_compaction["compaction"]
|
|
161
177
|
svc_compaction["ctx.compaction<br/>Compaction seam"]
|
|
162
|
-
pkg_subagent["subagent"]
|
|
163
178
|
svc_subagents["ctx.subagents<br/>Subagent provider and continuation service"]
|
|
164
179
|
pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
|
|
165
180
|
pkg_subagent_fork_in_process["subagent-fork-in-process"]
|
|
166
181
|
pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
|
|
167
182
|
pkg_tool_subagent_control["tool-subagent-control"]
|
|
168
183
|
pkg_tool_ralph["tool-ralph"]
|
|
169
|
-
|
|
184
|
+
pkg_experimental_agent_team["experimental-agent-team"]
|
|
170
185
|
svc_agentTeams["ctx.agentTeams<br/>Agent Teams coordination domain"]
|
|
171
|
-
|
|
186
|
+
pkg_experimental_tool_agent_team["experimental-tool-agent-team"]
|
|
187
|
+
pkg_experimental_client_ui_agent_team["experimental-client-ui-agent-team"]
|
|
188
|
+
pkg_inspector["inspector"]
|
|
189
|
+
svc_inspector["ctx.inspector<br/>Cross-realm runtime inspection"]
|
|
172
190
|
pkg_jobs["jobs"]
|
|
173
191
|
svc_jobs["ctx.jobs<br/>Background job registry"]
|
|
174
192
|
pkg_jobs_local["jobs-local"]
|
|
@@ -183,44 +201,50 @@ flowchart LR
|
|
|
183
201
|
svc_spillStore["ctx.spillStore<br/>Spill storage seam"]
|
|
184
202
|
pkg_spill_local["spill-local"]
|
|
185
203
|
pkg_spill_policy["spill-policy"]
|
|
186
|
-
|
|
204
|
+
pkg_host_directory_picker["host-directory-picker"]
|
|
187
205
|
svc_directoryPicker["ctx.directoryPicker<br/>Workspace-directory picking seam"]
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
206
|
+
pkg_host_directory_picker_native["host-directory-picker-native"]
|
|
207
|
+
pkg_host_directory_picker_browse["host-directory-picker-browse"]
|
|
208
|
+
pkg_host_webserver["host-webserver"]
|
|
191
209
|
svc_webServer["ctx.webServer<br/>HTTP route registration"]
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
210
|
+
pkg_client_connection["client-connection"]
|
|
211
|
+
pkg_client_modules["client-modules"]
|
|
212
|
+
pkg_client_hmr["client-hmr"]
|
|
195
213
|
svc_clientModules["ctx.clientModules<br/>Client plugin graph host"]
|
|
196
214
|
pkg_workflow["workflow"]
|
|
197
215
|
svc_workflowEngine["ctx.workflowEngine<br/>Workflow script engine"]
|
|
198
216
|
pkg_workflow_worker_thread["workflow-worker-thread"]
|
|
199
217
|
pkg_tool_workflow["tool-workflow"]
|
|
218
|
+
pkg_webhook["webhook"]
|
|
219
|
+
svc_webhookRuntime["ctx.webhookRuntime<br/>Webhook rule runtime"]
|
|
220
|
+
pkg_webhook_github["webhook-github"]
|
|
200
221
|
pkg_lsp["lsp"]
|
|
201
222
|
svc_lsp["ctx.lsp<br/>Language-server navigation seam"]
|
|
202
|
-
pkg_lsp_local["lsp-local"]
|
|
203
223
|
pkg_tool_lsp["tool-lsp"]
|
|
204
|
-
svc_apiProxy["ctx.apiProxy<br/>Host API dispatch"]
|
|
205
224
|
pkg_cordis_host_runner["cordis-host-runner"]
|
|
206
225
|
svc_dynamicCordisRunner["ctx.dynamicCordisRunner<br/>Dynamic Cordis package host runner"]
|
|
207
226
|
svc_cordisInspect["ctx.cordisInspect<br/>Dynamic Cordis inspect registry"]
|
|
208
|
-
pkg_acp --> svc_approval
|
|
209
227
|
pkg_agent --> svc_agents
|
|
210
228
|
pkg_agent_default_model --> svc_agentDefaultModel
|
|
211
229
|
pkg_agent_loop --> svc_agentLoop
|
|
212
230
|
pkg_agent_presets --> svc_agentPresets
|
|
213
|
-
pkg_agent_team --> svc_agentTeams
|
|
214
231
|
pkg_api_gateway --> svc_typertGateway
|
|
215
|
-
|
|
216
|
-
|
|
232
|
+
pkg_api_session_controller --> svc_sessionController
|
|
233
|
+
pkg_api_session_controller --> svc_sessionFileReferences
|
|
234
|
+
pkg_api_session_controller --> svc_sessionSkillCatalog
|
|
235
|
+
pkg_api_settings_controller --> svc_credentialsController
|
|
236
|
+
pkg_api_settings_controller --> svc_settingsController
|
|
237
|
+
pkg_api_workspace_controller --> svc_directoryPickerController
|
|
238
|
+
pkg_api_workspace_controller --> svc_workspaceController
|
|
217
239
|
pkg_attachment --> svc_attachments
|
|
218
240
|
pkg_attachment_local --> svc_attachments
|
|
219
241
|
pkg_authorization --> svc_authorization
|
|
220
242
|
pkg_bash_local --> svc_shell
|
|
221
243
|
pkg_bash_sandbox --> svc_shell
|
|
244
|
+
pkg_client_file_upload --> svc_fileUploads
|
|
245
|
+
pkg_client_modules --> svc_clientModules
|
|
222
246
|
pkg_code_runtime --> svc_codeRuntime
|
|
223
|
-
|
|
247
|
+
pkg_code_runtime_worker_thread --> svc_codeRuntime
|
|
224
248
|
pkg_commands --> svc_commands
|
|
225
249
|
pkg_compaction --> svc_compaction
|
|
226
250
|
pkg_compaction_basic --> svc_compaction
|
|
@@ -229,10 +253,10 @@ flowchart LR
|
|
|
229
253
|
pkg_cordis_host_runner --> svc_dynamicCordisRunner
|
|
230
254
|
pkg_credentials --> svc_credentials
|
|
231
255
|
pkg_credentials_local --> svc_credentials
|
|
232
|
-
|
|
233
|
-
pkg_directory_picker_browse --> svc_directoryPicker
|
|
234
|
-
pkg_directory_picker_native --> svc_directoryPicker
|
|
256
|
+
pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
|
|
235
257
|
pkg_e2b --> svc_e2b
|
|
258
|
+
pkg_experimental_agent_team --> svc_agentTeams
|
|
259
|
+
pkg_experimental_code_runtime_python --> svc_codeRuntime
|
|
236
260
|
pkg_file_reference --> svc_fileReferences
|
|
237
261
|
pkg_file_reference_local --> svc_fileReferences
|
|
238
262
|
pkg_fs --> svc_fs
|
|
@@ -240,6 +264,11 @@ flowchart LR
|
|
|
240
264
|
pkg_fs_local --> svc_fs
|
|
241
265
|
pkg_fs_sandbox --> svc_fs
|
|
242
266
|
pkg_goal --> svc_goals
|
|
267
|
+
pkg_host_directory_picker --> svc_directoryPicker
|
|
268
|
+
pkg_host_directory_picker_browse --> svc_directoryPicker
|
|
269
|
+
pkg_host_directory_picker_native --> svc_directoryPicker
|
|
270
|
+
pkg_host_webserver --> svc_webServer
|
|
271
|
+
pkg_inspector --> svc_inspector
|
|
243
272
|
pkg_invariants --> svc_invariants
|
|
244
273
|
pkg_jobs --> svc_jobs
|
|
245
274
|
pkg_jobs_local --> svc_jobs
|
|
@@ -248,19 +277,19 @@ flowchart LR
|
|
|
248
277
|
pkg_llm_pi_ai --> svc_llm
|
|
249
278
|
pkg_llm_replay --> svc_llm
|
|
250
279
|
pkg_lsp --> svc_lsp
|
|
251
|
-
|
|
280
|
+
pkg_lsp_stdio --> svc_lsp
|
|
252
281
|
pkg_message_feedback --> svc_messageFeedback
|
|
253
|
-
pkg_modules --> svc_clientModules
|
|
254
282
|
pkg_permission_presets --> svc_permissionPresets
|
|
255
283
|
pkg_plan_mode --> svc_planMode
|
|
284
|
+
pkg_plugin_package_inventory_deepseek --> svc_deepseekLlmApiExtensions
|
|
256
285
|
pkg_pwsh_local --> svc_shell
|
|
257
286
|
pkg_sandbox --> svc_sandbox
|
|
258
287
|
pkg_sandbox_local --> svc_sandbox
|
|
259
288
|
pkg_sandbox_policy --> svc_sandboxPolicy
|
|
260
289
|
pkg_session --> svc_sessions
|
|
290
|
+
pkg_session_log_deepseek --> svc_deepseekLlmApiExtensions
|
|
261
291
|
pkg_session_persistence --> svc_sessionPersistence
|
|
262
292
|
pkg_session_persistence_jsonl --> svc_sessionPersistence
|
|
263
|
-
pkg_session_persistence_sqlite --> svc_sessionPersistence
|
|
264
293
|
pkg_session_projection --> svc_sessionProjections
|
|
265
294
|
pkg_session_projection_cache --> svc_sessionProjectionCache
|
|
266
295
|
pkg_session_query --> svc_sessionQuery
|
|
@@ -298,42 +327,51 @@ flowchart LR
|
|
|
298
327
|
pkg_terminal --> svc_terminals
|
|
299
328
|
pkg_terminal_bash --> svc_terminals
|
|
300
329
|
pkg_token_meter --> svc_tokenMeter
|
|
330
|
+
pkg_tool_subagent --> svc_subagentModelSelection
|
|
301
331
|
pkg_tools --> svc_tools
|
|
302
332
|
pkg_typert_registry --> svc_typert
|
|
333
|
+
pkg_user_approval --> svc_approval
|
|
303
334
|
pkg_user_questions --> svc_userQuestions
|
|
304
335
|
pkg_web --> svc_web
|
|
305
336
|
pkg_web_fetch_http --> svc_web
|
|
306
337
|
pkg_web_search_deepseek --> svc_web
|
|
307
338
|
pkg_web_search_exa --> svc_web
|
|
308
339
|
pkg_web_search_perplexity --> svc_web
|
|
309
|
-
|
|
340
|
+
pkg_webhook --> svc_webhookRuntime
|
|
310
341
|
pkg_workflow --> svc_workflowEngine
|
|
311
342
|
pkg_workflow_worker_thread --> svc_workflowEngine
|
|
312
343
|
pkg_workspace --> svc_workspaceRegistry
|
|
344
|
+
svc_agentDefaultModel --> pkg_api_session_controller
|
|
313
345
|
svc_agentDefaultModel --> pkg_headless
|
|
314
|
-
|
|
315
|
-
svc_agentLoop -->
|
|
316
|
-
svc_agentTeams -->
|
|
346
|
+
svc_agentLoop --> pkg_base
|
|
347
|
+
svc_agentLoop --> pkg_sdk_minimal
|
|
348
|
+
svc_agentTeams --> pkg_experimental_client_ui_agent_team
|
|
349
|
+
svc_agentTeams --> pkg_experimental_tool_agent_team
|
|
317
350
|
svc_agents --> pkg_acp
|
|
318
351
|
svc_agents --> pkg_agent_loop
|
|
319
|
-
svc_agents -->
|
|
320
|
-
|
|
352
|
+
svc_agents --> pkg_subagent_in_process_driver
|
|
353
|
+
svc_approval --> pkg_acp
|
|
321
354
|
svc_approval --> pkg_tool_bash
|
|
322
355
|
svc_approval --> pkg_tools
|
|
323
|
-
svc_attachments -->
|
|
356
|
+
svc_attachments --> pkg_api_session_controller
|
|
357
|
+
svc_attachments --> pkg_llm_deepseek
|
|
324
358
|
svc_attachments --> pkg_llm_pi_ai
|
|
359
|
+
svc_attachments --> pkg_tool_fs
|
|
325
360
|
svc_authorization --> pkg_llm_pi_ai
|
|
326
|
-
svc_clientModules -->
|
|
361
|
+
svc_clientModules --> pkg_client_hmr
|
|
327
362
|
svc_codeRuntime --> pkg_tools
|
|
328
363
|
svc_compaction --> pkg_compaction_basic
|
|
329
364
|
svc_cordisInspect --> pkg_tool_cordis
|
|
330
|
-
svc_credentials -->
|
|
365
|
+
svc_credentials --> pkg_api_settings_controller
|
|
331
366
|
svc_credentials --> pkg_llm_deepseek
|
|
332
367
|
svc_credentials --> pkg_llm_pi_ai
|
|
333
|
-
|
|
368
|
+
svc_deepseekLlmApiExtensions --> pkg_llm_deepseek
|
|
369
|
+
svc_directoryPicker --> pkg_api_workspace_controller
|
|
334
370
|
svc_dynamicCordisRunner --> pkg_tool_cordis
|
|
335
371
|
svc_e2b --> pkg_fs_e2b
|
|
336
372
|
svc_e2b --> pkg_subprocess_e2b
|
|
373
|
+
svc_fileReferences --> pkg_api_session_controller
|
|
374
|
+
svc_fileUploads --> pkg_api_session_controller
|
|
337
375
|
svc_fs --> pkg_tool_fs
|
|
338
376
|
svc_invariants --> pkg_agent
|
|
339
377
|
svc_invariants --> pkg_agent_loop
|
|
@@ -358,8 +396,11 @@ flowchart LR
|
|
|
358
396
|
svc_sessionPersistence --> pkg_session_query
|
|
359
397
|
svc_sessionPersistence --> pkg_session_query_sqlite
|
|
360
398
|
svc_sessionPersistence --> pkg_tool_bash
|
|
361
|
-
svc_sessionProjectionCache -->
|
|
362
|
-
|
|
399
|
+
svc_sessionProjectionCache --> pkg_api_session_controller
|
|
400
|
+
svc_sessionProjectionCache --> pkg_session_query
|
|
401
|
+
svc_sessionProjectionCache --> pkg_session_reference
|
|
402
|
+
svc_sessionProjectionCache --> pkg_subagent
|
|
403
|
+
svc_sessionProjections --> pkg_api_session_controller
|
|
363
404
|
svc_sessionProjections --> pkg_session_title
|
|
364
405
|
svc_sessionProjections --> pkg_tool_todo
|
|
365
406
|
svc_sessionQuery --> pkg_session_reference
|
|
@@ -371,8 +412,8 @@ flowchart LR
|
|
|
371
412
|
svc_sessions --> pkg_session_persistence
|
|
372
413
|
svc_sessions --> pkg_session_query
|
|
373
414
|
svc_sessions --> pkg_session_query_sqlite
|
|
374
|
-
svc_sessions -->
|
|
375
|
-
svc_settings -->
|
|
415
|
+
svc_sessions --> pkg_subagent_in_process_driver
|
|
416
|
+
svc_settings --> pkg_api_settings_controller
|
|
376
417
|
svc_settings --> pkg_llm_deepseek
|
|
377
418
|
svc_settings --> pkg_llm_pi_ai
|
|
378
419
|
svc_shell --> pkg_hooks_claude_code
|
|
@@ -386,6 +427,7 @@ flowchart LR
|
|
|
386
427
|
svc_storage --> pkg_storage_domain
|
|
387
428
|
svc_storageDomain --> pkg_message_feedback
|
|
388
429
|
svc_storageDomain --> pkg_workspace
|
|
430
|
+
svc_subagentModelSelection --> pkg_tool_subagent
|
|
389
431
|
svc_subagents --> pkg_tool_ralph
|
|
390
432
|
svc_subagents --> pkg_tool_subagent
|
|
391
433
|
svc_subagents --> pkg_tool_subagent_control
|
|
@@ -418,50 +460,62 @@ flowchart LR
|
|
|
418
460
|
svc_typert --> pkg_typert_loader
|
|
419
461
|
svc_userQuestions --> pkg_tool_ask_user
|
|
420
462
|
svc_web --> pkg_tool_web
|
|
421
|
-
svc_webServer -->
|
|
422
|
-
svc_webServer -->
|
|
423
|
-
svc_webServer -->
|
|
463
|
+
svc_webServer --> pkg_client_connection
|
|
464
|
+
svc_webServer --> pkg_client_hmr
|
|
465
|
+
svc_webServer --> pkg_client_modules
|
|
466
|
+
svc_webhookRuntime --> pkg_webhook_github
|
|
424
467
|
svc_workflowEngine --> pkg_tool_ralph
|
|
425
468
|
svc_workflowEngine --> pkg_tool_workflow
|
|
426
|
-
svc_workspaceRegistry -->
|
|
469
|
+
svc_workspaceRegistry --> pkg_api_session_controller
|
|
470
|
+
svc_workspaceRegistry --> pkg_api_workspace_controller
|
|
427
471
|
svc_fs -. event gate .-> pkg_fs_observation_policy
|
|
428
472
|
```
|
|
429
473
|
|
|
430
474
|
| ctx key | Role | Owner | Implementations | Direct consumers | Companion plugins | Note |
|
|
431
475
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
432
|
-
| `ctx.attachments` | `seam` | [`attachment`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment) | [`attachment-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment-local) | `
|
|
476
|
+
| `ctx.attachments` | `seam` | [`attachment`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment) | [`attachment-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment-local) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | The host commits accepted images before session events; provider adapters resolve authorized durable references into provider-native content. |
|
|
477
|
+
| `ctx.fileUploads` | `core` | [`client-file-upload`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/file-upload) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | Owns streaming intake, durable storage, and staged receipt lifetime; the Session controller binds receipts to accepted submissions. |
|
|
433
478
|
| `ctx.llm` | `seam` | [`llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-replay`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/test-support/llm-replay) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | Adapters register provider implementations; the loop and compaction call the provider-neutral stream service. |
|
|
479
|
+
| `ctx.deepseekLlmApiExtensions` | `seam` | [`deepseek-llm-api-extensions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/deepseek-llm-api-extensions) | [`session-log-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-log-deepseek), [`plugin-package-inventory-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/plugin-package-inventory-deepseek) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | Plugins prepare independent top-level fields; the official adapter merges them and commits their delivery state after HTTP acceptance. |
|
|
434
480
|
| `ctx.tokenMeter` | `core` | [`token-meter`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/token-meter) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | Owns isolated per-session replay folds; pressure consumers share immutable revisioned measurements. |
|
|
435
481
|
| `ctx.toolResultPruner` | `core` | [`compaction-tool-result-pruner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-tool-result-pruner) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | Rewrites oversized current tool results through replayable single-node surface replacements before summary compaction. |
|
|
436
|
-
| `ctx.sessions` | `core` | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), `subagent-
|
|
482
|
+
| `ctx.sessions` | `core` | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver), [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Owns append-only Session instances and emits the durable session event feed. |
|
|
483
|
+
| `ctx.sessionController` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | Owns Session commands, cold reads, durable-event following, live control state, model catalogs, workspace opening, and Agent activation policy. |
|
|
484
|
+
| `ctx.sessionFileReferences` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | Delegates file-reference discovery through the Session Controller's established Agent lookup policy. |
|
|
485
|
+
| `ctx.sessionSkillCatalog` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | Lists the Session composition's user-invocable skills without activating a cold Agent. |
|
|
486
|
+
| `ctx.credentialsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | Projects the credential-reference seam onto the generated Remote namespace: batch fan-out, view projection, and refusal mapping live here, not on the seam Definition. |
|
|
487
|
+
| `ctx.settingsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | Projects the user-settings seam onto the generated Remote namespace: the read is always redacted and every refusal is classified here, not on the seam Definition. |
|
|
488
|
+
| `ctx.workspaceController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | Owns Workspace commands and reconnect-safe Workspace state delivery through the generated Remote namespace. |
|
|
489
|
+
| `ctx.directoryPickerController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | Carries the picking seam onto the wire: capability gating, cancellation, and the seam-coded failures a browser directory flow discriminates on. |
|
|
437
490
|
| `ctx.invariants` | `core` | [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants) | - | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`scope`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/scope), [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | Companion subpaths register owner-local checks; the service owns selection, uniqueness, child fibers, and package-attributed failures. |
|
|
438
491
|
| `ctx.typert` | `core` | [`typert-registry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/registry) | - | [`typert-loader`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/loader), [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | Plugins register live zod contributions directly or through dsh-typert-loader; the API gateway consumes invocation descriptors and providers, while other runtime consumers query schemas and reflection metadata at their own edges. |
|
|
439
492
|
| `ctx.typertGateway` | `core` | [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | - | - | Associates generated Remote descriptors with live Cordis services, resolves registered identities, and exposes unary calls through the shared Connection RPC carrier. |
|
|
440
|
-
| `ctx.sessionPersistence` | `seam` | [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence) | [`session-persistence-jsonl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-jsonl)
|
|
441
|
-
| `ctx.settings` | `seam` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | [`settings-file`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings-file) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai)
|
|
442
|
-
| `ctx.
|
|
493
|
+
| `ctx.sessionPersistence` | `seam` | [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence) | [`session-persistence-jsonl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-jsonl) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | The JSONL backend persists the SessionEvent vocabulary as one artifact per Session. |
|
|
494
|
+
| `ctx.settings` | `seam` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | [`settings-file`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings-file) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | Plugins register namespace schemas and resolve layered values; providers store the raw document. The LLM adapters register their entry config as the composition base under the user section; the settings controller serves redacted layered descriptors and writes the user layer. |
|
|
495
|
+
| `ctx.subagentModelSelection` | `core` | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | Owns the default-off settings namespace that Agent-scoped delegation tools sample when composing a new top-level Session. |
|
|
496
|
+
| `ctx.credentials` | `seam` | [`credentials`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials) | [`credentials-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials-local) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | Configuration carries references to secrets; providers own the values. Consumers resolve per operation, so a rotated credential reaches the very next request; the settings controller exposes value-free views and write-only storage. |
|
|
443
497
|
| `ctx.authorization` | `seam` | [`authorization`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/authorization) | - | [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | Flows are registered by the plugin that knows how to obtain one credential and keyed by the record they write; the seam owns the conversation and the one-attempt-per-key lifecycle, never the protocol. |
|
|
444
498
|
| `ctx.sessionTelemetry` | `seam` | [`session-telemetry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry) | [`session-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry-otel) | - | - | The seam captures, redacts, and hands session records to one backend; nothing else consumes the service — its output leaves the process. |
|
|
445
499
|
| `ctx.storage` | `seam` | [`storage`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage) | [`storage-json`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-json), [`storage-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-sqlite) | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | Backends register side by side under names; data forms (domain first) mount on the hub and translate typed operations into opaque KV-unit primitives. |
|
|
446
500
|
| `ctx.storageDomain` | `core` | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Waits for every configured backend, then publishes the domain form as one lifecycle-bound service for typed durable state. |
|
|
447
501
|
| `ctx.messageFeedback` | `core` | [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | - | - | Owns local per-assistant-message feedback, lifecycle and target validation, per-item compare-and-set, and the Host unary Remote contract without entering Session history or telemetry. |
|
|
448
|
-
| `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | `
|
|
502
|
+
| `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller), [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | Owns WorkspaceId-branded records over the domain facility; stable sessionIds accounts drive Host RPC and GUI projections. |
|
|
449
503
|
| `ctx.sessionQuery` | `seam` | [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query) | [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite) | [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`tool-session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/tool-session-query) | - | The interface supplies exact reads, filters, and traces; its concrete backend adds full-text reconciliation, ranking, snippets, and cursor generations, while the model consumer owns workspace authority and cursor-free rendering. |
|
|
450
|
-
| `ctx.fileReferences` | `seam` | [`file-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference) | [`file-reference-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference-local) | - | - | The interface returns path-only completion candidates within
|
|
504
|
+
| `ctx.fileReferences` | `seam` | [`file-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference) | [`file-reference-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference-local) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | The interface returns path-only completion candidates within an Agent cwd; providers own namespace access and ranking without reading file contents. |
|
|
451
505
|
| `ctx.sessionReferenceResolver` | `core` | [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference) | - | - | - | Projects bounded current-surface conversation snapshots into durable untrusted message context; host adapters own mention syntax. |
|
|
452
506
|
| `ctx.sessionTitle` | `seam` | [`session-title`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title) | [`session-title-first-prompt-llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title-first-prompt-llm), [`session-title-all-prompts-llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title-all-prompts-llm) | - | - | Owns the deterministic fallback, latest-title fold, and sole optional asynchronous provider registration. |
|
|
453
507
|
| `ctx.systemPrompt` | `core` | [`system-prompt`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/system-prompt) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | Collects prompt sections and model-facing tool schemas for each step. |
|
|
454
|
-
| `ctx.tools` | `core` | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | Registers capabilities, owns
|
|
508
|
+
| `ctx.tools` | `core` | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | Registers capabilities, owns PTC mode transport, and routes calls through pre-policy, monotonic guards, around dispatch, post-policy, and final-result observation. |
|
|
455
509
|
| `ctx.userQuestions` | `seam` | [`user-questions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-questions) | - | [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user) | - | UI front ends provide the active human-answer provider; tool-ask-user pauses a tool call on the provider-neutral ask() promise. |
|
|
456
510
|
| `ctx.planMode` | `core` | [`plan-mode`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/plan/plan-mode) | - | - | - | Folds logged plan/mode state, flushes user selections at turn boundaries, renders deployment-owned guidance, registers /plan, and keeps the plan-exit schema stable across transitions. |
|
|
457
511
|
| `ctx.agentPresets` | `core` | [`agent-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/preset/agent-presets) | - | - | - | Discovers preset directories over trusted and user-authored roots and mounts one preset cordis.yml under an agent scope during creation, rejecting a row that never activates or that publishes into the root service realm. |
|
|
458
512
|
| `ctx.commands` | `core` | [`commands`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/commands) | - | - | - | Plugins register direct human commands without sending invocations to the model. |
|
|
459
|
-
| `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`
|
|
460
|
-
| `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`
|
|
513
|
+
| `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`session-title`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title) | - | Domains register state-driven fold units; the eager drive keeps per-session watermark states and the Session controller serves baselines and pushes changed values. |
|
|
514
|
+
| `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | - | Durably checkpoints projection unit states per session (throttled + turn/end/detach mandatory points) and serves the cold-read ladder: cache row + persistence tail replay, so listings never load full logs. |
|
|
461
515
|
| `ctx.skills` | `seam` | [`skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill) | [`skill-badge`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-badge), [`skill-filesystem`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-filesystem) | [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill) | - | Merges provider skill catalogs; tool-skill renders the session-prefix catalog and loads complete skill bodies. |
|
|
462
|
-
| `ctx.agents` | `core` | [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp), `subagent-
|
|
463
|
-
| `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`
|
|
464
|
-
| `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`
|
|
516
|
+
| `ctx.agents` | `core` | [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver) | - | Owns live Agent handles, the create/resume factory seam, and process-local initiator propagation. |
|
|
517
|
+
| `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless) | - | Layers the default ModelSelection through settings so direct and Host-backed Agent entry points share one state owner. |
|
|
518
|
+
| `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`base`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/base), [`sdk-minimal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/sdk-minimal) | - | The one concrete loop plugin; extension packages depend on dsh-agent events and services, not on this package. |
|
|
465
519
|
| `ctx.goals` | `core` | [`goal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/goal/goal) | - | - | - | Folds revisioned objective state from the session log and keeps live continuation activation process-local. |
|
|
466
520
|
| `ctx.e2b` | `core` | [`e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/e2b) | - | [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | - | Owns one shared E2B SDK handle, remote working directory, and final sandbox disposition so both fundamental E2B providers inhabit the same Linux runtime. |
|
|
467
521
|
| `ctx.subprocess` | `seam` | [`subprocess`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess) | [`subprocess-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess-local), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash), [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code) | - | The bash executors, the PTY shell backend, the LSP host, and the out-of-process ACP, Codex, and Claude Code subagent backends spawn through ctx.subprocess; the service owns process coordinates, tree/session lifetime, stdio dispositions, terminal mechanics, and kill escalation. |
|
|
@@ -470,22 +524,23 @@ flowchart LR
|
|
|
470
524
|
| `ctx.terminals` | `seam` | [`terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal) | [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal) | - | The registry owns exact-Agent session identity and cleanup; backends own terminal mechanics, while tool-terminal exposes the owner-scoped model tools. |
|
|
471
525
|
| `ctx.sandbox` | `seam` | [`sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox) | [`sandbox-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-local) | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | Consumers hand over the exact argv they are about to spawn; same-world backends wrap it under a per-call policy and report enforcement. |
|
|
472
526
|
| `ctx.sandboxPolicy` | `core` | [`sandbox-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-policy) | - | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/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. |
|
|
473
|
-
| `ctx.approval` | `seam` | `approval`
|
|
527
|
+
| `ctx.approval` | `seam` | [`user-approval`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-approval) | - | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/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`. |
|
|
474
528
|
| `ctx.permissionPresets` | `core` | [`permission-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/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. |
|
|
475
|
-
| `ctx.codeRuntime` | `seam` | [`code-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime) | `code-runtime-worker` | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/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
|
|
529
|
+
| `ctx.codeRuntime` | `seam` | [`code-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime-worker-thread), [`experimental-code-runtime-python`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/code-runtime-python) | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/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). |
|
|
476
530
|
| `ctx.fs` | `seam` | [`fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs) | [`fs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-local), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b) | [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs) | [`fs-observation-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/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. |
|
|
477
531
|
| `ctx.compaction` | `seam` | [`compaction`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | The basic backend consumes post-step pressure and request-error recovery events; there is no model-facing compact tool. |
|
|
478
532
|
| `ctx.subagents` | `seam` | [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | [`subagent-spawn-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-spawn-in-process), [`subagent-fork-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-fork-in-process), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code), [`subagent-dsh-sdk`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-dsh-sdk) | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-subagent-control`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent-control), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/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. |
|
|
479
|
-
| `ctx.agentTeams` | `core` | `agent-team` | - | `tool-agent-team` | - | Owns the implicit-root roster, durable peer mailbox, shared task DAG,
|
|
533
|
+
| `ctx.agentTeams` | `core` | [`experimental-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/agent-team) | - | [`experimental-tool-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/tool-agent-team), [`experimental-client-ui-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/client-ui-agent-team) | - | Owns the implicit-root roster, durable peer mailbox, shared task DAG, continuable-child lifecycle, and generated Team Remote methods; tool-agent-team contributes model controls and client-ui-agent-team mounts the browser contribution. |
|
|
534
|
+
| `ctx.inspector` | `core` | `inspector` | - | - | - | Owns the Worker-hosted CDP target and the transport-independent Host and Client observation and Cordis-tree query API. |
|
|
480
535
|
| `ctx.jobs` | `seam` | [`jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs) | [`jobs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/tool-jobs) | - | Producers (background bash, PTY sends, and subagent delegations) register running work; tool-jobs is the model-facing controller that reads, lists, and kills it; jobs-local is the process-local registry. |
|
|
481
536
|
| `ctx.web` | `seam` | [`web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web) | [`web-search-exa`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-exa), [`web-search-perplexity`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-perplexity), [`web-search-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-deepseek), [`web-fetch-http`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-fetch-http) | [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | Search and fetch providers register into one ctx.web seam; tool-web owns the stable model-facing names. |
|
|
482
537
|
| `ctx.spillStore` | `seam` | [`spill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill) | [`spill-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-local) | [`spill-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-policy) | - | The backend saves oversized tool text and returns a model-facing locator plus retrieval hint; spill-policy is the tools/post-execute consumer that decides when to spill. |
|
|
483
|
-
| `ctx.directoryPicker` | `seam` | `directory-picker` | `directory-picker-native
|
|
484
|
-
| `ctx.webServer` | `core` | `webserver` | - | `connection
|
|
485
|
-
| `ctx.clientModules` | `core` | `modules` | - | `hmr` | - | Composes the __DSH_BOOT__ entry graph from an incremental dsh.client scan, serves plugin bundles, and notifies rebuilt/graph-changed subscribers. |
|
|
538
|
+
| `ctx.directoryPicker` | `seam` | [`host-directory-picker`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker) | [`host-directory-picker-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-native), [`host-directory-picker-browse`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-browse) | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | Discriminated interaction capability: the native backend opens one OS chooser on the host display, the browse backend serves listing/creation primitives for the in-app browser; dual-face backends fill ui-workspace directory-flow slots from their browser halves (no wire advertisement). |
|
|
539
|
+
| `ctx.webServer` | `core` | [`host-webserver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/webserver) | - | [`client-connection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/connection), [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules), [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | Plain node:http carrier: named-route registry, index transform taps, and the static dist fallback; web-transport plugins register their own routes. |
|
|
540
|
+
| `ctx.clientModules` | `core` | [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules) | - | [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | Composes the __DSH_BOOT__ entry graph from an incremental dsh.client scan, serves plugin bundles, and notifies rebuilt/graph-changed subscribers. |
|
|
486
541
|
| `ctx.workflowEngine` | `seam` | [`workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow) | [`workflow-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-worker-thread) | [`tool-workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-workflow), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | One engine per context, as in bash, with no named-provider registry; the general workflow and fixed Ralph consumers start runs whose agent() calls fan out through ctx.subagents. |
|
|
487
|
-
| `ctx.
|
|
488
|
-
| `ctx.
|
|
542
|
+
| `ctx.webhookRuntime` | `core` | [`webhook`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook) | - | [`webhook-github`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook-github) | - | Provider adapters dispatch authenticated deliveries; trusted plugins register independent process-local rules, and the runtime turns non-null results into ordinary Workspace-backed Sessions without delivery or completion state. |
|
|
543
|
+
| `ctx.lsp` | `seam` | [`lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp) | [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio) | [`tool-lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/tool-lsp) | - | Provider registration and selection plus normalized query execution over exactly four operations; the seam offers no protocol escape hatch, so a backend translates into the normalized request and result. |
|
|
489
544
|
| `ctx.dynamicCordisRunner` | `core` | [`cordis-host-runner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/cordis-host-runner) | - | [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis) | - | Owns the in-memory definition registry, the vm sandbox for host halves, and the request-run round trip; browser pages reach the same service over the wire through its remote namespace. |
|
|
490
545
|
| `ctx.cordisInspect` | `core` | [`cordis-host-runner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/cordis-host-runner) | - | [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis) | - | Registers host inspect providers, mirrors the client provider manifest, and routes client queries through the dynamic Cordis transport. |
|
|
491
546
|
|