# dsh-plugin-mall bundle patch: registers the plugin marketplace row.
# Mounted at the host plane (profile bundle layer), so its tools land in the
# tools registry's global layer and every session sees them.
- insert:
    - id: dsh-plugin-mall
      name: '@1e0zj/dsh-plugin-mall'
      config:
        # defaultProfile is deliberately NOT set here.
        #
        # This file ships inside the package and is read as a bundle layer by
        # every profile that installs the marketplace, so anything written here
        # is an explicit config value in ALL of them. Pinning `defaultProfile:
        # web` (as this file used to) meant a marketplace running in any other
        # profile still defaulted its installs at web — and the value looked
        # like the user's own choice, so nothing could tell it apart from one.
        #
        # Left unset, the plugin follows the profile this process actually
        # booted (derived from the loader's config-tree anchor). Set it only to
        # override that:
        #   defaultProfile: web
        # GitHub REST API base (override for self-hosted mirrors/proxies).
        apiBase: https://api.github.com
        # npm registry for anti-squatting, update checks and the host-dependency
        # guard. Empty = follow whatever pnpm installs from (the profile's
        # .npmrc, then `pnpm config get registry`, then npmjs), which is what
        # you want on a mirror — set this only to pin a different one.
        npmRegistry: ''
        # package.json sources for plugin verification, tried in order until one
        # answers; `{repo}` is replaced with owner/name. Empty = jsDelivr then
        # raw.githubusercontent.com. Override for a self-hosted reverse proxy.
        rawSources: []
        # Upper bound for market_search perPage.
        perPageMax: 30
        # Whether the marketplace tab may restart the dsh process. Set false when
        # something else (systemd, pm2, …) owns the process lifecycle.
        allowRestart: true
