fix(plugins): explain source-only package diagnostics (#77835)#77842
Conversation
|
Codex review: needs maintainer review before merge. Summary Reproducibility: yes. Source inspection shows current main's shared helper omits recovery guidance, and existing install/discovery tests construct the source-only TypeScript package shape that triggers the diagnostic. Real behavior proof Next step before merge Security Review detailsBest possible solution: Merge this PR after normal maintainer and CI gating so the shared diagnostic and public docs give users a clear recovery path. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows current main's shared helper omits recovery guidance, and existing install/discovery tests construct the source-only TypeScript package shape that triggers the diagnostic. Is this the best way to solve the issue? Yes. Updating the existing shared helper is the narrowest maintainable fix because install-time rejection and startup discovery warnings already flow through it, with docs/tests covering the exposed behavior. What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 10725c9e0144. |
0b15cd4 to
c797049
Compare
Summary
Fixes #77835.
Source-only TypeScript package diagnostics currently say an installed plugin package requires compiled runtime output, but they do not tell operators what action is available. For packages such as
@tencent-weixin/openclaw-weixin@2.3.1, the missing compiled JS is a publisher packaging issue rather than a local config problem.This PR makes that diagnostic actionable by telling users to update/reinstall after the publisher ships compiled JavaScript, or disable/uninstall the plugin until then. It also documents the same recovery path in the general plugin docs and WeChat troubleshooting page.
Changes
src/plugins/package-entry-resolution.ts: extend the missing compiled runtime output diagnostic with user action and scope.src/plugins/discovery.test.ts: assert startup/discovery warnings include the actionable guidance.src/plugins/install.test.ts: assert install-time rejection includes the same guidance.src/cli/plugins-install-config.test.ts: keep official reinstall recovery tolerant of the new longer diagnostic.docs/tools/plugin.mdanddocs/channels/wechat.md: document the publisher-package fix path.Scout audit
missingCompiledRuntimeEntryMessage; no new classifier/predicate added.Real behavior proof
fix/77835-plugin-source-only-actionable-diagnostic, based onorigin/main0c977cd687; repository plugin discovery/install and CLI install-config test shards.pnpm test src/plugins/discovery.test.ts src/plugins/install.test.ts src/cli/plugins-install-config.test.ts src/cli/plugins-cli.install.test.tspnpm exec oxlint CHANGELOG.md src/plugins/package-entry-resolution.ts src/plugins/discovery.test.ts src/plugins/install.test.ts src/cli/plugins-install-config.test.ts src/cli/plugins-cli.install.test.tspnpm exec oxfmt --check --threads=1 src/plugins/package-entry-resolution.ts src/plugins/discovery.test.ts src/plugins/install.test.ts src/cli/plugins-install-config.test.ts src/cli/plugins-cli.install.test.ts docs/tools/plugin.md docs/channels/wechat.md CHANGELOG.mdpnpm check:changedplugin packaging issueanddisable/uninstall the plugin; all focused plugin/CLI tests and changed-file guardrails passed.@tencent-weixin/openclaw-weixin@2.3.1package in a live Gateway; verification used repository package discovery/install coverage and docs checks.Additional real behavior proof after maintainer-bot review
After the initial review requested real plugin output, I reproduced the source-only package shape against this branch with actual plugin install and discovery code paths:
Observed after-fix output: