Packages

August 18, 2026 · View on GitHub

English | 中文

Each package owns one independently versioned part of the proposal. Consumers should depend on the narrowest package that defines the behavior they use.

PackageResponsibilityDepends on a product
@dsh-std/coreProtocol declarations, definition registration, and meta-negotiationNo
@dsh-std/manifestDraft dsh-plugin.json manifest, schema, and static validationNo
@dsh-std/compositionFacet selection, static preflight, and composition plansNo
@dsh-std/lifecycleActivation instances, cleanup, and the publication barrierNo
@dsh-std/sdkTypeScript facet and typed-protocol helpersNo
@dsh-std/commandDeclarative human-command treesNo
@dsh-std/ui-browserOptional browser-realm UI surfaces and module ABINo
@dsh-std/storageComponent-private JSON key-value storageNo
@dsh-std/messagesRead-only message observation eventsNo
@dsh-std/modelModelProvider resources and the shared ModelCatalogNo
@dsh-std/toolTool discovery and live availabilityNo
@dsh-std/presentationInvocation-scoped user-facing operationsNo
@dsh-std/connectionEndpoint negotiation and implementation-neutral invocationNo
@dsh-std/adapter-dshDeepSeek Harness and Cordis integrationYes
dsh-stdUnscoped npm name reservationNo runtime API

Protocol packages may depend on @dsh-std/core and may explicitly adopt the capability helper in @dsh-std/connection when they use an RPC shape. They must not depend on product adapters. Adapters may depend on the protocol packages they map into a product.