dsh-sdk resolved launcher telemetry consent in the finally block, after startSDK had already loaded the project .env into process.env, so a project file or project code could grant reporting of its own cordis.yml and package.json. Freeze the decision from the launching environment before dispatch and pass it to the reporter; an unsupported mode denies instead of throwing because telemetry may never change a command result. Configuration source ownership denies the whole DSH_* namespace to discovered files, so the launcher must not read a mutated environment.
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.