refactor(cli)!: the launcher parses only its own flags

Launcher flags come first and end at the first token dsh does not
recognize; everything after reaches the booted app verbatim, so
dsh --profile tui --resume <id> works with no launcher change and
dsh --profile web --help prints the web app's help. A bare dsh -h, which
has no app to hand the flag to, still prints the launcher's own.

src/web.ts is deleted: the Web flag family, its LAN-trust sampling, and the
one-shot task positional now live in their bundles, and runProfile no
longer knows any row id. What the startup row decides comes back as a
launcher-owned patch layer above every layer a user can edit, so a live
config edit recomposes the tree without resetting a served port.

dsh web and dsh --profile web finally boot through one path, which also
gives --profile web the harness-source prompt section that only the alias
used to add.
This commit is contained in:
Turtle
2026-08-06 20:52:26 +08:00
parent 82728808d4
commit 37cbd155f5
16 changed files with 518 additions and 522 deletions

3
pnpm-lock.yaml generated
View File

@@ -153,6 +153,9 @@ importers:
'@deepseek-ai/dsh-client-ui-agent-preset':
specifier: workspace:^
version: link:../../packages/client/ui-agent-preset
'@deepseek-ai/dsh-cmdline':
specifier: workspace:^
version: link:../../packages/boot/cmdline
'@deepseek-ai/dsh-command-compact':
specifier: workspace:^
version: link:../../packages/compact/command-compact