feat(host): adaptive directory-picker default via -auto chooser

Add @deepseek-ai/dsh-host-directory-picker-auto, a node-half-only chooser
that samples the host situation once at boot (bind host via a new
httpServer.host getter, SSH markers, platform, DISPLAY/WAYLAND_DISPLAY)
and mounts the matching dual-face backend (-native or -browse) as a real
Loader entry in the in-memory root tree; the effect disposer removes it.
Entry-level mounting keeps the seam's one-row-swaps-both-faces invariant:
the client module table discovers the mounted backend's browser half
exactly as a config row's. apps/cli now composes -auto as its
directory-picker row; composing a backend row directly remains the pin.
This commit is contained in:
creatixchu
2026-07-29 18:34:06 +08:00
parent 87c9ab06b3
commit 8cec74748b
32 changed files with 553 additions and 19 deletions

View File

@@ -172,6 +172,14 @@
{ "path": "./packages/mcp/mcp-client" },
{ "path": "./packages/host/apiproxy" },
{ "path": "./packages/host/directory-picker" },
{ "path": "./packages/host/directory-picker-auto" },
// Dual-face backend leaves stay client-registered (their tests and client
// halves are excluded above); these references only let the adaptive
// chooser's composition test import each backend's NODE entry, whose
// declarations carry no client-side Context merge — the mirror of the
// client aggregate's webserver reference.
{ "path": "./packages/host/directory-picker-browse" },
{ "path": "./packages/host/directory-picker-native" },
{ "path": "./packages/host/webserver" },
{ "path": "./packages/sdk/sdk-client" },
{ "path": "./packages/sdk/helper" },