deepseek-harness/packages/client/runtime/tests
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
..
client-apply.spec.ts feat(web): wire startup Workspace selection and sync docs 2026-07-27 06:24:09 +08:00
conversation.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
event-script.ts Merge remote-tracking branch 'origin/master' into web2-todo 2026-07-27 10:07:51 +08:00
fake-api.ts feat(host): directory-picker capability seam with dialog and browse backends 2026-07-28 15:44:53 +08:00
fold-adapter.spec.ts feat(agent): unify send(target × wakeup), coalesce context/message into user/message 2026-07-23 19:15:45 +08:00
invariant.spec.ts refactor(gui): slot system standard — single register, four props shares, framework store seat 2026-07-23 03:25:11 +08:00
lineage.spec.ts feat: slash system / input service / agent scope 2026-07-27 03:28:39 +08:00
manager.spec.ts Merge master (slash/input/session architecture) into web-session-model-selector 2026-07-27 10:23:51 +08:00
node-half.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
notifier.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
partial.spec.ts feat(gui): step1 skeleton — dsc web serves built web UI over booted harness host 2026-07-22 16:24:44 +08:00
queue-store.spec.ts fix(agent-loop): route next-step input during admission 2026-07-27 17:55:55 +08:00
scope.spec.ts feat: slash system / input service / agent scope 2026-07-27 03:28:39 +08:00
session.spec.ts Merge remote-tracking branch 'origin/master' into worktree/web-session-model-selector 2026-07-27 15:41:01 +08:00
sessions-service.spec.ts style: fix lint across client packages 2026-07-27 04:13:00 +08:00
slots-service.spec.ts style: fix lint across client packages 2026-07-27 04:13:00 +08:00
store.spec.ts refactor(client-runtime): home the snapshot-store engine in contract/ 2026-07-23 10:37:15 +08:00
wire-events.spec.ts feat: slash system / input service / agent scope 2026-07-27 03:28:39 +08:00
workspaces-service.spec.ts feat(host): directory-picker capability seam with dialog and browse backends 2026-07-28 15:44:53 +08:00