Files
deepseek-harness/packages/extensions
Turtle 4aba48ec03 fix(cordis): register Host inspect providers once per process (#4742)
`tool-cordis` registered the four first-party Host inspect providers from
every preset row that mounted it. The Host registry rejects a duplicate
provider id, so a second preset carrying `tool-cordis` — or a user preset
copied from a shipped one — failed to mount in the same process.

- Add `@deepseek-ai/dsh-tool-cordis/host` (`cordis-inspect-providers`),
  the host-plane row that registers the providers; the Web host
  composition mounts it beside `cordis-host-runner`. The per-session
  `tool-cordis` row now only registers the tools and its prompt section.
- Gate the `cordis` preset's `tool-plugin-manager` row on `profileContext`,
  the same condition `dsh-base` applies to the host `plugin-manager`
  service, so a profile-less embedding still mounts the preset.
2026-09-21 05:55:09 +00:00
..

description, kind
description kind
Runtime API inspection, process-local runners, and historical Cordis cards. package-group

packages/extensions

English | 中文

Summary

The extensions group provides read-only runtime API discovery for agents, process-local runners for programmatic and browser consumers, and historical generated-plugin cards. Creator mode installs persistent plugins through Plugin Manager. Choose a child package for inspection, Host execution, Client execution, or browser controls.

Table of Contents


Packages

Package Role ctx key
tool-cordis Two read-only tools for runtime API discovery registers on ctx.tools
cordis-host-runner Host half: definition registry, sandboxed host-half lifecycle, and the inspect registry that answers browser queries provides ctx.dynamicCordisRunner and ctx.cordisInspect
cordis-client-runner Browser half: evaluates a browser-half source into a live plugin and answers run requests client face; provides browser ctx.dynamicCordisRunner
ui-cordis Browser panel and historical lifecycle tool cards client face; registers slots


Dev Note

Working context for maintainers — click to expand

The two browser-half packages live in this group rather than under packages/client/ because they are halves of this subsystem's dual-half packages; the client face compiles them through the client program, while the host program references only the host runner.