Expose workspace plugin publish capability (#35254)

## What changed

- Add nullable `canPublishToWorkspace` metadata to plugin share contexts and `plugin/share/save` responses.
- Preserve the remote capability through catalog parsing and app-server responses so clients can decide whether to offer workspace-directory publishing.
- Document that clients should fail closed when the capability is unavailable.

## Testing

- Cover remote catalog parsing, share-save response propagation, and protocol serialization.

GitOrigin-RevId: b0346b3b330169838f800dfdf21dfa5db1a47f4d
This commit is contained in:
thomas authored and copyberry committed 2026-07-24 22:14:12 +00:00
1 parent 1811b67a84
commit 32329b289d
20 files changed
+114 -3

No files matched your search

@@ -254,6 +254,8 @@ pub struct PluginShareSaveParams {
pub struct PluginShareSaveResponse {
pub remote_plugin_id: String,
pub share_url: String,
#[serde(default)]
pub can_publish_to_workspace: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
@@ -662,6 +664,8 @@ pub struct PluginShareContext {
pub creator_account_user_id: Option<String>,
pub creator_name: Option<String>,
pub share_principals: Option<Vec<PluginSharePrincipal>>,
#[serde(default)]
pub can_publish_to_workspace: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]