#20360: fix(feishu): remove workspace protocol from published package metadata
channel: feishu
size: XS
## Summary
- replace `devDependencies.openclaw: workspace:*` in `extensions/feishu/package.json`
- add `peerDependencies.openclaw: >=2026.1.26` for runtime compatibility expectations
- prevents publishing metadata that contains `workspace:*`, which breaks npm installs in non-workspace environments
Closes #20142
## Validation
- `pnpm vitest run extensions/feishu/src/*.test.ts` (24/24 passing)
- packed and inspected tarball (`npm pack`) to confirm no `workspace:*` remains in published `package.json`
<!-- greptile_comment -->
<h3>Greptile Summary</h3>
Fixes a packaging issue for the `@openclaw/feishu` extension by moving the `openclaw` dependency from `devDependencies` (`workspace:*`) to `peerDependencies` (`>=2026.1.26`). This prevents the pnpm workspace protocol from appearing in the published npm package metadata, which would cause install failures in non-workspace environments.
- Moves `openclaw` from `devDependencies` to `peerDependencies` with a concrete semver range (`>=2026.1.26`)
- Aligns with the repo's `AGENTS.md` guidance: "put `openclaw` in `devDependencies` or `peerDependencies`"
- Note: 29 other extensions still use `devDependencies: { "openclaw": "workspace:*" }` — most are `"private": true` so this is less critical, though a few published extensions (e.g. `nostr`, `bluebubbles`, `nextcloud-talk`, `msteams`, `matrix`) may need the same fix
<h3>Confidence Score: 5/5</h3>
- This PR is safe to merge — it's a minimal, correct metadata fix with no runtime behavior changes.
- Single-file change to package.json metadata only. The fix correctly addresses the workspace protocol leaking into published packages. The approach is explicitly endorsed by the repo's AGENTS.md. No logic, syntax, or security issues.
- No files require special attention.
<sub>Last reviewed commit: 7021e39</sub>
<!-- greptile_other_comments_section -->
**Context used:**
- Context from `dashboard` - CLAUDE.md ([source](https://app.greptile.com/review/custom-context?memory=fd949e91-5c3a-4ab5-90a1-cbe184fd6ce8))
<!-- /greptile_comment -->
Most Similar PRs
#16140: fix: convert installable extension deps from workspace:* to peerDep...
by battman21 · 2026-02-14
84.3%
#11454: fix(plugins): remove workspace:* from extension dependencies
by AnonO6 · 2026-02-07
84.1%
#20055: fix(plugins): strip workspace:* dev-deps before npm install
by openperf · 2026-02-18
82.0%
#19941: fix(nostr): move openclaw from devDependencies to peerDependencies
by AustinEral · 2026-02-18
81.3%
#8500: fix: Remove workspace:* from devDependencies in voice-call plugin
by ImBIOS · 2026-02-04
79.4%
#2753: fix: Support nested packages in pnpm-workspace.yaml (#2745)
by HarshalJain-cs · 2026-01-27
75.7%
#11415: Update package.json metadata for npm discoverability
by PythonUser42 · 2026-02-07
74.9%
#19171: fix(feishu): pass mediaLocalRoots to sendMediaFeishu for agent-scop...
by whiskyboy · 2026-02-17
73.1%
#16337: feat(feishu): sync community plugin updates from clawdbot-feishu v0...
by graydawnc · 2026-02-14
73.1%
#9259: Fix: Restore explicit glob patterns in package.json files field
by vishaltandale00 · 2026-02-05
72.4%