feat: hardwareInfo + listSystemAiCuratedModels RPCs (v0.7.0)

Regenerated protos pick up the two new HubAdmin RPCs. HubClient
exposes them as hardwareInfo() and listSystemAiCuratedModels(),
with HardwareInfoResponse, ListSystemAiCuratedModelsResponse,
CuratedModel re-exported as typedefs so callers don't import
the generated/ directory directly.

Studio uses the pair to colour-code models in the System-AI
editor against the operator's actual hardware.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-05-07 15:39:12 +02:00
parent f04da40751
commit 4dad51da6d
5 changed files with 466 additions and 1 deletions

View file

@ -49,6 +49,10 @@ typedef AskAiResponse = pb.AskAiResponse;
typedef ListSystemAiModelsResponse = pb.ListSystemAiModelsResponse;
typedef SystemAiModel = pb.SystemAiModel;
typedef PullSystemAiModelResponse = pb.PullSystemAiModelResponse;
typedef HardwareInfoResponse = pb.HardwareInfoResponse;
typedef ListSystemAiCuratedModelsResponse =
pb.ListSystemAiCuratedModelsResponse;
typedef CuratedModel = pb.CuratedModel;
typedef ModuleInfoResponse = pb.ModuleInfoResponse;
typedef FlowSummary = pb.FlowSummary;
typedef StoreEntry = pb.StoreEntry;
@ -273,6 +277,23 @@ class HubClient {
));
}
/// Detected host hardware. Cached server-side; cheap to call.
/// Returned tier is one of `tiny`/`small`/`balanced`/`large`/
/// `unknown`. See `docs/architecture/system-ai.md`
/// "Hardware tiers".
Future<HardwareInfoResponse> hardwareInfo() {
return _admin.hardwareInfo(Empty());
}
/// Bundled curated model database. Used by Studio's editor
/// to colour-code models by hardware suitability. Refresh
/// requires a hub redeploy `lastReviewed` shows how stale
/// the curation is.
Future<ListSystemAiCuratedModelsResponse>
listSystemAiCuratedModels() {
return _admin.listSystemAiCuratedModels(Empty());
}
/// Search the hub's bundled store index. All filters are
/// optional; an empty query returns the first [limit] entries
/// the index ships with.