Files
deepseek-harness/packages/interaction
imccyu 7a9d7d2657 chore(hygiene): restore the cordis peers and teach knip the split faces
`@deepseek-ai/cordis` returns to the peer and dev dependencies of
`dsh-client-ui-model` and `dsh-client-ui-skill`; every harness package declares
it, and the client type-assembly rename dropped it from both. The commands
manifest ships `src` alongside its generated typert faces, matching the
`./src/*` export it already declares.

knip gains the two directory-picker surface workspaces, whose specs are `.tsx`
and matched no default pattern, and ignores `zod` in the commands workspace:
that dependency belongs to the generated Remote and Host faces in `lib/`, which
knip never scans. The unused `dsh-client-test-runtime` and
`dsh-client-connection` dev dependencies are gone; the picker surface's own spec
never imported the former, and ui-settings reads the carrier's types through the
Remote assembly now.
2026-08-11 23:33:17 +08:00
..
2026-08-11 22:52:39 +08:00
2026-08-11 22:52:39 +08:00
2026-08-11 22:52:39 +08:00
2026-08-11 22:52:39 +08:00

interaction/ — the human-collaboration plane

English | 中文

The services and plugins through which a human collaborates with a running agent — questions, approvals, permission presets, commands. These are product packages: real interfaces a person drives.

Package Role ctx key
commands/ Registers and dispatches human commands for interactive adapters. ctx.commands
user-approval/ Coordinates one-shot approval decisions. ctx.approval
permission/ Presents and persists user-facing permission presets. ctx.permission
user-interaction/ Defines the provider-neutral human question/answer seam. ctx.userInteraction
tool-ask-user/ Exposes human questions to the model. (registers on ctx.tools)

These packages integrate through existing agent and session contracts rather than changing the loop. Interactive applications provide the concrete command, approval, and question adapters; automation uses acp/, and runnable demo bundles live under examples/. The product dsh CLI composes these packages directly.

The subsystem references: approval.md, permission.md, user-interaction.md, and commands.md. The automation-only ACP transport is acp/, the SDK's JSON-RPC server half is sdk/server, and the shared bin boot glue is boot/.