deepseek-harness/docs
creatixchu 7fd2abd828 feat(host): directory-picker capability seam with dialog and browse backends
The web GUI's folder picking was hardwired to one interaction: a native
OS chooser compiled into the gateway, unusable for remote deployments
and swappable only by editing apiproxy source.

Directory picking becomes a three-package capability seam in
packages/host: ctx.directoryPicker returns a discriminated capability —
dialog (the extracted native chooser; host-display only) or browse
(new: one-level listing + child creation over Node stdlib, hidden flags
host-stamped, symlinks followed, ancestry crumbs; remote-capable). The
gateway injects the seam, advertises the kind via
host.describe.directoryPicker, serves host.listDirectory /
host.createDirectory under browse, and answers
directory-picker-unavailable across kinds. cordis.yml is the swap
point; apps/cli keeps dialog mounted, so behavior is unchanged until
the in-app browser PR flips the default. The connection fixture serves
a deterministic browse tree; WorkspacesService gains the browse calls
the browser UI will drive. Decision record:
.agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.md
2026-07-28 15:44:53 +08:00
..
cookbook refactor(agent): clarify turn lifecycle event names 2026-07-27 17:38:42 +08:00
cordis-catalog feat(host): directory-picker capability seam with dialog and browse backends 2026-07-28 15:44:53 +08:00
cordis-tutorial docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
core-data-structures Merge updated origin/master into feat/tui-master-port 2026-07-27 23:55:53 +08:00
i18n Merge remote-tracking branch 'origin/master' into worktree-i18n-update-workflow 2026-07-27 09:39:54 +08:00
postmortem docs(i18n): mirror ACP-automation edits into the zh pairs from master 2026-07-25 01:58:42 +08:00
user Merge remote-tracking branch 'origin/master' into xtr/agent-loop-message-machine 2026-07-27 16:48:38 +08:00
agent-lifecycle.md refactor(agent): return request retry action 2026-07-27 21:17:49 +08:00
AGENTS.md docs(notes): archive low-value decision records 2026-07-26 23:06:00 +08:00
architecture.i18n.yaml Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727 2026-07-28 00:23:27 +08:00
architecture.md Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727 2026-07-28 00:23:27 +08:00
architecture.zh.md Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727 2026-07-28 00:23:27 +08:00
capability-seams.md feat(host): directory-picker capability seam with dialog and browse backends 2026-07-28 15:44:53 +08:00
config-catalog.md feat(host): directory-picker capability seam with dialog and browse backends 2026-07-28 15:44:53 +08:00
cordis-primer.i18n.yaml docs(i18n): clarify Cordis and test wording 2026-07-24 14:21:15 +08:00
cordis-primer.md Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-23 13:40:29 +08:00
cordis-primer.zh.md docs(i18n): clarify Cordis and test wording 2026-07-24 14:21:15 +08:00
defensive-patterns.i18n.yaml Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 21:20:17 +08:00
defensive-patterns.md Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 21:20:17 +08:00
defensive-patterns.zh.md Merge remote-tracking branch 'origin/master' into worktree/pr343-retarget-latest-master 2026-07-24 21:20:17 +08:00
development.i18n.yaml refactor(dev-infra): narrow worktree hook safety checks 2026-07-28 00:05:31 +08:00
development.md refactor(dev-infra): narrow worktree hook safety checks 2026-07-28 00:05:31 +08:00
development.zh.md refactor(dev-infra): narrow worktree hook safety checks 2026-07-28 00:05:31 +08:00
event-producer-consumer.md Merge remote-tracking branch 'origin/master' into worktree/pr703-ci-fix-20260727 2026-07-28 00:23:27 +08:00
glossary.i18n.yaml docs: align Goal Round step cardinality 2026-07-24 12:10:40 +08:00
glossary.md docs: align Goal Round step cardinality 2026-07-24 12:10:40 +08:00
glossary.zh.md docs(i18n): allow zero-step Goal Rounds 2026-07-23 21:13:34 +08:00
graph-atlas.md docs(graphs): retain archived rationale link 2026-07-26 23:08:47 +08:00
module-graph.md feat(host): directory-picker capability seam with dialog and browse backends 2026-07-28 15:44:53 +08:00
persistence-catalog.md docs(notes): aggressive archive sweep of low-value decision records 2026-07-28 00:00:51 +08:00
testing.i18n.yaml Merge remote-tracking branch 'origin/master' into worktree/packed-chunks-default-rfc 2026-07-27 03:31:33 +08:00
testing.md Merge remote-tracking branch 'origin/master' into worktree/packed-chunks-default-rfc 2026-07-27 03:31:33 +08:00
testing.zh.md Merge remote-tracking branch 'origin/master' into worktree/packed-chunks-default-rfc 2026-07-27 03:31:33 +08:00
tool-catalog.md Restore Cordis mount and unmount names 2026-07-27 21:20:06 +08:00
tool-execution-pipeline.md Merge remote-tracking branch 'origin/master' into feat/send-unify 2026-07-23 22:41:45 +08:00
web-styling.i18n.yaml docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
web-styling.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00
web-styling.zh.md docs: translate remaining non-README documentation 2026-07-26 02:33:29 +08:00