Files
deepseek-harness/docs/module-graph.zh.md
T
Yichen Jiang c48f8523f2 feat(llm): follow the official /models listing on the DeepSeek API-key route (#6944)
* 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.
2026-10-22 20:42:19 +08:00

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
package group peerDependencies
atomic-write util —
brand util —
chunked-list util —
deque util —
home-paths util —
http-proxy util —
launch-environment util —
lazy-require util —
native-command util —
output-retention util —
package-manifest util —
plugin-market-index util —
timeout util —
util-code-language util —
util-crypto util —
util-time util —
util-values util —
util-workspace-path util —
deepseek-llm-api-extensions llm —
llm llm —
scope core —
api-gateway api —
api-job-controller api —
api-remote-access api —
api-workspace-files api —
cmdline boot —
acp-app bundle —
base bundle —
sdk-app bundle —
sdk-minimal bundle —
client-file-upload client —
client-hmr client —
client-locale client —
client-modules client —
client-product-analytics client —
client-resources client —
client-shortcuts client —
client-store client —
client-ui-agent-preset client —
client-ui-approval client —
client-ui-attachment client —
client-ui-brand-official client —
client-ui-chat client —
client-ui-commands client —
client-ui-conversation client —
client-ui-deepseek-model-label-1017 client —
client-ui-deliverables client —
client-ui-directory-picker-browse client —
client-ui-directory-picker-native client —
client-ui-dockkit client —
client-ui-entry-customization client —
client-ui-goal client —
client-ui-input-trigger client —
client-ui-jobs client —
client-ui-layout client —
client-ui-message-feedback client —
client-ui-model-selection client —
client-ui-open-in-app client —
client-ui-permission-presets client —
client-ui-plan client —
client-ui-plugin-manager client —
client-ui-plugin-market client —
client-ui-primitives client —
client-ui-reference client —
client-ui-renderer client —
client-ui-schedule client —
client-ui-secret-mask client —
client-ui-session client —
client-ui-settings client —
client-ui-settings-account client —
client-ui-settings-agent-loop client —
client-ui-settings-general client —
client-ui-settings-models client —
client-ui-settings-plugin-inventory client —
client-ui-settings-plugins client —
client-ui-settings-session-log client —
client-ui-settings-shell client —
client-ui-settings-subagent client —
client-ui-settings-web-search client —
client-ui-shortcuts client —
client-ui-sidebar client —
client-ui-sidebar-browser client —
client-ui-sidebar-documentpreview client —
client-ui-sidebar-files client —
client-ui-sidebar-right client —
client-ui-sidebar-terminal client —
client-ui-skill client —
client-ui-slots client —
client-ui-subagent client —
client-ui-theme client —
client-ui-tool client —
client-ui-trajectory client —
client-ui-user-questions client —
client-ui-workflow-run client —
client-ui-workspace client —
client-web client —
credentials credentials —
office-to-pdf document —
experimental-agent-team-profile experimental —
experimental-badge-skill-bundle experimental —
experimental-client-ui-agent-team experimental —
experimental-client-ui-claude-code-mods experimental —
experimental-client-ui-voice-input experimental —
experimental-cot-translation-bundle experimental —
experimental-inspector experimental —
experimental-inspector-profile experimental —
experimental-plugin-market-bundle experimental —
experimental-ralph-bundle experimental —
experimental-session-inspector experimental —
experimental-session-search experimental —
experimental-session-titles-bundle experimental —
experimental-terminal-bundle experimental —
experimental-voice-input-bundle experimental —
experimental-webworker-packer experimental —
client-ui-cordis extensions —
cordis-client-runner extensions —
host-directory-picker host —
host-directory-picker-browse host —
host-directory-picker-native host —
host-open-in-app host —
host-webserver host —
session-format session —
session-format-v0-to-v1 session —
session-format-v1-to-v2 session —
session-format-v2-to-v3 session —
session-format-v3-to-v4 session —
ssh-helper-runtime ssh —
storage storage —
win32-process subprocess —
llm-mock-server test-support —
typert-generator typert —
typert-protocol typert —
typert-registry typert —
session core scope
system-prompt core llm, scope
skill skill llm, scope
web web llm
api-remotes api scope
attachment attachment brand
app-boot boot home-paths, launch-environment
browser-use browser-use brand
client-connection client scope
computer-use computer-use brand
authorization credentials credentials, llm
credentials-local credentials atomic-write, credentials, home-paths, launch-environment
anonymous-user-id identity brand, home-paths
lsp lsp brand, llm
storage-domain storage storage
storage-json storage storage
storage-sqlite storage storage
subprocess subprocess http-proxy
remote-mock test-support typert-protocol
typert-loader typert typert-registry
skill-office skill skill
web-fetch-http web http-proxy, timeout, web
web-search-exa web launch-environment, web
web-search-perplexity web launch-environment, web
spill spill brand, llm, session
api-terminal-controller api subprocess
attachment-local attachment attachment, home-paths
hmr boot app-boot, cmdline
experimental-computer-use-cua-driver-mcp experimental computer-use
experimental-webworker-runtime experimental client-connection, client-modules, host-webserver
skill-badge experimental skill
host-directory-picker-auto host client-connection, client-ui-directory-picker-browse, client-ui-directory-picker-native, host-directory-picker-browse, host-directory-picker-native, host-webserver
host-frontend-static host client-connection, host-webserver
persona preset system-prompt
sandbox sandbox llm, session
sandbox-windows-acl sandbox skill, subprocess
session-format-catalog session session
session-log-deepseek session deepseek-llm-api-extensions, session
session-persistence session brand, session, timeout
session-projection session session
settings settings brand, session
subprocess-local subprocess subprocess, timeout
otel telemetry session
session-snapshot test-support http-proxy, session
fs fs brand, llm, sandbox
spill-local spill spill
session-log-export session-query session, session-persistence
config-editor boot app-boot, hmr
experimental-speech-to-text experimental settings
experimental-translator experimental credentials, launch-environment, llm, session, session-persistence, timeout, util-values
host-product-telemetry-otel host otel
ptc-runtime ptc-runtime sandbox
sandbox-local sandbox llm, sandbox, session
session-persistence-jsonl session session, session-persistence
session-projection-cache session session, session-projection, storage-domain
session-stats session llm, session, session-projection
session-turn-outline session llm, session, session-projection
shell shell sandbox, subprocess
workspace workspace session, session-persistence, storage, storage-domain, typert-protocol
llm-deepseek llm anonymous-user-id, atomic-write, attachment, deepseek-llm-api-extensions, fs, home-paths, launch-environment, llm, timeout
llm-pi-ai llm attachment, authorization, credentials, fs, launch-environment, llm, timeout
agent core llm, scope, session, session-projection, system-prompt, typert-protocol, util-values, workspace
fs-local fs fs
fs-observation-policy fs fs
skill-filesystem skill fs, home-paths, skill
api-workspace-controller api api-gateway, client-connection, host-directory-picker, session, storage-domain, typert-protocol, workspace
experimental-api-speech-to-text experimental experimental-speech-to-text, typert-protocol
experimental-client-ui-cot-translation experimental experimental-translator
experimental-speech-to-text-sensevoice experimental experimental-speech-to-text, subprocess
hook-protocol experimental session, shell
lsp-stdio lsp brand, fs, llm, lsp, subprocess, timeout
bash-local shell shell, subprocess, timeout
pwsh-local shell shell, subprocess, timeout
llm-deepseek-api-key llm credentials, launch-environment, llm, llm-deepseek
llm-retry llm agent, brand, llm, session, session-projection, timeout
agent-default-model core agent, llm
goal goal agent, brand, llm, scope, session, session-projection, typert-protocol
file-reference context agent
harness-dev-context context agent, session, session-projection, system-prompt
time-context context agent, llm, session, session-projection
tmux-context context agent, session, session-projection, shell
deepseek-account credentials agent, brand, llm, util-values
commands interaction agent, attachment, brand, llm, scope, session, typert-protocol
user-approval interaction agent, brand, llm, scope, session, system-prompt
user-questions interaction agent, llm, scope, session, session-projection, typert-protocol
jobs jobs agent, brand, session, workspace
sandbox-policy sandbox agent, sandbox, session, session-projection, system-prompt
session-telemetry session agent, session
session-title session agent, brand, llm, session, session-projection
working-directory session agent, fs, llm, session, session-projection, system-prompt
terminal terminal agent, brand
loader-smoke test-support agent, http-proxy, llm, session
workflow workflow agent, brand, llm, session
llm-deepseek-account llm deepseek-account, launch-environment, llm, llm-deepseek
tools core agent, llm, ptc-runtime, sandbox, sandbox-policy, scope, session, system-prompt, user-approval, working-directory
command-goal goal commands, goal, llm
fs-sandbox fs fs, fs-local, sandbox, sandbox-policy
web-deepseek-api web agent, credentials, deepseek-account, launch-environment, session, web
web-search-deepseek web agent, credentials, deepseek-account, launch-environment, session, web
api-account-controller api agent, deepseek-account, typert-protocol
compaction compaction brand, commands, llm, session
deepseek-account-platform credentials authorization, credentials, deepseek-account, host-webserver
experimental-ptc-runtime-python experimental ptc-runtime, sandbox, sandbox-policy, timeout, util-values
experimental-worktree experimental agent, fs, sandbox, sandbox-policy, subprocess, working-directory
command-feedback feedback anonymous-user-id, commands, session, typert-protocol
permission-presets interaction commands, sandbox, sandbox-policy, session, session-projection, shell, typert-protocol, user-approval
jobs-local jobs agent, jobs, scope, timeout
ptc-runtime-node ptc-runtime fs, ptc-runtime, sandbox, sandbox-policy, session, subprocess, timeout
session-title-llm session llm, session, session-title, timeout
bash-sandbox shell bash-local, sandbox, sandbox-policy, shell
pwsh-sandbox shell pwsh-local, sandbox, sandbox-policy, shell
terminal-bash terminal agent, sandbox, sandbox-policy, session, session-projection, subprocess, terminal, working-directory
agent-loop core agent, llm, scope, session, session-persistence, session-projection, system-prompt, tools
agent-tool-presentation core tools
tool-goal goal agent, goal, llm, session, session-projection, system-prompt, tools
tool-fs fs attachment, fs, llm, sandbox, sandbox-policy, session, system-prompt, tools, user-approval, working-directory
tool-fs-search fs llm, output-retention, session, spill, subprocess, system-prompt, timeout, tools, working-directory
tool-str-replace-editor fs fs, output-retention, sandbox, sandbox-policy, tools
tool-skill skill agent, llm, skill, tools, working-directory
tool-workspace-dependencies skill tools
tool-web web llm, system-prompt, tools, web
tool-todo todo agent, session, session-projection, tools
plan-mode plan agent, commands, llm, session, session-projection, system-prompt, tools, user-questions
command-compact compaction commands, compaction
compaction-image-offload compaction agent, compaction, llm, session
agent-instructions context agent, fs, home-paths, llm, session, session-projection, tools, working-directory
file-reference-local context agent, file-reference, system-prompt, tools, working-directory
tool-present deliverables agent, fs, llm, session, session-projection, tools, working-directory
workspace-changes deliverables agent, fs, session, subprocess, tools
cua experimental agent, attachment, computer-use, llm, subprocess, system-prompt, tools, user-questions
experimental-browser-use-chrome-devtools-mcp experimental agent, browser-use, system-prompt, tools, working-directory
experimental-browser-use-playwright-mcp experimental agent, browser-use, system-prompt, tools, working-directory
experimental-browser-use-stagehand-native experimental agent, browser-use, system-prompt, tools
experimental-computer-use-cua-driver-native experimental computer-use, system-prompt, tools
experimental-cua-macos experimental agent, computer-use, subprocess, system-prompt, tools, user-questions
experimental-tool-worktree experimental experimental-worktree, tools
hooks-codex experimental agent, hook-protocol, llm, session, session-projection, tools, working-directory
session-title-all-prompts-llm experimental llm, session, session-title, session-title-llm
tool-terminal experimental agent, jobs, llm, output-retention, system-prompt, terminal, tools, working-directory
cordis-host-runner extensions agent, brand, llm, scope, session, tools, typert-protocol
message-feedback feedback brand, command-feedback, llm, session, session-persistence, typert-protocol
repeat-tool-reminder guard agent, tools
tool-call-timeout-policy guard llm, timeout, tools
tool-ask-user interaction agent, tools, user-questions
tool-jobs jobs agent, jobs, llm, output-retention, system-prompt, tools
tool-lsp lsp llm, lsp, system-prompt, timeout, tools, working-directory
mcp-resources mcp llm, scope, system-prompt, tools
agent-preset-registry preset agent, scope, session, session-projection, settings, system-prompt, tools, typert-protocol
session-checkpoint-policy session agent, llm, session, session-persistence, tools
session-title-first-prompt-llm session llm, session, session-title, session-title-llm
tool-working-directory session tools, working-directory
shell-env shell app-boot, home-paths, shell, tools
tool-bash-persistent shell agent, output-retention, terminal, timeout, tools, working-directory
tool-pwsh-persistent shell agent, output-retention, terminal, timeout, tools, working-directory
ssh ssh brand, fs, fs-local, fs-sandbox, sandbox, sandbox-local, sandbox-policy, session-projection, subprocess, subprocess-local, util-values
llm-replay test-support compaction, deepseek-llm-api-extensions, llm, session
tool-workflow workflow agent, jobs, llm, session, system-prompt, tools, workflow
plugin-package-inventory-deepseek llm agent, agent-preset-registry, deepseek-llm-api-extensions, session
token-meter llm compaction, compaction-image-offload, llm, llm-retry, session, session-projection
session-query session-query brand, llm, session, session-persistence, session-projection, session-projection-cache, session-title, tool-todo
api-settings-controller api agent-preset-registry, credentials, native-command, session, settings, typert-protocol
web-app bundle shell-env
experimental-auto-review experimental agent, agent-instructions, llm, permission-presets, session, tools, working-directory
webhook experimental agent, agent-default-model, agent-preset-registry, llm, permission-presets, session, session-title, workspace
tool-cordis extensions agent, app-boot, cordis-host-runner, tools
host-plugin-inventory host agent-preset-registry, brand, typert-protocol
mcp-client mcp attachment, llm, mcp-resources, scope, subprocess, system-prompt, timeout, tools
agent-preset preset agent-preset-registry
session-telemetry-otel session anonymous-user-id, command-feedback, llm, message-feedback, otel, session, session-telemetry
tool-bash shell agent, jobs, llm, sandbox, sandbox-policy, shell, shell-env, system-prompt, tools, user-approval, working-directory
tool-pwsh shell agent, jobs, llm, sandbox, sandbox-policy, shell, shell-env, system-prompt, tools, user-approval, working-directory
fs-ssh ssh fs, sandbox, sandbox-policy, ssh
sandbox-ssh ssh sandbox, ssh
subprocess-ssh ssh ssh, subprocess, subprocess-local
agent-loop-testkit test-support agent, agent-loop, fs-local, llm, session, session-projection, system-prompt, tools, working-directory
subagent subagent agent, agent-preset-registry, attachment, llm, permission-presets, sandbox, sandbox-policy, scope, session, session-persistence, session-projection, session-query, system-prompt, tools, typert-protocol, user-approval, util-time, working-directory, workspace
spill-policy spill attachment, fs, llm, output-retention, session, spill, token-meter, tools
session-query-sqlite session-query session, session-persistence, session-query
acp acp agent, attachment, llm, mcp-client, session, session-persistence, token-meter, user-approval
plugin-manager boot brand, hmr, host-plugin-inventory, sandbox, sandbox-policy, subprocess, tools, typert-protocol, user-approval
compaction-tool-result-pruner compaction compaction, llm, session, token-meter
experimental-browser-use-runtime experimental agent, browser-use, mcp-client, scope, system-prompt, tools, working-directory
experimental-claude-code-mods experimental agent, commands, fs, llm, scope, session, session-projection, storage-domain, subprocess, token-meter, tools, typert-protocol, user-questions, working-directory
tool-session-query experimental agent, llm, session, session-projection, session-query, system-prompt, timeout, tools
webhook-github experimental credentials, host-webserver, session, webhook
goal-round-driver goal agent, goal, llm, session, subagent
subagent-acp subagent agent, llm, session, subagent, subprocess, timeout
subagent-claude-code subagent llm, session, subagent, subprocess, timeout
subagent-codex subagent llm, session, subagent, subprocess, timeout
subagent-fork-in-process subagent agent, session, subagent
subagent-spawn-in-process subagent subagent
tool-subagent subagent agent, agent-preset-registry, llm, scope, session, session-projection, subagent, system-prompt, tools
tool-subagent-control subagent llm, session, subagent, tools
api-session-controller api agent, agent-default-model, agent-preset-registry, api-gateway, attachment, client-connection, client-file-upload, commands, credentials, file-reference, fs, llm, native-command, scope, session, session-persistence, session-projection, session-projection-cache, session-query, session-title, settings, skill, subagent, typert-protocol, typert-registry, util-time, util-values, util-workspace-path, working-directory, workspace
plugin-market boot plugin-manager, settings, tools, typert-protocol
headless bundle agent, agent-default-model, fs, llm, session, session-query, subagent
compaction-basic compaction agent, commands, compaction, compaction-tool-result-pruner, llm, session, token-meter
session-reference context agent, compaction, llm, output-retention, session, session-projection, session-projection-cache, session-query, session-title, spill, subagent, system-prompt, typert-protocol
experimental-agent-team experimental agent, llm, session, session-persistence, session-projection, subagent
hooks-claude-code experimental agent, hook-protocol, llm, session, session-projection, subagent, tools, working-directory
tool-ralph experimental agent, llm, subagent, system-prompt, tools, workflow
sdk-protocol sdk llm, session, subagent
workflow-ptc workflow agent, llm, ptc-runtime, sandbox, sandbox-policy, session, subagent, tools, workflow, working-directory
experimental-tool-agent-team experimental agent, experimental-agent-team, session, system-prompt, tools
schedule schedule agent, api-session-controller, brand, llm, session, session-persistence, session-projection, storage-domain, subagent, tools, typert-protocol, workspace
sdk-client sdk llm, sdk-protocol, session
sdk-jsonrpc-server sdk agent, attachment, llm, llm-deepseek-api-key, scope, sdk-protocol, session, subagent, working-directory
client-test-runtime test-support api-gateway, api-session-controller, api-workspace-controller, attachment, client-connection, client-hmr, client-modules, client-store, client-ui-chat, client-ui-conversation, client-ui-renderer, client-ui-session, client-ui-settings, client-ui-slots, client-web, remote-mock, session, subagent, typert-protocol
subagent-dsh-sdk subagent agent, llm, sdk-client, session, subagent, subprocess
tool-schedule schedule llm, schedule, subagent, tools