feat: project registry + per-project filters (stage 1 wire surface)
Some checks are pending
Security / Security check (push) Waiting to run

- listProjects() returns the shared hub's registry (general first;
  sealed areas never appear — they are their own hub instance).
- eventLog, streamEvents and listApprovals take an optional project:
  filter; LoggedEvent, PendingApprovalEntry and FlowSummary carry
  project. Stubs regenerated from the platform's hub.proto.

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-07-12 13:33:08 +02:00
parent 408f0eb850
commit dd909b58f4
5 changed files with 383 additions and 11 deletions

View file

@ -355,6 +355,19 @@ class HubAdminClient extends $grpc.Client {
return $createUnaryCall(_$getFlowDefinition, request, options: options);
}
/// List the shared hub's project registry (`general` first) —
/// the lightweight labels that group flows, runs, approvals and
/// audit events. Only `open` and `protected` projects appear:
/// sealed projects are their own hub instance and are never
/// known to a shared hub (docs/architecture/projects.md).
/// Studio's workspace switcher reads this list.
$grpc.ResponseFuture<$0.ProjectList> listProjects(
$1.Empty request, {
$grpc.CallOptions? options,
}) {
return $createUnaryCall(_$listProjects, request, options: options);
}
/// Search the bundled (and Phase 1+: federated) store index for
/// modules matching a query.
$grpc.ResponseFuture<$0.StoreSearchResponse> searchStore(
@ -846,6 +859,10 @@ class HubAdminClient extends $grpc.Client {
'/chain.v1.HubAdmin/GetFlowDefinition',
($0.GetFlowDefinitionRequest value) => value.writeToBuffer(),
$0.FlowDefinition.fromBuffer);
static final _$listProjects = $grpc.ClientMethod<$1.Empty, $0.ProjectList>(
'/chain.v1.HubAdmin/ListProjects',
($1.Empty value) => value.writeToBuffer(),
$0.ProjectList.fromBuffer);
static final _$searchStore =
$grpc.ClientMethod<$0.SearchStoreRequest, $0.StoreSearchResponse>(
'/chain.v1.HubAdmin/SearchStore',
@ -1137,6 +1154,13 @@ abstract class HubAdminServiceBase extends $grpc.Service {
($core.List<$core.int> value) =>
$0.GetFlowDefinitionRequest.fromBuffer(value),
($0.FlowDefinition value) => value.writeToBuffer()));
$addMethod($grpc.ServiceMethod<$1.Empty, $0.ProjectList>(
'ListProjects',
listProjects_Pre,
false,
false,
($core.List<$core.int> value) => $1.Empty.fromBuffer(value),
($0.ProjectList value) => value.writeToBuffer()));
$addMethod(
$grpc.ServiceMethod<$0.SearchStoreRequest, $0.StoreSearchResponse>(
'SearchStore',
@ -1558,6 +1582,14 @@ abstract class HubAdminServiceBase extends $grpc.Service {
$async.Future<$0.FlowDefinition> getFlowDefinition(
$grpc.ServiceCall call, $0.GetFlowDefinitionRequest request);
$async.Future<$0.ProjectList> listProjects_Pre(
$grpc.ServiceCall $call, $async.Future<$1.Empty> $request) async {
return listProjects($call, await $request);
}
$async.Future<$0.ProjectList> listProjects(
$grpc.ServiceCall call, $1.Empty request);
$async.Future<$0.StoreSearchResponse> searchStore_Pre($grpc.ServiceCall $call,
$async.Future<$0.SearchStoreRequest> $request) async {
return searchStore($call, await $request);