mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-10-26 16:55:08 +00:00
The two packages keep their directories under packages/experimental and are registered as experimental name exceptions: - @deepseek-ai/dsh-plugin-recommendations - @deepseek-ai/dsh-client-ui-plugin-recommendations Loader row ids, the Remote service name, locale namespaces and the enable_official_plugin action are unchanged. Generated catalogs are regenerated, and both card Web fixtures record the renamed bundle in their skills' plugin catalogs.
739 lines
67 KiB
Markdown
739 lines
67 KiB
Markdown
<!-- Generated by scripts/gen-doc-graphs.ts - do not edit by hand.
|
|
Run `pnpm run gen-doc-graphs` to regenerate. -->
|
|
|
|
# Capability Seams And Core Services
|
|
|
|
A service can be a core spine service, a swappable capability seam, a bundle/composition point, or a standalone service. The graph shows the package that owns the service declaration, known implementation packages, and packages that consume the service directly.
|
|
|
|
```mermaid
|
|
flowchart LR
|
|
pkg_action_cards["action-cards"]
|
|
svc_actionCards["ctx.actionCards<br/>Optional action cards"]
|
|
pkg_creation_recommendations["creation-recommendations"]
|
|
pkg_client_ui_action_cards["client-ui-action-cards"]
|
|
pkg_plugin_recommendations["plugin-recommendations"]
|
|
svc_pluginRecommendations["ctx.pluginRecommendations<br/>Explicit-need plugin recommendations"]
|
|
pkg_client_ui_plugin_recommendations["client-ui-plugin-recommendations"]
|
|
pkg_headless["headless"]
|
|
svc_headlessStartup["ctx.headlessStartup<br/>Headless invocation options"]
|
|
pkg_experimental_client_ui_cot_translation["experimental-client-ui-cot-translation"]
|
|
svc_cotTranslation["ctx.cotTranslation<br/>Reasoning translation Remote"]
|
|
pkg_experimental_translator["experimental-translator"]
|
|
svc_translator["ctx.translator<br/>Anonymous text translation"]
|
|
pkg_hmr["hmr"]
|
|
svc_hmr["ctx.hmr<br/>Serialized module and configuration reloads"]
|
|
pkg_app_boot["app-boot"]
|
|
pkg_client_ui_plugin_manager["client-ui-plugin-manager"]
|
|
svc_pluginRegistryProbe["ctx.pluginRegistryProbe<br/>Host registry response comparison"]
|
|
pkg_plugin_manager["plugin-manager"]
|
|
svc_pluginManager["ctx.pluginManager<br/>Current-profile plugin and bundle management"]
|
|
pkg_ui_settings_plugin_inventory["ui-settings-plugin-inventory"]
|
|
pkg_plugin_market["plugin-market"]
|
|
svc_pluginMarket["ctx.pluginMarket<br/>Plugin market index reader"]
|
|
pkg_client_ui_plugin_market["client-ui-plugin-market"]
|
|
svc_profileContext["ctx.profileContext<br/>Launcher-owned profile data"]
|
|
pkg_client_connection["client-connection"]
|
|
svc_connection["ctx.connection<br/>Authenticated browser transport"]
|
|
pkg_api_gateway["api-gateway"]
|
|
pkg_host_frontend_static["host-frontend-static"]
|
|
pkg_experimental_worktree["experimental-worktree"]
|
|
svc_worktrees["ctx.worktrees<br/>Git worktree creation"]
|
|
pkg_experimental_tool_worktree["experimental-tool-worktree"]
|
|
pkg_working_directory["working-directory"]
|
|
svc_workingDirectory["ctx.workingDirectory<br/>Session working directory"]
|
|
pkg_tool_working_directory["tool-working-directory"]
|
|
pkg_tool_fs["tool-fs"]
|
|
pkg_tool_bash["tool-bash"]
|
|
pkg_tool_pwsh["tool-pwsh"]
|
|
pkg_subagent["subagent"]
|
|
pkg_sdk_jsonrpc_server["sdk-jsonrpc-server"]
|
|
pkg_mcp_resources["mcp-resources"]
|
|
svc_mcpResources["ctx.mcpResources<br/>Scoped MCP resource access"]
|
|
pkg_mcp_client["mcp-client"]
|
|
pkg_browser_use["browser-use"]
|
|
svc_browserUse["ctx.browserUse<br/>Browser-use provider registration"]
|
|
pkg_experimental_browser_use_playwright_mcp["experimental-browser-use-playwright-mcp"]
|
|
pkg_experimental_browser_use_chrome_devtools_mcp["experimental-browser-use-chrome-devtools-mcp"]
|
|
pkg_experimental_browser_use_stagehand_native["experimental-browser-use-stagehand-native"]
|
|
pkg_computer_use["computer-use"]
|
|
svc_computerUse["ctx.computerUse<br/>Computer-use provider registration"]
|
|
pkg_experimental_computer_use_cua_driver_mcp["experimental-computer-use-cua-driver-mcp"]
|
|
pkg_experimental_computer_use_cua_driver_native["experimental-computer-use-cua-driver-native"]
|
|
pkg_cua["cua"]
|
|
svc_cuaAccess["ctx.cuaAccess<br/>Computer Use permission controls"]
|
|
pkg_office_to_pdf["office-to-pdf"]
|
|
svc_officeToPdf["ctx.officeToPdf<br/>Office to PDF conversion"]
|
|
pkg_client_ui_sidebar_documentpreview["client-ui-sidebar-documentpreview"]
|
|
pkg_attachment["attachment"]
|
|
svc_attachments["ctx.attachments<br/>Durable binary attachment storage"]
|
|
pkg_attachment_local["attachment-local"]
|
|
pkg_api_session_controller["api-session-controller"]
|
|
pkg_llm_pi_ai["llm-pi-ai"]
|
|
pkg_llm_deepseek["llm-deepseek"]
|
|
pkg_client_file_upload["client-file-upload"]
|
|
svc_fileUploads["ctx.fileUploads<br/>Agent-scoped staged file uploads"]
|
|
pkg_llm["llm"]
|
|
svc_llm["ctx.llm<br/>LLM adapter registry"]
|
|
pkg_llm_replay["llm-replay"]
|
|
pkg_agent_loop["agent-loop"]
|
|
pkg_compaction_basic["compaction-basic"]
|
|
pkg_deepseek_llm_api_extensions["deepseek-llm-api-extensions"]
|
|
svc_deepseekLlmApiExtensions["ctx.deepseekLlmApiExtensions<br/>Official DeepSeek request extensions"]
|
|
pkg_session_log_deepseek["session-log-deepseek"]
|
|
pkg_plugin_package_inventory_deepseek["plugin-package-inventory-deepseek"]
|
|
pkg_token_meter["token-meter"]
|
|
svc_tokenMeter["ctx.tokenMeter<br/>Replay token measurement"]
|
|
pkg_compaction_tool_result_pruner["compaction-tool-result-pruner"]
|
|
svc_toolResultPruner["ctx.toolResultPruner<br/>Model-free tool-result pruning"]
|
|
pkg_session["session"]
|
|
svc_sessions["ctx.sessions<br/>In-memory session store"]
|
|
pkg_agent["agent"]
|
|
pkg_session_persistence["session-persistence"]
|
|
pkg_session_query["session-query"]
|
|
pkg_session_query_sqlite["session-query-sqlite"]
|
|
pkg_message_feedback["message-feedback"]
|
|
pkg_experimental_api_speech_to_text["experimental-api-speech-to-text"]
|
|
svc_speechController["ctx.speechController<br/>Experimental transcription Remote"]
|
|
svc_sessionController["ctx.sessionController<br/>Host Session Remote controller"]
|
|
svc_sessionFileReferences["ctx.sessionFileReferences<br/>Session-addressed file-reference Remote adapter"]
|
|
svc_sessionSkillCatalog["ctx.sessionSkillCatalog<br/>Session-addressed skill Remote adapter"]
|
|
pkg_api_job_controller["api-job-controller"]
|
|
svc_jobController["ctx.jobController<br/>Host job Remote controller"]
|
|
pkg_api_settings_controller["api-settings-controller"]
|
|
svc_credentialsController["ctx.credentialsController<br/>Host credential-surface Remote controller"]
|
|
svc_settingsController["ctx.settingsController<br/>Host settings-surface Remote controller"]
|
|
pkg_api_workspace_files["api-workspace-files"]
|
|
svc_workspaceFiles["ctx.workspaceFiles<br/>Host workspace file Remote service"]
|
|
pkg_workspace_changes["workspace-changes"]
|
|
svc_workspaceChanges["ctx.workspaceChanges<br/>Host per-turn changed-file summaries"]
|
|
pkg_api_terminal_controller["api-terminal-controller"]
|
|
svc_terminalController["ctx.terminalController<br/>Session interactive terminal Remote controller"]
|
|
pkg_api_workspace_controller["api-workspace-controller"]
|
|
svc_workspaceController["ctx.workspaceController<br/>Host Workspace Remote controller"]
|
|
svc_directoryPickerController["ctx.directoryPickerController<br/>Host directory-picking Remote controller"]
|
|
pkg_typert_registry["typert-registry"]
|
|
svc_typert["ctx.typert<br/>Runtime type registry"]
|
|
pkg_typert_loader["typert-loader"]
|
|
svc_typertGateway["ctx.typertGateway<br/>Typert Host invocation gateway"]
|
|
pkg_api_remote_access["api-remote-access"]
|
|
svc_remoteAccess["ctx.remoteAccess<br/>Remote method access control"]
|
|
svc_sessionPersistence["ctx.sessionPersistence<br/>Durable session persistence seam"]
|
|
pkg_session_persistence_jsonl["session-persistence-jsonl"]
|
|
pkg_hooks_claude_code["hooks-claude-code"]
|
|
pkg_hooks_codex["hooks-codex"]
|
|
pkg_config_editor["config-editor"]
|
|
svc_configEditor["ctx.configEditor<br/>Profile configuration edits"]
|
|
pkg_settings["settings"]
|
|
pkg_agent_default_model["agent-default-model"]
|
|
svc_settings["ctx.settings<br/>Plugin configuration forms"]
|
|
pkg_tool_subagent["tool-subagent"]
|
|
svc_subagentModelSelection["ctx.subagentModelSelection<br/>Subagent model-selection preference"]
|
|
pkg_credentials["credentials"]
|
|
svc_credentials["ctx.credentials<br/>Credential seam"]
|
|
pkg_credentials_local["credentials-local"]
|
|
pkg_deepseek_account["deepseek-account"]
|
|
svc_deepseekAccount["ctx.deepseekAccount<br/>DeepSeek account"]
|
|
pkg_deepseek_account_platform["deepseek-account-platform"]
|
|
pkg_api_account_controller["api-account-controller"]
|
|
pkg_authorization["authorization"]
|
|
svc_authorization["ctx.authorization<br/>Authorization flow registry"]
|
|
pkg_client_product_analytics["client-product-analytics"]
|
|
svc_productAnalytics["ctx.productAnalytics<br/>Desktop interaction collection"]
|
|
pkg_otel["otel"]
|
|
svc_otel["ctx.otel<br/>Shared OTel reporting channels"]
|
|
pkg_host_product_telemetry_otel["host-product-telemetry-otel"]
|
|
pkg_session_telemetry_otel["session-telemetry-otel"]
|
|
svc_productTelemetry["ctx.productTelemetry<br/>Product usage event sender"]
|
|
pkg_session_telemetry["session-telemetry"]
|
|
svc_sessionTelemetry["ctx.sessionTelemetry<br/>Session telemetry seam"]
|
|
pkg_storage["storage"]
|
|
svc_storage["ctx.storage<br/>Non-session storage hub"]
|
|
pkg_storage_json["storage-json"]
|
|
pkg_storage_sqlite["storage-sqlite"]
|
|
pkg_storage_domain["storage-domain"]
|
|
svc_storageDomain["ctx.storageDomain<br/>Domain data facility"]
|
|
pkg_workspace["workspace"]
|
|
svc_messageFeedback["ctx.messageFeedback<br/>Lifecycle-bound message feedback"]
|
|
pkg_command_feedback["command-feedback"]
|
|
svc_sessionFeedback["ctx.sessionFeedback<br/>Session-level feedback recorder"]
|
|
svc_workspaceRegistry["ctx.workspaceRegistry<br/>Workspace entity registry"]
|
|
svc_sessionQuery["ctx.sessionQuery<br/>Session reads, traces, filters, and search"]
|
|
pkg_session_reference["session-reference"]
|
|
pkg_tool_session_query["tool-session-query"]
|
|
pkg_file_reference["file-reference"]
|
|
svc_fileReferences["ctx.fileReferences<br/>File reference discovery"]
|
|
pkg_file_reference_local["file-reference-local"]
|
|
svc_sessionReferenceResolver["ctx.sessionReferenceResolver<br/>Cross-session snapshot preparation"]
|
|
pkg_session_title["session-title"]
|
|
svc_sessionTitle["ctx.sessionTitle<br/>Log-backed session titles"]
|
|
pkg_session_title_first_prompt_llm["session-title-first-prompt-llm"]
|
|
pkg_session_title_all_prompts_llm["session-title-all-prompts-llm"]
|
|
pkg_system_prompt["system-prompt"]
|
|
svc_systemPrompt["ctx.systemPrompt<br/>System prompt assembly registry"]
|
|
pkg_tools["tools"]
|
|
pkg_tool_terminal["tool-terminal"]
|
|
pkg_tool_web["tool-web"]
|
|
svc_tools["ctx.tools<br/>Scoped tool registry and executor selection"]
|
|
pkg_tool_ask_user["tool-ask-user"]
|
|
pkg_tool_cordis["tool-cordis"]
|
|
pkg_tool_skill["tool-skill"]
|
|
pkg_tool_todo["tool-todo"]
|
|
pkg_user_questions["user-questions"]
|
|
svc_userQuestions["ctx.userQuestions<br/>Human question/answer seam"]
|
|
pkg_plan_mode["plan-mode"]
|
|
svc_planMode["ctx.planMode<br/>Plan collaboration state"]
|
|
pkg_agent_preset_registry["agent-preset-registry"]
|
|
svc_agentPresets["ctx.agentPresets<br/>Per-session agent composition"]
|
|
pkg_commands["commands"]
|
|
svc_commands["ctx.commands<br/>Human command registry"]
|
|
pkg_session_projection["session-projection"]
|
|
svc_sessionProjections["ctx.sessionProjections<br/>Session projection units"]
|
|
pkg_session_projection_cache["session-projection-cache"]
|
|
svc_sessionProjectionCache["ctx.sessionProjectionCache<br/>Persisted projection cache"]
|
|
pkg_skill["skill"]
|
|
svc_skills["ctx.skills<br/>Skill provider registry"]
|
|
pkg_sandbox_windows_acl["sandbox-windows-acl"]
|
|
pkg_skill_badge["skill-badge"]
|
|
pkg_skill_filesystem["skill-filesystem"]
|
|
pkg_skill_office["skill-office"]
|
|
svc_agents["ctx.agents<br/>Agent service"]
|
|
pkg_acp["acp"]
|
|
svc_agentDefaultModel["ctx.agentDefaultModel<br/>Default Agent model selection"]
|
|
svc_agentLoop["ctx.agentLoop<br/>Concrete loop driver"]
|
|
pkg_base["base"]
|
|
pkg_sdk_minimal["sdk-minimal"]
|
|
pkg_schedule["schedule"]
|
|
svc_schedule["ctx.schedule<br/>Host scheduled messages"]
|
|
pkg_goal["goal"]
|
|
svc_goals["ctx.goals<br/>Same-session goal domain"]
|
|
pkg_ssh["ssh"]
|
|
svc_ssh["ctx.ssh<br/>POSIX SSH connection owner"]
|
|
pkg_fs_ssh["fs-ssh"]
|
|
pkg_subprocess_ssh["subprocess-ssh"]
|
|
pkg_sandbox_ssh["sandbox-ssh"]
|
|
pkg_subprocess["subprocess"]
|
|
svc_subprocess["ctx.subprocess<br/>Subprocess seam"]
|
|
pkg_subprocess_local["subprocess-local"]
|
|
pkg_bash_local["bash-local"]
|
|
pkg_bash_sandbox["bash-sandbox"]
|
|
pkg_terminal_bash["terminal-bash"]
|
|
pkg_lsp_stdio["lsp-stdio"]
|
|
pkg_subagent_acp["subagent-acp"]
|
|
pkg_subagent_codex["subagent-codex"]
|
|
pkg_subagent_claude_code["subagent-claude-code"]
|
|
pkg_shell["shell"]
|
|
svc_shell["ctx.shell<br/>Bash executor seam"]
|
|
pkg_pwsh_local["pwsh-local"]
|
|
pkg_shell_env["shell-env"]
|
|
svc_shellEnv["ctx.shellEnv<br/>Managed bash environment registry"]
|
|
pkg_terminal["terminal"]
|
|
svc_terminals["ctx.terminals<br/>Persistent PTY session registry"]
|
|
pkg_sandbox["sandbox"]
|
|
svc_sandbox["ctx.sandbox<br/>Process-sandbox seam"]
|
|
pkg_sandbox_local["sandbox-local"]
|
|
pkg_sandbox_policy["sandbox-policy"]
|
|
svc_sandboxPolicy["ctx.sandboxPolicy<br/>Sandbox policy home"]
|
|
pkg_fs_sandbox["fs-sandbox"]
|
|
pkg_user_approval["user-approval"]
|
|
svc_approval["ctx.approval<br/>Approval seam"]
|
|
pkg_permission_presets["permission-presets"]
|
|
svc_permissionPresets["ctx.permissionPresets<br/>Permission presets"]
|
|
pkg_ptc_runtime["ptc-runtime"]
|
|
svc_ptcRuntime["ctx.ptcRuntime<br/>PTC execution seam"]
|
|
pkg_ptc_runtime_node["ptc-runtime-node"]
|
|
pkg_experimental_ptc_runtime_python["experimental-ptc-runtime-python"]
|
|
pkg_tool_executor_ptc["tool-executor-ptc"]
|
|
pkg_workflow_ptc["workflow-ptc"]
|
|
pkg_fs["fs"]
|
|
svc_fs["ctx.fs<br/>Filesystem provider seam"]
|
|
pkg_fs_local["fs-local"]
|
|
pkg_fs_observation_policy["fs-observation-policy"]
|
|
pkg_compaction["compaction"]
|
|
svc_compaction["ctx.compaction<br/>Compaction seam"]
|
|
svc_subagents["ctx.subagents<br/>Subagent provider and continuation service"]
|
|
pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
|
|
pkg_subagent_fork_in_process["subagent-fork-in-process"]
|
|
pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
|
|
pkg_tool_subagent_control["tool-subagent-control"]
|
|
pkg_tool_ralph["tool-ralph"]
|
|
pkg_experimental_speech_to_text["experimental-speech-to-text"]
|
|
svc_speechToText["ctx.speechToText<br/>Experimental speech recognition providers"]
|
|
pkg_experimental_speech_to_text_sensevoice["experimental-speech-to-text-sensevoice"]
|
|
pkg_experimental_agent_team["experimental-agent-team"]
|
|
svc_agentTeams["ctx.agentTeams<br/>Agent Teams coordination domain"]
|
|
pkg_experimental_tool_agent_team["experimental-tool-agent-team"]
|
|
pkg_experimental_claude_code_mods["experimental-claude-code-mods"]
|
|
svc_claudeCodeMods["ctx.claudeCodeMods<br/>Claude Code mods bridge"]
|
|
pkg_inspector["inspector"]
|
|
svc_inspector["ctx.inspector<br/>Cross-realm runtime inspection"]
|
|
pkg_jobs["jobs"]
|
|
svc_jobs["ctx.jobs<br/>Background job registry"]
|
|
pkg_jobs_local["jobs-local"]
|
|
pkg_tool_jobs["tool-jobs"]
|
|
pkg_web["web"]
|
|
svc_web["ctx.web<br/>Web access provider registry"]
|
|
pkg_web_search_exa["web-search-exa"]
|
|
pkg_web_search_perplexity["web-search-perplexity"]
|
|
pkg_web_search_deepseek["web-search-deepseek"]
|
|
pkg_web_deepseek_api["web-deepseek-api"]
|
|
pkg_web_fetch_http["web-fetch-http"]
|
|
pkg_spill["spill"]
|
|
svc_spillStore["ctx.spillStore<br/>Spill storage seam"]
|
|
pkg_spill_local["spill-local"]
|
|
pkg_spill_policy["spill-policy"]
|
|
pkg_host_directory_picker["host-directory-picker"]
|
|
svc_directoryPicker["ctx.directoryPicker<br/>Workspace-directory picking seam"]
|
|
pkg_host_directory_picker_native["host-directory-picker-native"]
|
|
pkg_host_directory_picker_browse["host-directory-picker-browse"]
|
|
pkg_host_webserver["host-webserver"]
|
|
svc_webServer["ctx.webServer<br/>HTTP route registration"]
|
|
pkg_client_modules["client-modules"]
|
|
pkg_client_hmr["client-hmr"]
|
|
pkg_web_app["web-app"]
|
|
svc_webApp["ctx.webApp<br/>Served Web GUI"]
|
|
pkg_harness_dev_context["harness-dev-context"]
|
|
svc_clientModules["ctx.clientModules<br/>Client plugin graph host"]
|
|
pkg_workflow["workflow"]
|
|
svc_workflowEngine["ctx.workflowEngine<br/>Workflow script engine"]
|
|
pkg_tool_workflow["tool-workflow"]
|
|
pkg_webhook["webhook"]
|
|
svc_webhookRuntime["ctx.webhookRuntime<br/>Webhook rule runtime"]
|
|
pkg_webhook_github["webhook-github"]
|
|
pkg_lsp["lsp"]
|
|
svc_lsp["ctx.lsp<br/>Language-server navigation seam"]
|
|
pkg_tool_lsp["tool-lsp"]
|
|
pkg_cordis_host_runner["cordis-host-runner"]
|
|
svc_dynamicCordisRunner["ctx.dynamicCordisRunner<br/>Dynamic Cordis package host runner"]
|
|
svc_cordisInspect["ctx.cordisInspect<br/>Dynamic Cordis inspect registry"]
|
|
pkg_action_cards --> svc_actionCards
|
|
pkg_agent --> svc_agents
|
|
pkg_agent_default_model --> svc_agentDefaultModel
|
|
pkg_agent_loop --> svc_agentLoop
|
|
pkg_agent_preset_registry --> svc_agentPresets
|
|
pkg_api_gateway --> svc_typertGateway
|
|
pkg_api_job_controller --> svc_jobController
|
|
pkg_api_remote_access --> svc_remoteAccess
|
|
pkg_api_session_controller --> svc_sessionController
|
|
pkg_api_session_controller --> svc_sessionFileReferences
|
|
pkg_api_session_controller --> svc_sessionSkillCatalog
|
|
pkg_api_settings_controller --> svc_credentialsController
|
|
pkg_api_settings_controller --> svc_settingsController
|
|
pkg_api_terminal_controller --> svc_terminalController
|
|
pkg_api_workspace_controller --> svc_directoryPickerController
|
|
pkg_api_workspace_controller --> svc_workspaceController
|
|
pkg_api_workspace_files --> svc_workspaceFiles
|
|
pkg_app_boot --> svc_profileContext
|
|
pkg_attachment --> svc_attachments
|
|
pkg_attachment_local --> svc_attachments
|
|
pkg_authorization --> svc_authorization
|
|
pkg_bash_local --> svc_shell
|
|
pkg_bash_sandbox --> svc_shell
|
|
pkg_browser_use --> svc_browserUse
|
|
pkg_client_connection --> svc_connection
|
|
pkg_client_file_upload --> svc_fileUploads
|
|
pkg_client_modules --> svc_clientModules
|
|
pkg_client_product_analytics --> svc_productAnalytics
|
|
pkg_client_ui_plugin_manager --> svc_pluginRegistryProbe
|
|
pkg_command_feedback --> svc_sessionFeedback
|
|
pkg_commands --> svc_commands
|
|
pkg_compaction --> svc_compaction
|
|
pkg_compaction_basic --> svc_compaction
|
|
pkg_compaction_tool_result_pruner --> svc_toolResultPruner
|
|
pkg_computer_use --> svc_computerUse
|
|
pkg_config_editor --> svc_configEditor
|
|
pkg_cordis_host_runner --> svc_cordisInspect
|
|
pkg_cordis_host_runner --> svc_dynamicCordisRunner
|
|
pkg_credentials --> svc_credentials
|
|
pkg_credentials_local --> svc_credentials
|
|
pkg_cua --> svc_cuaAccess
|
|
pkg_deepseek_account --> svc_deepseekAccount
|
|
pkg_deepseek_account_platform --> svc_deepseekAccount
|
|
pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
|
|
pkg_experimental_agent_team --> svc_agentTeams
|
|
pkg_experimental_api_speech_to_text --> svc_speechController
|
|
pkg_experimental_browser_use_chrome_devtools_mcp --> svc_browserUse
|
|
pkg_experimental_browser_use_playwright_mcp --> svc_browserUse
|
|
pkg_experimental_browser_use_stagehand_native --> svc_browserUse
|
|
pkg_experimental_claude_code_mods --> svc_claudeCodeMods
|
|
pkg_experimental_client_ui_cot_translation --> svc_cotTranslation
|
|
pkg_experimental_computer_use_cua_driver_mcp --> svc_computerUse
|
|
pkg_experimental_computer_use_cua_driver_native --> svc_computerUse
|
|
pkg_experimental_ptc_runtime_python --> svc_ptcRuntime
|
|
pkg_experimental_speech_to_text --> svc_speechToText
|
|
pkg_experimental_speech_to_text_sensevoice --> svc_speechToText
|
|
pkg_experimental_translator --> svc_translator
|
|
pkg_experimental_worktree --> svc_worktrees
|
|
pkg_file_reference --> svc_fileReferences
|
|
pkg_file_reference_local --> svc_fileReferences
|
|
pkg_fs --> svc_fs
|
|
pkg_fs_local --> svc_fs
|
|
pkg_fs_sandbox --> svc_fs
|
|
pkg_fs_ssh --> svc_fs
|
|
pkg_goal --> svc_goals
|
|
pkg_headless --> svc_headlessStartup
|
|
pkg_hmr --> svc_hmr
|
|
pkg_host_directory_picker --> svc_directoryPicker
|
|
pkg_host_directory_picker_browse --> svc_directoryPicker
|
|
pkg_host_directory_picker_native --> svc_directoryPicker
|
|
pkg_host_product_telemetry_otel --> svc_productTelemetry
|
|
pkg_host_webserver --> svc_webServer
|
|
pkg_inspector --> svc_inspector
|
|
pkg_jobs --> svc_jobs
|
|
pkg_jobs_local --> svc_jobs
|
|
pkg_llm --> svc_llm
|
|
pkg_llm_deepseek --> svc_llm
|
|
pkg_llm_pi_ai --> svc_llm
|
|
pkg_llm_replay --> svc_llm
|
|
pkg_lsp --> svc_lsp
|
|
pkg_lsp_stdio --> svc_lsp
|
|
pkg_mcp_client --> svc_mcpResources
|
|
pkg_mcp_resources --> svc_mcpResources
|
|
pkg_message_feedback --> svc_messageFeedback
|
|
pkg_office_to_pdf --> svc_officeToPdf
|
|
pkg_otel --> svc_otel
|
|
pkg_permission_presets --> svc_permissionPresets
|
|
pkg_plan_mode --> svc_planMode
|
|
pkg_plugin_manager --> svc_pluginManager
|
|
pkg_plugin_market --> svc_pluginMarket
|
|
pkg_plugin_package_inventory_deepseek --> svc_deepseekLlmApiExtensions
|
|
pkg_plugin_recommendations --> svc_pluginRecommendations
|
|
pkg_ptc_runtime --> svc_ptcRuntime
|
|
pkg_ptc_runtime_node --> svc_ptcRuntime
|
|
pkg_pwsh_local --> svc_shell
|
|
pkg_sandbox --> svc_sandbox
|
|
pkg_sandbox_local --> svc_sandbox
|
|
pkg_sandbox_policy --> svc_sandboxPolicy
|
|
pkg_sandbox_ssh --> svc_sandbox
|
|
pkg_sandbox_windows_acl --> svc_skills
|
|
pkg_schedule --> svc_schedule
|
|
pkg_session --> svc_sessions
|
|
pkg_session_log_deepseek --> svc_deepseekLlmApiExtensions
|
|
pkg_session_persistence --> svc_sessionPersistence
|
|
pkg_session_persistence_jsonl --> svc_sessionPersistence
|
|
pkg_session_projection --> svc_sessionProjections
|
|
pkg_session_projection_cache --> svc_sessionProjectionCache
|
|
pkg_session_query --> svc_sessionQuery
|
|
pkg_session_query_sqlite --> svc_sessionQuery
|
|
pkg_session_reference --> svc_sessionReferenceResolver
|
|
pkg_session_telemetry --> svc_sessionTelemetry
|
|
pkg_session_telemetry_otel --> svc_sessionTelemetry
|
|
pkg_session_title --> svc_sessionTitle
|
|
pkg_session_title_all_prompts_llm --> svc_sessionTitle
|
|
pkg_session_title_first_prompt_llm --> svc_sessionTitle
|
|
pkg_settings --> svc_settings
|
|
pkg_shell --> svc_shell
|
|
pkg_shell_env --> svc_shellEnv
|
|
pkg_skill --> svc_skills
|
|
pkg_skill_badge --> svc_skills
|
|
pkg_skill_filesystem --> svc_skills
|
|
pkg_skill_office --> svc_skills
|
|
pkg_spill --> svc_spillStore
|
|
pkg_spill_local --> svc_spillStore
|
|
pkg_ssh --> svc_ssh
|
|
pkg_storage --> svc_storage
|
|
pkg_storage_domain --> svc_storageDomain
|
|
pkg_storage_json --> svc_storage
|
|
pkg_storage_sqlite --> svc_storage
|
|
pkg_subagent --> svc_subagents
|
|
pkg_subagent_acp --> svc_subagents
|
|
pkg_subagent_claude_code --> svc_subagents
|
|
pkg_subagent_codex --> svc_subagents
|
|
pkg_subagent_dsh_sdk --> svc_subagents
|
|
pkg_subagent_fork_in_process --> svc_subagents
|
|
pkg_subagent_spawn_in_process --> svc_subagents
|
|
pkg_subprocess --> svc_subprocess
|
|
pkg_subprocess_local --> svc_subprocess
|
|
pkg_subprocess_ssh --> svc_subprocess
|
|
pkg_system_prompt --> svc_systemPrompt
|
|
pkg_terminal --> svc_terminals
|
|
pkg_terminal_bash --> svc_terminals
|
|
pkg_token_meter --> svc_tokenMeter
|
|
pkg_tool_subagent --> svc_subagentModelSelection
|
|
pkg_tools --> svc_tools
|
|
pkg_typert_registry --> svc_typert
|
|
pkg_user_approval --> svc_approval
|
|
pkg_user_questions --> svc_userQuestions
|
|
pkg_web --> svc_web
|
|
pkg_web_app --> svc_webApp
|
|
pkg_web_deepseek_api --> svc_web
|
|
pkg_web_fetch_http --> svc_web
|
|
pkg_web_search_deepseek --> svc_web
|
|
pkg_web_search_exa --> svc_web
|
|
pkg_web_search_perplexity --> svc_web
|
|
pkg_webhook --> svc_webhookRuntime
|
|
pkg_workflow --> svc_workflowEngine
|
|
pkg_workflow_ptc --> svc_workflowEngine
|
|
pkg_working_directory --> svc_workingDirectory
|
|
pkg_workspace --> svc_workspaceRegistry
|
|
pkg_workspace_changes --> svc_workspaceChanges
|
|
svc_actionCards --> pkg_client_ui_action_cards
|
|
svc_actionCards --> pkg_creation_recommendations
|
|
svc_agentDefaultModel --> pkg_api_session_controller
|
|
svc_agentDefaultModel --> pkg_headless
|
|
svc_agentLoop --> pkg_base
|
|
svc_agentLoop --> pkg_sdk_minimal
|
|
svc_agentTeams --> pkg_experimental_tool_agent_team
|
|
svc_agents --> pkg_acp
|
|
svc_agents --> pkg_agent_loop
|
|
svc_agents --> pkg_subagent
|
|
svc_approval --> pkg_acp
|
|
svc_approval --> pkg_tool_bash
|
|
svc_approval --> pkg_tools
|
|
svc_attachments --> pkg_api_session_controller
|
|
svc_attachments --> pkg_llm_deepseek
|
|
svc_attachments --> pkg_llm_pi_ai
|
|
svc_attachments --> pkg_tool_fs
|
|
svc_authorization --> pkg_llm_pi_ai
|
|
svc_browserUse --> pkg_experimental_browser_use_chrome_devtools_mcp
|
|
svc_browserUse --> pkg_experimental_browser_use_playwright_mcp
|
|
svc_browserUse --> pkg_experimental_browser_use_stagehand_native
|
|
svc_clientModules --> pkg_client_hmr
|
|
svc_compaction --> pkg_compaction_basic
|
|
svc_computerUse --> pkg_experimental_computer_use_cua_driver_mcp
|
|
svc_computerUse --> pkg_experimental_computer_use_cua_driver_native
|
|
svc_configEditor --> pkg_agent_default_model
|
|
svc_configEditor --> pkg_settings
|
|
svc_connection --> pkg_api_gateway
|
|
svc_connection --> pkg_host_frontend_static
|
|
svc_cordisInspect --> pkg_tool_cordis
|
|
svc_credentials --> pkg_api_settings_controller
|
|
svc_credentials --> pkg_llm_deepseek
|
|
svc_credentials --> pkg_llm_pi_ai
|
|
svc_cuaAccess --> pkg_cua
|
|
svc_deepseekAccount --> pkg_api_account_controller
|
|
svc_deepseekAccount --> pkg_llm_deepseek
|
|
svc_deepseekLlmApiExtensions --> pkg_llm_deepseek
|
|
svc_directoryPicker --> pkg_api_workspace_controller
|
|
svc_dynamicCordisRunner --> pkg_tool_cordis
|
|
svc_fileReferences --> pkg_api_session_controller
|
|
svc_fileUploads --> pkg_api_session_controller
|
|
svc_fs --> pkg_tool_fs
|
|
svc_headlessStartup --> pkg_headless
|
|
svc_hmr --> pkg_app_boot
|
|
svc_jobs --> pkg_api_job_controller
|
|
svc_jobs --> pkg_tool_bash
|
|
svc_jobs --> pkg_tool_jobs
|
|
svc_jobs --> pkg_tool_pwsh
|
|
svc_jobs --> pkg_tool_terminal
|
|
svc_llm --> pkg_agent_loop
|
|
svc_llm --> pkg_compaction_basic
|
|
svc_lsp --> pkg_tool_lsp
|
|
svc_mcpResources --> pkg_mcp_resources
|
|
svc_officeToPdf --> pkg_client_ui_sidebar_documentpreview
|
|
svc_otel --> pkg_host_product_telemetry_otel
|
|
svc_otel --> pkg_session_telemetry_otel
|
|
svc_pluginManager --> pkg_plugin_manager
|
|
svc_pluginManager --> pkg_ui_settings_plugin_inventory
|
|
svc_pluginMarket --> pkg_client_ui_plugin_market
|
|
svc_pluginMarket --> pkg_plugin_market
|
|
svc_pluginRecommendations --> pkg_client_ui_plugin_recommendations
|
|
svc_pluginRegistryProbe --> pkg_client_ui_plugin_manager
|
|
svc_profileContext --> pkg_plugin_manager
|
|
svc_ptcRuntime --> pkg_tool_executor_ptc
|
|
svc_ptcRuntime --> pkg_workflow_ptc
|
|
svc_remoteAccess --> pkg_api_gateway
|
|
svc_remoteAccess --> pkg_api_session_controller
|
|
svc_remoteAccess --> pkg_api_workspace_controller
|
|
svc_sandbox --> pkg_bash_sandbox
|
|
svc_sandbox --> pkg_terminal_bash
|
|
svc_sandboxPolicy --> pkg_bash_sandbox
|
|
svc_sandboxPolicy --> pkg_fs_sandbox
|
|
svc_sandboxPolicy --> pkg_terminal_bash
|
|
svc_sessionPersistence --> pkg_agent_loop
|
|
svc_sessionPersistence --> pkg_hooks_claude_code
|
|
svc_sessionPersistence --> pkg_hooks_codex
|
|
svc_sessionPersistence --> pkg_message_feedback
|
|
svc_sessionPersistence --> pkg_session_query
|
|
svc_sessionPersistence --> pkg_session_query_sqlite
|
|
svc_sessionPersistence --> pkg_tool_bash
|
|
svc_sessionProjectionCache --> pkg_api_session_controller
|
|
svc_sessionProjectionCache --> pkg_session_query
|
|
svc_sessionProjectionCache --> pkg_session_reference
|
|
svc_sessionProjections --> pkg_api_session_controller
|
|
svc_sessionProjections --> pkg_session_title
|
|
svc_sessionProjections --> pkg_tool_todo
|
|
svc_sessionQuery --> pkg_session_reference
|
|
svc_sessionQuery --> pkg_tool_session_query
|
|
svc_sessions --> pkg_agent
|
|
svc_sessions --> pkg_agent_loop
|
|
svc_sessions --> pkg_message_feedback
|
|
svc_sessions --> pkg_session_persistence
|
|
svc_sessions --> pkg_session_query
|
|
svc_sessions --> pkg_session_query_sqlite
|
|
svc_sessions --> pkg_subagent
|
|
svc_settings --> pkg_api_settings_controller
|
|
svc_shell --> pkg_hooks_claude_code
|
|
svc_shell --> pkg_hooks_codex
|
|
svc_shell --> pkg_tool_bash
|
|
svc_shell --> pkg_tool_pwsh
|
|
svc_shellEnv --> pkg_tool_bash
|
|
svc_shellEnv --> pkg_tool_pwsh
|
|
svc_skills --> pkg_tool_skill
|
|
svc_speechToText --> pkg_experimental_api_speech_to_text
|
|
svc_spillStore --> pkg_spill_policy
|
|
svc_ssh --> pkg_fs_ssh
|
|
svc_ssh --> pkg_sandbox_ssh
|
|
svc_ssh --> pkg_subprocess_ssh
|
|
svc_storage --> pkg_storage_domain
|
|
svc_storageDomain --> pkg_workspace
|
|
svc_subagentModelSelection --> pkg_tool_subagent
|
|
svc_subagents --> pkg_tool_ralph
|
|
svc_subagents --> pkg_tool_subagent
|
|
svc_subagents --> pkg_tool_subagent_control
|
|
svc_subprocess --> pkg_bash_local
|
|
svc_subprocess --> pkg_bash_sandbox
|
|
svc_subprocess --> pkg_lsp_stdio
|
|
svc_subprocess --> pkg_subagent_acp
|
|
svc_subprocess --> pkg_subagent_claude_code
|
|
svc_subprocess --> pkg_subagent_codex
|
|
svc_subprocess --> pkg_terminal_bash
|
|
svc_systemPrompt --> pkg_agent_loop
|
|
svc_systemPrompt --> pkg_tool_fs
|
|
svc_systemPrompt --> pkg_tool_terminal
|
|
svc_systemPrompt --> pkg_tool_web
|
|
svc_systemPrompt --> pkg_tools
|
|
svc_terminals --> pkg_tool_terminal
|
|
svc_tokenMeter --> pkg_compaction_basic
|
|
svc_toolResultPruner --> pkg_compaction_basic
|
|
svc_tools --> pkg_agent_loop
|
|
svc_tools --> pkg_tool_ask_user
|
|
svc_tools --> pkg_tool_bash
|
|
svc_tools --> pkg_tool_cordis
|
|
svc_tools --> pkg_tool_fs
|
|
svc_tools --> pkg_tool_skill
|
|
svc_tools --> pkg_tool_subagent
|
|
svc_tools --> pkg_tool_terminal
|
|
svc_tools --> pkg_tool_todo
|
|
svc_tools --> pkg_tool_web
|
|
svc_translator --> pkg_experimental_client_ui_cot_translation
|
|
svc_typert --> pkg_api_gateway
|
|
svc_typert --> pkg_typert_loader
|
|
svc_userQuestions --> pkg_tool_ask_user
|
|
svc_web --> pkg_tool_web
|
|
svc_webApp --> pkg_harness_dev_context
|
|
svc_webServer --> pkg_client_connection
|
|
svc_webServer --> pkg_client_hmr
|
|
svc_webServer --> pkg_client_modules
|
|
svc_webhookRuntime --> pkg_webhook_github
|
|
svc_workflowEngine --> pkg_tool_ralph
|
|
svc_workflowEngine --> pkg_tool_workflow
|
|
svc_workingDirectory --> pkg_sdk_jsonrpc_server
|
|
svc_workingDirectory --> pkg_subagent
|
|
svc_workingDirectory --> pkg_tool_bash
|
|
svc_workingDirectory --> pkg_tool_fs
|
|
svc_workingDirectory --> pkg_tool_pwsh
|
|
svc_workingDirectory --> pkg_tool_working_directory
|
|
svc_workspaceRegistry --> pkg_api_session_controller
|
|
svc_workspaceRegistry --> pkg_api_workspace_controller
|
|
svc_worktrees --> pkg_experimental_tool_worktree
|
|
svc_fs -. event gate .-> pkg_fs_observation_policy
|
|
```
|
|
|
|
| ctx key | Role | Owner | Implementations | Direct consumers | Companion plugins | Note |
|
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
| `ctx.actionCards` | `service` | [`action-cards`](../packages/experimental/action-cards) | - | [`creation-recommendations`](../packages/experimental/creation-recommendations), [`client-ui-action-cards`](../packages/experimental/client-ui-action-cards) | - | Owns the card tool, card state, user actions and status notices; card kinds register their actions and handlers. |
|
|
| `ctx.pluginRecommendations` | `service` | [`plugin-recommendations`](../packages/experimental/plugin-recommendations) | - | [`client-ui-plugin-recommendations`](../packages/experimental/client-ui-plugin-recommendations) | - | Reads the current catalog text of an official plugin card and enables the plugin through the profile plugin manager after a click. |
|
|
| `ctx.headlessStartup` | `core` | [`headless`](../packages/bundle/headless) | - | [`headless`](../packages/bundle/headless) | - | Supplies parsed task and run options to the headless runner and its sandbox-policy configuration. |
|
|
| `ctx.cotTranslation` | `service` | [`experimental-client-ui-cot-translation`](../packages/experimental/client-ui-cot-translation) | - | - | - | Serves reasoning translations, reuses saved results, and joins ordinary Session activation for uncached inactive Sessions. |
|
|
| `ctx.translator` | `service` | [`experimental-translator`](../packages/experimental/translator) | - | [`experimental-client-ui-cot-translation`](../packages/experimental/client-ui-cot-translation) | - | Resolves Google or Bing requests and retains shared experimental records through the active Session writer. |
|
|
| `ctx.hmr` | `core` | [`hmr`](../packages/boot/hmr) | - | [`app-boot`](../packages/boot/app-boot) | - | Owns module and exact configuration watchers; application mutations share its queue and automatic reloads await the application file lock. |
|
|
| `ctx.pluginRegistryProbe` | `core` | [`client-ui-plugin-manager`](../packages/client/ui-plugin-manager) | - | [`client-ui-plugin-manager`](../packages/client/ui-plugin-manager) | - | Races public registry responses on the Host; the Client owns the initial registry recommendation. |
|
|
| `ctx.pluginManager` | `core` | [`plugin-manager`](../packages/boot/plugin-manager) | - | [`plugin-manager`](../packages/boot/plugin-manager), `ui-settings-plugin-inventory` | - | Shares profile package operations with the CLI and reports persisted and running state to Web and agent callers. |
|
|
| `ctx.pluginMarket` | `core` | [`plugin-market`](../packages/boot/plugin-market) | - | [`client-ui-plugin-market`](../packages/client/ui-plugin-market), [`plugin-market`](../packages/boot/plugin-market) | - | Fetches and validates the index sources the user configures; installation goes through the plugin manager. |
|
|
| `ctx.profileContext` | `core` | [`app-boot`](../packages/boot/app-boot) | - | [`plugin-manager`](../packages/boot/plugin-manager) | - | The dsh launcher supplies data-only profile locations and composition inputs; reload scheduling belongs to dsh-hmr. |
|
|
| `ctx.connection` | `core` | [`client-connection`](../packages/client/connection) | - | [`api-gateway`](../packages/api/gateway), [`host-frontend-static`](../packages/host/frontend-static) | - | Owns browser authentication and shared HTTP request dispatch; API adapters register endpoints and streams. |
|
|
| `ctx.worktrees` | `seam` | [`experimental-worktree`](../packages/experimental/worktree) | [`experimental-worktree`](../packages/experimental/worktree) | [`experimental-tool-worktree`](../packages/experimental/tool-worktree) | - | Explicit experimental creation from a pinned local commit. Existing write permissions govern checkout and shared Git metadata; the working-directory service owns the resulting Session directory. |
|
|
| `ctx.workingDirectory` | `seam` | [`working-directory`](../packages/session/working-directory) | [`working-directory`](../packages/session/working-directory) | [`tool-working-directory`](../packages/session/tool-working-directory), [`tool-fs`](../packages/fs/tool-fs), [`tool-bash`](../packages/shell/tool-bash), [`tool-pwsh`](../packages/shell/tool-pwsh), [`subagent`](../packages/subagent/subagent), [`sdk-jsonrpc-server`](../packages/sdk/server) | - | One Session projection owns the effective execution directory. The filesystem validates changes; user context reports them while original metadata and write grants stay fixed. |
|
|
| `ctx.mcpResources` | `seam` | [`mcp-resources`](../packages/mcp/mcp-resources) | [`mcp-client`](../packages/mcp/mcp-client) | [`mcp-resources`](../packages/mcp/mcp-resources) | - | Connection-owned providers serve shared resource tools in the calling agent scope. |
|
|
| `ctx.browserUse` | `seam` | [`browser-use`](../packages/browser-use/browser-use) | [`experimental-browser-use-playwright-mcp`](../packages/experimental/browser-use-playwright-mcp), [`experimental-browser-use-chrome-devtools-mcp`](../packages/experimental/browser-use-chrome-devtools-mcp), [`experimental-browser-use-stagehand-native`](../packages/experimental/browser-use-stagehand-native) | [`experimental-browser-use-playwright-mcp`](../packages/experimental/browser-use-playwright-mcp), [`experimental-browser-use-chrome-devtools-mcp`](../packages/experimental/browser-use-chrome-devtools-mcp), [`experimental-browser-use-stagehand-native`](../packages/experimental/browser-use-stagehand-native) | - | One provider-owned name per service instance. Providers own their tools and browser resources per live Session; the shared service has no browser operation API. |
|
|
| `ctx.computerUse` | `seam` | [`computer-use`](../packages/computer-use/computer-use) | [`experimental-computer-use-cua-driver-mcp`](../packages/experimental/computer-use-cua-driver-mcp), [`experimental-computer-use-cua-driver-native`](../packages/experimental/computer-use-cua-driver-native) | [`experimental-computer-use-cua-driver-mcp`](../packages/experimental/computer-use-cua-driver-mcp), [`experimental-computer-use-cua-driver-native`](../packages/experimental/computer-use-cua-driver-native) | - | One provider-owned name per service instance. Each provider also owns its model tools; the service has no common action API, runtime selection, or Session workflow lock. |
|
|
| `ctx.cuaAccess` | `core` | [`cua`](../packages/experimental/cua) | - | [`cua`](../packages/experimental/cua) | - | The native provider owns application consent and cancellation; the optional Client page queries and changes those decisions through its Remote. |
|
|
| `ctx.officeToPdf` | `core` | [`office-to-pdf`](../packages/document/office-to-pdf) | - | [`client-ui-sidebar-documentpreview`](../packages/client/ui-sidebar-documentpreview) | - | Authorized Office bytes are converted on the Host using the declared native target engine, or Node WASM when no native target is declared. |
|
|
| `ctx.attachments` | `seam` | [`attachment`](../packages/attachment/attachment) | [`attachment-local`](../packages/attachment/attachment-local) | [`api-session-controller`](../packages/api/session-controller), [`tool-fs`](../packages/fs/tool-fs), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`llm-deepseek`](../packages/llm/llm-deepseek) | - | The host commits accepted images before session events; provider adapters resolve authorized durable references into provider-native content. |
|
|
| `ctx.fileUploads` | `core` | [`client-file-upload`](../packages/client/file-upload) | - | [`api-session-controller`](../packages/api/session-controller) | - | Owns streaming intake, durable storage, and staged receipt lifetime; the Session controller binds receipts to accepted submissions. |
|
|
| `ctx.llm` | `seam` | [`llm`](../packages/llm/llm) | [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`llm-replay`](../packages/test-support/llm-replay) | [`agent-loop`](../packages/core/agent-loop), [`compaction-basic`](../packages/compaction/compaction-basic) | - | Adapters register provider implementations; the loop and compaction call the provider-neutral stream service. |
|
|
| `ctx.deepseekLlmApiExtensions` | `seam` | [`deepseek-llm-api-extensions`](../packages/llm/deepseek-llm-api-extensions) | [`session-log-deepseek`](../packages/session/session-log-deepseek), [`plugin-package-inventory-deepseek`](../packages/llm/plugin-package-inventory-deepseek) | [`llm-deepseek`](../packages/llm/llm-deepseek) | - | Plugins prepare independent top-level fields; the official adapter merges them and commits their delivery state after HTTP acceptance. |
|
|
| `ctx.tokenMeter` | `core` | [`token-meter`](../packages/llm/token-meter) | - | [`compaction-basic`](../packages/compaction/compaction-basic) | - | Owns isolated per-session replay folds; pressure consumers share immutable revisioned measurements. |
|
|
| `ctx.toolResultPruner` | `core` | [`compaction-tool-result-pruner`](../packages/compaction/compaction-tool-result-pruner) | - | [`compaction-basic`](../packages/compaction/compaction-basic) | - | Rewrites oversized current tool results through replayable single-node surface replacements before summary compaction. |
|
|
| `ctx.sessions` | `core` | [`session`](../packages/core/session) | - | [`agent-loop`](../packages/core/agent-loop), [`agent`](../packages/core/agent), [`session-persistence`](../packages/session/session-persistence), [`session-query`](../packages/session-query/session-query), [`session-query-sqlite`](../packages/session-query/session-query-sqlite), [`subagent`](../packages/subagent/subagent), [`message-feedback`](../packages/feedback/message-feedback) | - | Owns append-only Session instances and emits the durable session event feed. |
|
|
| `ctx.speechController` | `core` | [`experimental-api-speech-to-text`](../packages/experimental/api-speech-to-text) | - | - | - | Validates bounded browser audio before provider dispatch. |
|
|
| `ctx.sessionController` | `core` | [`api-session-controller`](../packages/api/session-controller) | - | - | - | Owns Session commands, cold reads, durable-event following, live control state, model catalogs, workspace opening, and Agent activation policy. |
|
|
| `ctx.sessionFileReferences` | `core` | [`api-session-controller`](../packages/api/session-controller) | - | - | - | Delegates file-reference discovery through the Session Controller's established Agent lookup policy. |
|
|
| `ctx.sessionSkillCatalog` | `core` | [`api-session-controller`](../packages/api/session-controller) | - | - | - | Lists the Session composition's user-invocable skills without activating a cold Agent. |
|
|
| `ctx.jobController` | `core` | [`api-job-controller`](../packages/api/job-controller) | - | - | - | Streams one background job's observation record over the generated Remote namespace; the roster stays on the session control stream. |
|
|
| `ctx.credentialsController` | `core` | [`api-settings-controller`](../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. |
|
|
| `ctx.settingsController` | `core` | [`api-settings-controller`](../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. |
|
|
| `ctx.workspaceFiles` | `core` | [`api-workspace-files`](../packages/api/workspace-files) | - | - | - | Serves stat, paged text, byte windows, directory listings, and the change feed for files inside a Session's workspace root, confined by lstat, containment, and a stat re-check. |
|
|
| `ctx.workspaceChanges` | `core` | [`workspace-changes`](../packages/deliverables/workspace-changes) | - | - | - | Serves the summary each workspace/changes event announced and each listed file's turn-start and turn-end comparison, by Session and event sequence, until that Session is disposed; the log carries only the turn. |
|
|
| `ctx.terminalController` | `core` | [`api-terminal-controller`](../packages/api/terminal-controller) | - | - | - | Owns user terminal processes, default shell resolution and bounded screen recovery through the subprocess provider and typed Remote transport. |
|
|
| `ctx.workspaceController` | `core` | [`api-workspace-controller`](../packages/api/workspace-controller) | - | - | - | Owns Workspace commands and reconnect-safe Workspace state delivery through the generated Remote namespace. |
|
|
| `ctx.directoryPickerController` | `core` | [`api-workspace-controller`](../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. |
|
|
| `ctx.typert` | `core` | [`typert-registry`](../packages/typert/registry) | - | [`typert-loader`](../packages/typert/loader), [`api-gateway`](../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. |
|
|
| `ctx.typertGateway` | `core` | [`api-gateway`](../packages/api/gateway) | - | - | - | Associates generated Remote descriptors with live Cordis services, resolves registered identities, and exposes unary calls through the shared Connection RPC carrier. |
|
|
| `ctx.remoteAccess` | `core` | [`api-remote-access`](../packages/api/remote-access) | - | [`api-gateway`](../packages/api/gateway), [`api-session-controller`](../packages/api/session-controller), [`api-workspace-controller`](../packages/api/workspace-controller) | - | Decides which Remote methods a non-owner Peer may call through business-registered role-based policies, filters list results, and streams each Peer access snapshot. |
|
|
| `ctx.sessionPersistence` | `seam` | [`session-persistence`](../packages/session/session-persistence) | [`session-persistence-jsonl`](../packages/session/session-persistence-jsonl) | [`agent-loop`](../packages/core/agent-loop), [`tool-bash`](../packages/shell/tool-bash), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex), [`session-query`](../packages/session-query/session-query), [`session-query-sqlite`](../packages/session-query/session-query-sqlite), [`message-feedback`](../packages/feedback/message-feedback) | - | The JSONL backend persists the SessionEvent vocabulary as one artifact per Session. |
|
|
| `ctx.configEditor` | `core` | [`config-editor`](../packages/boot/config-editor) | - | [`settings`](../packages/settings/settings), [`agent-default-model`](../packages/core/agent-default-model) | - | Persists profile config patches under the application file lock and HMR queue, then reconciles Loader entries. |
|
|
| `ctx.settings` | `core` | [`settings`](../packages/settings/settings) | - | [`api-settings-controller`](../packages/api/settings-controller) | - | Forms project volatile Config fields from active profile entries and delegate validated edits to config-editor. Plugins consume their own Config references. |
|
|
| `ctx.subagentModelSelection` | `core` | [`tool-subagent`](../packages/subagent/tool-subagent) | - | [`tool-subagent`](../packages/subagent/tool-subagent) | - | Owns the default-off settings namespace that Agent-scoped delegation tools sample when composing a new top-level Session. |
|
|
| `ctx.credentials` | `seam` | [`credentials`](../packages/credentials/credentials) | [`credentials-local`](../packages/credentials/credentials-local) | [`api-settings-controller`](../packages/api/settings-controller), [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../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. |
|
|
| `ctx.deepseekAccount` | `seam` | [`deepseek-account`](../packages/credentials/deepseek-account) | [`deepseek-account-platform`](../packages/credentials/deepseek-account-platform) | [`api-account-controller`](../packages/api/account-controller), [`llm-deepseek`](../packages/llm/llm-deepseek) | - | The Host owns browser authorization and local credentials; UI consumers receive state without tokens. |
|
|
| `ctx.authorization` | `seam` | [`authorization`](../packages/credentials/authorization) | - | [`llm-pi-ai`](../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. |
|
|
| `ctx.productAnalytics` | `service` | [`client-product-analytics`](../packages/client/product-analytics) | - | - | - | Accepts selected Desktop events, enriches available login identity, and observes live compaction under the live Host collection policy. |
|
|
| `ctx.otel` | `service` | [`otel`](../packages/telemetry/otel) | - | [`host-product-telemetry-otel`](../packages/host/product-telemetry-otel), [`session-telemetry-otel`](../packages/session/session-telemetry-otel) | - | Product analytics and Session feedback adapters create independent reporting channels through one injected service. |
|
|
| `ctx.productTelemetry` | `service` | [`host-product-telemetry-otel`](../packages/host/product-telemetry-otel) | - | - | - | Exports explicitly submitted analytics events through OTLP/HTTP; mounting alone collects nothing. |
|
|
| `ctx.sessionTelemetry` | `seam` | [`session-telemetry`](../packages/session/session-telemetry) | [`session-telemetry-otel`](../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. |
|
|
| `ctx.storage` | `seam` | [`storage`](../packages/storage/storage) | [`storage-json`](../packages/storage/storage-json), [`storage-sqlite`](../packages/storage/storage-sqlite) | [`storage-domain`](../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. |
|
|
| `ctx.storageDomain` | `core` | [`storage-domain`](../packages/storage/storage-domain) | - | [`workspace`](../packages/workspace/workspace) | - | Waits for every configured backend, then publishes the domain form as one lifecycle-bound service for typed durable state. |
|
|
| `ctx.messageFeedback` | `core` | [`message-feedback`](../packages/feedback/message-feedback) | - | - | - | Owns per-assistant-message feedback in the canonical Session log, target validation, per-item compare-and-set, and the Host unary Remote contract. Feedback stays outside model history; log export follows the consumer policy. |
|
|
| `ctx.sessionFeedback` | `core` | [`command-feedback`](../packages/feedback/command-feedback) | - | - | - | Records one Session-level remark with its category as a log-only feedback/record event on a live Session through the Host unary Remote contract; the /feedback command shares the same producer. |
|
|
| `ctx.workspaceRegistry` | `core` | [`workspace`](../packages/workspace/workspace) | - | [`api-workspace-controller`](../packages/api/workspace-controller), [`api-session-controller`](../packages/api/session-controller) | - | Owns WorkspaceId-branded records over the domain facility; stable sessionIds accounts drive Host RPC and GUI projections. |
|
|
| `ctx.sessionQuery` | `seam` | [`session-query`](../packages/session-query/session-query) | [`session-query-sqlite`](../packages/session-query/session-query-sqlite) | [`session-reference`](../packages/context/session-reference), [`tool-session-query`](../packages/experimental/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. |
|
|
| `ctx.fileReferences` | `seam` | [`file-reference`](../packages/context/file-reference) | [`file-reference-local`](../packages/context/file-reference-local) | [`api-session-controller`](../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. |
|
|
| `ctx.sessionReferenceResolver` | `core` | [`session-reference`](../packages/context/session-reference) | - | - | - | Projects bounded current-surface conversation snapshots into durable untrusted message context; host adapters own mention syntax. |
|
|
| `ctx.sessionTitle` | `seam` | [`session-title`](../packages/session/session-title) | [`session-title-first-prompt-llm`](../packages/session/session-title-first-prompt-llm), [`session-title-all-prompts-llm`](../packages/experimental/session-title-all-prompts-llm) | - | - | Owns the deterministic fallback, latest-title fold, and sole optional asynchronous provider registration. |
|
|
| `ctx.systemPrompt` | `core` | [`system-prompt`](../packages/core/system-prompt) | - | [`agent-loop`](../packages/core/agent-loop), [`tools`](../packages/core/tools), [`tool-fs`](../packages/fs/tool-fs), [`tool-terminal`](../packages/experimental/tool-terminal), [`tool-web`](../packages/web/tool-web) | - | Collects prompt sections and model-facing tool schemas for each step. |
|
|
| `ctx.tools` | `core` | [`tools`](../packages/core/tools) | - | [`agent-loop`](../packages/core/agent-loop), [`tool-ask-user`](../packages/interaction/tool-ask-user), [`tool-bash`](../packages/shell/tool-bash), [`tool-cordis`](../packages/extensions/tool-cordis), [`tool-fs`](../packages/fs/tool-fs), [`tool-terminal`](../packages/experimental/tool-terminal), [`tool-skill`](../packages/skill/tool-skill), [`tool-subagent`](../packages/subagent/tool-subagent), [`tool-todo`](../packages/todo/tool-todo), [`tool-web`](../packages/web/tool-web) | - | Registers capabilities and scoped executors. Native and PTC providers own descriptions and complete raw call batches; their optional shared pipeline handles tool policy and dispatch. |
|
|
| `ctx.userQuestions` | `seam` | [`user-questions`](../packages/interaction/user-questions) | - | [`tool-ask-user`](../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. |
|
|
| `ctx.planMode` | `core` | [`plan-mode`](../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. |
|
|
| `ctx.agentPresets` | `core` | [`agent-preset-registry`](../packages/preset/agent-preset-registry) | - | - | - | Eagerly mounts YAML-declared preset revisions, binds Agents and cold readers to scoped contributions, and retains retired revisions until their last user releases them. |
|
|
| `ctx.commands` | `core` | [`commands`](../packages/interaction/commands) | - | - | - | Plugins register direct human commands without sending invocations to the model. |
|
|
| `ctx.sessionProjections` | `core` | [`session-projection`](../packages/session/session-projection) | - | [`api-session-controller`](../packages/api/session-controller), [`tool-todo`](../packages/todo/tool-todo), [`session-title`](../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. |
|
|
| `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](../packages/session/session-projection-cache) | - | [`api-session-controller`](../packages/api/session-controller), [`session-query`](../packages/session-query/session-query), [`session-reference`](../packages/context/session-reference) | - | Durably checkpoints projection unit states per session (throttled + turn/end/detach mandatory points), serves cached projection views, and accelerates prepared-Session projection hydration. |
|
|
| `ctx.skills` | `seam` | [`skill`](../packages/skill/skill) | [`sandbox-windows-acl`](../packages/sandbox/sandbox-windows-acl), [`skill-badge`](../packages/experimental/skill-badge), [`skill-filesystem`](../packages/skill/skill-filesystem), [`skill-office`](../packages/skill/skill-office) | [`tool-skill`](../packages/skill/tool-skill) | - | Merges provider skill catalogs; tool-skill renders the session-prefix catalog and loads complete skill bodies. |
|
|
| `ctx.agents` | `core` | [`agent`](../packages/core/agent) | - | [`agent-loop`](../packages/core/agent-loop), [`acp`](../packages/acp/acp), [`subagent`](../packages/subagent/subagent) | - | Owns live Agent handles, the create/resume factory seam, and process-local initiator propagation. |
|
|
| `ctx.agentDefaultModel` | `core` | [`agent-default-model`](../packages/core/agent-default-model) | - | [`api-session-controller`](../packages/api/session-controller), [`headless`](../packages/bundle/headless) | - | Reads the default ModelSelection from volatile Config and saves selections through the profile editor. |
|
|
| `ctx.agentLoop` | `bundle` | [`agent-loop`](../packages/core/agent-loop) | - | [`base`](../packages/bundle/base), [`sdk-minimal`](../packages/bundle/sdk-minimal) | - | The one concrete loop plugin; extension packages depend on dsh-agent events and services, not on this package. |
|
|
| `ctx.schedule` | `core` | [`schedule`](../packages/schedule/schedule) | - | - | - | Stores tasks independently of Session activation and queues due messages in the original Session. |
|
|
| `ctx.goals` | `core` | [`goal`](../packages/goal/goal) | - | - | - | Folds revisioned objective state from the session log and keeps live continuation activation process-local. |
|
|
| `ctx.ssh` | `core` | [`ssh`](../packages/ssh/ssh) | - | [`fs-ssh`](../packages/ssh/fs-ssh), [`subprocess-ssh`](../packages/ssh/subprocess-ssh), [`sandbox-ssh`](../packages/ssh/sandbox-ssh) | - | Owns one authenticated OpenSSH connection, installed helper identity, independent program streams and disconnect cleanup for the paired remote providers. |
|
|
| `ctx.subprocess` | `seam` | [`subprocess`](../packages/subprocess/subprocess) | [`subprocess-local`](../packages/subprocess/subprocess-local), [`subprocess-ssh`](../packages/ssh/subprocess-ssh) | [`bash-local`](../packages/shell/bash-local), [`bash-sandbox`](../packages/shell/bash-sandbox), [`terminal-bash`](../packages/terminal/terminal-bash), [`lsp-stdio`](../packages/lsp/lsp-stdio), [`subagent-acp`](../packages/subagent/subagent-acp), [`subagent-codex`](../packages/subagent/subagent-codex), [`subagent-claude-code`](../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. |
|
|
| `ctx.shell` | `seam` | [`shell`](../packages/shell/shell) | [`bash-local`](../packages/shell/bash-local), [`bash-sandbox`](../packages/shell/bash-sandbox), [`pwsh-local`](../packages/shell/pwsh-local) | [`tool-bash`](../packages/shell/tool-bash), [`tool-pwsh`](../packages/shell/tool-pwsh), [`hooks-claude-code`](../packages/experimental/hooks-claude-code), [`hooks-codex`](../packages/experimental/hooks-codex) | - | The model-facing shell tools and hook bridges consume this seam; sandboxed, remote, or PowerShell executors replace bash-local without touching them. |
|
|
| `ctx.shellEnv` | `core` | [`shell-env`](../packages/shell/shell-env) | - | [`tool-bash`](../packages/shell/tool-bash), [`tool-pwsh`](../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. |
|
|
| `ctx.terminals` | `seam` | [`terminal`](../packages/terminal/terminal) | [`terminal-bash`](../packages/terminal/terminal-bash) | [`tool-terminal`](../packages/experimental/tool-terminal) | - | The registry owns exact-Agent session identity and cleanup; backends own terminal mechanics, while tool-terminal exposes the owner-scoped model tools. |
|
|
| `ctx.sandbox` | `seam` | [`sandbox`](../packages/sandbox/sandbox) | [`sandbox-local`](../packages/sandbox/sandbox-local), [`sandbox-ssh`](../packages/ssh/sandbox-ssh) | [`bash-sandbox`](../packages/shell/bash-sandbox), [`terminal-bash`](../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. |
|
|
| `ctx.sandboxPolicy` | `core` | [`sandbox-policy`](../packages/sandbox/sandbox-policy) | - | [`bash-sandbox`](../packages/shell/bash-sandbox), [`fs-sandbox`](../packages/fs/fs-sandbox), [`terminal-bash`](../packages/terminal/terminal-bash) | - | The one home for the deployment default mode + workspace root; only the sandboxed executor and provider read the service (the tool layers use the pure `sandbox/mode` fold it also exports). Both enforcing families read it so bash and fs cannot confine to different roots. |
|
|
| `ctx.approval` | `seam` | [`user-approval`](../packages/interaction/user-approval) | - | [`tools`](../packages/core/tools), [`tool-bash`](../packages/shell/tool-bash), [`acp`](../packages/acp/acp) | - | One-shot permission decisions dispatched over the `approval/request` waterfall; answerers are listeners (the ACP bridge for its own agents), absence fails closed to `unavailable`. |
|
|
| `ctx.permissionPresets` | `core` | [`permission-presets`](../packages/interaction/permission-presets) | - | - | - | User-facing preset table (`workspace-write`/`danger-full-access`) bundling the sandbox-mode and approval-policy knobs; a switch writes one `permission/preset` event through to both knob events. |
|
|
| `ctx.ptcRuntime` | `seam` | [`ptc-runtime`](../packages/ptc-runtime/ptc-runtime) | [`ptc-runtime-node`](../packages/ptc-runtime/ptc-runtime-node), [`experimental-ptc-runtime-python`](../packages/experimental/ptc-runtime-python) | [`tool-executor-ptc`](../packages/core/tool-executor-ptc), [`workflow-ptc`](../packages/workflow/workflow-ptc) | - | Runs programs against host-provided async bindings; tool-executor-ptc owns PTC presentation and workflow-ptc owns workflow orchestration. |
|
|
| `ctx.fs` | `seam` | [`fs`](../packages/fs/fs) | [`fs-local`](../packages/fs/fs-local), [`fs-sandbox`](../packages/fs/fs-sandbox), [`fs-ssh`](../packages/ssh/fs-ssh) | [`tool-fs`](../packages/fs/tool-fs) | [`fs-observation-policy`](../packages/fs/fs-observation-policy) | tool-fs executes read/write/edit through ctx.fs; fs-sandbox fences mutations by the shared sandbox mode; fs-observation-policy contributes observed-state checks through the fs/* event gate. |
|
|
| `ctx.compaction` | `seam` | [`compaction`](../packages/compaction/compaction) | [`compaction-basic`](../packages/compaction/compaction-basic) | [`compaction-basic`](../packages/compaction/compaction-basic) | - | The basic backend consumes post-step pressure and request-error recovery events; there is no model-facing compact tool. |
|
|
| `ctx.subagents` | `seam` | [`subagent`](../packages/subagent/subagent) | [`subagent-spawn-in-process`](../packages/subagent/subagent-spawn-in-process), [`subagent-fork-in-process`](../packages/subagent/subagent-fork-in-process), [`subagent-acp`](../packages/subagent/subagent-acp), [`subagent-codex`](../packages/subagent/subagent-codex), [`subagent-claude-code`](../packages/subagent/subagent-claude-code), [`subagent-dsh-sdk`](../packages/subagent/subagent-dsh-sdk) | [`tool-subagent`](../packages/subagent/tool-subagent), [`tool-subagent-control`](../packages/subagent/tool-subagent-control), [`tool-ralph`](../packages/experimental/tool-ralph) | - | Providers prepare local children or execute external tasks; one activation manager owns both lifecycles. The delegation tool selects a backend, control tools deliver local follow-ups, and workflows await activation results. |
|
|
| `ctx.speechToText` | `seam` | [`experimental-speech-to-text`](../packages/experimental/speech-to-text) | [`experimental-speech-to-text-sensevoice`](../packages/experimental/speech-to-text-sensevoice) | [`experimental-api-speech-to-text`](../packages/experimental/api-speech-to-text) | - | Routes explicit recognizers; the browser uses the authenticated Remote and keeps transcripts in the draft until submission. |
|
|
| `ctx.agentTeams` | `core` | [`experimental-agent-team`](../packages/experimental/agent-team) | - | [`experimental-tool-agent-team`](../packages/experimental/tool-agent-team) | - | Owns the implicit-root roster, direct peer inbox delivery, shared task DAG, and continuable-child lifecycle; tool-agent-team contributes model controls. |
|
|
| `ctx.claudeCodeMods` | `core` | [`experimental-claude-code-mods`](../packages/experimental/claude-code-mods) | - | - | - | Loads mods that defineMod plugins add, raises their hook chains from harness extension points, and draws the band above the prompt over its Remote. |
|
|
| `ctx.inspector` | `core` | `inspector` | - | - | - | Owns the Worker-hosted CDP target and the transport-independent Host and Client observation and Cordis-tree query API. |
|
|
| `ctx.jobs` | `seam` | [`jobs`](../packages/jobs/jobs) | [`jobs-local`](../packages/jobs/jobs-local) | [`tool-bash`](../packages/shell/tool-bash), [`tool-pwsh`](../packages/shell/tool-pwsh), [`tool-terminal`](../packages/experimental/tool-terminal), [`tool-jobs`](../packages/jobs/tool-jobs), [`api-job-controller`](../packages/api/job-controller) | - | Producers (background bash/pwsh and PTY sends) register running work; record-declaring jobs additionally stream raw output for non-consuming observers; tool-jobs is the model-facing controller that reads, lists, and kills it; jobs-local is the process-local registry. |
|
|
| `ctx.web` | `seam` | [`web`](../packages/web/web) | [`web-search-exa`](../packages/web/web-search-exa), [`web-search-perplexity`](../packages/web/web-search-perplexity), [`web-search-deepseek`](../packages/web/web-search-deepseek), [`web-deepseek-api`](../packages/web/web-deepseek-api), [`web-fetch-http`](../packages/web/web-fetch-http) | [`tool-web`](../packages/web/tool-web) | - | Search and fetch providers register into one ctx.web seam; tool-web owns the stable model-facing names. |
|
|
| `ctx.spillStore` | `seam` | [`spill`](../packages/spill/spill) | [`spill-local`](../packages/spill/spill-local) | [`spill-policy`](../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. |
|
|
| `ctx.directoryPicker` | `seam` | [`host-directory-picker`](../packages/host/directory-picker) | [`host-directory-picker-native`](../packages/host/directory-picker-native), [`host-directory-picker-browse`](../packages/host/directory-picker-browse) | [`api-workspace-controller`](../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). |
|
|
| `ctx.webServer` | `core` | [`host-webserver`](../packages/host/webserver) | - | [`client-connection`](../packages/client/connection), [`client-modules`](../packages/client/modules), [`client-hmr`](../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. |
|
|
| `ctx.webApp` | `core` | [`web-app`](../packages/bundle/web-app) | - | [`harness-dev-context`](../packages/context/harness-dev-context) | - | The web-runtime row advertises one URL for its Web GUI: the configured publicUrl, otherwise the listener origin; DSH_WEB_URL, the startup URL, and harness-dev-context read the same value. |
|
|
| `ctx.clientModules` | `core` | [`client-modules`](../packages/client/modules) | - | [`client-hmr`](../packages/client/hmr) | - | Composes the __DSH_BOOT__ entry graph from an incremental dsh.client scan, serves plugin bundles, and notifies rebuilt/graph-changed subscribers. |
|
|
| `ctx.workflowEngine` | `seam` | [`workflow`](../packages/workflow/workflow) | [`workflow-ptc`](../packages/workflow/workflow-ptc) | [`tool-workflow`](../packages/workflow/tool-workflow), [`tool-ralph`](../packages/experimental/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. |
|
|
| `ctx.webhookRuntime` | `core` | [`webhook`](../packages/experimental/webhook) | - | [`webhook-github`](../packages/experimental/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. |
|
|
| `ctx.lsp` | `seam` | [`lsp`](../packages/lsp/lsp) | [`lsp-stdio`](../packages/lsp/lsp-stdio) | [`tool-lsp`](../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. |
|
|
| `ctx.dynamicCordisRunner` | `core` | [`cordis-host-runner`](../packages/extensions/cordis-host-runner) | - | [`tool-cordis`](../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. |
|
|
| `ctx.cordisInspect` | `core` | [`cordis-host-runner`](../packages/extensions/cordis-host-runner) | - | [`tool-cordis`](../packages/extensions/tool-cordis) | - | Registers host inspect providers, mirrors the client provider manifest, and routes client queries through the dynamic Cordis transport. |
|
|
|
|
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.
|