Represent tool results as tool-role messages and migrate released wrappers without losing outer own JSON fields, call identity, error state, or writer field order. Refuse nested or wrapper-only information that has no lossless current representation before successor publication. Validate current event relationships directly instead of projecting V4 data back into V3. Keep lifecycle, PTC, title/command, compaction, system-field and retired-syntax checks on catalog restoration and ordinary JSONL opens. The Worker JSON equality helper must inspect own keys so it cannot admit PTC arguments that Node rejects. Keep the source role change, required native admission and consumer fixture updates in one complete review layer. Explain shared-type changes in the persistence record and the native reader rationale in its existing note. Use checked branded fixture identities and discriminant narrowing instead of unknown double casts; fixture values and assertions remain intact. This recomposes the original tool-role work by _Kerman with the independently validated migration and admission repairs by Tianyi Cui. Frozen generations and snapshot input version selection are retained. Co-authored-by: Tianyi Cui <[email protected]>
description, kind
| description | kind |
|---|---|
| Ready-made dsh profile bundles for the shared core, browser GUI, one-shot task, ACP, and SDK application surfaces. | package-group |
bundle/ — profile plugin bundles
English | 中文
Summary
This group maps the installable patch layers used by dsh --profile. Each package declares dsh.bundle.patch; the launcher stacks those patch documents to assemble a named profile. The web, headless, acp, and sdk profiles build on dsh-base, while sdk-minimal supplies its complete tree in one bundle. Domain packages can declare additional layers outside this directory.
Table of Contents
Packages
| Package | Role | ctx key |
|---|---|---|
base |
Shared core for base-backed profiles | — (patch only) |
acp-app |
Automation-only ACP stdio application over base | mounts the ACP bridge |
web-app |
Browser application layer over base | mounts Web rows |
headless |
One-shot command-line task application over base | headless-runner |
sdk-app |
SDK JSON-RPC stdio application over base | mounts the SDK server |
sdk-minimal |
Standalone minimal SDK application without base or Web | — (complete patch tree) |
In-box bundles resolve from the dsh installation; out-of-tree bundles install into a profile through dsh plugin --profile <name> add <package>.
Related documentation
- dsh app — the
dshcommand that starts a profile. - app-boot — how profiles are resolved, layered, and customized.
- Profile plugin bundles note — the profile and bundle composition design.
- Generated composition graph — the exact composition each shipped profile uses.
Dev Note
None.