1504 hand-written ranges pointing at workspace members become workspace:^, so pnpm pack substitutes each member's real version at publication: sibling peerDependencies follow the family version instead of being pinned at ^0.0.1, and a reference to a vendored package follows that package's own line. Without this, publishing 0.0.2 ships peer ranges naming a version that does not exist, and 0.0.1-rc.1 does not satisfy ^0.0.1 either. It also retires ranges that had gone stale against the workspace: ^4.0.0-rc.6 for a 4.0.0-rc.7 checkout, ^3.17.0 for schemastery 3.18.0. workspace:* stays where an exact published version is the point, which is how the Landlock entry pins its platform packages. A workspace constraint now requires the protocol, so a new package cannot reintroduce a hand-written range. The same constraint caught packages/boot/cmdline arriving on master without the publishable trio, which this change completes.
examples/ — ready-to-run demo bundles
English | 中文
Pre-composed plugin bundles a thin leaf cordis.yml loads instead of assembling the spine and an entry point by hand. These are demo / reference packages — the -demo npm suffix marks each one as non-product surface, readable straight off the package name. The runnable leaves under the repo-root examples/ and the Python SDK runtime are the consumers; each is just its swappable backends plus one bundle entry.
| Package | npm name | Role |
|---|---|---|
agent-spine-demo/ |
@deepseek-ai/dsh-agent-spine-demo |
Reusable agent-spine bundle |
acp-demo/ |
@deepseek-ai/dsh-acp-demo |
ACP automation application bundle |
jsonrpc-demo/ |
@deepseek-ai/dsh-jsonrpc-demo |
External-config JSON-RPC runtime |
agent-spine-demo is the shared bundle; acp-demo adds its automation entry point, while jsonrpc-demo boots a deployment-owned plugin tree. Product one-shot execution belongs to dsh --profile headless; no package in this directory provides it.
These packages are not product API. Product seams and entry points remain in their owning groups; demo bundles select concrete compositions.
Do not confuse this group with the repo-root examples/: that directory holds the runnable cordis.yml leaves; this group holds the bundles those leaves load.