feat(studio): surface provider + sourceKind + versionAdvisory on CapabilityInfo
Some checks failed
Security / Security check (push) Failing after 1s

Studio's UI-side `CapabilityInfo` record now carries the
three fields that the F∆I 0.12.0 hub exposes on
CapabilityEntry:

  - `provider` — publisher identity ("fai", "fai.system",
    "bmds.spark", ...)
  - `sourceKind` — transport ("bundle", "system", "mcp",
    "n8n", "temporal", "webhook")
  - `versionAdvisory` — true for federation sources whose
    version pin is a label, not a contract

`allCapabilities()` populates them from the freshly-regenerated
protobuf bindings. Defaults are backward-compatible (empty
strings + false) so a pre-0.12 hub still works against this
Studio build.

Badge rendering in the capability picker / store grid lands
in a follow-up Studio commit; this change is the data-layer
plumbing only. dart analyze green.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-05-28 10:54:48 +02:00
parent a5bd51de33
commit d697339393
3 changed files with 38 additions and 21 deletions

View file

@ -141,6 +141,16 @@ class FaiTheme {
);
}
/// Build a Studio ThemeData around any [ColorScheme]. Used by
/// the built-in light/dark constructors and by
/// `themeDataFromScheme` when a Studio plugin supplies the
/// palette. Single entry-point so the plugin path and the
/// built-in path always produce structurally identical
/// ThemeData (same textTheme, same component themes); without
/// this, swapping between them at runtime trips Flutter's
/// TextStyle.lerp with mismatched `inherit` values.
static ThemeData fromColorScheme(ColorScheme scheme) => _build(scheme);
static ThemeData dark() {
final scheme = ColorScheme(
brightness: Brightness.dark,