deepseek-harness/packages/client/runtime/tests
creatixchu 85ca8be104 feat(host,client): compose directory picking through slots — dual-face -native, no wire advertisement
ui-workspace's two trigger surfaces each declare a single-kind directory-flow
hole (conversation.hero.workspace.directoryFlow / sidebar.workspaces.directoryFlow,
same owner contract) and keep only the trigger and the adoption: the Open-local-
folder entry renders while the surface's hole is occupied, and the occupant
reports one picked path per open through the hole's owner conversation
(open/busy/onPicked/onCancel/onError).

directory-picker-native becomes dual-face: its browser half fills both holes
with a renderless occupant driving host.pickDirectory, so the cordis.yml row
that mounts the backend also composes the client interaction — a mismatch is
impossible and a second flow package fails at client load.

With composition wiring both sides, the host.describe.directoryPicker
advertisement and the client's kind branching lose their last consumer:
the field, WorkspacesService.directoryPickerKind(), the DirectoryPickerKind
wire type, and the picker's per-open describe read are deleted. The connection
fixture now serves a deterministic pickDirectory path so the keyless snapshot
drives the full pick-then-adopt flow. ui-workspace's hand-rolled declaration
deferral is replaced by the deferRegistration helper it duplicated.
2026-07-28 21:51:01 +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 xtr/identified-immutable-messages 2026-07-28 18:11:13 +08:00
fake-api.ts feat(host,client): compose directory picking through slots — dual-face -native, no wire advertisement 2026-07-28 21:51:01 +08:00
fold-adapter.spec.ts test(client): update degraded assistant fixture 2026-07-28 18:24:33 +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 remote-tracking branch 'origin/master' into worktree-guifork 2026-07-28 10:23:48 +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
projection-store.spec.ts ci: clear the snapshots-and-artifacts lane — lint sweep and TUI snapshot re-record 2026-07-28 11:48:01 +08:00
queue-store.spec.ts refactor: identify and freeze messages at creation 2026-07-28 13:55:59 +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-guifork 2026-07-28 10:23:48 +08:00
sessions-service.spec.ts Merge remote-tracking branch 'origin/master' into worktree-guifork 2026-07-28 16:12:12 +08:00
slots-service.spec.ts refactor(client): rename currentProvide to currentProvideInfo 2026-07-28 12:09:48 +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,client): compose directory picking through slots — dual-face -native, no wire advertisement 2026-07-28 21:51:01 +08:00