ds-review-bot round 3. The seam package broke the service-package export contract (named export only), so the config catalog filed it under Other libraries and default imports failed; it now default-exports DirectoryPicker like every abstract seam, and the regenerated catalog lists it as one. The picker-kind effect also let a settlement from a superseded flow open leak into the current one (close/reopen mid-describe, or a reconnect that swaps the backend): the read now resets the affordance on every open and a cleanup-toggled flag discards obsolete settlements, both directions pinned by jsdom races.
host/ — web-GUI host half
English | 中文
The host side of the dsh web GUI: the API gateway every client shape shares, and the plain HTTP server it rides on. The browser side lives in client/; the composed application is apps/cli serving apps/web. All product packages.
| Package | Role | ctx key |
|---|---|---|
apiproxy/ |
The shared API gateway: the zero-Node TS wire contract (src/api/), the fetch carrier pair (toFetchHandler host-side, AbstractApiClient client-side), and the host implementation over ctx.agents/ctx.workspace |
ctx.apiProxy |
webserver/ |
Plain HTTP route-registration carrier: node:http server listening on activation; routes register as named exact/prefix handlers |
ctx.httpServer |
directory-picker/ |
Workspace-directory picking seam: discriminated dialog/browse capability the gateway's picker RPCs delegate to |
ctx.directoryPicker |
directory-picker-dialog/ |
Native-OS-chooser backend (osascript / PowerShell / Zenity+KDialog); host-display only | (registers ctx.directoryPicker) |
directory-picker-browse/ |
In-app browsing backend: listing/creation primitives over Node stdlib; remote-capable | (registers ctx.directoryPicker) |
apiproxy is transport-agnostic by design — it registers no routes; carriers wrap ctx.apiProxy themselves. The HTTP carrier route (with its /api browser-trust fence) is mounted by client/connection's node half, which is why that package lives in the client group: it owns both ends of the wire.