chain-client-sdk-dart/lib/fai_dart_sdk.dart
flemming-it da10820959 feat: live HubClient with generated proto bindings
Proto codegen wired in. tools/generate.sh wraps protoc against
../fai_platform/proto/, including the well-known types (Empty,
Struct, Timestamp) so they are generated alongside fai's own
messages — protobuf 4.x doesn't ship them as importable Dart
types, so we have to generate them ourselves.

HubClient now exposes typed methods backed by real RPCs:
- healthy() — Hub.Health probe (returns false on connect refused).
- listCapabilities() — HubAdmin.ListCapabilities.
- eventLog() — HubAdmin.EventLog with type filter.
- listApprovals() — HubAdmin.ListApprovals (status filter).
- approve() / reject() — HubAdmin.DecideApproval.

Generated bindings under lib/src/generated/ are excluded from
analyze (out of our style control). protoc_plugin pinned to
22.2.0 in tools/generate.sh comment because newer plugins
generate code against protobuf 6.x, while grpc 4.x still
constrains us to protobuf 4.x.

Bumps fai_dart_sdk 0.1.0 -> 0.2.0.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
2026-05-05 16:24:16 +02:00

13 lines
504 B
Dart

/// gRPC client for the F∆I Platform hub.
///
/// Provides a typed Dart wrapper around the hub's gRPC services
/// (Hub, HubAdmin) defined in `fai/platform`'s `proto/fai/v1/`
/// directory. Used by F∆I Studio and any Tier-3 Dart/Flutter
/// app (DigiScout, J∆I, Scout, …) that wants to talk to a hub.
///
/// The generated protobuf bindings live under
/// `lib/src/generated/`. Re-run `tools/generate.sh` whenever the
/// platform's `.proto` files change.
library;
export 'src/hub_client.dart';