mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-10-26 16:55:08 +00:00
* refactor(llm-deepseek): share the /models listing machinery
Move the account route's `/models` request and decoding, its
credential-scoped listing cache, and listed-catalog resolution with the
version gate into the shared DeepSeek Messages library, so a second
route can follow the same listing. Names drop the account prefix, the
cache takes each access's endpoint settings with the call, and it gains
`invalidate()` for a forced reload. `isBuiltInCatalog()` recognizes the
catalog an uncustomized `models` setting resolves to.
The account route keeps its behavior; only its imports and the
override diagnostic wording ("model listing") change.
* feat(llm-deepseek-api-key): follow the official /models listing
While `models` equals the built-in catalog and the Messages origin is
https://api.deepseek.com, `deepseek-official` serves the official
`GET /models` listing, authenticated with the API key in `x-api-key`.
Loading, refresh, fallback, merging, and the client-version gate match
the account route: the first access waits up to `modelsTimeoutMs`, a
listing older than `modelsMaxAgeMs` refreshes in the background on the
next access, a failure keeps the last good listing or the built-in
catalog, and listed models this build cannot serve are refused before
network I/O.
A customized `models` list replaces the catalog and requests nothing.
Switching between a customized catalog and the listing discards the
cached listing, so Restore defaults reloads it on the next access.
Suites that boot the route on the official endpoint now answer the
listing themselves instead of reaching the network.
* docs: describe the official route model listing
Document when `deepseek-official` follows the official `/models`
listing, its timing fields, customization precedence, and the forced
reload after Restore defaults in the API-key README, the shared
transport README, and the provider guide. Record the decision in a new
Agent Note, keep the account note's statement of where the shared
listing code lives current, and regenerate the configuration catalog.
* test(llm-deepseek-api-key): pin the once-per-listing hidden-entry diagnostic
* docs: regenerate module and event graphs for the shared listing
* fix(llm-deepseek-api-key): report credential failures on the model request
On the official endpoint, `connect` waited for the listing view, whose
credential lookup rethrew a malformed key or a credential-store failure
before the agent loop recorded the prompt. A failed lookup now resolves
the connection from the current listing view, so `resolveAuth` reports
the failure on the model request and the turn keeps the prompt and the
failed attempt. A caller abort still rejects.
* docs(llm-deepseek-api-key): name which hidden listing entries are logged
* test: keep unit suites off the official model listing
Suites that boot the DeepSeek routes with a dummy or inherited key now
request `GET https://api.deepseek.com/models` on the official endpoint.
A unit-lane setup file rejects that request at once, so such a suite
serves the built-in catalog instead of reaching production or waiting
out the listing deadline on a network that never answers; suites that
exercise the listing answer `fetch` themselves. Other requests pass
through unchanged.
* feat(llm-deepseek): read tool_update from the model listing
Both DeepSeek routes now take a listed model's Messages tool update mode
from `api_capabilities.anthropic_messages.tool_update`, alongside the
system prompt mode. `in-history` and `addition-only` replace the
bundled mode; any other value reads as `leading-only` and removes it.
An absent or `null` mode keeps the bundled one, so a listing that does
not declare the field leaves `deepseek-flash` on `addition-only`.
`system_prompt_update: null` likewise keeps the bundled mode now; it
previously read as `leading-only`, which a serializer writing empty
values as null would have turned into a cache-unfriendly downgrade.
* fix(llm-deepseek): sync the built-in context window with the official listing
The official `/models` listing declares a 1,048,576-token context window
for `deepseek-flash` and `deepseek-v4-pro`; the built-in catalog said
1,000,000, a decimal-versus-binary mismatch. Both built-in entries now
carry the listed value, so offline starts and listing failures size the
context the same way the listing does. The Models page shows the exact
count for these rows, since 1,048,576 has no decimal K/M spelling.
`defaultContextWindow`, the fallback for model ids the catalog does not
describe, stays 1,000,000.
* test(llm-deepseek-api-key): reject the stubbed listing request with an Error
* test(cli): keep the built SDK smoke off the official model listing
The SDK profile's initialize now resolves the deepseek-official catalog,
which requests GET https://api.deepseek.com/models on the official
endpoint. With the smoke's fixture key that request answers 401 and the
route warns on stderr, so the test's empty-stderr assertion failed in the
e2e and snapshots lanes. Point the run at a loopback mock and assert it
received no model call.
* test(llm-deepseek): compose the malformed-key turn without the native executor
release/dsh-0.2.1 predates @deepseek-ai/dsh-tool-executor-native; its tool
runtime executes tools itself. Compose the official-route turn the way
account-routing.spec.ts does on this branch.
* fix(llm-deepseek-api-key): gate nothing when the credential lookup fails
The listing cache switches scope only after it reads a credential, so a
failed lookup left `connect` serving the previous credential's listing.
After a key whose listing refuses a model was replaced by a malformed one,
`admit` refused that model with CLIENT_UPGRADE_REQUIRED before the turn
recorded the prompt, instead of `resolveAuth` reporting the credential
error on the request. Serve the built-in catalog without listing gates
when the lookup fails.
* test(llm-deepseek-api-key): pin the once-per-listing diagnostic across request preparation
The hidden-entry diagnostic test repeated the same discovery assertion to
prove a second pass reports nothing new, which read as a duplicate. Assert
the single warning after the request preparations instead; they resolve
the same listing, so dropping the per-listing deduplication still fails
the test.
* docs(llm-deepseek-api-key): note that a list matching an earlier built-in catalog counts as customized
Customization is judged against the running version's built-in catalog,
so a saved `models` list equal to an earlier version's catalog stops
following the listing once the built-in catalog changes, until Restore
defaults. Record the consequence in the Agent Note and the README's known
limitations.
126 KiB
126 KiB
共享实例依赖关系图
English | 中文
@deepseek-ai/dsh-* harness 包之间的 peer 依赖关系。peer 表示消费端需要提供共享实例,不包括普通运行时 dependency 或仅开发期关系。该图按 packages/<group>/<pkg> 层级分组;边 a --> b 表示包 a peer 依赖包 b。名称中的 @deepseek-ai/dsh- 前缀已移除。
flowchart TD
subgraph group_util["packages/util"]
pkg_atomic_write["atomic-write"]
pkg_brand["brand"]
pkg_chunked_list["chunked-list"]
pkg_deque["deque"]
pkg_home_paths["home-paths"]
pkg_http_proxy["http-proxy"]
pkg_launch_environment["launch-environment"]
pkg_lazy_require["lazy-require"]
pkg_native_command["native-command"]
pkg_output_retention["output-retention"]
pkg_package_manifest["package-manifest"]
pkg_plugin_market_index["plugin-market-index"]
pkg_timeout["timeout"]
pkg_util_code_language["util-code-language"]
pkg_util_crypto["util-crypto"]
pkg_util_time["util-time"]
pkg_util_values["util-values"]
pkg_util_workspace_path["util-workspace-path"]
end
subgraph group_llm["packages/llm"]
pkg_deepseek_llm_api_extensions["deepseek-llm-api-extensions"]
pkg_llm["llm"]
pkg_llm_deepseek["llm-deepseek"]
pkg_llm_deepseek_account["llm-deepseek-account"]
pkg_llm_deepseek_api_key["llm-deepseek-api-key"]
pkg_llm_pi_ai["llm-pi-ai"]
pkg_llm_retry["llm-retry"]
pkg_plugin_package_inventory_deepseek["plugin-package-inventory-deepseek"]
pkg_token_meter["token-meter"]
end
subgraph group_core["packages/core"]
pkg_agent["agent"]
pkg_agent_default_model["agent-default-model"]
pkg_agent_loop["agent-loop"]
pkg_agent_tool_presentation["agent-tool-presentation"]
pkg_scope["scope"]
pkg_session["session"]
pkg_system_prompt["system-prompt"]
pkg_tools["tools"]
end
subgraph group_goal["packages/goal"]
pkg_command_goal["command-goal"]
pkg_goal["goal"]
pkg_goal_round_driver["goal-round-driver"]
pkg_tool_goal["tool-goal"]
end
subgraph group_fs["packages/fs"]
pkg_fs["fs"]
pkg_fs_local["fs-local"]
pkg_fs_observation_policy["fs-observation-policy"]
pkg_fs_sandbox["fs-sandbox"]
pkg_tool_fs["tool-fs"]
pkg_tool_fs_search["tool-fs-search"]
pkg_tool_str_replace_editor["tool-str-replace-editor"]
end
subgraph group_skill["packages/skill"]
pkg_skill["skill"]
pkg_skill_filesystem["skill-filesystem"]
pkg_skill_office["skill-office"]
pkg_tool_skill["tool-skill"]
pkg_tool_workspace_dependencies["tool-workspace-dependencies"]
end
subgraph group_subagent["packages/subagent"]
pkg_subagent["subagent"]
pkg_subagent_acp["subagent-acp"]
pkg_subagent_claude_code["subagent-claude-code"]
pkg_subagent_codex["subagent-codex"]
pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
pkg_subagent_fork_in_process["subagent-fork-in-process"]
pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
pkg_tool_subagent["tool-subagent"]
pkg_tool_subagent_control["tool-subagent-control"]
end
subgraph group_web["packages/web"]
pkg_tool_web["tool-web"]
pkg_web["web"]
pkg_web_deepseek_api["web-deepseek-api"]
pkg_web_fetch_http["web-fetch-http"]
pkg_web_search_deepseek["web-search-deepseek"]
pkg_web_search_exa["web-search-exa"]
pkg_web_search_perplexity["web-search-perplexity"]
end
subgraph group_spill["packages/spill"]
pkg_spill["spill"]
pkg_spill_local["spill-local"]
pkg_spill_policy["spill-policy"]
end
subgraph group_todo["packages/todo"]
pkg_tool_todo["tool-todo"]
end
subgraph group_plan["packages/plan"]
pkg_plan_mode["plan-mode"]
end
subgraph group_session_query["packages/session-query"]
pkg_session_log_export["session-log-export"]
pkg_session_query["session-query"]
pkg_session_query_sqlite["session-query-sqlite"]
end
subgraph group_acp["packages/acp"]
pkg_acp["acp"]
end
subgraph group_api["packages/api"]
pkg_api_account_controller["api-account-controller"]
pkg_api_gateway["api-gateway"]
pkg_api_job_controller["api-job-controller"]
pkg_api_remote_access["api-remote-access"]
pkg_api_remotes["api-remotes"]
pkg_api_session_controller["api-session-controller"]
pkg_api_settings_controller["api-settings-controller"]
pkg_api_terminal_controller["api-terminal-controller"]
pkg_api_workspace_controller["api-workspace-controller"]
pkg_api_workspace_files["api-workspace-files"]
end
subgraph group_attachment["packages/attachment"]
pkg_attachment["attachment"]
pkg_attachment_local["attachment-local"]
end
subgraph group_boot["packages/boot"]
pkg_app_boot["app-boot"]
pkg_cmdline["cmdline"]
pkg_config_editor["config-editor"]
pkg_hmr["hmr"]
pkg_plugin_manager["plugin-manager"]
pkg_plugin_market["plugin-market"]
end
subgraph group_browser_use["packages/browser-use"]
pkg_browser_use["browser-use"]
end
subgraph group_bundle["packages/bundle"]
pkg_acp_app["acp-app"]
pkg_base["base"]
pkg_headless["headless"]
pkg_sdk_app["sdk-app"]
pkg_sdk_minimal["sdk-minimal"]
pkg_web_app["web-app"]
end
subgraph group_client["packages/client"]
pkg_client_connection["client-connection"]
pkg_client_file_upload["client-file-upload"]
pkg_client_hmr["client-hmr"]
pkg_client_locale["client-locale"]
pkg_client_modules["client-modules"]
pkg_client_product_analytics["client-product-analytics"]
pkg_client_resources["client-resources"]
pkg_client_shortcuts["client-shortcuts"]
pkg_client_store["client-store"]
pkg_client_ui_agent_preset["client-ui-agent-preset"]
pkg_client_ui_approval["client-ui-approval"]
pkg_client_ui_attachment["client-ui-attachment"]
pkg_client_ui_brand_official["client-ui-brand-official"]
pkg_client_ui_chat["client-ui-chat"]
pkg_client_ui_commands["client-ui-commands"]
pkg_client_ui_conversation["client-ui-conversation"]
pkg_client_ui_deepseek_model_label_1017["client-ui-deepseek-model-label-1017"]
pkg_client_ui_deliverables["client-ui-deliverables"]
pkg_client_ui_directory_picker_browse["client-ui-directory-picker-browse"]
pkg_client_ui_directory_picker_native["client-ui-directory-picker-native"]
pkg_client_ui_dockkit["client-ui-dockkit"]
pkg_client_ui_entry_customization["client-ui-entry-customization"]
pkg_client_ui_goal["client-ui-goal"]
pkg_client_ui_input_trigger["client-ui-input-trigger"]
pkg_client_ui_jobs["client-ui-jobs"]
pkg_client_ui_layout["client-ui-layout"]
pkg_client_ui_message_feedback["client-ui-message-feedback"]
pkg_client_ui_model_selection["client-ui-model-selection"]
pkg_client_ui_open_in_app["client-ui-open-in-app"]
pkg_client_ui_permission_presets["client-ui-permission-presets"]
pkg_client_ui_plan["client-ui-plan"]
pkg_client_ui_plugin_manager["client-ui-plugin-manager"]
pkg_client_ui_plugin_market["client-ui-plugin-market"]
pkg_client_ui_primitives["client-ui-primitives"]
pkg_client_ui_reference["client-ui-reference"]
pkg_client_ui_renderer["client-ui-renderer"]
pkg_client_ui_schedule["client-ui-schedule"]
pkg_client_ui_secret_mask["client-ui-secret-mask"]
pkg_client_ui_session["client-ui-session"]
pkg_client_ui_settings["client-ui-settings"]
pkg_client_ui_settings_account["client-ui-settings-account"]
pkg_client_ui_settings_agent_loop["client-ui-settings-agent-loop"]
pkg_client_ui_settings_general["client-ui-settings-general"]
pkg_client_ui_settings_models["client-ui-settings-models"]
pkg_client_ui_settings_plugin_inventory["client-ui-settings-plugin-inventory"]
pkg_client_ui_settings_plugins["client-ui-settings-plugins"]
pkg_client_ui_settings_session_log["client-ui-settings-session-log"]
pkg_client_ui_settings_shell["client-ui-settings-shell"]
pkg_client_ui_settings_subagent["client-ui-settings-subagent"]
pkg_client_ui_settings_web_search["client-ui-settings-web-search"]
pkg_client_ui_shortcuts["client-ui-shortcuts"]
pkg_client_ui_sidebar["client-ui-sidebar"]
pkg_client_ui_sidebar_browser["client-ui-sidebar-browser"]
pkg_client_ui_sidebar_documentpreview["client-ui-sidebar-documentpreview"]
pkg_client_ui_sidebar_files["client-ui-sidebar-files"]
pkg_client_ui_sidebar_right["client-ui-sidebar-right"]
pkg_client_ui_sidebar_terminal["client-ui-sidebar-terminal"]
pkg_client_ui_skill["client-ui-skill"]
pkg_client_ui_slots["client-ui-slots"]
pkg_client_ui_subagent["client-ui-subagent"]
pkg_client_ui_theme["client-ui-theme"]
pkg_client_ui_tool["client-ui-tool"]
pkg_client_ui_trajectory["client-ui-trajectory"]
pkg_client_ui_user_questions["client-ui-user-questions"]
pkg_client_ui_workflow_run["client-ui-workflow-run"]
pkg_client_ui_workspace["client-ui-workspace"]
pkg_client_web["client-web"]
end
subgraph group_compaction["packages/compaction"]
pkg_command_compact["command-compact"]
pkg_compaction["compaction"]
pkg_compaction_basic["compaction-basic"]
pkg_compaction_image_offload["compaction-image-offload"]
pkg_compaction_tool_result_pruner["compaction-tool-result-pruner"]
end
subgraph group_computer_use["packages/computer-use"]
pkg_computer_use["computer-use"]
end
subgraph group_context["packages/context"]
pkg_agent_instructions["agent-instructions"]
pkg_file_reference["file-reference"]
pkg_file_reference_local["file-reference-local"]
pkg_harness_dev_context["harness-dev-context"]
pkg_session_reference["session-reference"]
pkg_time_context["time-context"]
pkg_tmux_context["tmux-context"]
end
subgraph group_credentials["packages/credentials"]
pkg_authorization["authorization"]
pkg_credentials["credentials"]
pkg_credentials_local["credentials-local"]
pkg_deepseek_account["deepseek-account"]
pkg_deepseek_account_platform["deepseek-account-platform"]
end
subgraph group_deliverables["packages/deliverables"]
pkg_tool_present["tool-present"]
pkg_workspace_changes["workspace-changes"]
end
subgraph group_document["packages/document"]
pkg_office_to_pdf["office-to-pdf"]
end
subgraph group_experimental["packages/experimental"]
pkg_cua["cua"]
pkg_experimental_agent_team["experimental-agent-team"]
pkg_experimental_agent_team_profile["experimental-agent-team-profile"]
pkg_experimental_api_speech_to_text["experimental-api-speech-to-text"]
pkg_experimental_auto_review["experimental-auto-review"]
pkg_experimental_badge_skill_bundle["experimental-badge-skill-bundle"]
pkg_experimental_browser_use_chrome_devtools_mcp["experimental-browser-use-chrome-devtools-mcp"]
pkg_experimental_browser_use_playwright_mcp["experimental-browser-use-playwright-mcp"]
pkg_experimental_browser_use_runtime["experimental-browser-use-runtime"]
pkg_experimental_browser_use_stagehand_native["experimental-browser-use-stagehand-native"]
pkg_experimental_claude_code_mods["experimental-claude-code-mods"]
pkg_experimental_client_ui_agent_team["experimental-client-ui-agent-team"]
pkg_experimental_client_ui_claude_code_mods["experimental-client-ui-claude-code-mods"]
pkg_experimental_client_ui_cot_translation["experimental-client-ui-cot-translation"]
pkg_experimental_client_ui_voice_input["experimental-client-ui-voice-input"]
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_experimental_cot_translation_bundle["experimental-cot-translation-bundle"]
pkg_experimental_cua_macos["experimental-cua-macos"]
pkg_experimental_inspector["experimental-inspector"]
pkg_experimental_inspector_profile["experimental-inspector-profile"]
pkg_experimental_plugin_market_bundle["experimental-plugin-market-bundle"]
pkg_experimental_ptc_runtime_python["experimental-ptc-runtime-python"]
pkg_experimental_ralph_bundle["experimental-ralph-bundle"]
pkg_experimental_session_inspector["experimental-session-inspector"]
pkg_experimental_session_search["experimental-session-search"]
pkg_experimental_session_titles_bundle["experimental-session-titles-bundle"]
pkg_experimental_speech_to_text["experimental-speech-to-text"]
pkg_experimental_speech_to_text_sensevoice["experimental-speech-to-text-sensevoice"]
pkg_experimental_terminal_bundle["experimental-terminal-bundle"]
pkg_experimental_tool_agent_team["experimental-tool-agent-team"]
pkg_experimental_tool_worktree["experimental-tool-worktree"]
pkg_experimental_translator["experimental-translator"]
pkg_experimental_voice_input_bundle["experimental-voice-input-bundle"]
pkg_experimental_webworker_packer["experimental-webworker-packer"]
pkg_experimental_webworker_runtime["experimental-webworker-runtime"]
pkg_experimental_worktree["experimental-worktree"]
pkg_hook_protocol["hook-protocol"]
pkg_hooks_claude_code["hooks-claude-code"]
pkg_hooks_codex["hooks-codex"]
pkg_session_title_all_prompts_llm["session-title-all-prompts-llm"]
pkg_skill_badge["skill-badge"]
pkg_tool_ralph["tool-ralph"]
pkg_tool_session_query["tool-session-query"]
pkg_tool_terminal["tool-terminal"]
pkg_webhook["webhook"]
pkg_webhook_github["webhook-github"]
end
subgraph group_extensions["packages/extensions"]
pkg_client_ui_cordis["client-ui-cordis"]
pkg_cordis_client_runner["cordis-client-runner"]
pkg_cordis_host_runner["cordis-host-runner"]
pkg_tool_cordis["tool-cordis"]
end
subgraph group_feedback["packages/feedback"]
pkg_command_feedback["command-feedback"]
pkg_message_feedback["message-feedback"]
end
subgraph group_guard["packages/guard"]
pkg_repeat_tool_reminder["repeat-tool-reminder"]
pkg_tool_call_timeout_policy["tool-call-timeout-policy"]
end
subgraph group_host["packages/host"]
pkg_host_directory_picker["host-directory-picker"]
pkg_host_directory_picker_auto["host-directory-picker-auto"]
pkg_host_directory_picker_browse["host-directory-picker-browse"]
pkg_host_directory_picker_native["host-directory-picker-native"]
pkg_host_frontend_static["host-frontend-static"]
pkg_host_open_in_app["host-open-in-app"]
pkg_host_plugin_inventory["host-plugin-inventory"]
pkg_host_product_telemetry_otel["host-product-telemetry-otel"]
pkg_host_webserver["host-webserver"]
end
subgraph group_identity["packages/identity"]
pkg_anonymous_user_id["anonymous-user-id"]
end
subgraph group_interaction["packages/interaction"]
pkg_commands["commands"]
pkg_permission_presets["permission-presets"]
pkg_tool_ask_user["tool-ask-user"]
pkg_user_approval["user-approval"]
pkg_user_questions["user-questions"]
end
subgraph group_jobs["packages/jobs"]
pkg_jobs["jobs"]
pkg_jobs_local["jobs-local"]
pkg_tool_jobs["tool-jobs"]
end
subgraph group_lsp["packages/lsp"]
pkg_lsp["lsp"]
pkg_lsp_stdio["lsp-stdio"]
pkg_tool_lsp["tool-lsp"]
end
subgraph group_mcp["packages/mcp"]
pkg_mcp_client["mcp-client"]
pkg_mcp_resources["mcp-resources"]
end
subgraph group_preset["packages/preset"]
pkg_agent_preset["agent-preset"]
pkg_agent_preset_registry["agent-preset-registry"]
pkg_persona["persona"]
end
subgraph group_ptc_runtime["packages/ptc-runtime"]
pkg_ptc_runtime["ptc-runtime"]
pkg_ptc_runtime_node["ptc-runtime-node"]
end
subgraph group_sandbox["packages/sandbox"]
pkg_sandbox["sandbox"]
pkg_sandbox_local["sandbox-local"]
pkg_sandbox_policy["sandbox-policy"]
pkg_sandbox_windows_acl["sandbox-windows-acl"]
end
subgraph group_schedule["packages/schedule"]
pkg_schedule["schedule"]
pkg_tool_schedule["tool-schedule"]
end
subgraph group_sdk["packages/sdk"]
pkg_sdk_client["sdk-client"]
pkg_sdk_jsonrpc_server["sdk-jsonrpc-server"]
pkg_sdk_protocol["sdk-protocol"]
end
subgraph group_session["packages/session"]
pkg_session_checkpoint_policy["session-checkpoint-policy"]
pkg_session_format["session-format"]
pkg_session_format_catalog["session-format-catalog"]
pkg_session_format_v0_to_v1["session-format-v0-to-v1"]
pkg_session_format_v1_to_v2["session-format-v1-to-v2"]
pkg_session_format_v2_to_v3["session-format-v2-to-v3"]
pkg_session_format_v3_to_v4["session-format-v3-to-v4"]
pkg_session_log_deepseek["session-log-deepseek"]
pkg_session_persistence["session-persistence"]
pkg_session_persistence_jsonl["session-persistence-jsonl"]
pkg_session_projection["session-projection"]
pkg_session_projection_cache["session-projection-cache"]
pkg_session_stats["session-stats"]
pkg_session_telemetry["session-telemetry"]
pkg_session_telemetry_otel["session-telemetry-otel"]
pkg_session_title["session-title"]
pkg_session_title_first_prompt_llm["session-title-first-prompt-llm"]
pkg_session_title_llm["session-title-llm"]
pkg_session_turn_outline["session-turn-outline"]
pkg_tool_working_directory["tool-working-directory"]
pkg_working_directory["working-directory"]
end
subgraph group_settings["packages/settings"]
pkg_settings["settings"]
end
subgraph group_shell["packages/shell"]
pkg_bash_local["bash-local"]
pkg_bash_sandbox["bash-sandbox"]
pkg_pwsh_local["pwsh-local"]
pkg_pwsh_sandbox["pwsh-sandbox"]
pkg_shell["shell"]
pkg_shell_env["shell-env"]
pkg_tool_bash["tool-bash"]
pkg_tool_bash_persistent["tool-bash-persistent"]
pkg_tool_pwsh["tool-pwsh"]
pkg_tool_pwsh_persistent["tool-pwsh-persistent"]
end
subgraph group_ssh["packages/ssh"]
pkg_fs_ssh["fs-ssh"]
pkg_sandbox_ssh["sandbox-ssh"]
pkg_ssh["ssh"]
pkg_ssh_helper_runtime["ssh-helper-runtime"]
pkg_subprocess_ssh["subprocess-ssh"]
end
subgraph group_storage["packages/storage"]
pkg_storage["storage"]
pkg_storage_domain["storage-domain"]
pkg_storage_json["storage-json"]
pkg_storage_sqlite["storage-sqlite"]
end
subgraph group_subprocess["packages/subprocess"]
pkg_subprocess["subprocess"]
pkg_subprocess_local["subprocess-local"]
pkg_win32_process["win32-process"]
end
subgraph group_telemetry["packages/telemetry"]
pkg_otel["otel"]
end
subgraph group_terminal["packages/terminal"]
pkg_terminal["terminal"]
pkg_terminal_bash["terminal-bash"]
end
subgraph group_test_support["packages/test-support"]
pkg_agent_loop_testkit["agent-loop-testkit"]
pkg_client_test_runtime["client-test-runtime"]
pkg_llm_mock_server["llm-mock-server"]
pkg_llm_replay["llm-replay"]
pkg_loader_smoke["loader-smoke"]
pkg_remote_mock["remote-mock"]
pkg_session_snapshot["session-snapshot"]
end
subgraph group_typert["packages/typert"]
pkg_typert_generator["typert-generator"]
pkg_typert_loader["typert-loader"]
pkg_typert_protocol["typert-protocol"]
pkg_typert_registry["typert-registry"]
end
subgraph group_workflow["packages/workflow"]
pkg_tool_workflow["tool-workflow"]
pkg_workflow["workflow"]
pkg_workflow_ptc["workflow-ptc"]
end
subgraph group_workspace["packages/workspace"]
pkg_workspace["workspace"]
end
pkg_session --> pkg_scope
pkg_system_prompt --> pkg_llm
pkg_system_prompt --> pkg_scope
pkg_skill --> pkg_llm
pkg_skill --> pkg_scope
pkg_web --> pkg_llm
pkg_api_remotes --> pkg_scope
pkg_attachment --> pkg_brand
pkg_app_boot --> pkg_home_paths
pkg_app_boot --> pkg_launch_environment
pkg_browser_use --> pkg_brand
pkg_client_connection --> pkg_scope
pkg_computer_use --> pkg_brand
pkg_authorization --> pkg_credentials
pkg_authorization --> pkg_llm
pkg_credentials_local --> pkg_atomic_write
pkg_credentials_local --> pkg_credentials
pkg_credentials_local --> pkg_home_paths
pkg_credentials_local --> pkg_launch_environment
pkg_anonymous_user_id --> pkg_brand
pkg_anonymous_user_id --> pkg_home_paths
pkg_lsp --> pkg_brand
pkg_lsp --> pkg_llm
pkg_storage_domain --> pkg_storage
pkg_storage_json --> pkg_storage
pkg_storage_sqlite --> pkg_storage
pkg_subprocess --> pkg_http_proxy
pkg_remote_mock --> pkg_typert_protocol
pkg_typert_loader --> pkg_typert_registry
pkg_skill_office --> pkg_skill
pkg_web_fetch_http --> pkg_http_proxy
pkg_web_fetch_http --> pkg_timeout
pkg_web_fetch_http --> pkg_web
pkg_web_search_exa --> pkg_launch_environment
pkg_web_search_exa --> pkg_web
pkg_web_search_perplexity --> pkg_launch_environment
pkg_web_search_perplexity --> pkg_web
pkg_spill --> pkg_brand
pkg_spill --> pkg_llm
pkg_spill --> pkg_session
pkg_api_terminal_controller --> pkg_subprocess
pkg_attachment_local --> pkg_attachment
pkg_attachment_local --> pkg_home_paths
pkg_hmr --> pkg_app_boot
pkg_hmr --> pkg_cmdline
pkg_experimental_computer_use_cua_driver_mcp --> pkg_computer_use
pkg_experimental_webworker_runtime --> pkg_client_connection
pkg_experimental_webworker_runtime --> pkg_client_modules
pkg_experimental_webworker_runtime --> pkg_host_webserver
pkg_skill_badge --> pkg_skill
pkg_host_directory_picker_auto --> pkg_client_connection
pkg_host_directory_picker_auto --> pkg_client_ui_directory_picker_browse
pkg_host_directory_picker_auto --> pkg_client_ui_directory_picker_native
pkg_host_directory_picker_auto --> pkg_host_directory_picker_browse
pkg_host_directory_picker_auto --> pkg_host_directory_picker_native
pkg_host_directory_picker_auto --> pkg_host_webserver
pkg_host_frontend_static --> pkg_client_connection
pkg_host_frontend_static --> pkg_host_webserver
pkg_persona --> pkg_system_prompt
pkg_sandbox --> pkg_llm
pkg_sandbox --> pkg_session
pkg_sandbox_windows_acl --> pkg_skill
pkg_sandbox_windows_acl --> pkg_subprocess
pkg_session_format_catalog --> pkg_session
pkg_session_log_deepseek --> pkg_deepseek_llm_api_extensions
pkg_session_log_deepseek --> pkg_session
pkg_session_persistence --> pkg_brand
pkg_session_persistence --> pkg_session
pkg_session_persistence --> pkg_timeout
pkg_session_projection --> pkg_session
pkg_settings --> pkg_brand
pkg_settings --> pkg_session
pkg_subprocess_local --> pkg_subprocess
pkg_subprocess_local --> pkg_timeout
pkg_otel --> pkg_session
pkg_session_snapshot --> pkg_http_proxy
pkg_session_snapshot --> pkg_session
pkg_fs --> pkg_brand
pkg_fs --> pkg_llm
pkg_fs --> pkg_sandbox
pkg_spill_local --> pkg_spill
pkg_session_log_export --> pkg_session
pkg_session_log_export --> pkg_session_persistence
pkg_config_editor --> pkg_app_boot
pkg_config_editor --> pkg_hmr
pkg_experimental_speech_to_text --> pkg_settings
pkg_experimental_translator --> pkg_credentials
pkg_experimental_translator --> pkg_launch_environment
pkg_experimental_translator --> pkg_llm
pkg_experimental_translator --> pkg_session
pkg_experimental_translator --> pkg_session_persistence
pkg_experimental_translator --> pkg_timeout
pkg_experimental_translator --> pkg_util_values
pkg_host_product_telemetry_otel --> pkg_otel
pkg_ptc_runtime --> pkg_sandbox
pkg_sandbox_local --> pkg_llm
pkg_sandbox_local --> pkg_sandbox
pkg_sandbox_local --> pkg_session
pkg_session_persistence_jsonl --> pkg_session
pkg_session_persistence_jsonl --> pkg_session_persistence
pkg_session_projection_cache --> pkg_session
pkg_session_projection_cache --> pkg_session_projection
pkg_session_projection_cache --> pkg_storage_domain
pkg_session_stats --> pkg_llm
pkg_session_stats --> pkg_session
pkg_session_stats --> pkg_session_projection
pkg_session_turn_outline --> pkg_llm
pkg_session_turn_outline --> pkg_session
pkg_session_turn_outline --> pkg_session_projection
pkg_shell --> pkg_sandbox
pkg_shell --> pkg_subprocess
pkg_workspace --> pkg_session
pkg_workspace --> pkg_session_persistence
pkg_workspace --> pkg_storage
pkg_workspace --> pkg_storage_domain
pkg_workspace --> pkg_typert_protocol
pkg_llm_deepseek --> pkg_anonymous_user_id
pkg_llm_deepseek --> pkg_atomic_write
pkg_llm_deepseek --> pkg_attachment
pkg_llm_deepseek --> pkg_deepseek_llm_api_extensions
pkg_llm_deepseek --> pkg_fs
pkg_llm_deepseek --> pkg_home_paths
pkg_llm_deepseek --> pkg_launch_environment
pkg_llm_deepseek --> pkg_llm
pkg_llm_deepseek --> pkg_timeout
pkg_llm_pi_ai --> pkg_attachment
pkg_llm_pi_ai --> pkg_authorization
pkg_llm_pi_ai --> pkg_credentials
pkg_llm_pi_ai --> pkg_fs
pkg_llm_pi_ai --> pkg_launch_environment
pkg_llm_pi_ai --> pkg_llm
pkg_llm_pi_ai --> pkg_timeout
pkg_agent --> pkg_llm
pkg_agent --> pkg_scope
pkg_agent --> pkg_session
pkg_agent --> pkg_session_projection
pkg_agent --> pkg_system_prompt
pkg_agent --> pkg_typert_protocol
pkg_agent --> pkg_util_values
pkg_agent --> pkg_workspace
pkg_fs_local --> pkg_fs
pkg_fs_observation_policy --> pkg_fs
pkg_skill_filesystem --> pkg_fs
pkg_skill_filesystem --> pkg_home_paths
pkg_skill_filesystem --> pkg_skill
pkg_api_workspace_controller --> pkg_api_gateway
pkg_api_workspace_controller --> pkg_client_connection
pkg_api_workspace_controller --> pkg_host_directory_picker
pkg_api_workspace_controller --> pkg_session
pkg_api_workspace_controller --> pkg_storage_domain
pkg_api_workspace_controller --> pkg_typert_protocol
pkg_api_workspace_controller --> pkg_workspace
pkg_experimental_api_speech_to_text --> pkg_experimental_speech_to_text
pkg_experimental_api_speech_to_text --> pkg_typert_protocol
pkg_experimental_client_ui_cot_translation --> pkg_experimental_translator
pkg_experimental_speech_to_text_sensevoice --> pkg_experimental_speech_to_text
pkg_experimental_speech_to_text_sensevoice --> pkg_subprocess
pkg_hook_protocol --> pkg_session
pkg_hook_protocol --> pkg_shell
pkg_lsp_stdio --> pkg_brand
pkg_lsp_stdio --> pkg_fs
pkg_lsp_stdio --> pkg_llm
pkg_lsp_stdio --> pkg_lsp
pkg_lsp_stdio --> pkg_subprocess
pkg_lsp_stdio --> pkg_timeout
pkg_bash_local --> pkg_shell
pkg_bash_local --> pkg_subprocess
pkg_bash_local --> pkg_timeout
pkg_pwsh_local --> pkg_shell
pkg_pwsh_local --> pkg_subprocess
pkg_pwsh_local --> pkg_timeout
pkg_llm_deepseek_api_key --> pkg_credentials
pkg_llm_deepseek_api_key --> pkg_launch_environment
pkg_llm_deepseek_api_key --> pkg_llm
pkg_llm_deepseek_api_key --> pkg_llm_deepseek
pkg_llm_retry --> pkg_agent
pkg_llm_retry --> pkg_brand
pkg_llm_retry --> pkg_llm
pkg_llm_retry --> pkg_session
pkg_llm_retry --> pkg_session_projection
pkg_llm_retry --> pkg_timeout
pkg_agent_default_model --> pkg_agent
pkg_agent_default_model --> pkg_llm
pkg_goal --> pkg_agent
pkg_goal --> pkg_brand
pkg_goal --> pkg_llm
pkg_goal --> pkg_scope
pkg_goal --> pkg_session
pkg_goal --> pkg_session_projection
pkg_goal --> pkg_typert_protocol
pkg_file_reference --> pkg_agent
pkg_harness_dev_context --> pkg_agent
pkg_harness_dev_context --> pkg_session
pkg_harness_dev_context --> pkg_session_projection
pkg_harness_dev_context --> pkg_system_prompt
pkg_time_context --> pkg_agent
pkg_time_context --> pkg_llm
pkg_time_context --> pkg_session
pkg_time_context --> pkg_session_projection
pkg_tmux_context --> pkg_agent
pkg_tmux_context --> pkg_session
pkg_tmux_context --> pkg_session_projection
pkg_tmux_context --> pkg_shell
pkg_deepseek_account --> pkg_agent
pkg_deepseek_account --> pkg_brand
pkg_deepseek_account --> pkg_llm
pkg_deepseek_account --> pkg_util_values
pkg_commands --> pkg_agent
pkg_commands --> pkg_attachment
pkg_commands --> pkg_brand
pkg_commands --> pkg_llm
pkg_commands --> pkg_scope
pkg_commands --> pkg_session
pkg_commands --> pkg_typert_protocol
pkg_user_approval --> pkg_agent
pkg_user_approval --> pkg_brand
pkg_user_approval --> pkg_llm
pkg_user_approval --> pkg_scope
pkg_user_approval --> pkg_session
pkg_user_approval --> pkg_system_prompt
pkg_user_questions --> pkg_agent
pkg_user_questions --> pkg_llm
pkg_user_questions --> pkg_scope
pkg_user_questions --> pkg_session
pkg_user_questions --> pkg_session_projection
pkg_user_questions --> pkg_typert_protocol
pkg_jobs --> pkg_agent
pkg_jobs --> pkg_brand
pkg_jobs --> pkg_session
pkg_jobs --> pkg_workspace
pkg_sandbox_policy --> pkg_agent
pkg_sandbox_policy --> pkg_sandbox
pkg_sandbox_policy --> pkg_session
pkg_sandbox_policy --> pkg_session_projection
pkg_sandbox_policy --> pkg_system_prompt
pkg_session_telemetry --> pkg_agent
pkg_session_telemetry --> pkg_session
pkg_session_title --> pkg_agent
pkg_session_title --> pkg_brand
pkg_session_title --> pkg_llm
pkg_session_title --> pkg_session
pkg_session_title --> pkg_session_projection
pkg_working_directory --> pkg_agent
pkg_working_directory --> pkg_fs
pkg_working_directory --> pkg_llm
pkg_working_directory --> pkg_session
pkg_working_directory --> pkg_session_projection
pkg_working_directory --> pkg_system_prompt
pkg_terminal --> pkg_agent
pkg_terminal --> pkg_brand
pkg_loader_smoke --> pkg_agent
pkg_loader_smoke --> pkg_http_proxy
pkg_loader_smoke --> pkg_llm
pkg_loader_smoke --> pkg_session
pkg_workflow --> pkg_agent
pkg_workflow --> pkg_brand
pkg_workflow --> pkg_llm
pkg_workflow --> pkg_session
pkg_llm_deepseek_account --> pkg_deepseek_account
pkg_llm_deepseek_account --> pkg_launch_environment
pkg_llm_deepseek_account --> pkg_llm
pkg_llm_deepseek_account --> pkg_llm_deepseek
pkg_tools --> pkg_agent
pkg_tools --> pkg_llm
pkg_tools --> pkg_ptc_runtime
pkg_tools --> pkg_sandbox
pkg_tools --> pkg_sandbox_policy
pkg_tools --> pkg_scope
pkg_tools --> pkg_session
pkg_tools --> pkg_system_prompt
pkg_tools --> pkg_user_approval
pkg_tools --> pkg_working_directory
pkg_command_goal --> pkg_commands
pkg_command_goal --> pkg_goal
pkg_command_goal --> pkg_llm
pkg_fs_sandbox --> pkg_fs
pkg_fs_sandbox --> pkg_fs_local
pkg_fs_sandbox --> pkg_sandbox
pkg_fs_sandbox --> pkg_sandbox_policy
pkg_web_deepseek_api --> pkg_agent
pkg_web_deepseek_api --> pkg_credentials
pkg_web_deepseek_api --> pkg_deepseek_account
pkg_web_deepseek_api --> pkg_launch_environment
pkg_web_deepseek_api --> pkg_session
pkg_web_deepseek_api --> pkg_web
pkg_web_search_deepseek --> pkg_agent
pkg_web_search_deepseek --> pkg_credentials
pkg_web_search_deepseek --> pkg_deepseek_account
pkg_web_search_deepseek --> pkg_launch_environment
pkg_web_search_deepseek --> pkg_session
pkg_web_search_deepseek --> pkg_web
pkg_api_account_controller --> pkg_agent
pkg_api_account_controller --> pkg_deepseek_account
pkg_api_account_controller --> pkg_typert_protocol
pkg_compaction --> pkg_brand
pkg_compaction --> pkg_commands
pkg_compaction --> pkg_llm
pkg_compaction --> pkg_session
pkg_deepseek_account_platform --> pkg_authorization
pkg_deepseek_account_platform --> pkg_credentials
pkg_deepseek_account_platform --> pkg_deepseek_account
pkg_deepseek_account_platform --> pkg_host_webserver
pkg_experimental_ptc_runtime_python --> pkg_ptc_runtime
pkg_experimental_ptc_runtime_python --> pkg_sandbox
pkg_experimental_ptc_runtime_python --> pkg_sandbox_policy
pkg_experimental_ptc_runtime_python --> pkg_timeout
pkg_experimental_ptc_runtime_python --> pkg_util_values
pkg_experimental_worktree --> pkg_agent
pkg_experimental_worktree --> pkg_fs
pkg_experimental_worktree --> pkg_sandbox
pkg_experimental_worktree --> pkg_sandbox_policy
pkg_experimental_worktree --> pkg_subprocess
pkg_experimental_worktree --> pkg_working_directory
pkg_command_feedback --> pkg_anonymous_user_id
pkg_command_feedback --> pkg_commands
pkg_command_feedback --> pkg_session
pkg_command_feedback --> pkg_typert_protocol
pkg_permission_presets --> pkg_commands
pkg_permission_presets --> pkg_sandbox
pkg_permission_presets --> pkg_sandbox_policy
pkg_permission_presets --> pkg_session
pkg_permission_presets --> pkg_session_projection
pkg_permission_presets --> pkg_shell
pkg_permission_presets --> pkg_typert_protocol
pkg_permission_presets --> pkg_user_approval
pkg_jobs_local --> pkg_agent
pkg_jobs_local --> pkg_jobs
pkg_jobs_local --> pkg_scope
pkg_jobs_local --> pkg_timeout
pkg_ptc_runtime_node --> pkg_fs
pkg_ptc_runtime_node --> pkg_ptc_runtime
pkg_ptc_runtime_node --> pkg_sandbox
pkg_ptc_runtime_node --> pkg_sandbox_policy
pkg_ptc_runtime_node --> pkg_session
pkg_ptc_runtime_node --> pkg_subprocess
pkg_ptc_runtime_node --> pkg_timeout
pkg_session_title_llm --> pkg_llm
pkg_session_title_llm --> pkg_session
pkg_session_title_llm --> pkg_session_title
pkg_session_title_llm --> pkg_timeout
pkg_bash_sandbox --> pkg_bash_local
pkg_bash_sandbox --> pkg_sandbox
pkg_bash_sandbox --> pkg_sandbox_policy
pkg_bash_sandbox --> pkg_shell
pkg_pwsh_sandbox --> pkg_pwsh_local
pkg_pwsh_sandbox --> pkg_sandbox
pkg_pwsh_sandbox --> pkg_sandbox_policy
pkg_pwsh_sandbox --> pkg_shell
pkg_terminal_bash --> pkg_agent
pkg_terminal_bash --> pkg_sandbox
pkg_terminal_bash --> pkg_sandbox_policy
pkg_terminal_bash --> pkg_session
pkg_terminal_bash --> pkg_session_projection
pkg_terminal_bash --> pkg_subprocess
pkg_terminal_bash --> pkg_terminal
pkg_terminal_bash --> pkg_working_directory
pkg_agent_loop --> pkg_agent
pkg_agent_loop --> pkg_llm
pkg_agent_loop --> pkg_scope
pkg_agent_loop --> pkg_session
pkg_agent_loop --> pkg_session_persistence
pkg_agent_loop --> pkg_session_projection
pkg_agent_loop --> pkg_system_prompt
pkg_agent_loop --> pkg_tools
pkg_agent_tool_presentation --> pkg_tools
pkg_tool_goal --> pkg_agent
pkg_tool_goal --> pkg_goal
pkg_tool_goal --> pkg_llm
pkg_tool_goal --> pkg_session
pkg_tool_goal --> pkg_session_projection
pkg_tool_goal --> pkg_system_prompt
pkg_tool_goal --> pkg_tools
pkg_tool_fs --> pkg_attachment
pkg_tool_fs --> pkg_fs
pkg_tool_fs --> pkg_llm
pkg_tool_fs --> pkg_sandbox
pkg_tool_fs --> pkg_sandbox_policy
pkg_tool_fs --> pkg_session
pkg_tool_fs --> pkg_system_prompt
pkg_tool_fs --> pkg_tools
pkg_tool_fs --> pkg_user_approval
pkg_tool_fs --> pkg_working_directory
pkg_tool_fs_search --> pkg_llm
pkg_tool_fs_search --> pkg_output_retention
pkg_tool_fs_search --> pkg_session
pkg_tool_fs_search --> pkg_spill
pkg_tool_fs_search --> pkg_subprocess
pkg_tool_fs_search --> pkg_system_prompt
pkg_tool_fs_search --> pkg_timeout
pkg_tool_fs_search --> pkg_tools
pkg_tool_fs_search --> pkg_working_directory
pkg_tool_str_replace_editor --> pkg_fs
pkg_tool_str_replace_editor --> pkg_output_retention
pkg_tool_str_replace_editor --> pkg_sandbox
pkg_tool_str_replace_editor --> pkg_sandbox_policy
pkg_tool_str_replace_editor --> pkg_tools
pkg_tool_skill --> pkg_agent
pkg_tool_skill --> pkg_llm
pkg_tool_skill --> pkg_skill
pkg_tool_skill --> pkg_tools
pkg_tool_skill --> pkg_working_directory
pkg_tool_workspace_dependencies --> pkg_tools
pkg_tool_web --> pkg_llm
pkg_tool_web --> pkg_system_prompt
pkg_tool_web --> pkg_tools
pkg_tool_web --> pkg_web
pkg_tool_todo --> pkg_agent
pkg_tool_todo --> pkg_session
pkg_tool_todo --> pkg_session_projection
pkg_tool_todo --> pkg_tools
pkg_plan_mode --> pkg_agent
pkg_plan_mode --> pkg_commands
pkg_plan_mode --> pkg_llm
pkg_plan_mode --> pkg_session
pkg_plan_mode --> pkg_session_projection
pkg_plan_mode --> pkg_system_prompt
pkg_plan_mode --> pkg_tools
pkg_plan_mode --> pkg_user_questions
pkg_command_compact --> pkg_commands
pkg_command_compact --> pkg_compaction
pkg_compaction_image_offload --> pkg_agent
pkg_compaction_image_offload --> pkg_compaction
pkg_compaction_image_offload --> pkg_llm
pkg_compaction_image_offload --> pkg_session
pkg_agent_instructions --> pkg_agent
pkg_agent_instructions --> pkg_fs
pkg_agent_instructions --> pkg_home_paths
pkg_agent_instructions --> pkg_llm
pkg_agent_instructions --> pkg_session
pkg_agent_instructions --> pkg_session_projection
pkg_agent_instructions --> pkg_tools
pkg_agent_instructions --> pkg_working_directory
pkg_file_reference_local --> pkg_agent
pkg_file_reference_local --> pkg_file_reference
pkg_file_reference_local --> pkg_system_prompt
pkg_file_reference_local --> pkg_tools
pkg_file_reference_local --> pkg_working_directory
pkg_tool_present --> pkg_agent
pkg_tool_present --> pkg_fs
pkg_tool_present --> pkg_llm
pkg_tool_present --> pkg_session
pkg_tool_present --> pkg_session_projection
pkg_tool_present --> pkg_tools
pkg_tool_present --> pkg_working_directory
pkg_workspace_changes --> pkg_agent
pkg_workspace_changes --> pkg_fs
pkg_workspace_changes --> pkg_session
pkg_workspace_changes --> pkg_subprocess
pkg_workspace_changes --> pkg_tools
pkg_cua --> pkg_agent
pkg_cua --> pkg_attachment
pkg_cua --> pkg_computer_use
pkg_cua --> pkg_llm
pkg_cua --> pkg_subprocess
pkg_cua --> pkg_system_prompt
pkg_cua --> pkg_tools
pkg_cua --> pkg_user_questions
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_agent
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_browser_use
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_system_prompt
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_tools
pkg_experimental_browser_use_chrome_devtools_mcp --> pkg_working_directory
pkg_experimental_browser_use_playwright_mcp --> pkg_agent
pkg_experimental_browser_use_playwright_mcp --> pkg_browser_use
pkg_experimental_browser_use_playwright_mcp --> pkg_system_prompt
pkg_experimental_browser_use_playwright_mcp --> pkg_tools
pkg_experimental_browser_use_playwright_mcp --> pkg_working_directory
pkg_experimental_browser_use_stagehand_native --> pkg_agent
pkg_experimental_browser_use_stagehand_native --> pkg_browser_use
pkg_experimental_browser_use_stagehand_native --> pkg_system_prompt
pkg_experimental_browser_use_stagehand_native --> pkg_tools
pkg_experimental_computer_use_cua_driver_native --> pkg_computer_use
pkg_experimental_computer_use_cua_driver_native --> pkg_system_prompt
pkg_experimental_computer_use_cua_driver_native --> pkg_tools
pkg_experimental_cua_macos --> pkg_agent
pkg_experimental_cua_macos --> pkg_computer_use
pkg_experimental_cua_macos --> pkg_subprocess
pkg_experimental_cua_macos --> pkg_system_prompt
pkg_experimental_cua_macos --> pkg_tools
pkg_experimental_cua_macos --> pkg_user_questions
pkg_experimental_tool_worktree --> pkg_experimental_worktree
pkg_experimental_tool_worktree --> pkg_tools
pkg_hooks_codex --> pkg_agent
pkg_hooks_codex --> pkg_hook_protocol
pkg_hooks_codex --> pkg_llm
pkg_hooks_codex --> pkg_session
pkg_hooks_codex --> pkg_session_projection
pkg_hooks_codex --> pkg_tools
pkg_hooks_codex --> pkg_working_directory
pkg_session_title_all_prompts_llm --> pkg_llm
pkg_session_title_all_prompts_llm --> pkg_session
pkg_session_title_all_prompts_llm --> pkg_session_title
pkg_session_title_all_prompts_llm --> pkg_session_title_llm
pkg_tool_terminal --> pkg_agent
pkg_tool_terminal --> pkg_jobs
pkg_tool_terminal --> pkg_llm
pkg_tool_terminal --> pkg_output_retention
pkg_tool_terminal --> pkg_system_prompt
pkg_tool_terminal --> pkg_terminal
pkg_tool_terminal --> pkg_tools
pkg_tool_terminal --> pkg_working_directory
pkg_cordis_host_runner --> pkg_agent
pkg_cordis_host_runner --> pkg_brand
pkg_cordis_host_runner --> pkg_llm
pkg_cordis_host_runner --> pkg_scope
pkg_cordis_host_runner --> pkg_session
pkg_cordis_host_runner --> pkg_tools
pkg_cordis_host_runner --> pkg_typert_protocol
pkg_message_feedback --> pkg_brand
pkg_message_feedback --> pkg_command_feedback
pkg_message_feedback --> pkg_llm
pkg_message_feedback --> pkg_session
pkg_message_feedback --> pkg_session_persistence
pkg_message_feedback --> pkg_typert_protocol
pkg_repeat_tool_reminder --> pkg_agent
pkg_repeat_tool_reminder --> pkg_tools
pkg_tool_call_timeout_policy --> pkg_llm
pkg_tool_call_timeout_policy --> pkg_timeout
pkg_tool_call_timeout_policy --> pkg_tools
pkg_tool_ask_user --> pkg_agent
pkg_tool_ask_user --> pkg_tools
pkg_tool_ask_user --> pkg_user_questions
pkg_tool_jobs --> pkg_agent
pkg_tool_jobs --> pkg_jobs
pkg_tool_jobs --> pkg_llm
pkg_tool_jobs --> pkg_output_retention
pkg_tool_jobs --> pkg_system_prompt
pkg_tool_jobs --> pkg_tools
pkg_tool_lsp --> pkg_llm
pkg_tool_lsp --> pkg_lsp
pkg_tool_lsp --> pkg_system_prompt
pkg_tool_lsp --> pkg_timeout
pkg_tool_lsp --> pkg_tools
pkg_tool_lsp --> pkg_working_directory
pkg_mcp_resources --> pkg_llm
pkg_mcp_resources --> pkg_scope
pkg_mcp_resources --> pkg_system_prompt
pkg_mcp_resources --> pkg_tools
pkg_agent_preset_registry --> pkg_agent
pkg_agent_preset_registry --> pkg_scope
pkg_agent_preset_registry --> pkg_session
pkg_agent_preset_registry --> pkg_session_projection
pkg_agent_preset_registry --> pkg_settings
pkg_agent_preset_registry --> pkg_system_prompt
pkg_agent_preset_registry --> pkg_tools
pkg_agent_preset_registry --> pkg_typert_protocol
pkg_session_checkpoint_policy --> pkg_agent
pkg_session_checkpoint_policy --> pkg_llm
pkg_session_checkpoint_policy --> pkg_session
pkg_session_checkpoint_policy --> pkg_session_persistence
pkg_session_checkpoint_policy --> pkg_tools
pkg_session_title_first_prompt_llm --> pkg_llm
pkg_session_title_first_prompt_llm --> pkg_session
pkg_session_title_first_prompt_llm --> pkg_session_title
pkg_session_title_first_prompt_llm --> pkg_session_title_llm
pkg_tool_working_directory --> pkg_tools
pkg_tool_working_directory --> pkg_working_directory
pkg_shell_env --> pkg_app_boot
pkg_shell_env --> pkg_home_paths
pkg_shell_env --> pkg_shell
pkg_shell_env --> pkg_tools
pkg_tool_bash_persistent --> pkg_agent
pkg_tool_bash_persistent --> pkg_output_retention
pkg_tool_bash_persistent --> pkg_terminal
pkg_tool_bash_persistent --> pkg_timeout
pkg_tool_bash_persistent --> pkg_tools
pkg_tool_bash_persistent --> pkg_working_directory
pkg_tool_pwsh_persistent --> pkg_agent
pkg_tool_pwsh_persistent --> pkg_output_retention
pkg_tool_pwsh_persistent --> pkg_terminal
pkg_tool_pwsh_persistent --> pkg_timeout
pkg_tool_pwsh_persistent --> pkg_tools
pkg_tool_pwsh_persistent --> pkg_working_directory
pkg_ssh --> pkg_brand
pkg_ssh --> pkg_fs
pkg_ssh --> pkg_fs_local
pkg_ssh --> pkg_fs_sandbox
pkg_ssh --> pkg_sandbox
pkg_ssh --> pkg_sandbox_local
pkg_ssh --> pkg_sandbox_policy
pkg_ssh --> pkg_session_projection
pkg_ssh --> pkg_subprocess
pkg_ssh --> pkg_subprocess_local
pkg_ssh --> pkg_util_values
pkg_llm_replay --> pkg_compaction
pkg_llm_replay --> pkg_deepseek_llm_api_extensions
pkg_llm_replay --> pkg_llm
pkg_llm_replay --> pkg_session
pkg_tool_workflow --> pkg_agent
pkg_tool_workflow --> pkg_jobs
pkg_tool_workflow --> pkg_llm
pkg_tool_workflow --> pkg_session
pkg_tool_workflow --> pkg_system_prompt
pkg_tool_workflow --> pkg_tools
pkg_tool_workflow --> pkg_workflow
pkg_plugin_package_inventory_deepseek --> pkg_agent
pkg_plugin_package_inventory_deepseek --> pkg_agent_preset_registry
pkg_plugin_package_inventory_deepseek --> pkg_deepseek_llm_api_extensions
pkg_plugin_package_inventory_deepseek --> pkg_session
pkg_token_meter --> pkg_compaction
pkg_token_meter --> pkg_compaction_image_offload
pkg_token_meter --> pkg_llm
pkg_token_meter --> pkg_llm_retry
pkg_token_meter --> pkg_session
pkg_token_meter --> pkg_session_projection
pkg_session_query --> pkg_brand
pkg_session_query --> pkg_llm
pkg_session_query --> pkg_session
pkg_session_query --> pkg_session_persistence
pkg_session_query --> pkg_session_projection
pkg_session_query --> pkg_session_projection_cache
pkg_session_query --> pkg_session_title
pkg_session_query --> pkg_tool_todo
pkg_api_settings_controller --> pkg_agent_preset_registry
pkg_api_settings_controller --> pkg_credentials
pkg_api_settings_controller --> pkg_native_command
pkg_api_settings_controller --> pkg_session
pkg_api_settings_controller --> pkg_settings
pkg_api_settings_controller --> pkg_typert_protocol
pkg_web_app --> pkg_shell_env
pkg_experimental_auto_review --> pkg_agent
pkg_experimental_auto_review --> pkg_agent_instructions
pkg_experimental_auto_review --> pkg_llm
pkg_experimental_auto_review --> pkg_permission_presets
pkg_experimental_auto_review --> pkg_session
pkg_experimental_auto_review --> pkg_tools
pkg_experimental_auto_review --> pkg_working_directory
pkg_webhook --> pkg_agent
pkg_webhook --> pkg_agent_default_model
pkg_webhook --> pkg_agent_preset_registry
pkg_webhook --> pkg_llm
pkg_webhook --> pkg_permission_presets
pkg_webhook --> pkg_session
pkg_webhook --> pkg_session_title
pkg_webhook --> pkg_workspace
pkg_tool_cordis --> pkg_agent
pkg_tool_cordis --> pkg_app_boot
pkg_tool_cordis --> pkg_cordis_host_runner
pkg_tool_cordis --> pkg_tools
pkg_host_plugin_inventory --> pkg_agent_preset_registry
pkg_host_plugin_inventory --> pkg_brand
pkg_host_plugin_inventory --> pkg_typert_protocol
pkg_mcp_client --> pkg_attachment
pkg_mcp_client --> pkg_llm
pkg_mcp_client --> pkg_mcp_resources
pkg_mcp_client --> pkg_scope
pkg_mcp_client --> pkg_subprocess
pkg_mcp_client --> pkg_system_prompt
pkg_mcp_client --> pkg_timeout
pkg_mcp_client --> pkg_tools
pkg_agent_preset --> pkg_agent_preset_registry
pkg_session_telemetry_otel --> pkg_anonymous_user_id
pkg_session_telemetry_otel --> pkg_command_feedback
pkg_session_telemetry_otel --> pkg_llm
pkg_session_telemetry_otel --> pkg_message_feedback
pkg_session_telemetry_otel --> pkg_otel
pkg_session_telemetry_otel --> pkg_session
pkg_session_telemetry_otel --> pkg_session_telemetry
pkg_tool_bash --> pkg_agent
pkg_tool_bash --> pkg_jobs
pkg_tool_bash --> pkg_llm
pkg_tool_bash --> pkg_sandbox
pkg_tool_bash --> pkg_sandbox_policy
pkg_tool_bash --> pkg_shell
pkg_tool_bash --> pkg_shell_env
pkg_tool_bash --> pkg_system_prompt
pkg_tool_bash --> pkg_tools
pkg_tool_bash --> pkg_user_approval
pkg_tool_bash --> pkg_working_directory
pkg_tool_pwsh --> pkg_agent
pkg_tool_pwsh --> pkg_jobs
pkg_tool_pwsh --> pkg_llm
pkg_tool_pwsh --> pkg_sandbox
pkg_tool_pwsh --> pkg_sandbox_policy
pkg_tool_pwsh --> pkg_shell
pkg_tool_pwsh --> pkg_shell_env
pkg_tool_pwsh --> pkg_system_prompt
pkg_tool_pwsh --> pkg_tools
pkg_tool_pwsh --> pkg_user_approval
pkg_tool_pwsh --> pkg_working_directory
pkg_fs_ssh --> pkg_fs
pkg_fs_ssh --> pkg_sandbox
pkg_fs_ssh --> pkg_sandbox_policy
pkg_fs_ssh --> pkg_ssh
pkg_sandbox_ssh --> pkg_sandbox
pkg_sandbox_ssh --> pkg_ssh
pkg_subprocess_ssh --> pkg_ssh
pkg_subprocess_ssh --> pkg_subprocess
pkg_subprocess_ssh --> pkg_subprocess_local
pkg_agent_loop_testkit --> pkg_agent
pkg_agent_loop_testkit --> pkg_agent_loop
pkg_agent_loop_testkit --> pkg_fs_local
pkg_agent_loop_testkit --> pkg_llm
pkg_agent_loop_testkit --> pkg_session
pkg_agent_loop_testkit --> pkg_session_projection
pkg_agent_loop_testkit --> pkg_system_prompt
pkg_agent_loop_testkit --> pkg_tools
pkg_agent_loop_testkit --> pkg_working_directory
pkg_subagent --> pkg_agent
pkg_subagent --> pkg_agent_preset_registry
pkg_subagent --> pkg_attachment
pkg_subagent --> pkg_llm
pkg_subagent --> pkg_permission_presets
pkg_subagent --> pkg_sandbox
pkg_subagent --> pkg_sandbox_policy
pkg_subagent --> pkg_scope
pkg_subagent --> pkg_session
pkg_subagent --> pkg_session_persistence
pkg_subagent --> pkg_session_projection
pkg_subagent --> pkg_session_query
pkg_subagent --> pkg_system_prompt
pkg_subagent --> pkg_tools
pkg_subagent --> pkg_typert_protocol
pkg_subagent --> pkg_user_approval
pkg_subagent --> pkg_util_time
pkg_subagent --> pkg_working_directory
pkg_subagent --> pkg_workspace
pkg_spill_policy --> pkg_attachment
pkg_spill_policy --> pkg_fs
pkg_spill_policy --> pkg_llm
pkg_spill_policy --> pkg_output_retention
pkg_spill_policy --> pkg_session
pkg_spill_policy --> pkg_spill
pkg_spill_policy --> pkg_token_meter
pkg_spill_policy --> pkg_tools
pkg_session_query_sqlite --> pkg_session
pkg_session_query_sqlite --> pkg_session_persistence
pkg_session_query_sqlite --> pkg_session_query
pkg_acp --> pkg_agent
pkg_acp --> pkg_attachment
pkg_acp --> pkg_llm
pkg_acp --> pkg_mcp_client
pkg_acp --> pkg_session
pkg_acp --> pkg_session_persistence
pkg_acp --> pkg_token_meter
pkg_acp --> pkg_user_approval
pkg_plugin_manager --> pkg_brand
pkg_plugin_manager --> pkg_hmr
pkg_plugin_manager --> pkg_host_plugin_inventory
pkg_plugin_manager --> pkg_sandbox
pkg_plugin_manager --> pkg_sandbox_policy
pkg_plugin_manager --> pkg_subprocess
pkg_plugin_manager --> pkg_tools
pkg_plugin_manager --> pkg_typert_protocol
pkg_plugin_manager --> pkg_user_approval
pkg_compaction_tool_result_pruner --> pkg_compaction
pkg_compaction_tool_result_pruner --> pkg_llm
pkg_compaction_tool_result_pruner --> pkg_session
pkg_compaction_tool_result_pruner --> pkg_token_meter
pkg_experimental_browser_use_runtime --> pkg_agent
pkg_experimental_browser_use_runtime --> pkg_browser_use
pkg_experimental_browser_use_runtime --> pkg_mcp_client
pkg_experimental_browser_use_runtime --> pkg_scope
pkg_experimental_browser_use_runtime --> pkg_system_prompt
pkg_experimental_browser_use_runtime --> pkg_tools
pkg_experimental_browser_use_runtime --> pkg_working_directory
pkg_experimental_claude_code_mods --> pkg_agent
pkg_experimental_claude_code_mods --> pkg_commands
pkg_experimental_claude_code_mods --> pkg_fs
pkg_experimental_claude_code_mods --> pkg_llm
pkg_experimental_claude_code_mods --> pkg_scope
pkg_experimental_claude_code_mods --> pkg_session
pkg_experimental_claude_code_mods --> pkg_session_projection
pkg_experimental_claude_code_mods --> pkg_storage_domain
pkg_experimental_claude_code_mods --> pkg_subprocess
pkg_experimental_claude_code_mods --> pkg_token_meter
pkg_experimental_claude_code_mods --> pkg_tools
pkg_experimental_claude_code_mods --> pkg_typert_protocol
pkg_experimental_claude_code_mods --> pkg_user_questions
pkg_experimental_claude_code_mods --> pkg_working_directory
pkg_tool_session_query --> pkg_agent
pkg_tool_session_query --> pkg_llm
pkg_tool_session_query --> pkg_session
pkg_tool_session_query --> pkg_session_projection
pkg_tool_session_query --> pkg_session_query
pkg_tool_session_query --> pkg_system_prompt
pkg_tool_session_query --> pkg_timeout
pkg_tool_session_query --> pkg_tools
pkg_webhook_github --> pkg_credentials
pkg_webhook_github --> pkg_host_webserver
pkg_webhook_github --> pkg_session
pkg_webhook_github --> pkg_webhook
pkg_goal_round_driver --> pkg_agent
pkg_goal_round_driver --> pkg_goal
pkg_goal_round_driver --> pkg_llm
pkg_goal_round_driver --> pkg_session
pkg_goal_round_driver --> pkg_subagent
pkg_subagent_acp --> pkg_agent
pkg_subagent_acp --> pkg_llm
pkg_subagent_acp --> pkg_session
pkg_subagent_acp --> pkg_subagent
pkg_subagent_acp --> pkg_subprocess
pkg_subagent_acp --> pkg_timeout
pkg_subagent_claude_code --> pkg_llm
pkg_subagent_claude_code --> pkg_session
pkg_subagent_claude_code --> pkg_subagent
pkg_subagent_claude_code --> pkg_subprocess
pkg_subagent_claude_code --> pkg_timeout
pkg_subagent_codex --> pkg_llm
pkg_subagent_codex --> pkg_session
pkg_subagent_codex --> pkg_subagent
pkg_subagent_codex --> pkg_subprocess
pkg_subagent_codex --> pkg_timeout
pkg_subagent_fork_in_process --> pkg_agent
pkg_subagent_fork_in_process --> pkg_session
pkg_subagent_fork_in_process --> pkg_subagent
pkg_subagent_spawn_in_process --> pkg_subagent
pkg_tool_subagent --> pkg_agent
pkg_tool_subagent --> pkg_agent_preset_registry
pkg_tool_subagent --> pkg_llm
pkg_tool_subagent --> pkg_scope
pkg_tool_subagent --> pkg_session
pkg_tool_subagent --> pkg_session_projection
pkg_tool_subagent --> pkg_subagent
pkg_tool_subagent --> pkg_system_prompt
pkg_tool_subagent --> pkg_tools
pkg_tool_subagent_control --> pkg_llm
pkg_tool_subagent_control --> pkg_session
pkg_tool_subagent_control --> pkg_subagent
pkg_tool_subagent_control --> pkg_tools
pkg_api_session_controller --> pkg_agent
pkg_api_session_controller --> pkg_agent_default_model
pkg_api_session_controller --> pkg_agent_preset_registry
pkg_api_session_controller --> pkg_api_gateway
pkg_api_session_controller --> pkg_attachment
pkg_api_session_controller --> pkg_client_connection
pkg_api_session_controller --> pkg_client_file_upload
pkg_api_session_controller --> pkg_commands
pkg_api_session_controller --> pkg_credentials
pkg_api_session_controller --> pkg_file_reference
pkg_api_session_controller --> pkg_fs
pkg_api_session_controller --> pkg_llm
pkg_api_session_controller --> pkg_native_command
pkg_api_session_controller --> pkg_scope
pkg_api_session_controller --> pkg_session
pkg_api_session_controller --> pkg_session_persistence
pkg_api_session_controller --> pkg_session_projection
pkg_api_session_controller --> pkg_session_projection_cache
pkg_api_session_controller --> pkg_session_query
pkg_api_session_controller --> pkg_session_title
pkg_api_session_controller --> pkg_settings
pkg_api_session_controller --> pkg_skill
pkg_api_session_controller --> pkg_subagent
pkg_api_session_controller --> pkg_typert_protocol
pkg_api_session_controller --> pkg_typert_registry
pkg_api_session_controller --> pkg_util_time
pkg_api_session_controller --> pkg_util_values
pkg_api_session_controller --> pkg_util_workspace_path
pkg_api_session_controller --> pkg_working_directory
pkg_api_session_controller --> pkg_workspace
pkg_plugin_market --> pkg_plugin_manager
pkg_plugin_market --> pkg_settings
pkg_plugin_market --> pkg_tools
pkg_plugin_market --> pkg_typert_protocol
pkg_headless --> pkg_agent
pkg_headless --> pkg_agent_default_model
pkg_headless --> pkg_fs
pkg_headless --> pkg_llm
pkg_headless --> pkg_session
pkg_headless --> pkg_session_query
pkg_headless --> pkg_subagent
pkg_compaction_basic --> pkg_agent
pkg_compaction_basic --> pkg_commands
pkg_compaction_basic --> pkg_compaction
pkg_compaction_basic --> pkg_compaction_tool_result_pruner
pkg_compaction_basic --> pkg_llm
pkg_compaction_basic --> pkg_session
pkg_compaction_basic --> pkg_token_meter
pkg_session_reference --> pkg_agent
pkg_session_reference --> pkg_compaction
pkg_session_reference --> pkg_llm
pkg_session_reference --> pkg_output_retention
pkg_session_reference --> pkg_session
pkg_session_reference --> pkg_session_projection
pkg_session_reference --> pkg_session_projection_cache
pkg_session_reference --> pkg_session_query
pkg_session_reference --> pkg_session_title
pkg_session_reference --> pkg_spill
pkg_session_reference --> pkg_subagent
pkg_session_reference --> pkg_system_prompt
pkg_session_reference --> pkg_typert_protocol
pkg_experimental_agent_team --> pkg_agent
pkg_experimental_agent_team --> pkg_llm
pkg_experimental_agent_team --> pkg_session
pkg_experimental_agent_team --> pkg_session_persistence
pkg_experimental_agent_team --> pkg_session_projection
pkg_experimental_agent_team --> pkg_subagent
pkg_hooks_claude_code --> pkg_agent
pkg_hooks_claude_code --> pkg_hook_protocol
pkg_hooks_claude_code --> pkg_llm
pkg_hooks_claude_code --> pkg_session
pkg_hooks_claude_code --> pkg_session_projection
pkg_hooks_claude_code --> pkg_subagent
pkg_hooks_claude_code --> pkg_tools
pkg_hooks_claude_code --> pkg_working_directory
pkg_tool_ralph --> pkg_agent
pkg_tool_ralph --> pkg_llm
pkg_tool_ralph --> pkg_subagent
pkg_tool_ralph --> pkg_system_prompt
pkg_tool_ralph --> pkg_tools
pkg_tool_ralph --> pkg_workflow
pkg_sdk_protocol --> pkg_llm
pkg_sdk_protocol --> pkg_session
pkg_sdk_protocol --> pkg_subagent
pkg_workflow_ptc --> pkg_agent
pkg_workflow_ptc --> pkg_llm
pkg_workflow_ptc --> pkg_ptc_runtime
pkg_workflow_ptc --> pkg_sandbox
pkg_workflow_ptc --> pkg_sandbox_policy
pkg_workflow_ptc --> pkg_session
pkg_workflow_ptc --> pkg_subagent
pkg_workflow_ptc --> pkg_tools
pkg_workflow_ptc --> pkg_workflow
pkg_workflow_ptc --> pkg_working_directory
pkg_experimental_tool_agent_team --> pkg_agent
pkg_experimental_tool_agent_team --> pkg_experimental_agent_team
pkg_experimental_tool_agent_team --> pkg_session
pkg_experimental_tool_agent_team --> pkg_system_prompt
pkg_experimental_tool_agent_team --> pkg_tools
pkg_schedule --> pkg_agent
pkg_schedule --> pkg_api_session_controller
pkg_schedule --> pkg_brand
pkg_schedule --> pkg_llm
pkg_schedule --> pkg_session
pkg_schedule --> pkg_session_persistence
pkg_schedule --> pkg_session_projection
pkg_schedule --> pkg_storage_domain
pkg_schedule --> pkg_subagent
pkg_schedule --> pkg_tools
pkg_schedule --> pkg_typert_protocol
pkg_schedule --> pkg_workspace
pkg_sdk_client --> pkg_llm
pkg_sdk_client --> pkg_sdk_protocol
pkg_sdk_client --> pkg_session
pkg_sdk_jsonrpc_server --> pkg_agent
pkg_sdk_jsonrpc_server --> pkg_attachment
pkg_sdk_jsonrpc_server --> pkg_llm
pkg_sdk_jsonrpc_server --> pkg_llm_deepseek_api_key
pkg_sdk_jsonrpc_server --> pkg_scope
pkg_sdk_jsonrpc_server --> pkg_sdk_protocol
pkg_sdk_jsonrpc_server --> pkg_session
pkg_sdk_jsonrpc_server --> pkg_subagent
pkg_sdk_jsonrpc_server --> pkg_working_directory
pkg_client_test_runtime --> pkg_api_gateway
pkg_client_test_runtime --> pkg_api_session_controller
pkg_client_test_runtime --> pkg_api_workspace_controller
pkg_client_test_runtime --> pkg_attachment
pkg_client_test_runtime --> pkg_client_connection
pkg_client_test_runtime --> pkg_client_hmr
pkg_client_test_runtime --> pkg_client_modules
pkg_client_test_runtime --> pkg_client_store
pkg_client_test_runtime --> pkg_client_ui_chat
pkg_client_test_runtime --> pkg_client_ui_conversation
pkg_client_test_runtime --> pkg_client_ui_renderer
pkg_client_test_runtime --> pkg_client_ui_session
pkg_client_test_runtime --> pkg_client_ui_settings
pkg_client_test_runtime --> pkg_client_ui_slots
pkg_client_test_runtime --> pkg_client_web
pkg_client_test_runtime --> pkg_remote_mock
pkg_client_test_runtime --> pkg_session
pkg_client_test_runtime --> pkg_subagent
pkg_client_test_runtime --> pkg_typert_protocol
pkg_subagent_dsh_sdk --> pkg_agent
pkg_subagent_dsh_sdk --> pkg_llm
pkg_subagent_dsh_sdk --> pkg_sdk_client
pkg_subagent_dsh_sdk --> pkg_session
pkg_subagent_dsh_sdk --> pkg_subagent
pkg_subagent_dsh_sdk --> pkg_subprocess
pkg_tool_schedule --> pkg_llm
pkg_tool_schedule --> pkg_schedule
pkg_tool_schedule --> pkg_subagent
pkg_tool_schedule --> pkg_tools