feat: kind+provider fields on StoreEntry (v0.12.1)

Studio uses these to mark synthetic capabilities and suppress
their Install button.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-05-07 22:44:12 +02:00
parent 776e3c0221
commit f91f477230
3 changed files with 41 additions and 2 deletions

View file

@ -2521,6 +2521,8 @@ class StoreEntry extends $pb.GeneratedMessage {
$core.String? iconUrl,
$core.Iterable<$core.String>? screenshotUrls,
$core.String? docsUrl,
$core.String? kind,
$core.String? provider,
}) {
final $result = create();
if (name != null) {
@ -2577,6 +2579,12 @@ class StoreEntry extends $pb.GeneratedMessage {
if (docsUrl != null) {
$result.docsUrl = docsUrl;
}
if (kind != null) {
$result.kind = kind;
}
if (provider != null) {
$result.provider = provider;
}
return $result;
}
StoreEntry._() : super();
@ -2602,6 +2610,8 @@ class StoreEntry extends $pb.GeneratedMessage {
..aOS(16, _omitFieldNames ? '' : 'iconUrl')
..pPS(17, _omitFieldNames ? '' : 'screenshotUrls')
..aOS(18, _omitFieldNames ? '' : 'docsUrl')
..aOS(19, _omitFieldNames ? '' : 'kind')
..aOS(20, _omitFieldNames ? '' : 'provider')
..hasRequiredFields = false
;
@ -2775,6 +2785,32 @@ class StoreEntry extends $pb.GeneratedMessage {
$core.bool hasDocsUrl() => $_has(17);
@$pb.TagNumber(18)
void clearDocsUrl() => $_clearField(18);
/// Origin of this entry. "native" (downloadable bundle, the
/// default for every seed.yaml entry) or "federated" (routes
/// through a bridge MCP, n8n, ). Studio uses the value to
/// branch the install action.
@$pb.TagNumber(19)
$core.String get kind => $_getSZ(18);
@$pb.TagNumber(19)
set kind($core.String v) { $_setString(18, v); }
@$pb.TagNumber(19)
$core.bool hasKind() => $_has(18);
@$pb.TagNumber(19)
void clearKind() => $_clearField(19);
/// Provider id for federated entries. Empty for native.
/// For MCP this is the operator's `mcp_clients[].name`.
/// Studio renders "via mcp:<provider>" so the operator sees
/// where a synthetic capability comes from.
@$pb.TagNumber(20)
$core.String get provider => $_getSZ(19);
@$pb.TagNumber(20)
set provider($core.String v) { $_setString(19, v); }
@$pb.TagNumber(20)
$core.bool hasProvider() => $_has(19);
@$pb.TagNumber(20)
void clearProvider() => $_clearField(20);
}
class ChannelStatusResponse extends $pb.GeneratedMessage {

View file

@ -655,6 +655,8 @@ const StoreEntry$json = {
{'1': 'icon_url', '3': 16, '4': 1, '5': 9, '10': 'iconUrl'},
{'1': 'screenshot_urls', '3': 17, '4': 3, '5': 9, '10': 'screenshotUrls'},
{'1': 'docs_url', '3': 18, '4': 1, '5': 9, '10': 'docsUrl'},
{'1': 'kind', '3': 19, '4': 1, '5': 9, '10': 'kind'},
{'1': 'provider', '3': 20, '4': 1, '5': 9, '10': 'provider'},
],
};
@ -670,7 +672,8 @@ final $typed_data.Uint8List storeEntryDescriptor = $convert.base64Decode(
'Npb24YDCABKAlSC2Jlc3RWZXJzaW9uEhYKBnN0YXR1cxgNIAEoCVIGc3RhdHVzEhwKCWluc3Rh'
'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZBIZCghpY2'
'9uX3VybBgQIAEoCVIHaWNvblVybBInCg9zY3JlZW5zaG90X3VybHMYESADKAlSDnNjcmVlbnNo'
'b3RVcmxzEhkKCGRvY3NfdXJsGBIgASgJUgdkb2NzVXJs');
'b3RVcmxzEhkKCGRvY3NfdXJsGBIgASgJUgdkb2NzVXJsEhIKBGtpbmQYEyABKAlSBGtpbmQSGg'
'oIcHJvdmlkZXIYFCABKAlSCHByb3ZpZGVy');
@$core.Deprecated('Use channelStatusResponseDescriptor instead')
const ChannelStatusResponse$json = {