fix(plugins): warn on invalid install default choice (#71011)

This commit is contained in:
Vincent Koc
2026-04-24 08:56:42 -07:00
committed by GitHub
parent 1b997bebd0
commit 5dfc1b90e1
5 changed files with 73 additions and 11 deletions

View File

@@ -888,10 +888,11 @@ Generated channel catalog entries and provider install catalog entries expose
normalized install-source facts next to the raw `openclaw.install` block. The
normalized facts identify whether the npm spec is an exact version or floating
selector, whether expected integrity metadata is present, and whether a local
source path is also available. Consumers should treat `installSource` as an
additive optional field so older hand-built entries and compatibility shims do
not have to synthesize it. This lets onboarding and diagnostics explain
source-plane state without importing plugin runtime.
source path is also available. They also warn when `defaultChoice` is invalid
or points at a source that is not available. Consumers should treat
`installSource` as an additive optional field so older hand-built entries and
compatibility shims do not have to synthesize it. This lets onboarding and
diagnostics explain source-plane state without importing plugin runtime.
Official external npm entries should prefer an exact `npmSpec` plus
`expectedIntegrity`. Bare package names and dist-tags still work for

View File

@@ -596,9 +596,10 @@ entries should pair exact specs with `expectedIntegrity` so update flows fail
closed if the fetched npm artifact no longer matches the pinned release.
Interactive onboarding still offers trusted registry npm specs, including bare
package names and dist-tags, for compatibility. Catalog diagnostics can
distinguish exact, floating, integrity-pinned, and missing-integrity sources.
When `expectedIntegrity` is present, install/update flows enforce it; when it
is omitted, the registry resolution is recorded without an integrity pin.
distinguish exact, floating, integrity-pinned, missing-integrity, and invalid
default-choice sources. When `expectedIntegrity` is present, install/update
flows enforce it; when it is omitted, the registry resolution is recorded
without an integrity pin.
Channel plugins should provide `openclaw.setupEntry` when status, channel list,
or SecretRef scans need to identify configured accounts without loading the full