diff --git a/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go b/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go index c1ac322..f0d8174 100644 --- a/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go +++ b/internal/api/orchestrator/v1/orchestratorv1connect/plugin_registry.connect.go @@ -63,6 +63,9 @@ const ( // PluginRegistryServiceResolveInstallProcedure is the fully-qualified name of the // PluginRegistryService's ResolveInstall RPC. PluginRegistryServiceResolveInstallProcedure = "/orchestrator.v1.PluginRegistryService/ResolveInstall" + // PluginRegistryServiceListCategoriesProcedure is the fully-qualified name of the + // PluginRegistryService's ListCategories RPC. + PluginRegistryServiceListCategoriesProcedure = "/orchestrator.v1.PluginRegistryService/ListCategories" // PluginPublishServicePublishVersionProcedure is the fully-qualified name of the // PluginPublishService's PublishVersion RPC. PluginPublishServicePublishVersionProcedure = "/orchestrator.v1.PluginPublishService/PublishVersion" @@ -209,6 +212,7 @@ type PluginRegistryServiceClient interface { ListPlugins(context.Context, *connect.Request[v1.ListPluginsRequest]) (*connect.Response[v1.ListPluginsResponse], error) GetVersion(context.Context, *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error) ResolveInstall(context.Context, *connect.Request[v1.ResolveInstallRequest]) (*connect.Response[v1.ResolveInstallResponse], error) + ListCategories(context.Context, *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) } // NewPluginRegistryServiceClient constructs a client for the orchestrator.v1.PluginRegistryService @@ -252,6 +256,12 @@ func NewPluginRegistryServiceClient(httpClient connect.HTTPClient, baseURL strin connect.WithSchema(pluginRegistryServiceMethods.ByName("ResolveInstall")), connect.WithClientOptions(opts...), ), + listCategories: connect.NewClient[v1.ListCategoriesRequest, v1.ListCategoriesResponse]( + httpClient, + baseURL+PluginRegistryServiceListCategoriesProcedure, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListCategories")), + connect.WithClientOptions(opts...), + ), } } @@ -262,6 +272,7 @@ type pluginRegistryServiceClient struct { listPlugins *connect.Client[v1.ListPluginsRequest, v1.ListPluginsResponse] getVersion *connect.Client[v1.GetVersionRequest, v1.GetVersionResponse] resolveInstall *connect.Client[v1.ResolveInstallRequest, v1.ResolveInstallResponse] + listCategories *connect.Client[v1.ListCategoriesRequest, v1.ListCategoriesResponse] } // CreatePlugin calls orchestrator.v1.PluginRegistryService.CreatePlugin. @@ -289,6 +300,11 @@ func (c *pluginRegistryServiceClient) ResolveInstall(ctx context.Context, req *c return c.resolveInstall.CallUnary(ctx, req) } +// ListCategories calls orchestrator.v1.PluginRegistryService.ListCategories. +func (c *pluginRegistryServiceClient) ListCategories(ctx context.Context, req *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) { + return c.listCategories.CallUnary(ctx, req) +} + // PluginRegistryServiceHandler is an implementation of the orchestrator.v1.PluginRegistryService // service. type PluginRegistryServiceHandler interface { @@ -297,6 +313,7 @@ type PluginRegistryServiceHandler interface { ListPlugins(context.Context, *connect.Request[v1.ListPluginsRequest]) (*connect.Response[v1.ListPluginsResponse], error) GetVersion(context.Context, *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error) ResolveInstall(context.Context, *connect.Request[v1.ResolveInstallRequest]) (*connect.Response[v1.ResolveInstallResponse], error) + ListCategories(context.Context, *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) } // NewPluginRegistryServiceHandler builds an HTTP handler from the service implementation. It @@ -336,6 +353,12 @@ func NewPluginRegistryServiceHandler(svc PluginRegistryServiceHandler, opts ...c connect.WithSchema(pluginRegistryServiceMethods.ByName("ResolveInstall")), connect.WithHandlerOptions(opts...), ) + pluginRegistryServiceListCategoriesHandler := connect.NewUnaryHandler( + PluginRegistryServiceListCategoriesProcedure, + svc.ListCategories, + connect.WithSchema(pluginRegistryServiceMethods.ByName("ListCategories")), + connect.WithHandlerOptions(opts...), + ) return "/orchestrator.v1.PluginRegistryService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case PluginRegistryServiceCreatePluginProcedure: @@ -348,6 +371,8 @@ func NewPluginRegistryServiceHandler(svc PluginRegistryServiceHandler, opts ...c pluginRegistryServiceGetVersionHandler.ServeHTTP(w, r) case PluginRegistryServiceResolveInstallProcedure: pluginRegistryServiceResolveInstallHandler.ServeHTTP(w, r) + case PluginRegistryServiceListCategoriesProcedure: + pluginRegistryServiceListCategoriesHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -377,6 +402,10 @@ func (UnimplementedPluginRegistryServiceHandler) ResolveInstall(context.Context, return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ResolveInstall is not implemented")) } +func (UnimplementedPluginRegistryServiceHandler) ListCategories(context.Context, *connect.Request[v1.ListCategoriesRequest]) (*connect.Response[v1.ListCategoriesResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("orchestrator.v1.PluginRegistryService.ListCategories is not implemented")) +} + // PluginPublishServiceClient is a client for the orchestrator.v1.PluginPublishService service. type PluginPublishServiceClient interface { PublishVersion(context.Context, *connect.Request[v1.PublishVersionRequest]) (*connect.Response[v1.PublishVersionResponse], error) diff --git a/internal/api/orchestrator/v1/plugin_registry.pb.go b/internal/api/orchestrator/v1/plugin_registry.pb.go index d4a32b0..07afad7 100644 --- a/internal/api/orchestrator/v1/plugin_registry.pb.go +++ b/internal/api/orchestrator/v1/plugin_registry.pb.go @@ -101,6 +101,7 @@ type Plugin struct { HomepageUrl string `protobuf:"bytes,7,opt,name=homepage_url,json=homepageUrl,proto3" json:"homepage_url,omitempty"` Categories []string `protobuf:"bytes,8,rep,name=categories,proto3" json:"categories,omitempty"` UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` + Kind string `protobuf:"bytes,10,opt,name=kind,proto3" json:"kind,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -198,6 +199,81 @@ func (x *Plugin) GetUpdatedAt() *timestamppb.Timestamp { return nil } +func (x *Plugin) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +type Category struct { + state protoimpl.MessageState `protogen:"open.v1"` + Slug string `protobuf:"bytes,1,opt,name=slug,proto3" json:"slug,omitempty"` + DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + SortOrder int32 `protobuf:"varint,4,opt,name=sort_order,json=sortOrder,proto3" json:"sort_order,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Category) Reset() { + *x = Category{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Category) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Category) ProtoMessage() {} + +func (x *Category) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Category.ProtoReflect.Descriptor instead. +func (*Category) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{2} +} + +func (x *Category) GetSlug() string { + if x != nil { + return x.Slug + } + return "" +} + +func (x *Category) GetDisplayName() string { + if x != nil { + return x.DisplayName + } + return "" +} + +func (x *Category) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *Category) GetSortOrder() int32 { + if x != nil { + return x.SortOrder + } + return 0 +} + type Version struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -214,7 +290,7 @@ type Version struct { func (x *Version) Reset() { *x = Version{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -226,7 +302,7 @@ func (x *Version) String() string { func (*Version) ProtoMessage() {} func (x *Version) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[2] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -239,7 +315,7 @@ func (x *Version) ProtoReflect() protoreflect.Message { // Deprecated: Use Version.ProtoReflect.Descriptor instead. func (*Version) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{2} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{3} } func (x *Version) GetId() string { @@ -309,7 +385,7 @@ type Requirement struct { func (x *Requirement) Reset() { *x = Requirement{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -321,7 +397,7 @@ func (x *Requirement) String() string { func (*Requirement) ProtoMessage() {} func (x *Requirement) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[3] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -334,7 +410,7 @@ func (x *Requirement) ProtoReflect() protoreflect.Message { // Deprecated: Use Requirement.ProtoReflect.Descriptor instead. func (*Requirement) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{3} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{4} } func (x *Requirement) GetScopeSlug() string { @@ -368,7 +444,7 @@ type CreateScopeRequest struct { func (x *CreateScopeRequest) Reset() { *x = CreateScopeRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -380,7 +456,7 @@ func (x *CreateScopeRequest) String() string { func (*CreateScopeRequest) ProtoMessage() {} func (x *CreateScopeRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[4] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -393,7 +469,7 @@ func (x *CreateScopeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateScopeRequest.ProtoReflect.Descriptor instead. func (*CreateScopeRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{4} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{5} } func (x *CreateScopeRequest) GetSlug() string { @@ -419,7 +495,7 @@ type CreateScopeResponse struct { func (x *CreateScopeResponse) Reset() { *x = CreateScopeResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -431,7 +507,7 @@ func (x *CreateScopeResponse) String() string { func (*CreateScopeResponse) ProtoMessage() {} func (x *CreateScopeResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[5] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -444,7 +520,7 @@ func (x *CreateScopeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateScopeResponse.ProtoReflect.Descriptor instead. func (*CreateScopeResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{5} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{6} } func (x *CreateScopeResponse) GetScope() *Scope { @@ -462,7 +538,7 @@ type ListMyScopesRequest struct { func (x *ListMyScopesRequest) Reset() { *x = ListMyScopesRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -474,7 +550,7 @@ func (x *ListMyScopesRequest) String() string { func (*ListMyScopesRequest) ProtoMessage() {} func (x *ListMyScopesRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[6] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -487,7 +563,7 @@ func (x *ListMyScopesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyScopesRequest.ProtoReflect.Descriptor instead. func (*ListMyScopesRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{6} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{7} } type ListMyScopesResponse struct { @@ -499,7 +575,7 @@ type ListMyScopesResponse struct { func (x *ListMyScopesResponse) Reset() { *x = ListMyScopesResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -511,7 +587,7 @@ func (x *ListMyScopesResponse) String() string { func (*ListMyScopesResponse) ProtoMessage() {} func (x *ListMyScopesResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[7] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -524,7 +600,7 @@ func (x *ListMyScopesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListMyScopesResponse.ProtoReflect.Descriptor instead. func (*ListMyScopesResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{7} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{8} } func (x *ListMyScopesResponse) GetScopes() []*Scope { @@ -543,7 +619,7 @@ type GetScopeRequest struct { func (x *GetScopeRequest) Reset() { *x = GetScopeRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -555,7 +631,7 @@ func (x *GetScopeRequest) String() string { func (*GetScopeRequest) ProtoMessage() {} func (x *GetScopeRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[8] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -568,7 +644,7 @@ func (x *GetScopeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScopeRequest.ProtoReflect.Descriptor instead. func (*GetScopeRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{8} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{9} } func (x *GetScopeRequest) GetSlug() string { @@ -588,7 +664,7 @@ type GetScopeResponse struct { func (x *GetScopeResponse) Reset() { *x = GetScopeResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -600,7 +676,7 @@ func (x *GetScopeResponse) String() string { func (*GetScopeResponse) ProtoMessage() {} func (x *GetScopeResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[9] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -613,7 +689,7 @@ func (x *GetScopeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetScopeResponse.ProtoReflect.Descriptor instead. func (*GetScopeResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{9} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{10} } func (x *GetScopeResponse) GetScope() *Scope { @@ -635,13 +711,15 @@ type CreatePluginRequest struct { ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty"` + Categories []string `protobuf:"bytes,5,rep,name=categories,proto3" json:"categories,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CreatePluginRequest) Reset() { *x = CreatePluginRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -653,7 +731,7 @@ func (x *CreatePluginRequest) String() string { func (*CreatePluginRequest) ProtoMessage() {} func (x *CreatePluginRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[10] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -666,7 +744,7 @@ func (x *CreatePluginRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePluginRequest.ProtoReflect.Descriptor instead. func (*CreatePluginRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{10} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{11} } func (x *CreatePluginRequest) GetScopeSlug() string { @@ -690,6 +768,20 @@ func (x *CreatePluginRequest) GetDescription() string { return "" } +func (x *CreatePluginRequest) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *CreatePluginRequest) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + type CreatePluginResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Plugin *Plugin `protobuf:"bytes,1,opt,name=plugin,proto3" json:"plugin,omitempty"` @@ -699,7 +791,7 @@ type CreatePluginResponse struct { func (x *CreatePluginResponse) Reset() { *x = CreatePluginResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -711,7 +803,7 @@ func (x *CreatePluginResponse) String() string { func (*CreatePluginResponse) ProtoMessage() {} func (x *CreatePluginResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[11] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -724,7 +816,7 @@ func (x *CreatePluginResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreatePluginResponse.ProtoReflect.Descriptor instead. func (*CreatePluginResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{11} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{12} } func (x *CreatePluginResponse) GetPlugin() *Plugin { @@ -744,7 +836,7 @@ type GetPluginRequest struct { func (x *GetPluginRequest) Reset() { *x = GetPluginRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -756,7 +848,7 @@ func (x *GetPluginRequest) String() string { func (*GetPluginRequest) ProtoMessage() {} func (x *GetPluginRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[12] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -769,7 +861,7 @@ func (x *GetPluginRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPluginRequest.ProtoReflect.Descriptor instead. func (*GetPluginRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{12} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{13} } func (x *GetPluginRequest) GetScopeSlug() string { @@ -797,7 +889,7 @@ type GetPluginResponse struct { func (x *GetPluginResponse) Reset() { *x = GetPluginResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -809,7 +901,7 @@ func (x *GetPluginResponse) String() string { func (*GetPluginResponse) ProtoMessage() {} func (x *GetPluginResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[13] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -822,7 +914,7 @@ func (x *GetPluginResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetPluginResponse.ProtoReflect.Descriptor instead. func (*GetPluginResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{13} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{14} } func (x *GetPluginResponse) GetPlugin() *Plugin { @@ -851,13 +943,15 @@ type ListPluginsRequest struct { Limit int32 `protobuf:"varint,1,opt,name=limit,proto3" json:"limit,omitempty"` Offset int32 `protobuf:"varint,2,opt,name=offset,proto3" json:"offset,omitempty"` Query string `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty"` + Categories []string `protobuf:"bytes,5,rep,name=categories,proto3" json:"categories,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListPluginsRequest) Reset() { *x = ListPluginsRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -869,7 +963,7 @@ func (x *ListPluginsRequest) String() string { func (*ListPluginsRequest) ProtoMessage() {} func (x *ListPluginsRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[14] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -882,7 +976,7 @@ func (x *ListPluginsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPluginsRequest.ProtoReflect.Descriptor instead. func (*ListPluginsRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{14} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{15} } func (x *ListPluginsRequest) GetLimit() int32 { @@ -906,6 +1000,20 @@ func (x *ListPluginsRequest) GetQuery() string { return "" } +func (x *ListPluginsRequest) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ListPluginsRequest) GetCategories() []string { + if x != nil { + return x.Categories + } + return nil +} + type ListPluginsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Plugins []*Plugin `protobuf:"bytes,1,rep,name=plugins,proto3" json:"plugins,omitempty"` @@ -915,7 +1023,7 @@ type ListPluginsResponse struct { func (x *ListPluginsResponse) Reset() { *x = ListPluginsResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -927,7 +1035,7 @@ func (x *ListPluginsResponse) String() string { func (*ListPluginsResponse) ProtoMessage() {} func (x *ListPluginsResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[15] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -940,7 +1048,7 @@ func (x *ListPluginsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListPluginsResponse.ProtoReflect.Descriptor instead. func (*ListPluginsResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{15} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{16} } func (x *ListPluginsResponse) GetPlugins() []*Plugin { @@ -950,6 +1058,86 @@ func (x *ListPluginsResponse) GetPlugins() []*Plugin { return nil } +type ListCategoriesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCategoriesRequest) Reset() { + *x = ListCategoriesRequest{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCategoriesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCategoriesRequest) ProtoMessage() {} + +func (x *ListCategoriesRequest) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCategoriesRequest.ProtoReflect.Descriptor instead. +func (*ListCategoriesRequest) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{17} +} + +type ListCategoriesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Categories []*Category `protobuf:"bytes,1,rep,name=categories,proto3" json:"categories,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListCategoriesResponse) Reset() { + *x = ListCategoriesResponse{} + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListCategoriesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListCategoriesResponse) ProtoMessage() {} + +func (x *ListCategoriesResponse) ProtoReflect() protoreflect.Message { + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListCategoriesResponse.ProtoReflect.Descriptor instead. +func (*ListCategoriesResponse) Descriptor() ([]byte, []int) { + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{18} +} + +func (x *ListCategoriesResponse) GetCategories() []*Category { + if x != nil { + return x.Categories + } + return nil +} + type GetVersionRequest struct { state protoimpl.MessageState `protogen:"open.v1"` ScopeSlug string `protobuf:"bytes,1,opt,name=scope_slug,json=scopeSlug,proto3" json:"scope_slug,omitempty"` @@ -961,7 +1149,7 @@ type GetVersionRequest struct { func (x *GetVersionRequest) Reset() { *x = GetVersionRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -973,7 +1161,7 @@ func (x *GetVersionRequest) String() string { func (*GetVersionRequest) ProtoMessage() {} func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[16] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -986,7 +1174,7 @@ func (x *GetVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionRequest.ProtoReflect.Descriptor instead. func (*GetVersionRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{16} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{19} } func (x *GetVersionRequest) GetScopeSlug() string { @@ -1022,7 +1210,7 @@ type GetVersionResponse struct { func (x *GetVersionResponse) Reset() { *x = GetVersionResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1034,7 +1222,7 @@ func (x *GetVersionResponse) String() string { func (*GetVersionResponse) ProtoMessage() {} func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[17] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1047,7 +1235,7 @@ func (x *GetVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetVersionResponse.ProtoReflect.Descriptor instead. func (*GetVersionResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{17} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{20} } func (x *GetVersionResponse) GetVersion() *Version { @@ -1089,7 +1277,7 @@ type ResolveInstallRequest struct { func (x *ResolveInstallRequest) Reset() { *x = ResolveInstallRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1101,7 +1289,7 @@ func (x *ResolveInstallRequest) String() string { func (*ResolveInstallRequest) ProtoMessage() {} func (x *ResolveInstallRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[18] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1114,7 +1302,7 @@ func (x *ResolveInstallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveInstallRequest.ProtoReflect.Descriptor instead. func (*ResolveInstallRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{18} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{21} } func (x *ResolveInstallRequest) GetScopeSlug() string { @@ -1157,7 +1345,7 @@ type ResolveInstallResponse struct { func (x *ResolveInstallResponse) Reset() { *x = ResolveInstallResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1169,7 +1357,7 @@ func (x *ResolveInstallResponse) String() string { func (*ResolveInstallResponse) ProtoMessage() {} func (x *ResolveInstallResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[19] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1182,7 +1370,7 @@ func (x *ResolveInstallResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveInstallResponse.ProtoReflect.Descriptor instead. func (*ResolveInstallResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{19} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{22} } func (x *ResolveInstallResponse) GetVersionId() string { @@ -1276,7 +1464,7 @@ type PublishVersionRequest struct { func (x *PublishVersionRequest) Reset() { *x = PublishVersionRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1288,7 +1476,7 @@ func (x *PublishVersionRequest) String() string { func (*PublishVersionRequest) ProtoMessage() {} func (x *PublishVersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[20] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1301,7 +1489,7 @@ func (x *PublishVersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishVersionRequest.ProtoReflect.Descriptor instead. func (*PublishVersionRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{20} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{23} } func (x *PublishVersionRequest) GetPluginId() string { @@ -1357,7 +1545,7 @@ type PublishVersionResponse struct { func (x *PublishVersionResponse) Reset() { *x = PublishVersionResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1369,7 +1557,7 @@ func (x *PublishVersionResponse) String() string { func (*PublishVersionResponse) ProtoMessage() {} func (x *PublishVersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[21] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1382,7 +1570,7 @@ func (x *PublishVersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PublishVersionResponse.ProtoReflect.Descriptor instead. func (*PublishVersionResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{21} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{24} } func (x *PublishVersionResponse) GetVersion() *Version { @@ -1415,7 +1603,7 @@ type StartDeviceRequest struct { func (x *StartDeviceRequest) Reset() { *x = StartDeviceRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1427,7 +1615,7 @@ func (x *StartDeviceRequest) String() string { func (*StartDeviceRequest) ProtoMessage() {} func (x *StartDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[22] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1440,7 +1628,7 @@ func (x *StartDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StartDeviceRequest.ProtoReflect.Descriptor instead. func (*StartDeviceRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{22} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{25} } func (x *StartDeviceRequest) GetScopes() []string { @@ -1463,7 +1651,7 @@ type StartDeviceResponse struct { func (x *StartDeviceResponse) Reset() { *x = StartDeviceResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1475,7 +1663,7 @@ func (x *StartDeviceResponse) String() string { func (*StartDeviceResponse) ProtoMessage() {} func (x *StartDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[23] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1488,7 +1676,7 @@ func (x *StartDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StartDeviceResponse.ProtoReflect.Descriptor instead. func (*StartDeviceResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{23} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{26} } func (x *StartDeviceResponse) GetDeviceCode() string { @@ -1535,7 +1723,7 @@ type PollDeviceRequest struct { func (x *PollDeviceRequest) Reset() { *x = PollDeviceRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1547,7 +1735,7 @@ func (x *PollDeviceRequest) String() string { func (*PollDeviceRequest) ProtoMessage() {} func (x *PollDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[24] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1560,7 +1748,7 @@ func (x *PollDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PollDeviceRequest.ProtoReflect.Descriptor instead. func (*PollDeviceRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{24} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{27} } func (x *PollDeviceRequest) GetDeviceCode() string { @@ -1580,7 +1768,7 @@ type PollDeviceResponse struct { func (x *PollDeviceResponse) Reset() { *x = PollDeviceResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1592,7 +1780,7 @@ func (x *PollDeviceResponse) String() string { func (*PollDeviceResponse) ProtoMessage() {} func (x *PollDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[25] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1605,7 +1793,7 @@ func (x *PollDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PollDeviceResponse.ProtoReflect.Descriptor instead. func (*PollDeviceResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{25} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{28} } func (x *PollDeviceResponse) GetAccessToken() string { @@ -1631,7 +1819,7 @@ type ApproveDeviceRequest struct { func (x *ApproveDeviceRequest) Reset() { *x = ApproveDeviceRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1643,7 +1831,7 @@ func (x *ApproveDeviceRequest) String() string { func (*ApproveDeviceRequest) ProtoMessage() {} func (x *ApproveDeviceRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[26] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1656,7 +1844,7 @@ func (x *ApproveDeviceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveDeviceRequest.ProtoReflect.Descriptor instead. func (*ApproveDeviceRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{26} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{29} } func (x *ApproveDeviceRequest) GetUserCode() string { @@ -1674,7 +1862,7 @@ type ApproveDeviceResponse struct { func (x *ApproveDeviceResponse) Reset() { *x = ApproveDeviceResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1686,7 +1874,7 @@ func (x *ApproveDeviceResponse) String() string { func (*ApproveDeviceResponse) ProtoMessage() {} func (x *ApproveDeviceResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[27] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1699,7 +1887,7 @@ func (x *ApproveDeviceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApproveDeviceResponse.ProtoReflect.Descriptor instead. func (*ApproveDeviceResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{27} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{30} } type WhoamiRequest struct { @@ -1710,7 +1898,7 @@ type WhoamiRequest struct { func (x *WhoamiRequest) Reset() { *x = WhoamiRequest{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1722,7 +1910,7 @@ func (x *WhoamiRequest) String() string { func (*WhoamiRequest) ProtoMessage() {} func (x *WhoamiRequest) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[28] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1735,7 +1923,7 @@ func (x *WhoamiRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use WhoamiRequest.ProtoReflect.Descriptor instead. func (*WhoamiRequest) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{28} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{31} } type WhoamiResponse struct { @@ -1749,7 +1937,7 @@ type WhoamiResponse struct { func (x *WhoamiResponse) Reset() { *x = WhoamiResponse{} - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1761,7 +1949,7 @@ func (x *WhoamiResponse) String() string { func (*WhoamiResponse) ProtoMessage() {} func (x *WhoamiResponse) ProtoReflect() protoreflect.Message { - mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[29] + mi := &file_orchestrator_v1_plugin_registry_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1774,7 +1962,7 @@ func (x *WhoamiResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use WhoamiResponse.ProtoReflect.Descriptor instead. func (*WhoamiResponse) Descriptor() ([]byte, []int) { - return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{29} + return file_orchestrator_v1_plugin_registry_proto_rawDescGZIP(), []int{32} } func (x *WhoamiResponse) GetUserId() string { @@ -1808,7 +1996,7 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\x04slug\x18\x02 \x01(\tR\x04slug\x12!\n" + "\fdisplay_name\x18\x03 \x01(\tR\vdisplayName\x129\n" + "\n" + - "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xa5\x02\n" + + "created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xb9\x02\n" + "\x06Plugin\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1d\n" + "\n" + @@ -1824,7 +2012,15 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "categories\x18\b \x03(\tR\n" + "categories\x129\n" + "\n" + - "updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\xb2\x02\n" + + "updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x12\n" + + "\x04kind\x18\n" + + " \x01(\tR\x04kind\"\x82\x01\n" + + "\bCategory\x12\x12\n" + + "\x04slug\x18\x01 \x01(\tR\x04slug\x12!\n" + + "\fdisplay_name\x18\x02 \x01(\tR\vdisplayName\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1d\n" + + "\n" + + "sort_order\x18\x04 \x01(\x05R\tsortOrder\"\xb2\x02\n" + "\aVersion\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + "\tplugin_id\x18\x02 \x01(\tR\bpluginId\x12\x18\n" + @@ -1852,12 +2048,16 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\x04slug\x18\x01 \x01(\tR\x04slug\"s\n" + "\x10GetScopeResponse\x12,\n" + "\x05scope\x18\x01 \x01(\v2\x16.orchestrator.v1.ScopeR\x05scope\x121\n" + - "\aplugins\x18\x02 \x03(\v2\x17.orchestrator.v1.PluginR\aplugins\"j\n" + + "\aplugins\x18\x02 \x03(\v2\x17.orchestrator.v1.PluginR\aplugins\"\x9e\x01\n" + "\x13CreatePluginRequest\x12\x1d\n" + "\n" + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x12\n" + "\x04name\x18\x02 \x01(\tR\x04name\x12 \n" + - "\vdescription\x18\x03 \x01(\tR\vdescription\"G\n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x12\n" + + "\x04kind\x18\x04 \x01(\tR\x04kind\x12\x1e\n" + + "\n" + + "categories\x18\x05 \x03(\tR\n" + + "categories\"G\n" + "\x14CreatePluginResponse\x12/\n" + "\x06plugin\x18\x01 \x01(\v2\x17.orchestrator.v1.PluginR\x06plugin\"E\n" + "\x10GetPluginRequest\x12\x1d\n" + @@ -1870,13 +2070,22 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\bchannels\x18\x03 \x03(\v20.orchestrator.v1.GetPluginResponse.ChannelsEntryR\bchannels\x1a;\n" + "\rChannelsEntry\x12\x10\n" + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + - "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"X\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x8c\x01\n" + "\x12ListPluginsRequest\x12\x14\n" + "\x05limit\x18\x01 \x01(\x05R\x05limit\x12\x16\n" + "\x06offset\x18\x02 \x01(\x05R\x06offset\x12\x14\n" + - "\x05query\x18\x03 \x01(\tR\x05query\"H\n" + + "\x05query\x18\x03 \x01(\tR\x05query\x12\x12\n" + + "\x04kind\x18\x04 \x01(\tR\x04kind\x12\x1e\n" + + "\n" + + "categories\x18\x05 \x03(\tR\n" + + "categories\"H\n" + "\x13ListPluginsResponse\x121\n" + - "\aplugins\x18\x01 \x03(\v2\x17.orchestrator.v1.PluginR\aplugins\"m\n" + + "\aplugins\x18\x01 \x03(\v2\x17.orchestrator.v1.PluginR\aplugins\"\x17\n" + + "\x15ListCategoriesRequest\"S\n" + + "\x16ListCategoriesResponse\x129\n" + + "\n" + + "categories\x18\x01 \x03(\v2\x19.orchestrator.v1.CategoryR\n" + + "categories\"m\n" + "\x11GetVersionRequest\x12\x1d\n" + "\n" + "scope_slug\x18\x01 \x01(\tR\tscopeSlug\x12\x1f\n" + @@ -1949,14 +2158,15 @@ const file_orchestrator_v1_plugin_registry_proto_rawDesc = "" + "\x12PluginScopeService\x12X\n" + "\vCreateScope\x12#.orchestrator.v1.CreateScopeRequest\x1a$.orchestrator.v1.CreateScopeResponse\x12[\n" + "\fListMyScopes\x12$.orchestrator.v1.ListMyScopesRequest\x1a%.orchestrator.v1.ListMyScopesResponse\x12O\n" + - "\bGetScope\x12 .orchestrator.v1.GetScopeRequest\x1a!.orchestrator.v1.GetScopeResponse2\xdc\x03\n" + + "\bGetScope\x12 .orchestrator.v1.GetScopeRequest\x1a!.orchestrator.v1.GetScopeResponse2\xbf\x04\n" + "\x15PluginRegistryService\x12[\n" + "\fCreatePlugin\x12$.orchestrator.v1.CreatePluginRequest\x1a%.orchestrator.v1.CreatePluginResponse\x12R\n" + "\tGetPlugin\x12!.orchestrator.v1.GetPluginRequest\x1a\".orchestrator.v1.GetPluginResponse\x12X\n" + "\vListPlugins\x12#.orchestrator.v1.ListPluginsRequest\x1a$.orchestrator.v1.ListPluginsResponse\x12U\n" + "\n" + "GetVersion\x12\".orchestrator.v1.GetVersionRequest\x1a#.orchestrator.v1.GetVersionResponse\x12a\n" + - "\x0eResolveInstall\x12&.orchestrator.v1.ResolveInstallRequest\x1a'.orchestrator.v1.ResolveInstallResponse2y\n" + + "\x0eResolveInstall\x12&.orchestrator.v1.ResolveInstallRequest\x1a'.orchestrator.v1.ResolveInstallResponse\x12a\n" + + "\x0eListCategories\x12&.orchestrator.v1.ListCategoriesRequest\x1a'.orchestrator.v1.ListCategoriesResponse2y\n" + "\x14PluginPublishService\x12a\n" + "\x0ePublishVersion\x12&.orchestrator.v1.PublishVersionRequest\x1a'.orchestrator.v1.PublishVersionResponse2\xef\x02\n" + "\x11PluginAuthService\x12X\n" + @@ -1979,89 +2189,95 @@ func file_orchestrator_v1_plugin_registry_proto_rawDescGZIP() []byte { return file_orchestrator_v1_plugin_registry_proto_rawDescData } -var file_orchestrator_v1_plugin_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_orchestrator_v1_plugin_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 34) var file_orchestrator_v1_plugin_registry_proto_goTypes = []any{ (*Scope)(nil), // 0: orchestrator.v1.Scope (*Plugin)(nil), // 1: orchestrator.v1.Plugin - (*Version)(nil), // 2: orchestrator.v1.Version - (*Requirement)(nil), // 3: orchestrator.v1.Requirement - (*CreateScopeRequest)(nil), // 4: orchestrator.v1.CreateScopeRequest - (*CreateScopeResponse)(nil), // 5: orchestrator.v1.CreateScopeResponse - (*ListMyScopesRequest)(nil), // 6: orchestrator.v1.ListMyScopesRequest - (*ListMyScopesResponse)(nil), // 7: orchestrator.v1.ListMyScopesResponse - (*GetScopeRequest)(nil), // 8: orchestrator.v1.GetScopeRequest - (*GetScopeResponse)(nil), // 9: orchestrator.v1.GetScopeResponse - (*CreatePluginRequest)(nil), // 10: orchestrator.v1.CreatePluginRequest - (*CreatePluginResponse)(nil), // 11: orchestrator.v1.CreatePluginResponse - (*GetPluginRequest)(nil), // 12: orchestrator.v1.GetPluginRequest - (*GetPluginResponse)(nil), // 13: orchestrator.v1.GetPluginResponse - (*ListPluginsRequest)(nil), // 14: orchestrator.v1.ListPluginsRequest - (*ListPluginsResponse)(nil), // 15: orchestrator.v1.ListPluginsResponse - (*GetVersionRequest)(nil), // 16: orchestrator.v1.GetVersionRequest - (*GetVersionResponse)(nil), // 17: orchestrator.v1.GetVersionResponse - (*ResolveInstallRequest)(nil), // 18: orchestrator.v1.ResolveInstallRequest - (*ResolveInstallResponse)(nil), // 19: orchestrator.v1.ResolveInstallResponse - (*PublishVersionRequest)(nil), // 20: orchestrator.v1.PublishVersionRequest - (*PublishVersionResponse)(nil), // 21: orchestrator.v1.PublishVersionResponse - (*StartDeviceRequest)(nil), // 22: orchestrator.v1.StartDeviceRequest - (*StartDeviceResponse)(nil), // 23: orchestrator.v1.StartDeviceResponse - (*PollDeviceRequest)(nil), // 24: orchestrator.v1.PollDeviceRequest - (*PollDeviceResponse)(nil), // 25: orchestrator.v1.PollDeviceResponse - (*ApproveDeviceRequest)(nil), // 26: orchestrator.v1.ApproveDeviceRequest - (*ApproveDeviceResponse)(nil), // 27: orchestrator.v1.ApproveDeviceResponse - (*WhoamiRequest)(nil), // 28: orchestrator.v1.WhoamiRequest - (*WhoamiResponse)(nil), // 29: orchestrator.v1.WhoamiResponse - nil, // 30: orchestrator.v1.GetPluginResponse.ChannelsEntry - (*timestamppb.Timestamp)(nil), // 31: google.protobuf.Timestamp + (*Category)(nil), // 2: orchestrator.v1.Category + (*Version)(nil), // 3: orchestrator.v1.Version + (*Requirement)(nil), // 4: orchestrator.v1.Requirement + (*CreateScopeRequest)(nil), // 5: orchestrator.v1.CreateScopeRequest + (*CreateScopeResponse)(nil), // 6: orchestrator.v1.CreateScopeResponse + (*ListMyScopesRequest)(nil), // 7: orchestrator.v1.ListMyScopesRequest + (*ListMyScopesResponse)(nil), // 8: orchestrator.v1.ListMyScopesResponse + (*GetScopeRequest)(nil), // 9: orchestrator.v1.GetScopeRequest + (*GetScopeResponse)(nil), // 10: orchestrator.v1.GetScopeResponse + (*CreatePluginRequest)(nil), // 11: orchestrator.v1.CreatePluginRequest + (*CreatePluginResponse)(nil), // 12: orchestrator.v1.CreatePluginResponse + (*GetPluginRequest)(nil), // 13: orchestrator.v1.GetPluginRequest + (*GetPluginResponse)(nil), // 14: orchestrator.v1.GetPluginResponse + (*ListPluginsRequest)(nil), // 15: orchestrator.v1.ListPluginsRequest + (*ListPluginsResponse)(nil), // 16: orchestrator.v1.ListPluginsResponse + (*ListCategoriesRequest)(nil), // 17: orchestrator.v1.ListCategoriesRequest + (*ListCategoriesResponse)(nil), // 18: orchestrator.v1.ListCategoriesResponse + (*GetVersionRequest)(nil), // 19: orchestrator.v1.GetVersionRequest + (*GetVersionResponse)(nil), // 20: orchestrator.v1.GetVersionResponse + (*ResolveInstallRequest)(nil), // 21: orchestrator.v1.ResolveInstallRequest + (*ResolveInstallResponse)(nil), // 22: orchestrator.v1.ResolveInstallResponse + (*PublishVersionRequest)(nil), // 23: orchestrator.v1.PublishVersionRequest + (*PublishVersionResponse)(nil), // 24: orchestrator.v1.PublishVersionResponse + (*StartDeviceRequest)(nil), // 25: orchestrator.v1.StartDeviceRequest + (*StartDeviceResponse)(nil), // 26: orchestrator.v1.StartDeviceResponse + (*PollDeviceRequest)(nil), // 27: orchestrator.v1.PollDeviceRequest + (*PollDeviceResponse)(nil), // 28: orchestrator.v1.PollDeviceResponse + (*ApproveDeviceRequest)(nil), // 29: orchestrator.v1.ApproveDeviceRequest + (*ApproveDeviceResponse)(nil), // 30: orchestrator.v1.ApproveDeviceResponse + (*WhoamiRequest)(nil), // 31: orchestrator.v1.WhoamiRequest + (*WhoamiResponse)(nil), // 32: orchestrator.v1.WhoamiResponse + nil, // 33: orchestrator.v1.GetPluginResponse.ChannelsEntry + (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp } var file_orchestrator_v1_plugin_registry_proto_depIdxs = []int32{ - 31, // 0: orchestrator.v1.Scope.created_at:type_name -> google.protobuf.Timestamp - 31, // 1: orchestrator.v1.Plugin.updated_at:type_name -> google.protobuf.Timestamp - 31, // 2: orchestrator.v1.Version.published_at:type_name -> google.protobuf.Timestamp + 34, // 0: orchestrator.v1.Scope.created_at:type_name -> google.protobuf.Timestamp + 34, // 1: orchestrator.v1.Plugin.updated_at:type_name -> google.protobuf.Timestamp + 34, // 2: orchestrator.v1.Version.published_at:type_name -> google.protobuf.Timestamp 0, // 3: orchestrator.v1.CreateScopeResponse.scope:type_name -> orchestrator.v1.Scope 0, // 4: orchestrator.v1.ListMyScopesResponse.scopes:type_name -> orchestrator.v1.Scope 0, // 5: orchestrator.v1.GetScopeResponse.scope:type_name -> orchestrator.v1.Scope 1, // 6: orchestrator.v1.GetScopeResponse.plugins:type_name -> orchestrator.v1.Plugin 1, // 7: orchestrator.v1.CreatePluginResponse.plugin:type_name -> orchestrator.v1.Plugin 1, // 8: orchestrator.v1.GetPluginResponse.plugin:type_name -> orchestrator.v1.Plugin - 2, // 9: orchestrator.v1.GetPluginResponse.versions:type_name -> orchestrator.v1.Version - 30, // 10: orchestrator.v1.GetPluginResponse.channels:type_name -> orchestrator.v1.GetPluginResponse.ChannelsEntry + 3, // 9: orchestrator.v1.GetPluginResponse.versions:type_name -> orchestrator.v1.Version + 33, // 10: orchestrator.v1.GetPluginResponse.channels:type_name -> orchestrator.v1.GetPluginResponse.ChannelsEntry 1, // 11: orchestrator.v1.ListPluginsResponse.plugins:type_name -> orchestrator.v1.Plugin - 2, // 12: orchestrator.v1.GetVersionResponse.version:type_name -> orchestrator.v1.Version - 3, // 13: orchestrator.v1.GetVersionResponse.requires:type_name -> orchestrator.v1.Requirement - 3, // 14: orchestrator.v1.ResolveInstallResponse.requires:type_name -> orchestrator.v1.Requirement - 2, // 15: orchestrator.v1.PublishVersionResponse.version:type_name -> orchestrator.v1.Version - 4, // 16: orchestrator.v1.PluginScopeService.CreateScope:input_type -> orchestrator.v1.CreateScopeRequest - 6, // 17: orchestrator.v1.PluginScopeService.ListMyScopes:input_type -> orchestrator.v1.ListMyScopesRequest - 8, // 18: orchestrator.v1.PluginScopeService.GetScope:input_type -> orchestrator.v1.GetScopeRequest - 10, // 19: orchestrator.v1.PluginRegistryService.CreatePlugin:input_type -> orchestrator.v1.CreatePluginRequest - 12, // 20: orchestrator.v1.PluginRegistryService.GetPlugin:input_type -> orchestrator.v1.GetPluginRequest - 14, // 21: orchestrator.v1.PluginRegistryService.ListPlugins:input_type -> orchestrator.v1.ListPluginsRequest - 16, // 22: orchestrator.v1.PluginRegistryService.GetVersion:input_type -> orchestrator.v1.GetVersionRequest - 18, // 23: orchestrator.v1.PluginRegistryService.ResolveInstall:input_type -> orchestrator.v1.ResolveInstallRequest - 20, // 24: orchestrator.v1.PluginPublishService.PublishVersion:input_type -> orchestrator.v1.PublishVersionRequest - 22, // 25: orchestrator.v1.PluginAuthService.StartDevice:input_type -> orchestrator.v1.StartDeviceRequest - 24, // 26: orchestrator.v1.PluginAuthService.PollDevice:input_type -> orchestrator.v1.PollDeviceRequest - 26, // 27: orchestrator.v1.PluginAuthService.ApproveDevice:input_type -> orchestrator.v1.ApproveDeviceRequest - 28, // 28: orchestrator.v1.PluginAuthService.Whoami:input_type -> orchestrator.v1.WhoamiRequest - 5, // 29: orchestrator.v1.PluginScopeService.CreateScope:output_type -> orchestrator.v1.CreateScopeResponse - 7, // 30: orchestrator.v1.PluginScopeService.ListMyScopes:output_type -> orchestrator.v1.ListMyScopesResponse - 9, // 31: orchestrator.v1.PluginScopeService.GetScope:output_type -> orchestrator.v1.GetScopeResponse - 11, // 32: orchestrator.v1.PluginRegistryService.CreatePlugin:output_type -> orchestrator.v1.CreatePluginResponse - 13, // 33: orchestrator.v1.PluginRegistryService.GetPlugin:output_type -> orchestrator.v1.GetPluginResponse - 15, // 34: orchestrator.v1.PluginRegistryService.ListPlugins:output_type -> orchestrator.v1.ListPluginsResponse - 17, // 35: orchestrator.v1.PluginRegistryService.GetVersion:output_type -> orchestrator.v1.GetVersionResponse - 19, // 36: orchestrator.v1.PluginRegistryService.ResolveInstall:output_type -> orchestrator.v1.ResolveInstallResponse - 21, // 37: orchestrator.v1.PluginPublishService.PublishVersion:output_type -> orchestrator.v1.PublishVersionResponse - 23, // 38: orchestrator.v1.PluginAuthService.StartDevice:output_type -> orchestrator.v1.StartDeviceResponse - 25, // 39: orchestrator.v1.PluginAuthService.PollDevice:output_type -> orchestrator.v1.PollDeviceResponse - 27, // 40: orchestrator.v1.PluginAuthService.ApproveDevice:output_type -> orchestrator.v1.ApproveDeviceResponse - 29, // 41: orchestrator.v1.PluginAuthService.Whoami:output_type -> orchestrator.v1.WhoamiResponse - 29, // [29:42] is the sub-list for method output_type - 16, // [16:29] is the sub-list for method input_type - 16, // [16:16] is the sub-list for extension type_name - 16, // [16:16] is the sub-list for extension extendee - 0, // [0:16] is the sub-list for field type_name + 2, // 12: orchestrator.v1.ListCategoriesResponse.categories:type_name -> orchestrator.v1.Category + 3, // 13: orchestrator.v1.GetVersionResponse.version:type_name -> orchestrator.v1.Version + 4, // 14: orchestrator.v1.GetVersionResponse.requires:type_name -> orchestrator.v1.Requirement + 4, // 15: orchestrator.v1.ResolveInstallResponse.requires:type_name -> orchestrator.v1.Requirement + 3, // 16: orchestrator.v1.PublishVersionResponse.version:type_name -> orchestrator.v1.Version + 5, // 17: orchestrator.v1.PluginScopeService.CreateScope:input_type -> orchestrator.v1.CreateScopeRequest + 7, // 18: orchestrator.v1.PluginScopeService.ListMyScopes:input_type -> orchestrator.v1.ListMyScopesRequest + 9, // 19: orchestrator.v1.PluginScopeService.GetScope:input_type -> orchestrator.v1.GetScopeRequest + 11, // 20: orchestrator.v1.PluginRegistryService.CreatePlugin:input_type -> orchestrator.v1.CreatePluginRequest + 13, // 21: orchestrator.v1.PluginRegistryService.GetPlugin:input_type -> orchestrator.v1.GetPluginRequest + 15, // 22: orchestrator.v1.PluginRegistryService.ListPlugins:input_type -> orchestrator.v1.ListPluginsRequest + 19, // 23: orchestrator.v1.PluginRegistryService.GetVersion:input_type -> orchestrator.v1.GetVersionRequest + 21, // 24: orchestrator.v1.PluginRegistryService.ResolveInstall:input_type -> orchestrator.v1.ResolveInstallRequest + 17, // 25: orchestrator.v1.PluginRegistryService.ListCategories:input_type -> orchestrator.v1.ListCategoriesRequest + 23, // 26: orchestrator.v1.PluginPublishService.PublishVersion:input_type -> orchestrator.v1.PublishVersionRequest + 25, // 27: orchestrator.v1.PluginAuthService.StartDevice:input_type -> orchestrator.v1.StartDeviceRequest + 27, // 28: orchestrator.v1.PluginAuthService.PollDevice:input_type -> orchestrator.v1.PollDeviceRequest + 29, // 29: orchestrator.v1.PluginAuthService.ApproveDevice:input_type -> orchestrator.v1.ApproveDeviceRequest + 31, // 30: orchestrator.v1.PluginAuthService.Whoami:input_type -> orchestrator.v1.WhoamiRequest + 6, // 31: orchestrator.v1.PluginScopeService.CreateScope:output_type -> orchestrator.v1.CreateScopeResponse + 8, // 32: orchestrator.v1.PluginScopeService.ListMyScopes:output_type -> orchestrator.v1.ListMyScopesResponse + 10, // 33: orchestrator.v1.PluginScopeService.GetScope:output_type -> orchestrator.v1.GetScopeResponse + 12, // 34: orchestrator.v1.PluginRegistryService.CreatePlugin:output_type -> orchestrator.v1.CreatePluginResponse + 14, // 35: orchestrator.v1.PluginRegistryService.GetPlugin:output_type -> orchestrator.v1.GetPluginResponse + 16, // 36: orchestrator.v1.PluginRegistryService.ListPlugins:output_type -> orchestrator.v1.ListPluginsResponse + 20, // 37: orchestrator.v1.PluginRegistryService.GetVersion:output_type -> orchestrator.v1.GetVersionResponse + 22, // 38: orchestrator.v1.PluginRegistryService.ResolveInstall:output_type -> orchestrator.v1.ResolveInstallResponse + 18, // 39: orchestrator.v1.PluginRegistryService.ListCategories:output_type -> orchestrator.v1.ListCategoriesResponse + 24, // 40: orchestrator.v1.PluginPublishService.PublishVersion:output_type -> orchestrator.v1.PublishVersionResponse + 26, // 41: orchestrator.v1.PluginAuthService.StartDevice:output_type -> orchestrator.v1.StartDeviceResponse + 28, // 42: orchestrator.v1.PluginAuthService.PollDevice:output_type -> orchestrator.v1.PollDeviceResponse + 30, // 43: orchestrator.v1.PluginAuthService.ApproveDevice:output_type -> orchestrator.v1.ApproveDeviceResponse + 32, // 44: orchestrator.v1.PluginAuthService.Whoami:output_type -> orchestrator.v1.WhoamiResponse + 31, // [31:45] is the sub-list for method output_type + 17, // [17:31] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_orchestrator_v1_plugin_registry_proto_init() } @@ -2075,7 +2291,7 @@ func file_orchestrator_v1_plugin_registry_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_orchestrator_v1_plugin_registry_proto_rawDesc), len(file_orchestrator_v1_plugin_registry_proto_rawDesc)), NumEnums: 0, - NumMessages: 31, + NumMessages: 34, NumExtensions: 0, NumServices: 4, }, diff --git a/proto/orchestrator/v1/plugin_registry.proto b/proto/orchestrator/v1/plugin_registry.proto index 0176c96..a04607c 100644 --- a/proto/orchestrator/v1/plugin_registry.proto +++ b/proto/orchestrator/v1/plugin_registry.proto @@ -20,6 +20,7 @@ service PluginRegistryService { rpc ListPlugins(ListPluginsRequest) returns (ListPluginsResponse); rpc GetVersion(GetVersionRequest) returns (GetVersionResponse); rpc ResolveInstall(ResolveInstallRequest) returns (ResolveInstallResponse); + rpc ListCategories(ListCategoriesRequest) returns (ListCategoriesResponse); } // PluginPublishService is called by the ninja CLI to publish a version. @@ -54,6 +55,14 @@ message Plugin { string homepage_url = 7; repeated string categories = 8; google.protobuf.Timestamp updated_at = 9; + string kind = 10; +} + +message Category { + string slug = 1; + string display_name = 2; + string description = 3; + int32 sort_order = 4; } message Version { @@ -88,6 +97,8 @@ message CreatePluginRequest { string scope_slug = 1; string name = 2; string description = 3; + string kind = 4; + repeated string categories = 5; } message CreatePluginResponse { Plugin plugin = 1; @@ -104,9 +115,14 @@ message ListPluginsRequest { int32 limit = 1; int32 offset = 2; string query = 3; + string kind = 4; + repeated string categories = 5; } message ListPluginsResponse { repeated Plugin plugins = 1; } +message ListCategoriesRequest {} +message ListCategoriesResponse { repeated Category categories = 1; } + message GetVersionRequest { string scope_slug = 1; string plugin_name = 2;