Files
deepseek-harness/packages/ui
Yichen Jiang e27d38efd6 feat(app-boot): register cordis:group beside cordis:include
A composition that shares one `isolate` realm across rows needs a
`cordis:group` row, and a preset living outside this workspace — the
authored ones under the Harness home — cannot resolve
`@cordisjs/plugin-group` by name: Node's upward `node_modules` walk
never reaches the harness from there. Registering it as a loader builtin
beside `cordis:include` loads both through the ambient module pipeline
instead.

Record it in the preset Agent Note, which leans on the realm vocabulary
without saying where the group row comes from, and drop the preset
README's limitation claiming this builtin is unavailable — it described
the state this change ends.

The test's assertion had a vacuous escape: `provide` mints the root
symbol unconditionally, so the `rootKey === undefined` disjunct could
never hold and the comment claiming the root realm never learned the
name was wrong. Pin both halves — the symbol exists, nothing is stored
under it — and clean up the global the fixture writes.
2026-08-07 00:34:19 +08:00
..

ui/ — human and SDK-client integration surfaces

English | 中文

Human-facing channels and the out-of-process SDK server. These are product packages: real interfaces that a person or SDK client 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)
jsonrpc/ Serves out-of-process SDK clients over stdio JSON-RPC. (drives ctx.agents)
app-boot/ Provides shared boot support for application launchers. (library for the bins)

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.