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

@@ -3701,11 +3701,13 @@ fn plugin_share_params_and_response_serialization_use_camel_case_fields() {
serde_json::to_value(PluginShareSaveResponse {
remote_plugin_id: "plugins~Plugin_00000000000000000000000000000000".to_string(),
share_url: String::new(),
can_publish_to_workspace: Some(true),
})
.unwrap(),
json!({
"remotePluginId": "plugins~Plugin_00000000000000000000000000000000",
"shareUrl": "",
"canPublishToWorkspace": true,
}),
);