-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Npm-valid package scopes with dots/underscores cannot map to ClawHub publishers #2367
Copy link
Copy link
Open
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:not-repro-on-mainClawSweeper found high-confidence evidence that this issue no longer reproduces on main.ClawSweeper found high-confidence evidence that this issue no longer reproduces on main.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.Thin issue quality; more reproduction proof or environment detail is needed.
Metadata
Metadata
Assignees
Labels
P2Normal backlog priority with limited blast radius.Normal backlog priority with limited blast radius.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:not-repro-on-mainClawSweeper found high-confidence evidence that this issue no longer reproduces on main.ClawSweeper found high-confidence evidence that this issue no longer reproduces on main.impact:securitySecurity boundary, credential, authz, sandbox, or sensitive-data risk.Security boundary, credential, authz, sandbox, or sensitive-data risk.issue-rating: 🦪 silver shellfishThin issue quality; more reproduction proof or environment detail is needed.Thin issue quality; more reproduction proof or environment detail is needed.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
ClawHub currently requires scoped package names to match the selected/owning publisher handle exactly. That is good for preventing ambiguous ownership, but we found four existing plugin packages whose
package.json.namescopes are valid on npm and already published on npm, while the same scopes are invalid as ClawHub publisher handles.ClawHub publisher handles currently allow only lowercase letters, numbers, and hyphens. npm scopes can include dots and underscores, so these packages cannot be repaired by creating matching ClawHub orgs under the current handle rules.
Affected packages
cc for visibility: @bitrouter @gelin-cloud @thepluglabai @juan-xin-cai
@bitrouter.ai/openclaw-plugin@takasaki404bitrouter/bitrouter-openclaw0.1.1.@glin_1/miniabc@gelin-cloudgelincloud/miniabc-plugin2.0.14_@pluglab_thinkly/thinkly-openclaw-plugin@thepluglabaipluglabai/thinkly-openclaw-plugin0.1.3_@souls_market/openclaw-plugin@juan-xin-caiGyliiiiii/souls-market0.0.7_Why this matters
For scoped plugin packages, ClawHub now enforces:
That means a package named:
must publish under ClawHub publisher:
But ClawHub rejects
bitrouter.aias a publisher handle. Creating a similar handle likebitrouter-aidoes not help, because--owner bitrouter-aistill mismatches the package scope@bitrouter.ai.Current behavior
These packages remain in a mismatched ownership state after the org-repair migration because ClawHub cannot create matching publishers for their npm scopes.
Expected publish failure shape:
or, if using a similar owner:
Options
Allow npm-compatible scope characters in ClawHub publisher handles
.and_.Keep ClawHub handles slug-safe and require package renames
@bitrouter.ai/openclaw-plugin->@bitrouter-ai/openclaw-plugin.Add explicit scope-to-publisher aliases
bitrouter.aimaps to ClawHub publisherbitrouter-ai.Recommendation
We should decide intentionally whether ClawHub publisher handles are meant to be URL slugs or npm-scope-compatible identities.
Given ClawHub now uses package scope as the ownership source of truth for scoped packages, my lean is to support npm-compatible scope characters for publisher handles, or introduce a first-class alias mechanism. Otherwise these packages cannot be made publishable without asking maintainers to rename already-published npm packages.