Skip to content

fix(plugins): fallback bundled channel specs when npm install returns 404#12849

Merged
vincentkoc merged 9 commits intoopenclaw:mainfrom
vincentkoc:vincentkoc-code/fix-feishu-plugin-install
Feb 26, 2026
Merged

fix(plugins): fallback bundled channel specs when npm install returns 404#12849
vincentkoc merged 9 commits intoopenclaw:mainfrom
vincentkoc:vincentkoc-code/fix-feishu-plugin-install

Conversation

@vincentkoc
Copy link
Copy Markdown
Member

@vincentkoc vincentkoc commented Feb 9, 2026

This change adds a bundled-plugin fallback for known bundled npm specs so installation can still succeed without a published npm tarball. openclaw plugins install @openclaw/feishu currently fails with npm E404 even though Feishu can be provided by bundled extensions.

Changes:

  • add src/plugins/bundled-sources.ts to resolve bundled plugin sources and lookup by npm spec
  • add src/plugins/bundled-sources.test.ts coverage for bundled source resolution and npm spec matching
  • reuse the shared bundled source resolver from src/plugins/update.ts
  • add npm-404 fallback in src/cli/plugins-cli.ts to enable/link bundled plugin paths and persist install records

Greptile Overview

Greptile Summary

This PR adds a fallback path for openclaw plugins install <npm-spec> when npm pack fails with an E404/not-found error: it looks up a matching bundled plugin source by npm spec, adds the bundled plugin’s local path to plugins.load.paths, enables the plugin entry, and records an install record so the install persists.

It also extracts the bundled-plugin discovery logic into a new shared module (src/plugins/bundled-sources.ts) and updates src/plugins/update.ts to reuse it, with accompanying Vitest coverage for bundled source resolution and npm-spec matching.

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk.
  • Reviewed the changed CLI install flow, new bundled-source resolver, tests, and the refactor in update.ts. The fallback is gated on the existing npm pack failed: error string and common 404 markers, and config/installs updates follow existing patterns without introducing obvious correctness or safety regressions.
  • No files require special attention

@vincentkoc
Copy link
Copy Markdown
Member Author

Just a small note for Barnacle and reviewers, this is still an open issue!
Rationale: Package install and dependencies are an issue and this resolves this bug causing package installs.

@openclaw-barnacle openclaw-barnacle bot added size: M maintainer Maintainer-authored PR labels Feb 19, 2026
@vincentkoc vincentkoc force-pushed the vincentkoc-code/fix-feishu-plugin-install branch from 4f6d2ce to 806f274 Compare February 26, 2026 12:47
@openclaw-barnacle openclaw-barnacle bot added the app: macos App: macos label Feb 26, 2026
@openclaw-barnacle openclaw-barnacle bot removed the app: macos App: macos label Feb 26, 2026
@vincentkoc vincentkoc merged commit cf31197 into openclaw:main Feb 26, 2026
21 checks passed
@vincentkoc vincentkoc deleted the vincentkoc-code/fix-feishu-plugin-install branch February 26, 2026 13:06
vincentkoc added a commit that referenced this pull request Feb 26, 2026
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 27, 2026
execute008 pushed a commit to execute008/openclaw that referenced this pull request Feb 27, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
execute008 pushed a commit to execute008/openclaw that referenced this pull request Feb 27, 2026
r4jiv007 pushed a commit to r4jiv007/openclaw that referenced this pull request Feb 28, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
r4jiv007 pushed a commit to r4jiv007/openclaw that referenced this pull request Feb 28, 2026
mylukin pushed a commit to mylukin/openclaw that referenced this pull request Feb 28, 2026
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
wanjizheng pushed a commit to wanjizheng/openclaw that referenced this pull request Feb 28, 2026
vincentkoc added a commit to Sid-Qin/openclaw that referenced this pull request Feb 28, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
vincentkoc added a commit to Sid-Qin/openclaw that referenced this pull request Feb 28, 2026
vincentkoc added a commit to rylena/rylen-openclaw that referenced this pull request Feb 28, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
vincentkoc added a commit to rylena/rylen-openclaw that referenced this pull request Feb 28, 2026
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 1, 2026
steipete pushed a commit to Sid-Qin/openclaw that referenced this pull request Mar 2, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
steipete pushed a commit to Sid-Qin/openclaw that referenced this pull request Mar 2, 2026
safzanpirani pushed a commit to safzanpirani/clawdbot that referenced this pull request Mar 2, 2026
robertchang-ga pushed a commit to robertchang-ga/openclaw that referenced this pull request Mar 2, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
robertchang-ga pushed a commit to robertchang-ga/openclaw that referenced this pull request Mar 2, 2026
hughdidit pushed a commit to hughdidit/DAISy-Agency that referenced this pull request Mar 3, 2026
dorgonman pushed a commit to kanohorizonia/openclaw that referenced this pull request Mar 3, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
dorgonman pushed a commit to kanohorizonia/openclaw that referenced this pull request Mar 3, 2026
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
zooqueen pushed a commit to hanzoai/bot that referenced this pull request Mar 6, 2026
thebenjaminlee pushed a commit to escape-velocity-ventures/openclaw that referenced this pull request Mar 7, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.
alexey-pelykh pushed a commit to remoteclaw/remoteclaw that referenced this pull request Mar 12, 2026
… 404 (openclaw#12849)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.

(cherry picked from commit cf31197)
alexey-pelykh added a commit to remoteclaw/remoteclaw that referenced this pull request Mar 12, 2026
… 404 (openclaw#12849) (#1098)

* plugins: add bundled source resolver

* plugins: add bundled source resolver tests

* cli: fallback npm 404 plugin installs to bundled sources

* plugins: use bundled source resolver during updates

* protocol: regenerate macos gateway swift models

* protocol: regenerate shared swift models

* Revert "protocol: regenerate shared swift models"

This reverts commit 6a2b08c.

* Revert "protocol: regenerate macos gateway swift models"

This reverts commit 27c0301.

(cherry picked from commit cf31197)

Co-authored-by: Vincent Koc <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli CLI command changes maintainer Maintainer-authored PR size: M

Projects

None yet

1 participant