# rolebox as a dsh profile bundle layer (contract: docs/dsh-plugin-contract.md §5.3).
#
# `name` points at the cordis host half (dist/entries/dsh.js), which
# default-exports the Object plugin `{ name, inject, Config, apply }`. The
# package root (`main` → dist/entries/opencode.js) is the opencode plugin and is NOT a
# cordis plugin, so it must not be referenced here.
#
# The specifier is PACKAGE-RELATIVE because a bundle-patch row resolves against
# the patch file's own directory (<pkg>/dsh/), so `../dist/entries/dsh.js`
# lands on <pkg>/dist/entries/dsh.js wherever the package is installed.
#
# dsh-client-modules only scans loader rows whose specifier is a package root
# (bare name) or path-like (relative / absolute / file:): a package SUBPATH
# such as `rolebox/dsh` fails `exactPackageSpecifier` and is cached as a
# permanent "not a client package" verdict, so the web client never reaches
# the boot graph. The path-like form makes the scan derive the browser module
# id from this package's manifest (`name: "rolebox"`), so package.json must
# keep its `"./client"` export and the client bundle envelope id must be
# `rolebox` (scripts/build-dsh-web-client.ts).
#
# No web config keys are needed (or accepted): the role-switch UI surfaces as
# a dsh.client slot plugin in the web profile, and the `/rolebox` route is
# served by dsh's own host webserver via its optional `webServer` service
# seam. All other Config options stay at their dsh defaults (roleboxDir under
# $DSH_HOME, all namespaces enabled).
- insert:
    - id: rolebox
      name: ../dist/entries/dsh.js
      config: {}
