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.String? iconUrl,
$core.Iterable<$core.String>? screenshotUrls, $core.Iterable<$core.String>? screenshotUrls,
$core.String? docsUrl, $core.String? docsUrl,
$core.String? kind,
$core.String? provider,
}) { }) {
final $result = create(); final $result = create();
if (name != null) { if (name != null) {
@ -2577,6 +2579,12 @@ class StoreEntry extends $pb.GeneratedMessage {
if (docsUrl != null) { if (docsUrl != null) {
$result.docsUrl = docsUrl; $result.docsUrl = docsUrl;
} }
if (kind != null) {
$result.kind = kind;
}
if (provider != null) {
$result.provider = provider;
}
return $result; return $result;
} }
StoreEntry._() : super(); StoreEntry._() : super();
@ -2602,6 +2610,8 @@ class StoreEntry extends $pb.GeneratedMessage {
..aOS(16, _omitFieldNames ? '' : 'iconUrl') ..aOS(16, _omitFieldNames ? '' : 'iconUrl')
..pPS(17, _omitFieldNames ? '' : 'screenshotUrls') ..pPS(17, _omitFieldNames ? '' : 'screenshotUrls')
..aOS(18, _omitFieldNames ? '' : 'docsUrl') ..aOS(18, _omitFieldNames ? '' : 'docsUrl')
..aOS(19, _omitFieldNames ? '' : 'kind')
..aOS(20, _omitFieldNames ? '' : 'provider')
..hasRequiredFields = false ..hasRequiredFields = false
; ;
@ -2775,6 +2785,32 @@ class StoreEntry extends $pb.GeneratedMessage {
$core.bool hasDocsUrl() => $_has(17); $core.bool hasDocsUrl() => $_has(17);
@$pb.TagNumber(18) @$pb.TagNumber(18)
void clearDocsUrl() => $_clearField(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 { 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': 'icon_url', '3': 16, '4': 1, '5': 9, '10': 'iconUrl'},
{'1': 'screenshot_urls', '3': 17, '4': 3, '5': 9, '10': 'screenshotUrls'}, {'1': 'screenshot_urls', '3': 17, '4': 3, '5': 9, '10': 'screenshotUrls'},
{'1': 'docs_url', '3': 18, '4': 1, '5': 9, '10': 'docsUrl'}, {'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' 'Npb24YDCABKAlSC2Jlc3RWZXJzaW9uEhYKBnN0YXR1cxgNIAEoCVIGc3RhdHVzEhwKCWluc3Rh'
'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZBIZCghpY2' 'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZBIZCghpY2'
'9uX3VybBgQIAEoCVIHaWNvblVybBInCg9zY3JlZW5zaG90X3VybHMYESADKAlSDnNjcmVlbnNo' '9uX3VybBgQIAEoCVIHaWNvblVybBInCg9zY3JlZW5zaG90X3VybHMYESADKAlSDnNjcmVlbnNo'
'b3RVcmxzEhkKCGRvY3NfdXJsGBIgASgJUgdkb2NzVXJs'); 'b3RVcmxzEhkKCGRvY3NfdXJsGBIgASgJUgdkb2NzVXJsEhIKBGtpbmQYEyABKAlSBGtpbmQSGg'
'oIcHJvdmlkZXIYFCABKAlSCHByb3ZpZGVy');
@$core.Deprecated('Use channelStatusResponseDescriptor instead') @$core.Deprecated('Use channelStatusResponseDescriptor instead')
const ChannelStatusResponse$json = { const ChannelStatusResponse$json = {

View file

@ -1,6 +1,6 @@
name: fai_dart_sdk name: fai_dart_sdk
description: gRPC client SDK for the F∆I Platform hub. Used by F∆I Studio and Tier-3 domain apps. description: gRPC client SDK for the F∆I Platform hub. Used by F∆I Studio and Tier-3 domain apps.
version: 0.12.0 version: 0.12.1
publish_to: 'none' publish_to: 'none'
repository: https://git.flemming.ws/fai/dart-sdk repository: https://git.flemming.ws/fai/dart-sdk