dsh-plugin-dev-kb 1.0.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/LICENSE +21 -0
- package/README.md +56 -0
- package/cordis.patch.yml +12 -0
- package/kb/INDEX.md +210 -0
- package/kb/README.md +69 -0
- package/kb/extra/AGENTS.md +75 -0
- package/kb/extra/api-gateway.md +164 -0
- package/kb/extra/api-gateway.zh.md +164 -0
- package/kb/extra/cookbook/adding-a-vendored-package.md +59 -0
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +59 -0
- package/kb/extra/cookbook/maintaining-dsh-code-review.md +64 -0
- package/kb/extra/cookbook/maintaining-dsh-code-review.zh.md +64 -0
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
- package/kb/extra/defensive-patterns.md +33 -0
- package/kb/extra/defensive-patterns.zh.md +33 -0
- package/kb/extra/development.md +171 -0
- package/kb/extra/development.zh.md +171 -0
- package/kb/extra/event-producer-consumer.md +76 -0
- package/kb/extra/event-producer-consumer.zh.md +78 -0
- package/kb/extra/glossary.md +45 -0
- package/kb/extra/glossary.zh.md +45 -0
- package/kb/extra/graph-atlas.md +24 -0
- package/kb/extra/graph-atlas.zh.md +26 -0
- package/kb/extra/i18n/README.md +60 -0
- package/kb/extra/i18n/README.zh.md +60 -0
- package/kb/extra/i18n/style-samples.md +87 -0
- package/kb/extra/i18n/terminology.md +214 -0
- package/kb/extra/i18n/translation-prompt.md +263 -0
- package/kb/extra/i18n/translation-rules.md +69 -0
- package/kb/extra/i18n/translation-rules.zh.md +69 -0
- package/kb/extra/module-graph.md +1641 -0
- package/kb/extra/module-graph.zh.md +1643 -0
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.md +113 -0
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
- package/kb/extra/postmortem/README.md +18 -0
- package/kb/extra/postmortem/README.zh.md +18 -0
- package/kb/extra/rescope.md +53 -0
- package/kb/extra/rescope.zh.md +53 -0
- package/kb/extra/subsystems/attachment.md +125 -0
- package/kb/extra/subsystems/attachment.zh.md +125 -0
- package/kb/extra/subsystems/extensions.md +364 -0
- package/kb/extra/subsystems/extensions.zh.md +364 -0
- package/kb/extra/subsystems/feedback.md +266 -0
- package/kb/extra/subsystems/feedback.zh.md +266 -0
- package/kb/extra/testing.md +49 -0
- package/kb/extra/testing.zh.md +49 -0
- package/kb/extra/web-styling.md +25 -0
- package/kb/extra/web-styling.zh.md +25 -0
- package/kb/meta/search-index.json +1328 -0
- package/kb/meta/site-pages.txt +168 -0
- package/kb/meta/source.json +13 -0
- package/kb/meta/topics.md +75 -0
- package/kb/site/develop/basic/config.md +108 -0
- package/kb/site/develop/basic/index.md +146 -0
- package/kb/site/develop/basic/publish.md +185 -0
- package/kb/site/develop/basic/tool.md +54 -0
- package/kb/site/develop/cordis-tutorial/01-first-plugin.md +95 -0
- package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/kb/site/develop/cordis-tutorial/03-services.md +98 -0
- package/kb/site/develop/cordis-tutorial/04-events.md +144 -0
- package/kb/site/develop/cordis-tutorial/05-config.md +84 -0
- package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +107 -0
- package/kb/site/develop/cordis-tutorial/index.md +62 -0
- package/kb/site/develop/framework/events.md +145 -0
- package/kb/site/develop/framework/index.md +139 -0
- package/kb/site/develop/framework/service.md +152 -0
- package/kb/site/develop/practice/index.md +157 -0
- package/kb/site/develop/practice/llm-adapter.md +190 -0
- package/kb/site/en/develop/basic/config.md +108 -0
- package/kb/site/en/develop/basic/index.md +146 -0
- package/kb/site/en/develop/basic/publish.md +185 -0
- package/kb/site/en/develop/basic/tool.md +54 -0
- package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +95 -0
- package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/kb/site/en/develop/cordis-tutorial/03-services.md +98 -0
- package/kb/site/en/develop/cordis-tutorial/04-events.md +144 -0
- package/kb/site/en/develop/cordis-tutorial/05-config.md +84 -0
- package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +107 -0
- package/kb/site/en/develop/cordis-tutorial/index.md +60 -0
- package/kb/site/en/develop/framework/events.md +145 -0
- package/kb/site/en/develop/framework/index.md +139 -0
- package/kb/site/en/develop/framework/service.md +150 -0
- package/kb/site/en/develop/practice/index.md +157 -0
- package/kb/site/en/develop/practice/llm-adapter.md +190 -0
- package/kb/site/en/guide/providers-custom-form.png +0 -0
- package/kb/site/en/guide/providers-models-page.png +0 -0
- package/kb/site/en/guide/providers.md +100 -0
- package/kb/site/en/guide/python-sdk.md +106 -0
- package/kb/site/en/guide/quickstart.md +32 -0
- package/kb/site/en/index.md +8 -0
- package/kb/site/en/reference/agent-lifecycle.md +86 -0
- package/kb/site/en/reference/capability-seams.md +475 -0
- package/kb/site/en/reference/config-catalog.md +3155 -0
- package/kb/site/en/reference/cookbook/adding-a-conversation-node.md +235 -0
- package/kb/site/en/reference/cookbook/adding-a-package.md +120 -0
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +102 -0
- package/kb/site/en/reference/cookbook/adding-a-tool.md +96 -0
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +45 -0
- package/kb/site/en/reference/cookbook/extension-cookbook.md +131 -0
- package/kb/site/en/reference/cordis-api/context.md +368 -0
- package/kb/site/en/reference/cordis-api/events.md +211 -0
- package/kb/site/en/reference/cordis-api/fiber.md +379 -0
- package/kb/site/en/reference/cordis-api/inherited.md +43 -0
- package/kb/site/en/reference/cordis-api/registry.md +156 -0
- package/kb/site/en/reference/cordis-api/service.md +106 -0
- package/kb/site/en/reference/cordis-primer.md +46 -0
- package/kb/site/en/reference/index.md +131 -0
- package/kb/site/en/reference/persistence-catalog.md +949 -0
- package/kb/site/en/reference/subsystems/approval.md +173 -0
- package/kb/site/en/reference/subsystems/client-modules.md +121 -0
- package/kb/site/en/reference/subsystems/code-runtime.md +194 -0
- package/kb/site/en/reference/subsystems/commands.md +190 -0
- package/kb/site/en/reference/subsystems/compaction.md +241 -0
- package/kb/site/en/reference/subsystems/core.md +1073 -0
- package/kb/site/en/reference/subsystems/credentials.md +136 -0
- package/kb/site/en/reference/subsystems/filesystem.md +498 -0
- package/kb/site/en/reference/subsystems/goal.md +280 -0
- package/kb/site/en/reference/subsystems/index.md +58 -0
- package/kb/site/en/reference/subsystems/invariants.md +91 -0
- package/kb/site/en/reference/subsystems/jobs.md +293 -0
- package/kb/site/en/reference/subsystems/llm-streaming.md +920 -0
- package/kb/site/en/reference/subsystems/lsp.md +205 -0
- package/kb/site/en/reference/subsystems/permission-presets.md +134 -0
- package/kb/site/en/reference/subsystems/persistence.md +388 -0
- package/kb/site/en/reference/subsystems/plan.md +90 -0
- package/kb/site/en/reference/subsystems/sandbox.md +221 -0
- package/kb/site/en/reference/subsystems/schedule.md +189 -0
- package/kb/site/en/reference/subsystems/scope.md +62 -0
- package/kb/site/en/reference/subsystems/session-projection.md +265 -0
- package/kb/site/en/reference/subsystems/session-query.md +498 -0
- package/kb/site/en/reference/subsystems/session-reference.md +111 -0
- package/kb/site/en/reference/subsystems/session-telemetry.md +197 -0
- package/kb/site/en/reference/subsystems/session-title.md +207 -0
- package/kb/site/en/reference/subsystems/session.md +852 -0
- package/kb/site/en/reference/subsystems/settings.md +313 -0
- package/kb/site/en/reference/subsystems/shell.md +306 -0
- package/kb/site/en/reference/subsystems/skills.md +334 -0
- package/kb/site/en/reference/subsystems/spill.md +120 -0
- package/kb/site/en/reference/subsystems/storage.md +232 -0
- package/kb/site/en/reference/subsystems/subagent.md +737 -0
- package/kb/site/en/reference/subsystems/subprocess.md +327 -0
- package/kb/site/en/reference/subsystems/system-prompt.md +210 -0
- package/kb/site/en/reference/subsystems/terminal.md +187 -0
- package/kb/site/en/reference/subsystems/token-meter.md +93 -0
- package/kb/site/en/reference/subsystems/tools.md +723 -0
- package/kb/site/en/reference/subsystems/typert.md +339 -0
- package/kb/site/en/reference/subsystems/user-questions.md +181 -0
- package/kb/site/en/reference/subsystems/web-server.md +111 -0
- package/kb/site/en/reference/subsystems/web.md +202 -0
- package/kb/site/en/reference/subsystems/workflow.md +281 -0
- package/kb/site/en/reference/subsystems/workspace.md +231 -0
- package/kb/site/en/reference/tool-catalog.md +1877 -0
- package/kb/site/en/reference/tool-execution-pipeline.md +66 -0
- package/kb/site/guide/providers-custom-form.zh.png +0 -0
- package/kb/site/guide/providers-models-page.zh.png +0 -0
- package/kb/site/guide/providers.md +100 -0
- package/kb/site/guide/python-sdk.md +106 -0
- package/kb/site/guide/quickstart.md +32 -0
- package/kb/site/index.md +8 -0
- package/kb/site/reference/agent-lifecycle.md +86 -0
- package/kb/site/reference/capability-seams.md +475 -0
- package/kb/site/reference/config-catalog.md +3154 -0
- package/kb/site/reference/cookbook/adding-a-conversation-node.md +235 -0
- package/kb/site/reference/cookbook/adding-a-package.md +120 -0
- package/kb/site/reference/cookbook/adding-a-settings-card.md +102 -0
- package/kb/site/reference/cookbook/adding-a-tool.md +98 -0
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +45 -0
- package/kb/site/reference/cookbook/extension-cookbook.md +133 -0
- package/kb/site/reference/cordis-api/context.md +368 -0
- package/kb/site/reference/cordis-api/events.md +211 -0
- package/kb/site/reference/cordis-api/fiber.md +379 -0
- package/kb/site/reference/cordis-api/inherited.md +43 -0
- package/kb/site/reference/cordis-api/registry.md +156 -0
- package/kb/site/reference/cordis-api/service.md +106 -0
- package/kb/site/reference/cordis-primer.md +52 -0
- package/kb/site/reference/index.md +135 -0
- package/kb/site/reference/persistence-catalog.md +949 -0
- package/kb/site/reference/subsystems/approval.md +173 -0
- package/kb/site/reference/subsystems/client-modules.md +121 -0
- package/kb/site/reference/subsystems/code-runtime.md +194 -0
- package/kb/site/reference/subsystems/commands.md +190 -0
- package/kb/site/reference/subsystems/compaction.md +241 -0
- package/kb/site/reference/subsystems/core.md +1081 -0
- package/kb/site/reference/subsystems/credentials.md +136 -0
- package/kb/site/reference/subsystems/filesystem.md +498 -0
- package/kb/site/reference/subsystems/goal.md +280 -0
- package/kb/site/reference/subsystems/index.md +58 -0
- package/kb/site/reference/subsystems/invariants.md +91 -0
- package/kb/site/reference/subsystems/jobs.md +293 -0
- package/kb/site/reference/subsystems/llm-streaming.md +926 -0
- package/kb/site/reference/subsystems/lsp.md +205 -0
- package/kb/site/reference/subsystems/permission-presets.md +134 -0
- package/kb/site/reference/subsystems/persistence.md +388 -0
- package/kb/site/reference/subsystems/plan.md +90 -0
- package/kb/site/reference/subsystems/sandbox.md +221 -0
- package/kb/site/reference/subsystems/schedule.md +189 -0
- package/kb/site/reference/subsystems/scope.md +62 -0
- package/kb/site/reference/subsystems/session-projection.md +265 -0
- package/kb/site/reference/subsystems/session-query.md +498 -0
- package/kb/site/reference/subsystems/session-reference.md +111 -0
- package/kb/site/reference/subsystems/session-telemetry.md +197 -0
- package/kb/site/reference/subsystems/session-title.md +207 -0
- package/kb/site/reference/subsystems/session.md +854 -0
- package/kb/site/reference/subsystems/settings.md +313 -0
- package/kb/site/reference/subsystems/shell.md +306 -0
- package/kb/site/reference/subsystems/skills.md +334 -0
- package/kb/site/reference/subsystems/spill.md +120 -0
- package/kb/site/reference/subsystems/storage.md +232 -0
- package/kb/site/reference/subsystems/subagent.md +739 -0
- package/kb/site/reference/subsystems/subprocess.md +327 -0
- package/kb/site/reference/subsystems/system-prompt.md +210 -0
- package/kb/site/reference/subsystems/terminal.md +187 -0
- package/kb/site/reference/subsystems/token-meter.md +93 -0
- package/kb/site/reference/subsystems/tools.md +723 -0
- package/kb/site/reference/subsystems/typert.md +339 -0
- package/kb/site/reference/subsystems/user-questions.md +181 -0
- package/kb/site/reference/subsystems/web-server.md +111 -0
- package/kb/site/reference/subsystems/web.md +202 -0
- package/kb/site/reference/subsystems/workflow.md +281 -0
- package/kb/site/reference/subsystems/workspace.md +231 -0
- package/kb/site/reference/tool-catalog.md +1880 -0
- package/kb/site/reference/tool-execution-pipeline.md +66 -0
- package/package.json +40 -0
- package/scripts/rebuild-index.mjs +88 -0
- package/skills/dsh-plugin-dev-kb.md +66 -0
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
---
|
|
2
|
+
editSource: "docs/capability-seams.md"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- Generated by scripts/gen-doc-graphs.ts - do not edit by hand.
|
|
6
|
+
Run `pnpm run gen-doc-graphs` to regenerate. -->
|
|
7
|
+
|
|
8
|
+
# Capability Seams And Core Services
|
|
9
|
+
|
|
10
|
+
A service can be a core spine service, a swappable capability seam, or a bundle/composition point. The graph shows the package that owns the service declaration, known implementation packages, and packages that consume the service directly.
|
|
11
|
+
|
|
12
|
+
```mermaid
|
|
13
|
+
flowchart LR
|
|
14
|
+
pkg_attachment["attachment"]
|
|
15
|
+
svc_attachments["ctx.attachments<br/>Durable binary attachment storage"]
|
|
16
|
+
pkg_attachment_local["attachment-local"]
|
|
17
|
+
pkg_host_runtime["host-runtime"]
|
|
18
|
+
pkg_llm_pi_ai["llm-pi-ai"]
|
|
19
|
+
pkg_llm["llm"]
|
|
20
|
+
svc_llm["ctx.llm<br/>LLM adapter registry"]
|
|
21
|
+
pkg_llm_deepseek["llm-deepseek"]
|
|
22
|
+
pkg_llm_replay["llm-replay"]
|
|
23
|
+
pkg_agent_loop["agent-loop"]
|
|
24
|
+
pkg_compaction_basic["compaction-basic"]
|
|
25
|
+
pkg_token_meter["token-meter"]
|
|
26
|
+
svc_tokenMeter["ctx.tokenMeter<br/>Replay token measurement"]
|
|
27
|
+
pkg_compaction_tool_result_pruner["compaction-tool-result-pruner"]
|
|
28
|
+
svc_toolResultPruner["ctx.toolResultPruner<br/>Model-free tool-result pruning"]
|
|
29
|
+
pkg_session["session"]
|
|
30
|
+
svc_sessions["ctx.sessions<br/>In-memory session store"]
|
|
31
|
+
pkg_agent["agent"]
|
|
32
|
+
pkg_session_persistence["session-persistence"]
|
|
33
|
+
pkg_session_query["session-query"]
|
|
34
|
+
pkg_session_query_sqlite["session-query-sqlite"]
|
|
35
|
+
pkg_subagent_inprocess["subagent-inprocess"]
|
|
36
|
+
pkg_invariants["invariants"]
|
|
37
|
+
pkg_message_feedback["message-feedback"]
|
|
38
|
+
svc_invariants["ctx.invariants<br/>Package-owned invariant registry"]
|
|
39
|
+
pkg_scope["scope"]
|
|
40
|
+
pkg_typert_registry["typert-registry"]
|
|
41
|
+
svc_typert["ctx.typert<br/>Runtime type registry"]
|
|
42
|
+
pkg_typert_loader["typert-loader"]
|
|
43
|
+
pkg_api_gateway["api-gateway"]
|
|
44
|
+
svc_typertGateway["ctx.typertGateway<br/>Typert Host invocation gateway"]
|
|
45
|
+
svc_sessionPersistence["ctx.sessionPersistence<br/>Durable session persistence seam"]
|
|
46
|
+
pkg_session_persistence_jsonl["session-persistence-jsonl"]
|
|
47
|
+
pkg_session_persistence_sqlite["session-persistence-sqlite"]
|
|
48
|
+
pkg_tool_bash["tool-bash"]
|
|
49
|
+
pkg_hooks_claude_code["hooks-claude-code"]
|
|
50
|
+
pkg_hooks_codex["hooks-codex"]
|
|
51
|
+
pkg_settings["settings"]
|
|
52
|
+
svc_settings["ctx.settings<br/>User-settings seam"]
|
|
53
|
+
pkg_settings_file["settings-file"]
|
|
54
|
+
pkg_apiproxy["apiproxy"]
|
|
55
|
+
pkg_credentials["credentials"]
|
|
56
|
+
svc_credentials["ctx.credentials<br/>Credential seam"]
|
|
57
|
+
pkg_credentials_local["credentials-local"]
|
|
58
|
+
pkg_session_telemetry["session-telemetry"]
|
|
59
|
+
svc_sessionTelemetry["ctx.sessionTelemetry<br/>Session telemetry seam"]
|
|
60
|
+
pkg_session_telemetry_otel["session-telemetry-otel"]
|
|
61
|
+
pkg_storage["storage"]
|
|
62
|
+
svc_storage["ctx.storage<br/>Non-session storage hub"]
|
|
63
|
+
pkg_storage_json["storage-json"]
|
|
64
|
+
pkg_storage_sqlite["storage-sqlite"]
|
|
65
|
+
pkg_storage_domain["storage-domain"]
|
|
66
|
+
svc_storageDomain["ctx.storageDomain<br/>Domain data facility"]
|
|
67
|
+
pkg_workspace["workspace"]
|
|
68
|
+
svc_messageFeedback["ctx.messageFeedback<br/>Lifecycle-bound message feedback"]
|
|
69
|
+
svc_workspaceRegistry["ctx.workspaceRegistry<br/>Workspace entity registry"]
|
|
70
|
+
svc_sessionQuery["ctx.sessionQuery<br/>Session reads, traces, filters, and search"]
|
|
71
|
+
pkg_session_reference["session-reference"]
|
|
72
|
+
pkg_tool_session_query["tool-session-query"]
|
|
73
|
+
svc_sessionReferenceResolver["ctx.sessionReferenceResolver<br/>Cross-session snapshot preparation"]
|
|
74
|
+
pkg_session_title["session-title"]
|
|
75
|
+
svc_sessionTitle["ctx.sessionTitle<br/>Log-backed session titles"]
|
|
76
|
+
pkg_session_title_first_prompt_llm["session-title-first-prompt-llm"]
|
|
77
|
+
pkg_session_title_all_prompts_llm["session-title-all-prompts-llm"]
|
|
78
|
+
pkg_system_prompt["system-prompt"]
|
|
79
|
+
svc_systemPrompt["ctx.systemPrompt<br/>System prompt assembly registry"]
|
|
80
|
+
pkg_tools["tools"]
|
|
81
|
+
pkg_tool_fs["tool-fs"]
|
|
82
|
+
pkg_tool_terminal["tool-terminal"]
|
|
83
|
+
pkg_tool_web["tool-web"]
|
|
84
|
+
svc_tools["ctx.tools<br/>Tool registry and guarded execution pipeline"]
|
|
85
|
+
pkg_tool_ask_user["tool-ask-user"]
|
|
86
|
+
pkg_tool_cordis["tool-cordis"]
|
|
87
|
+
pkg_tool_skill["tool-skill"]
|
|
88
|
+
pkg_tool_subagent["tool-subagent"]
|
|
89
|
+
pkg_tool_todo["tool-todo"]
|
|
90
|
+
pkg_user_questions["user-questions"]
|
|
91
|
+
svc_userQuestions["ctx.userQuestions<br/>Human question/answer seam"]
|
|
92
|
+
pkg_plan_mode["plan-mode"]
|
|
93
|
+
svc_planMode["ctx.planMode<br/>Plan collaboration state"]
|
|
94
|
+
pkg_agent_presets["agent-presets"]
|
|
95
|
+
svc_agentPresets["ctx.agentPresets<br/>Per-session agent composition"]
|
|
96
|
+
pkg_commands["commands"]
|
|
97
|
+
svc_commands["ctx.commands<br/>Human command registry"]
|
|
98
|
+
pkg_session_projection["session-projection"]
|
|
99
|
+
svc_sessionProjections["ctx.sessionProjections<br/>Session projection units"]
|
|
100
|
+
pkg_host_apiproxy["host-apiproxy"]
|
|
101
|
+
pkg_session_projection_cache["session-projection-cache"]
|
|
102
|
+
svc_sessionProjectionCache["ctx.sessionProjectionCache<br/>Persisted projection cache"]
|
|
103
|
+
pkg_skill["skill"]
|
|
104
|
+
svc_skills["ctx.skills<br/>Skill provider registry"]
|
|
105
|
+
pkg_skill_badge["skill-badge"]
|
|
106
|
+
pkg_skill_filesystem["skill-filesystem"]
|
|
107
|
+
svc_agents["ctx.agents<br/>Agent service"]
|
|
108
|
+
pkg_acp["acp"]
|
|
109
|
+
pkg_agent_default_model["agent-default-model"]
|
|
110
|
+
svc_agentDefaultModel["ctx.agentDefaultModel<br/>Default Agent model selection"]
|
|
111
|
+
pkg_headless["headless"]
|
|
112
|
+
svc_agentLoop["ctx.agentLoop<br/>Concrete loop driver"]
|
|
113
|
+
pkg_agent_spine_demo["agent-spine-demo"]
|
|
114
|
+
pkg_goal["goal"]
|
|
115
|
+
svc_goals["ctx.goals<br/>Same-session goal domain"]
|
|
116
|
+
pkg_e2b["e2b"]
|
|
117
|
+
svc_e2b["ctx.e2b<br/>E2B sandbox lifecycle owner"]
|
|
118
|
+
pkg_fs_e2b["fs-e2b"]
|
|
119
|
+
pkg_subprocess_e2b["subprocess-e2b"]
|
|
120
|
+
pkg_subprocess["subprocess"]
|
|
121
|
+
svc_subprocess["ctx.subprocess<br/>Subprocess seam"]
|
|
122
|
+
pkg_subprocess_local["subprocess-local"]
|
|
123
|
+
pkg_bash_local["bash-local"]
|
|
124
|
+
pkg_bash_sandbox["bash-sandbox"]
|
|
125
|
+
pkg_terminal_bash["terminal-bash"]
|
|
126
|
+
pkg_lsp_stdio["lsp-stdio"]
|
|
127
|
+
pkg_subagent_acp["subagent-acp"]
|
|
128
|
+
pkg_subagent_codex["subagent-codex"]
|
|
129
|
+
pkg_subagent_claude_code["subagent-claude-code"]
|
|
130
|
+
pkg_shell["shell"]
|
|
131
|
+
svc_shell["ctx.shell<br/>Bash executor seam"]
|
|
132
|
+
pkg_pwsh_local["pwsh-local"]
|
|
133
|
+
pkg_tool_pwsh["tool-pwsh"]
|
|
134
|
+
pkg_shell_env["shell-env"]
|
|
135
|
+
svc_shellEnv["ctx.shellEnv<br/>Managed bash environment registry"]
|
|
136
|
+
pkg_terminal["terminal"]
|
|
137
|
+
svc_terminals["ctx.terminals<br/>Persistent PTY session registry"]
|
|
138
|
+
pkg_sandbox["sandbox"]
|
|
139
|
+
svc_sandbox["ctx.sandbox<br/>Process-sandbox seam"]
|
|
140
|
+
pkg_sandbox_local["sandbox-local"]
|
|
141
|
+
pkg_sandbox_policy["sandbox-policy"]
|
|
142
|
+
svc_sandboxPolicy["ctx.sandboxPolicy<br/>Sandbox policy home"]
|
|
143
|
+
pkg_fs_sandbox["fs-sandbox"]
|
|
144
|
+
pkg_approval["approval"]
|
|
145
|
+
svc_approval["ctx.approval<br/>Approval seam"]
|
|
146
|
+
pkg_permission_presets["permission-presets"]
|
|
147
|
+
svc_permissionPresets["ctx.permissionPresets<br/>Permission presets"]
|
|
148
|
+
pkg_code_runtime["code-runtime"]
|
|
149
|
+
svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
|
|
150
|
+
pkg_code_runtime_worker["code-runtime-worker"]
|
|
151
|
+
pkg_fs["fs"]
|
|
152
|
+
svc_fs["ctx.fs<br/>Filesystem provider seam"]
|
|
153
|
+
pkg_fs_local["fs-local"]
|
|
154
|
+
pkg_fs_observation_policy["fs-observation-policy"]
|
|
155
|
+
pkg_compaction["compaction"]
|
|
156
|
+
svc_compaction["ctx.compaction<br/>Compaction seam"]
|
|
157
|
+
pkg_subagent["subagent"]
|
|
158
|
+
svc_subagents["ctx.subagents<br/>Subagent provider and continuation service"]
|
|
159
|
+
pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
|
|
160
|
+
pkg_subagent_fork_in_process["subagent-fork-in-process"]
|
|
161
|
+
pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
|
|
162
|
+
pkg_tool_subagent_control["tool-subagent-control"]
|
|
163
|
+
pkg_tool_ralph["tool-ralph"]
|
|
164
|
+
pkg_jobs["jobs"]
|
|
165
|
+
svc_jobs["ctx.jobs<br/>Background job registry"]
|
|
166
|
+
pkg_jobs_local["jobs-local"]
|
|
167
|
+
pkg_tool_jobs["tool-jobs"]
|
|
168
|
+
pkg_web["web"]
|
|
169
|
+
svc_web["ctx.web<br/>Web access provider registry"]
|
|
170
|
+
pkg_web_search_exa["web-search-exa"]
|
|
171
|
+
pkg_web_search_perplexity["web-search-perplexity"]
|
|
172
|
+
pkg_web_search_deepseek["web-search-deepseek"]
|
|
173
|
+
pkg_web_fetch_http["web-fetch-http"]
|
|
174
|
+
pkg_spill["spill"]
|
|
175
|
+
svc_spillStore["ctx.spillStore<br/>Spill storage seam"]
|
|
176
|
+
pkg_spill_local["spill-local"]
|
|
177
|
+
pkg_spill_policy["spill-policy"]
|
|
178
|
+
pkg_directory_picker["directory-picker"]
|
|
179
|
+
svc_directoryPicker["ctx.directoryPicker<br/>Workspace-directory picking seam"]
|
|
180
|
+
pkg_directory_picker_native["directory-picker-native"]
|
|
181
|
+
pkg_directory_picker_browse["directory-picker-browse"]
|
|
182
|
+
pkg_webserver["webserver"]
|
|
183
|
+
svc_webServer["ctx.webServer<br/>HTTP route registration"]
|
|
184
|
+
pkg_connection["connection"]
|
|
185
|
+
pkg_modules["modules"]
|
|
186
|
+
pkg_hmr["hmr"]
|
|
187
|
+
svc_clientModules["ctx.clientModules<br/>Client plugin graph host"]
|
|
188
|
+
pkg_workflow["workflow"]
|
|
189
|
+
svc_workflowEngine["ctx.workflowEngine<br/>Workflow script engine"]
|
|
190
|
+
pkg_workflow_worker_thread["workflow-worker-thread"]
|
|
191
|
+
pkg_tool_workflow["tool-workflow"]
|
|
192
|
+
pkg_lsp["lsp"]
|
|
193
|
+
svc_lsp["ctx.lsp<br/>Language-server navigation seam"]
|
|
194
|
+
pkg_lsp_local["lsp-local"]
|
|
195
|
+
pkg_tool_lsp["tool-lsp"]
|
|
196
|
+
svc_apiProxy["ctx.apiProxy<br/>Host API dispatch"]
|
|
197
|
+
pkg_cordis_host_runner["cordis-host-runner"]
|
|
198
|
+
svc_dynamicCordisRunner["ctx.dynamicCordisRunner<br/>Dynamic Cordis package host runner"]
|
|
199
|
+
svc_cordisInspect["ctx.cordisInspect<br/>Dynamic Cordis inspect registry"]
|
|
200
|
+
pkg_acp --> svc_approval
|
|
201
|
+
pkg_agent --> svc_agents
|
|
202
|
+
pkg_agent_default_model --> svc_agentDefaultModel
|
|
203
|
+
pkg_agent_loop --> svc_agentLoop
|
|
204
|
+
pkg_agent_presets --> svc_agentPresets
|
|
205
|
+
pkg_api_gateway --> svc_typertGateway
|
|
206
|
+
pkg_apiproxy --> svc_apiProxy
|
|
207
|
+
pkg_approval --> svc_approval
|
|
208
|
+
pkg_attachment --> svc_attachments
|
|
209
|
+
pkg_attachment_local --> svc_attachments
|
|
210
|
+
pkg_bash_local --> svc_shell
|
|
211
|
+
pkg_bash_sandbox --> svc_shell
|
|
212
|
+
pkg_code_runtime --> svc_codeRuntime
|
|
213
|
+
pkg_code_runtime_worker --> svc_codeRuntime
|
|
214
|
+
pkg_commands --> svc_commands
|
|
215
|
+
pkg_compaction --> svc_compaction
|
|
216
|
+
pkg_compaction_basic --> svc_compaction
|
|
217
|
+
pkg_compaction_tool_result_pruner --> svc_toolResultPruner
|
|
218
|
+
pkg_cordis_host_runner --> svc_cordisInspect
|
|
219
|
+
pkg_cordis_host_runner --> svc_dynamicCordisRunner
|
|
220
|
+
pkg_credentials --> svc_credentials
|
|
221
|
+
pkg_credentials_local --> svc_credentials
|
|
222
|
+
pkg_directory_picker --> svc_directoryPicker
|
|
223
|
+
pkg_directory_picker_browse --> svc_directoryPicker
|
|
224
|
+
pkg_directory_picker_native --> svc_directoryPicker
|
|
225
|
+
pkg_e2b --> svc_e2b
|
|
226
|
+
pkg_fs --> svc_fs
|
|
227
|
+
pkg_fs_e2b --> svc_fs
|
|
228
|
+
pkg_fs_local --> svc_fs
|
|
229
|
+
pkg_fs_sandbox --> svc_fs
|
|
230
|
+
pkg_goal --> svc_goals
|
|
231
|
+
pkg_invariants --> svc_invariants
|
|
232
|
+
pkg_jobs --> svc_jobs
|
|
233
|
+
pkg_jobs_local --> svc_jobs
|
|
234
|
+
pkg_llm --> svc_llm
|
|
235
|
+
pkg_llm_deepseek --> svc_llm
|
|
236
|
+
pkg_llm_pi_ai --> svc_llm
|
|
237
|
+
pkg_llm_replay --> svc_llm
|
|
238
|
+
pkg_lsp --> svc_lsp
|
|
239
|
+
pkg_lsp_local --> svc_lsp
|
|
240
|
+
pkg_message_feedback --> svc_messageFeedback
|
|
241
|
+
pkg_modules --> svc_clientModules
|
|
242
|
+
pkg_permission_presets --> svc_permissionPresets
|
|
243
|
+
pkg_plan_mode --> svc_planMode
|
|
244
|
+
pkg_pwsh_local --> svc_shell
|
|
245
|
+
pkg_sandbox --> svc_sandbox
|
|
246
|
+
pkg_sandbox_local --> svc_sandbox
|
|
247
|
+
pkg_sandbox_policy --> svc_sandboxPolicy
|
|
248
|
+
pkg_session --> svc_sessions
|
|
249
|
+
pkg_session_persistence --> svc_sessionPersistence
|
|
250
|
+
pkg_session_persistence_jsonl --> svc_sessionPersistence
|
|
251
|
+
pkg_session_persistence_sqlite --> svc_sessionPersistence
|
|
252
|
+
pkg_session_projection --> svc_sessionProjections
|
|
253
|
+
pkg_session_projection_cache --> svc_sessionProjectionCache
|
|
254
|
+
pkg_session_query --> svc_sessionQuery
|
|
255
|
+
pkg_session_query_sqlite --> svc_sessionQuery
|
|
256
|
+
pkg_session_reference --> svc_sessionReferenceResolver
|
|
257
|
+
pkg_session_telemetry --> svc_sessionTelemetry
|
|
258
|
+
pkg_session_telemetry_otel --> svc_sessionTelemetry
|
|
259
|
+
pkg_session_title --> svc_sessionTitle
|
|
260
|
+
pkg_session_title_all_prompts_llm --> svc_sessionTitle
|
|
261
|
+
pkg_session_title_first_prompt_llm --> svc_sessionTitle
|
|
262
|
+
pkg_settings --> svc_settings
|
|
263
|
+
pkg_settings_file --> svc_settings
|
|
264
|
+
pkg_shell --> svc_shell
|
|
265
|
+
pkg_shell_env --> svc_shellEnv
|
|
266
|
+
pkg_skill --> svc_skills
|
|
267
|
+
pkg_skill_badge --> svc_skills
|
|
268
|
+
pkg_skill_filesystem --> svc_skills
|
|
269
|
+
pkg_spill --> svc_spillStore
|
|
270
|
+
pkg_spill_local --> svc_spillStore
|
|
271
|
+
pkg_storage --> svc_storage
|
|
272
|
+
pkg_storage_domain --> svc_storageDomain
|
|
273
|
+
pkg_storage_json --> svc_storage
|
|
274
|
+
pkg_storage_sqlite --> svc_storage
|
|
275
|
+
pkg_subagent --> svc_subagents
|
|
276
|
+
pkg_subagent_acp --> svc_subagents
|
|
277
|
+
pkg_subagent_claude_code --> svc_subagents
|
|
278
|
+
pkg_subagent_codex --> svc_subagents
|
|
279
|
+
pkg_subagent_dsh_sdk --> svc_subagents
|
|
280
|
+
pkg_subagent_fork_in_process --> svc_subagents
|
|
281
|
+
pkg_subagent_spawn_in_process --> svc_subagents
|
|
282
|
+
pkg_subprocess --> svc_subprocess
|
|
283
|
+
pkg_subprocess_e2b --> svc_subprocess
|
|
284
|
+
pkg_subprocess_local --> svc_subprocess
|
|
285
|
+
pkg_system_prompt --> svc_systemPrompt
|
|
286
|
+
pkg_terminal --> svc_terminals
|
|
287
|
+
pkg_terminal_bash --> svc_terminals
|
|
288
|
+
pkg_token_meter --> svc_tokenMeter
|
|
289
|
+
pkg_tools --> svc_tools
|
|
290
|
+
pkg_typert_registry --> svc_typert
|
|
291
|
+
pkg_user_questions --> svc_userQuestions
|
|
292
|
+
pkg_web --> svc_web
|
|
293
|
+
pkg_web_fetch_http --> svc_web
|
|
294
|
+
pkg_web_search_deepseek --> svc_web
|
|
295
|
+
pkg_web_search_exa --> svc_web
|
|
296
|
+
pkg_web_search_perplexity --> svc_web
|
|
297
|
+
pkg_webserver --> svc_webServer
|
|
298
|
+
pkg_workflow --> svc_workflowEngine
|
|
299
|
+
pkg_workflow_worker_thread --> svc_workflowEngine
|
|
300
|
+
pkg_workspace --> svc_workspaceRegistry
|
|
301
|
+
svc_agentDefaultModel --> pkg_headless
|
|
302
|
+
svc_agentDefaultModel --> pkg_host_apiproxy
|
|
303
|
+
svc_agentLoop --> pkg_agent_spine_demo
|
|
304
|
+
svc_agents --> pkg_acp
|
|
305
|
+
svc_agents --> pkg_agent_loop
|
|
306
|
+
svc_agents --> pkg_subagent_inprocess
|
|
307
|
+
svc_apiProxy --> pkg_connection
|
|
308
|
+
svc_approval --> pkg_tool_bash
|
|
309
|
+
svc_approval --> pkg_tools
|
|
310
|
+
svc_attachments --> pkg_host_runtime
|
|
311
|
+
svc_attachments --> pkg_llm_pi_ai
|
|
312
|
+
svc_clientModules --> pkg_hmr
|
|
313
|
+
svc_codeRuntime --> pkg_tools
|
|
314
|
+
svc_compaction --> pkg_compaction_basic
|
|
315
|
+
svc_cordisInspect --> pkg_tool_cordis
|
|
316
|
+
svc_credentials --> pkg_apiproxy
|
|
317
|
+
svc_credentials --> pkg_llm_deepseek
|
|
318
|
+
svc_credentials --> pkg_llm_pi_ai
|
|
319
|
+
svc_directoryPicker --> pkg_apiproxy
|
|
320
|
+
svc_dynamicCordisRunner --> pkg_tool_cordis
|
|
321
|
+
svc_e2b --> pkg_fs_e2b
|
|
322
|
+
svc_e2b --> pkg_subprocess_e2b
|
|
323
|
+
svc_fs --> pkg_tool_fs
|
|
324
|
+
svc_invariants --> pkg_agent
|
|
325
|
+
svc_invariants --> pkg_agent_loop
|
|
326
|
+
svc_invariants --> pkg_scope
|
|
327
|
+
svc_invariants --> pkg_session
|
|
328
|
+
svc_jobs --> pkg_tool_bash
|
|
329
|
+
svc_jobs --> pkg_tool_jobs
|
|
330
|
+
svc_jobs --> pkg_tool_subagent
|
|
331
|
+
svc_jobs --> pkg_tool_terminal
|
|
332
|
+
svc_llm --> pkg_agent_loop
|
|
333
|
+
svc_llm --> pkg_compaction_basic
|
|
334
|
+
svc_lsp --> pkg_tool_lsp
|
|
335
|
+
svc_sandbox --> pkg_bash_sandbox
|
|
336
|
+
svc_sandbox --> pkg_terminal_bash
|
|
337
|
+
svc_sandboxPolicy --> pkg_bash_sandbox
|
|
338
|
+
svc_sandboxPolicy --> pkg_fs_sandbox
|
|
339
|
+
svc_sandboxPolicy --> pkg_terminal_bash
|
|
340
|
+
svc_sessionPersistence --> pkg_agent_loop
|
|
341
|
+
svc_sessionPersistence --> pkg_hooks_claude_code
|
|
342
|
+
svc_sessionPersistence --> pkg_hooks_codex
|
|
343
|
+
svc_sessionPersistence --> pkg_message_feedback
|
|
344
|
+
svc_sessionPersistence --> pkg_session_query
|
|
345
|
+
svc_sessionPersistence --> pkg_session_query_sqlite
|
|
346
|
+
svc_sessionPersistence --> pkg_tool_bash
|
|
347
|
+
svc_sessionProjectionCache --> pkg_host_apiproxy
|
|
348
|
+
svc_sessionProjections --> pkg_host_apiproxy
|
|
349
|
+
svc_sessionProjections --> pkg_session_title
|
|
350
|
+
svc_sessionProjections --> pkg_tool_todo
|
|
351
|
+
svc_sessionQuery --> pkg_session_reference
|
|
352
|
+
svc_sessionQuery --> pkg_tool_session_query
|
|
353
|
+
svc_sessions --> pkg_agent
|
|
354
|
+
svc_sessions --> pkg_agent_loop
|
|
355
|
+
svc_sessions --> pkg_invariants
|
|
356
|
+
svc_sessions --> pkg_message_feedback
|
|
357
|
+
svc_sessions --> pkg_session_persistence
|
|
358
|
+
svc_sessions --> pkg_session_query
|
|
359
|
+
svc_sessions --> pkg_session_query_sqlite
|
|
360
|
+
svc_sessions --> pkg_subagent_inprocess
|
|
361
|
+
svc_settings --> pkg_apiproxy
|
|
362
|
+
svc_settings --> pkg_llm_deepseek
|
|
363
|
+
svc_settings --> pkg_llm_pi_ai
|
|
364
|
+
svc_shell --> pkg_hooks_claude_code
|
|
365
|
+
svc_shell --> pkg_hooks_codex
|
|
366
|
+
svc_shell --> pkg_tool_bash
|
|
367
|
+
svc_shell --> pkg_tool_pwsh
|
|
368
|
+
svc_shellEnv --> pkg_tool_bash
|
|
369
|
+
svc_shellEnv --> pkg_tool_pwsh
|
|
370
|
+
svc_skills --> pkg_tool_skill
|
|
371
|
+
svc_spillStore --> pkg_spill_policy
|
|
372
|
+
svc_storage --> pkg_storage_domain
|
|
373
|
+
svc_storageDomain --> pkg_message_feedback
|
|
374
|
+
svc_storageDomain --> pkg_workspace
|
|
375
|
+
svc_subagents --> pkg_tool_ralph
|
|
376
|
+
svc_subagents --> pkg_tool_subagent
|
|
377
|
+
svc_subagents --> pkg_tool_subagent_control
|
|
378
|
+
svc_subprocess --> pkg_bash_local
|
|
379
|
+
svc_subprocess --> pkg_bash_sandbox
|
|
380
|
+
svc_subprocess --> pkg_lsp_stdio
|
|
381
|
+
svc_subprocess --> pkg_subagent_acp
|
|
382
|
+
svc_subprocess --> pkg_subagent_claude_code
|
|
383
|
+
svc_subprocess --> pkg_subagent_codex
|
|
384
|
+
svc_subprocess --> pkg_terminal_bash
|
|
385
|
+
svc_systemPrompt --> pkg_agent_loop
|
|
386
|
+
svc_systemPrompt --> pkg_tool_fs
|
|
387
|
+
svc_systemPrompt --> pkg_tool_terminal
|
|
388
|
+
svc_systemPrompt --> pkg_tool_web
|
|
389
|
+
svc_systemPrompt --> pkg_tools
|
|
390
|
+
svc_terminals --> pkg_tool_terminal
|
|
391
|
+
svc_tokenMeter --> pkg_compaction_basic
|
|
392
|
+
svc_toolResultPruner --> pkg_compaction_basic
|
|
393
|
+
svc_tools --> pkg_agent_loop
|
|
394
|
+
svc_tools --> pkg_tool_ask_user
|
|
395
|
+
svc_tools --> pkg_tool_bash
|
|
396
|
+
svc_tools --> pkg_tool_cordis
|
|
397
|
+
svc_tools --> pkg_tool_fs
|
|
398
|
+
svc_tools --> pkg_tool_skill
|
|
399
|
+
svc_tools --> pkg_tool_subagent
|
|
400
|
+
svc_tools --> pkg_tool_terminal
|
|
401
|
+
svc_tools --> pkg_tool_todo
|
|
402
|
+
svc_tools --> pkg_tool_web
|
|
403
|
+
svc_typert --> pkg_api_gateway
|
|
404
|
+
svc_typert --> pkg_typert_loader
|
|
405
|
+
svc_userQuestions --> pkg_tool_ask_user
|
|
406
|
+
svc_web --> pkg_tool_web
|
|
407
|
+
svc_webServer --> pkg_connection
|
|
408
|
+
svc_webServer --> pkg_hmr
|
|
409
|
+
svc_webServer --> pkg_modules
|
|
410
|
+
svc_workflowEngine --> pkg_tool_ralph
|
|
411
|
+
svc_workflowEngine --> pkg_tool_workflow
|
|
412
|
+
svc_workspaceRegistry --> pkg_apiproxy
|
|
413
|
+
svc_fs -. event gate .-> pkg_fs_observation_policy
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
| ctx key | Role | Owner | Implementations | Direct consumers | Companion plugins | Note |
|
|
417
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
418
|
+
| `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) | `host-runtime`, [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | The host commits accepted images before session events; provider adapters resolve authorized durable references into provider-native content. |
|
|
419
|
+
| `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. |
|
|
420
|
+
| `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. |
|
|
421
|
+
| `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. |
|
|
422
|
+
| `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-inprocess`, [`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. |
|
|
423
|
+
| `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. |
|
|
424
|
+
| `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. |
|
|
425
|
+
| `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. |
|
|
426
|
+
| `ctx.sessionPersistence` | `seam` | [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence) | [`session-persistence-jsonl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-jsonl), [`session-persistence-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-sqlite) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Backends persist the same SessionEvent vocabulary; apps choose a backend at composition time. |
|
|
427
|
+
| `ctx.settings` | `seam` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | [`settings-file`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings-file) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), `apiproxy` | - | Plugins register namespace schemas and resolve layered values; providers store the raw document. The LLM adapters register their entry config as the composition base under the user section; the web gateway serves redacted layered descriptors and writes the user layer. |
|
|
428
|
+
| `ctx.credentials` | `seam` | [`credentials`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials) | [`credentials-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials-local) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), `apiproxy` | - | Configuration carries references to secrets; providers own the values. Consumers resolve per operation, so a rotated credential reaches the very next request; the web gateway exposes value-free views and write-only storage. |
|
|
429
|
+
| `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. |
|
|
430
|
+
| `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. |
|
|
431
|
+
| `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. |
|
|
432
|
+
| `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. |
|
|
433
|
+
| `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | `apiproxy` | - | Owns WorkspaceId-branded records over the domain facility; stable sessionIds accounts drive Host RPC and GUI projections. |
|
|
434
|
+
| `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. |
|
|
435
|
+
| `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. |
|
|
436
|
+
| `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. |
|
|
437
|
+
| `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. |
|
|
438
|
+
| `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 Code Mode transport, and routes calls through pre-policy, monotonic guards, around dispatch, post-policy, and final-result observation. |
|
|
439
|
+
| `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. |
|
|
440
|
+
| `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. |
|
|
441
|
+
| `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. |
|
|
442
|
+
| `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. |
|
|
443
|
+
| `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`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), [`host-apiproxy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/apiproxy) | - | Domains register state-driven fold units; the eager drive keeps per-session watermark states and api-proxy serves baselines and pushes changed values. |
|
|
444
|
+
| `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`host-apiproxy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/apiproxy) | - | 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. |
|
|
445
|
+
| `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. |
|
|
446
|
+
| `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-inprocess` | - | Owns live Agent handles, the create/resume factory seam, and process-local initiator propagation. |
|
|
447
|
+
| `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless), [`host-apiproxy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/apiproxy) | - | Layers the default ModelSelection through settings so direct and Host-backed Agent entry points share one state owner. |
|
|
448
|
+
| `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`agent-spine-demo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/examples/agent-spine-demo) | - | The one concrete loop plugin; extension packages depend on dsh-agent events and services, not on this package. |
|
|
449
|
+
| `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. |
|
|
450
|
+
| `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. |
|
|
451
|
+
| `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. |
|
|
452
|
+
| `ctx.shell` | `seam` | [`shell`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell) | [`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), [`pwsh-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/pwsh-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh), [`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) | - | The model-facing shell tools and hook bridges consume this seam; sandboxed, remote, or PowerShell executors replace bash-local without touching them. |
|
|
453
|
+
| `ctx.shellEnv` | `core` | [`shell-env`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell-env) | - | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh) | - | Plugins declare effect-scoped DSH_* facts; each shell tool collects one trusted snapshot per execution and its executor rebuilds the namespace. |
|
|
454
|
+
| `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. |
|
|
455
|
+
| `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. |
|
|
456
|
+
| `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. |
|
|
457
|
+
| `ctx.approval` | `seam` | `approval` | [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp) | [`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) | - | 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`. |
|
|
458
|
+
| `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. |
|
|
459
|
+
| `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 Code Mode). |
|
|
460
|
+
| `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. |
|
|
461
|
+
| `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. |
|
|
462
|
+
| `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. |
|
|
463
|
+
| `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. |
|
|
464
|
+
| `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. |
|
|
465
|
+
| `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. |
|
|
466
|
+
| `ctx.directoryPicker` | `seam` | `directory-picker` | `directory-picker-native`, `directory-picker-browse` | `apiproxy` | - | 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). |
|
|
467
|
+
| `ctx.webServer` | `core` | `webserver` | - | `connection`, `modules`, `hmr` | - | Plain node:http carrier: named-route registry, index transform taps, and the static dist fallback; web-transport plugins register their own routes. |
|
|
468
|
+
| `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. |
|
|
469
|
+
| `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. |
|
|
470
|
+
| `ctx.lsp` | `seam` | [`lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp) | `lsp-local` | [`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. |
|
|
471
|
+
| `ctx.apiProxy` | `core` | `apiproxy` | - | `connection` | - | The transport-agnostic host gateway face: it dispatches browser API calls, and each open host stream subscribes to the events it forwards rather than being pushed to through a broadcast verb. |
|
|
472
|
+
| `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. |
|
|
473
|
+
| `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. |
|
|
474
|
+
|
|
475
|
+
Maintenance mode: hybrid: services are discovered from Cordis declarations; interface/implementation/consumer roles are classified in `scripts/gen-doc-graphs.ts` with a completeness guard.
|