Two sites reached a registry for the vendored framework, which the rescope turns from a silent second copy into a hard failure. Live-link mode relinked only the root manifest, so a generated workspace member — `plugins/*/package.json` — resolved its own dependencies from the registry and installed upstream cordis beside this repository's vendored copy. `LinkWorkspace.relinkNestedManifest()` relinks every nested generated manifest; `peerDependencies` keeps its range because package managers reject a link spec there. The sandbox publish-path rehearsal installs this repository's vendored cordis and cosmokit tarballs instead of naming a registry version.
scaffold/ — create, launch, and drive projects from outside
English | 中文
This group contains developer tooling for Harness projects and the client stack for driving a Harness runtime from another process. Folders are role-named; npm names converge on dsh-sdk-* through the FIXME-tracked renames in the regrouping Agent Note.
| Package | Role |
|---|---|
helper/ |
Provides the shared project-editing domain |
scripts/ |
Provides the dsh-sdk project commands |
create-sdk/ |
Creates new SDK projects |
protocol/ |
Defines the SDK runtime wire protocol |
client/ |
Drives a Harness runtime through the TypeScript client API |
server/ |
Serves out-of-process SDK clients over stdio JSON-RPC |
telemetry/ |
Provides launcher telemetry, consent, and redaction primitives |
@deepseek-ai/create-sdk follows npm's scoped initializer naming convention; the other packages follow the repository's @deepseek-ai/dsh-* convention. See the developer-project workflow, project-editing architecture, and TypeScript SDK design.