diff --git a/lib/src/generated/fai/v1/hub.pb.dart b/lib/src/generated/fai/v1/hub.pb.dart index d8db226..afcb1b5 100644 --- a/lib/src/generated/fai/v1/hub.pb.dart +++ b/lib/src/generated/fai/v1/hub.pb.dart @@ -2518,6 +2518,9 @@ class StoreEntry extends $pb.GeneratedMessage { $core.String? status, $core.bool? installed, $core.bool? featured, + $core.String? iconUrl, + $core.Iterable<$core.String>? screenshotUrls, + $core.String? docsUrl, }) { final $result = create(); if (name != null) { @@ -2565,6 +2568,15 @@ class StoreEntry extends $pb.GeneratedMessage { if (featured != null) { $result.featured = featured; } + if (iconUrl != null) { + $result.iconUrl = iconUrl; + } + if (screenshotUrls != null) { + $result.screenshotUrls.addAll(screenshotUrls); + } + if (docsUrl != null) { + $result.docsUrl = docsUrl; + } return $result; } StoreEntry._() : super(); @@ -2587,6 +2599,9 @@ class StoreEntry extends $pb.GeneratedMessage { ..aOS(13, _omitFieldNames ? '' : 'status') ..aOB(14, _omitFieldNames ? '' : 'installed') ..aOB(15, _omitFieldNames ? '' : 'featured') + ..aOS(16, _omitFieldNames ? '' : 'iconUrl') + ..pPS(17, _omitFieldNames ? '' : 'screenshotUrls') + ..aOS(18, _omitFieldNames ? '' : 'docsUrl') ..hasRequiredFields = false ; @@ -2727,6 +2742,39 @@ class StoreEntry extends $pb.GeneratedMessage { $core.bool hasFeatured() => $_has(14); @$pb.TagNumber(15) void clearFeatured() => $_clearField(15); + + /// Optional URL of a square icon (PNG / SVG, 256px+). + /// Studio loads and renders this in the detail sheet's hero + /// header in place of the category-derived fallback. Empty + /// → fall back to the category icon. + @$pb.TagNumber(16) + $core.String get iconUrl => $_getSZ(15); + @$pb.TagNumber(16) + set iconUrl($core.String v) { $_setString(15, v); } + @$pb.TagNumber(16) + $core.bool hasIconUrl() => $_has(15); + @$pb.TagNumber(16) + void clearIconUrl() => $_clearField(16); + + /// Optional screenshot URLs in display order. Studio renders + /// them as a horizontally-scrollable strip in the detail + /// sheet so operators can see what the module *does* before + /// installing. + @$pb.TagNumber(17) + $pb.PbList<$core.String> get screenshotUrls => $_getList(16); + + /// Explicit docs URL override. Empty → hub falls back to the + /// well-known raw-README paths against `repository`. + /// Use this when the README lives at a non-default branch / + /// path or when the docs are a separate Markdown file. + @$pb.TagNumber(18) + $core.String get docsUrl => $_getSZ(17); + @$pb.TagNumber(18) + set docsUrl($core.String v) { $_setString(17, v); } + @$pb.TagNumber(18) + $core.bool hasDocsUrl() => $_has(17); + @$pb.TagNumber(18) + void clearDocsUrl() => $_clearField(18); } class ChannelStatusResponse extends $pb.GeneratedMessage { diff --git a/lib/src/generated/fai/v1/hub.pbjson.dart b/lib/src/generated/fai/v1/hub.pbjson.dart index 8aa0e37..156793b 100644 --- a/lib/src/generated/fai/v1/hub.pbjson.dart +++ b/lib/src/generated/fai/v1/hub.pbjson.dart @@ -652,6 +652,9 @@ const StoreEntry$json = { {'1': 'status', '3': 13, '4': 1, '5': 9, '10': 'status'}, {'1': 'installed', '3': 14, '4': 1, '5': 8, '10': 'installed'}, {'1': 'featured', '3': 15, '4': 1, '5': 8, '10': 'featured'}, + {'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'}, ], }; @@ -665,7 +668,9 @@ final $typed_data.Uint8List storeEntryDescriptor = $convert.base64Decode( 'JlcXVpcmVzX3NlcnZpY2VzGAkgAygJUhByZXF1aXJlc1NlcnZpY2VzEhgKB2xpY2Vuc2UYCiAB' 'KAlSB2xpY2Vuc2USHgoKcmVwb3NpdG9yeRgLIAEoCVIKcmVwb3NpdG9yeRIhCgxiZXN0X3Zlcn' 'Npb24YDCABKAlSC2Jlc3RWZXJzaW9uEhYKBnN0YXR1cxgNIAEoCVIGc3RhdHVzEhwKCWluc3Rh' - 'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZA=='); + 'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZBIZCghpY2' + '9uX3VybBgQIAEoCVIHaWNvblVybBInCg9zY3JlZW5zaG90X3VybHMYESADKAlSDnNjcmVlbnNo' + 'b3RVcmxzEhkKCGRvY3NfdXJsGBIgASgJUgdkb2NzVXJs'); @$core.Deprecated('Use channelStatusResponseDescriptor instead') const ChannelStatusResponse$json = { diff --git a/pubspec.yaml b/pubspec.yaml index b4f5198..51fbc4a 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,6 +1,6 @@ name: fai_dart_sdk description: gRPC client SDK for the F∆I Platform hub. Used by F∆I Studio and Tier-3 domain apps. -version: 0.10.1 +version: 0.11.0 publish_to: 'none' repository: https://git.flemming.ws/fai/dart-sdk