feat: uninstallModule + daemonPaths wrappers (v0.9.0)
HubClient gains: - daemonPaths() — typed access to the new DaemonPaths RPC. - uninstallModule(name) — typed wrapper for UninstallModule. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
6dc058344b
commit
90405e6fc3
5 changed files with 340 additions and 1 deletions
|
|
@ -54,6 +54,8 @@ typedef ListSystemAiCuratedModelsResponse =
|
|||
pb.ListSystemAiCuratedModelsResponse;
|
||||
typedef CuratedModel = pb.CuratedModel;
|
||||
typedef ClearEventLogResponse = pb.ClearEventLogResponse;
|
||||
typedef DaemonPathsResponse = pb.DaemonPathsResponse;
|
||||
typedef UninstallModuleResponse = pb.UninstallModuleResponse;
|
||||
typedef ModuleInfoResponse = pb.ModuleInfoResponse;
|
||||
typedef FlowSummary = pb.FlowSummary;
|
||||
typedef StoreEntry = pb.StoreEntry;
|
||||
|
|
@ -208,6 +210,22 @@ class HubClient {
|
|||
return _admin.channelStatus(Empty());
|
||||
}
|
||||
|
||||
/// Filesystem paths the daemon owns (log file, db, config,
|
||||
/// flows, modules, pid). Studio's Doctor page surfaces these
|
||||
/// as "Open in file manager" buttons so Windows operators can
|
||||
/// inspect everything without a shell.
|
||||
Future<DaemonPathsResponse> daemonPaths() {
|
||||
return _admin.daemonPaths(Empty());
|
||||
}
|
||||
|
||||
/// Remove an installed module by name. Wipes the module
|
||||
/// directory + re-scans the registry; writes a
|
||||
/// `module.uninstalled` audit event. Returned response carries
|
||||
/// the version that was removed.
|
||||
Future<UninstallModuleResponse> uninstallModule(String name) {
|
||||
return _admin.uninstallModule(pb.UninstallModuleRequest(name: name));
|
||||
}
|
||||
|
||||
/// Read-only system-AI status. `enabled=false` lets Studio
|
||||
/// render "configure in Settings" without making a request.
|
||||
Future<SystemAiStatusResponse> systemAiStatus() {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue