// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc             v3.21.12
// source: kodex/projects/v1/project_catalog.proto

package projectsv1

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9

const (
	ProjectCatalogService_CreateProject_FullMethodName                        = "/kodex.projects.v1.ProjectCatalogService/CreateProject"
	ProjectCatalogService_UpdateProject_FullMethodName                        = "/kodex.projects.v1.ProjectCatalogService/UpdateProject"
	ProjectCatalogService_GetProject_FullMethodName                           = "/kodex.projects.v1.ProjectCatalogService/GetProject"
	ProjectCatalogService_ListProjects_FullMethodName                         = "/kodex.projects.v1.ProjectCatalogService/ListProjects"
	ProjectCatalogService_AttachRepository_FullMethodName                     = "/kodex.projects.v1.ProjectCatalogService/AttachRepository"
	ProjectCatalogService_CreateProviderRepository_FullMethodName             = "/kodex.projects.v1.ProjectCatalogService/CreateProviderRepository"
	ProjectCatalogService_CreateRepositoryBootstrapPullRequest_FullMethodName = "/kodex.projects.v1.ProjectCatalogService/CreateRepositoryBootstrapPullRequest"
	ProjectCatalogService_UpdateRepository_FullMethodName                     = "/kodex.projects.v1.ProjectCatalogService/UpdateRepository"
	ProjectCatalogService_DetachRepository_FullMethodName                     = "/kodex.projects.v1.ProjectCatalogService/DetachRepository"
	ProjectCatalogService_GetRepository_FullMethodName                        = "/kodex.projects.v1.ProjectCatalogService/GetRepository"
	ProjectCatalogService_ListRepositories_FullMethodName                     = "/kodex.projects.v1.ProjectCatalogService/ListRepositories"
	ProjectCatalogService_ImportServicesPolicy_FullMethodName                 = "/kodex.projects.v1.ProjectCatalogService/ImportServicesPolicy"
	ProjectCatalogService_ImportBootstrapServicesPolicy_FullMethodName        = "/kodex.projects.v1.ProjectCatalogService/ImportBootstrapServicesPolicy"
	ProjectCatalogService_ReconcileBootstrapMergeSignal_FullMethodName        = "/kodex.projects.v1.ProjectCatalogService/ReconcileBootstrapMergeSignal"
	ProjectCatalogService_ReconcileAdoptionMergeSignal_FullMethodName         = "/kodex.projects.v1.ProjectCatalogService/ReconcileAdoptionMergeSignal"
	ProjectCatalogService_GetSelfDeploySignal_FullMethodName                  = "/kodex.projects.v1.ProjectCatalogService/GetSelfDeploySignal"
	ProjectCatalogService_GetSelfDeployBuildPlan_FullMethodName               = "/kodex.projects.v1.ProjectCatalogService/GetSelfDeployBuildPlan"
	ProjectCatalogService_GetSelfDeployDeployPlan_FullMethodName              = "/kodex.projects.v1.ProjectCatalogService/GetSelfDeployDeployPlan"
	ProjectCatalogService_GetServicesPolicy_FullMethodName                    = "/kodex.projects.v1.ProjectCatalogService/GetServicesPolicy"
	ProjectCatalogService_ListServiceDescriptors_FullMethodName               = "/kodex.projects.v1.ProjectCatalogService/ListServiceDescriptors"
	ProjectCatalogService_CreatePolicyEditProposal_FullMethodName             = "/kodex.projects.v1.ProjectCatalogService/CreatePolicyEditProposal"
	ProjectCatalogService_CreatePolicyOverride_FullMethodName                 = "/kodex.projects.v1.ProjectCatalogService/CreatePolicyOverride"
	ProjectCatalogService_CancelPolicyOverride_FullMethodName                 = "/kodex.projects.v1.ProjectCatalogService/CancelPolicyOverride"
	ProjectCatalogService_ListPolicyOverrides_FullMethodName                  = "/kodex.projects.v1.ProjectCatalogService/ListPolicyOverrides"
	ProjectCatalogService_PutDocumentationSource_FullMethodName               = "/kodex.projects.v1.ProjectCatalogService/PutDocumentationSource"
	ProjectCatalogService_GetDocumentationSource_FullMethodName               = "/kodex.projects.v1.ProjectCatalogService/GetDocumentationSource"
	ProjectCatalogService_ListDocumentationSources_FullMethodName             = "/kodex.projects.v1.ProjectCatalogService/ListDocumentationSources"
	ProjectCatalogService_GetWorkspacePolicy_FullMethodName                   = "/kodex.projects.v1.ProjectCatalogService/GetWorkspacePolicy"
	ProjectCatalogService_PutBranchRules_FullMethodName                       = "/kodex.projects.v1.ProjectCatalogService/PutBranchRules"
	ProjectCatalogService_GetBranchRules_FullMethodName                       = "/kodex.projects.v1.ProjectCatalogService/GetBranchRules"
	ProjectCatalogService_ListBranchRules_FullMethodName                      = "/kodex.projects.v1.ProjectCatalogService/ListBranchRules"
	ProjectCatalogService_PutReleasePolicy_FullMethodName                     = "/kodex.projects.v1.ProjectCatalogService/PutReleasePolicy"
	ProjectCatalogService_GetReleasePolicy_FullMethodName                     = "/kodex.projects.v1.ProjectCatalogService/GetReleasePolicy"
	ProjectCatalogService_ListReleasePolicies_FullMethodName                  = "/kodex.projects.v1.ProjectCatalogService/ListReleasePolicies"
	ProjectCatalogService_PutReleaseLine_FullMethodName                       = "/kodex.projects.v1.ProjectCatalogService/PutReleaseLine"
	ProjectCatalogService_GetReleaseLine_FullMethodName                       = "/kodex.projects.v1.ProjectCatalogService/GetReleaseLine"
	ProjectCatalogService_ListReleaseLines_FullMethodName                     = "/kodex.projects.v1.ProjectCatalogService/ListReleaseLines"
	ProjectCatalogService_PutPlacementPolicy_FullMethodName                   = "/kodex.projects.v1.ProjectCatalogService/PutPlacementPolicy"
	ProjectCatalogService_GetPlacementPolicy_FullMethodName                   = "/kodex.projects.v1.ProjectCatalogService/GetPlacementPolicy"
	ProjectCatalogService_ListPlacementPolicies_FullMethodName                = "/kodex.projects.v1.ProjectCatalogService/ListPlacementPolicies"
)

// ProjectCatalogServiceClient is the client API for ProjectCatalogService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// ProjectCatalogService is the stable v1 inter-service contract for the
// projects and repositories domain. It covers the command and read surface
// agreed in docs/domains/projects-and-repositories/architecture/api_contract.md.
type ProjectCatalogServiceClient interface {
	// CreateProject creates a project in an organization.
	CreateProject(ctx context.Context, in *CreateProjectRequest, opts ...grpc.CallOption) (*ProjectResponse, error)
	// UpdateProject changes safe project fields and lifecycle status.
	UpdateProject(ctx context.Context, in *UpdateProjectRequest, opts ...grpc.CallOption) (*ProjectResponse, error)
	// GetProject returns authoritative project state.
	GetProject(ctx context.Context, in *GetProjectRequest, opts ...grpc.CallOption) (*ProjectResponse, error)
	// ListProjects returns projects visible in an organization or filter scope.
	ListProjects(ctx context.Context, in *ListProjectsRequest, opts ...grpc.CallOption) (*ListProjectsResponse, error)
	// AttachRepository binds a provider repository to a project.
	AttachRepository(ctx context.Context, in *AttachRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error)
	// CreateProviderRepository asks provider-hub to create a provider repository and records a project binding.
	CreateProviderRepository(ctx context.Context, in *CreateProviderRepositoryRequest, opts ...grpc.CallOption) (*RepositoryProviderCreateResponse, error)
	// CreateRepositoryBootstrapPullRequest asks provider-hub to open or update a bootstrap PR for an existing binding.
	CreateRepositoryBootstrapPullRequest(ctx context.Context, in *CreateRepositoryBootstrapPullRequestRequest, opts ...grpc.CallOption) (*RepositoryBootstrapPullRequestResponse, error)
	// UpdateRepository changes safe repository binding fields.
	UpdateRepository(ctx context.Context, in *UpdateRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error)
	// DetachRepository archives a repository binding and removes it from active project policy.
	DetachRepository(ctx context.Context, in *DetachRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error)
	// GetRepository returns authoritative repository binding state.
	GetRepository(ctx context.Context, in *GetRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error)
	// ListRepositories returns repository bindings for a project.
	ListRepositories(ctx context.Context, in *ListRepositoriesRequest, opts ...grpc.CallOption) (*ListRepositoriesResponse, error)
	// ImportServicesPolicy stores a checked services.yaml projection.
	ImportServicesPolicy(ctx context.Context, in *ImportServicesPolicyRequest, opts ...grpc.CallOption) (*ServicesPolicyResponse, error)
	// ImportBootstrapServicesPolicy imports checked services.yaml after a merged bootstrap PR and activates the repository binding.
	ImportBootstrapServicesPolicy(ctx context.Context, in *ImportBootstrapServicesPolicyRequest, opts ...grpc.CallOption) (*BootstrapServicesPolicyImportResponse, error)
	// ReconcileBootstrapMergeSignal imports checked services.yaml from a safe provider bootstrap merge signal.
	ReconcileBootstrapMergeSignal(ctx context.Context, in *ReconcileBootstrapMergeSignalRequest, opts ...grpc.CallOption) (*BootstrapServicesPolicyImportResponse, error)
	// ReconcileAdoptionMergeSignal imports checked services.yaml from a safe provider adoption merge signal.
	ReconcileAdoptionMergeSignal(ctx context.Context, in *ReconcileAdoptionMergeSignalRequest, opts ...grpc.CallOption) (*BootstrapServicesPolicyImportResponse, error)
	// GetSelfDeploySignal возвращает project-side enrichment для safe provider repository change signal.
	GetSelfDeploySignal(ctx context.Context, in *GetSelfDeploySignalRequest, opts ...grpc.CallOption) (*SelfDeploySignalResponse, error)
	// GetSelfDeployBuildPlan возвращает проверенный project-side build input для self-deploy runtime jobs.
	GetSelfDeployBuildPlan(ctx context.Context, in *GetSelfDeployBuildPlanRequest, opts ...grpc.CallOption) (*SelfDeployBuildPlanResponse, error)
	// GetSelfDeployDeployPlan возвращает проверенный project-side deploy input после успешных build jobs.
	GetSelfDeployDeployPlan(ctx context.Context, in *GetSelfDeployDeployPlanRequest, opts ...grpc.CallOption) (*SelfDeployDeployPlanResponse, error)
	// GetServicesPolicy returns a checked services.yaml projection.
	GetServicesPolicy(ctx context.Context, in *GetServicesPolicyRequest, opts ...grpc.CallOption) (*ServicesPolicyResponse, error)
	// ListServiceDescriptors returns typed service descriptors from active policy.
	ListServiceDescriptors(ctx context.Context, in *ListServiceDescriptorsRequest, opts ...grpc.CallOption) (*ListServiceDescriptorsResponse, error)
	// CreatePolicyEditProposal creates a request to change services.yaml through PR.
	CreatePolicyEditProposal(ctx context.Context, in *CreatePolicyEditProposalRequest, opts ...grpc.CallOption) (*PolicyEditProposalResponse, error)
	// CreatePolicyOverride creates a time-bound operator override.
	CreatePolicyOverride(ctx context.Context, in *CreatePolicyOverrideRequest, opts ...grpc.CallOption) (*PolicyOverrideResponse, error)
	// CancelPolicyOverride cancels an active operator override before expiration.
	CancelPolicyOverride(ctx context.Context, in *CancelPolicyOverrideRequest, opts ...grpc.CallOption) (*PolicyOverrideResponse, error)
	// ListPolicyOverrides returns visible operator overrides for a project.
	ListPolicyOverrides(ctx context.Context, in *ListPolicyOverridesRequest, opts ...grpc.CallOption) (*ListPolicyOverridesResponse, error)
	// PutDocumentationSource creates or updates a documentation source.
	PutDocumentationSource(ctx context.Context, in *PutDocumentationSourceRequest, opts ...grpc.CallOption) (*DocumentationSourceResponse, error)
	// GetDocumentationSource returns a documentation source.
	GetDocumentationSource(ctx context.Context, in *GetDocumentationSourceRequest, opts ...grpc.CallOption) (*DocumentationSourceResponse, error)
	// ListDocumentationSources returns documentation sources for a project scope.
	ListDocumentationSources(ctx context.Context, in *ListDocumentationSourcesRequest, opts ...grpc.CallOption) (*ListDocumentationSourcesResponse, error)
	// GetWorkspacePolicy returns source checkout policy for an agent workspace.
	GetWorkspacePolicy(ctx context.Context, in *GetWorkspacePolicyRequest, opts ...grpc.CallOption) (*WorkspacePolicyResponse, error)
	// PutBranchRules creates or updates branch rules.
	PutBranchRules(ctx context.Context, in *PutBranchRulesRequest, opts ...grpc.CallOption) (*BranchRulesResponse, error)
	// GetBranchRules returns branch rules.
	GetBranchRules(ctx context.Context, in *GetBranchRulesRequest, opts ...grpc.CallOption) (*BranchRulesResponse, error)
	// ListBranchRules returns active branch rules for a project or repository.
	ListBranchRules(ctx context.Context, in *ListBranchRulesRequest, opts ...grpc.CallOption) (*ListBranchRulesResponse, error)
	// PutReleasePolicy creates or updates a release policy.
	PutReleasePolicy(ctx context.Context, in *PutReleasePolicyRequest, opts ...grpc.CallOption) (*ReleasePolicyResponse, error)
	// GetReleasePolicy returns a release policy.
	GetReleasePolicy(ctx context.Context, in *GetReleasePolicyRequest, opts ...grpc.CallOption) (*ReleasePolicyResponse, error)
	// ListReleasePolicies returns release policies for a project.
	ListReleasePolicies(ctx context.Context, in *ListReleasePoliciesRequest, opts ...grpc.CallOption) (*ListReleasePoliciesResponse, error)
	// PutReleaseLine creates or updates a concrete release line.
	PutReleaseLine(ctx context.Context, in *PutReleaseLineRequest, opts ...grpc.CallOption) (*ReleaseLineResponse, error)
	// GetReleaseLine returns a concrete release line.
	GetReleaseLine(ctx context.Context, in *GetReleaseLineRequest, opts ...grpc.CallOption) (*ReleaseLineResponse, error)
	// ListReleaseLines returns release lines for a project or release policy.
	ListReleaseLines(ctx context.Context, in *ListReleaseLinesRequest, opts ...grpc.CallOption) (*ListReleaseLinesResponse, error)
	// PutPlacementPolicy creates or updates placement policy.
	PutPlacementPolicy(ctx context.Context, in *PutPlacementPolicyRequest, opts ...grpc.CallOption) (*PlacementPolicyResponse, error)
	// GetPlacementPolicy returns placement policy.
	GetPlacementPolicy(ctx context.Context, in *GetPlacementPolicyRequest, opts ...grpc.CallOption) (*PlacementPolicyResponse, error)
	// ListPlacementPolicies returns placement policies for a project scope.
	ListPlacementPolicies(ctx context.Context, in *ListPlacementPoliciesRequest, opts ...grpc.CallOption) (*ListPlacementPoliciesResponse, error)
}

type projectCatalogServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewProjectCatalogServiceClient(cc grpc.ClientConnInterface) ProjectCatalogServiceClient {
	return &projectCatalogServiceClient{cc}
}

func (c *projectCatalogServiceClient) CreateProject(ctx context.Context, in *CreateProjectRequest, opts ...grpc.CallOption) (*ProjectResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ProjectResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_CreateProject_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) UpdateProject(ctx context.Context, in *UpdateProjectRequest, opts ...grpc.CallOption) (*ProjectResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ProjectResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_UpdateProject_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetProject(ctx context.Context, in *GetProjectRequest, opts ...grpc.CallOption) (*ProjectResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ProjectResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetProject_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListProjects(ctx context.Context, in *ListProjectsRequest, opts ...grpc.CallOption) (*ListProjectsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListProjectsResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListProjects_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) AttachRepository(ctx context.Context, in *AttachRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RepositoryResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_AttachRepository_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) CreateProviderRepository(ctx context.Context, in *CreateProviderRepositoryRequest, opts ...grpc.CallOption) (*RepositoryProviderCreateResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RepositoryProviderCreateResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_CreateProviderRepository_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) CreateRepositoryBootstrapPullRequest(ctx context.Context, in *CreateRepositoryBootstrapPullRequestRequest, opts ...grpc.CallOption) (*RepositoryBootstrapPullRequestResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RepositoryBootstrapPullRequestResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_CreateRepositoryBootstrapPullRequest_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) UpdateRepository(ctx context.Context, in *UpdateRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RepositoryResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_UpdateRepository_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) DetachRepository(ctx context.Context, in *DetachRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RepositoryResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_DetachRepository_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetRepository(ctx context.Context, in *GetRepositoryRequest, opts ...grpc.CallOption) (*RepositoryResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(RepositoryResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetRepository_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListRepositories(ctx context.Context, in *ListRepositoriesRequest, opts ...grpc.CallOption) (*ListRepositoriesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListRepositoriesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListRepositories_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ImportServicesPolicy(ctx context.Context, in *ImportServicesPolicyRequest, opts ...grpc.CallOption) (*ServicesPolicyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ServicesPolicyResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ImportServicesPolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ImportBootstrapServicesPolicy(ctx context.Context, in *ImportBootstrapServicesPolicyRequest, opts ...grpc.CallOption) (*BootstrapServicesPolicyImportResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(BootstrapServicesPolicyImportResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ImportBootstrapServicesPolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ReconcileBootstrapMergeSignal(ctx context.Context, in *ReconcileBootstrapMergeSignalRequest, opts ...grpc.CallOption) (*BootstrapServicesPolicyImportResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(BootstrapServicesPolicyImportResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ReconcileBootstrapMergeSignal_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ReconcileAdoptionMergeSignal(ctx context.Context, in *ReconcileAdoptionMergeSignalRequest, opts ...grpc.CallOption) (*BootstrapServicesPolicyImportResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(BootstrapServicesPolicyImportResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ReconcileAdoptionMergeSignal_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetSelfDeploySignal(ctx context.Context, in *GetSelfDeploySignalRequest, opts ...grpc.CallOption) (*SelfDeploySignalResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SelfDeploySignalResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetSelfDeploySignal_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetSelfDeployBuildPlan(ctx context.Context, in *GetSelfDeployBuildPlanRequest, opts ...grpc.CallOption) (*SelfDeployBuildPlanResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SelfDeployBuildPlanResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetSelfDeployBuildPlan_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetSelfDeployDeployPlan(ctx context.Context, in *GetSelfDeployDeployPlanRequest, opts ...grpc.CallOption) (*SelfDeployDeployPlanResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SelfDeployDeployPlanResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetSelfDeployDeployPlan_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetServicesPolicy(ctx context.Context, in *GetServicesPolicyRequest, opts ...grpc.CallOption) (*ServicesPolicyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ServicesPolicyResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetServicesPolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListServiceDescriptors(ctx context.Context, in *ListServiceDescriptorsRequest, opts ...grpc.CallOption) (*ListServiceDescriptorsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListServiceDescriptorsResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListServiceDescriptors_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) CreatePolicyEditProposal(ctx context.Context, in *CreatePolicyEditProposalRequest, opts ...grpc.CallOption) (*PolicyEditProposalResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PolicyEditProposalResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_CreatePolicyEditProposal_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) CreatePolicyOverride(ctx context.Context, in *CreatePolicyOverrideRequest, opts ...grpc.CallOption) (*PolicyOverrideResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PolicyOverrideResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_CreatePolicyOverride_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) CancelPolicyOverride(ctx context.Context, in *CancelPolicyOverrideRequest, opts ...grpc.CallOption) (*PolicyOverrideResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PolicyOverrideResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_CancelPolicyOverride_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListPolicyOverrides(ctx context.Context, in *ListPolicyOverridesRequest, opts ...grpc.CallOption) (*ListPolicyOverridesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListPolicyOverridesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListPolicyOverrides_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) PutDocumentationSource(ctx context.Context, in *PutDocumentationSourceRequest, opts ...grpc.CallOption) (*DocumentationSourceResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DocumentationSourceResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_PutDocumentationSource_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetDocumentationSource(ctx context.Context, in *GetDocumentationSourceRequest, opts ...grpc.CallOption) (*DocumentationSourceResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DocumentationSourceResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetDocumentationSource_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListDocumentationSources(ctx context.Context, in *ListDocumentationSourcesRequest, opts ...grpc.CallOption) (*ListDocumentationSourcesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListDocumentationSourcesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListDocumentationSources_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetWorkspacePolicy(ctx context.Context, in *GetWorkspacePolicyRequest, opts ...grpc.CallOption) (*WorkspacePolicyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(WorkspacePolicyResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetWorkspacePolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) PutBranchRules(ctx context.Context, in *PutBranchRulesRequest, opts ...grpc.CallOption) (*BranchRulesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(BranchRulesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_PutBranchRules_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetBranchRules(ctx context.Context, in *GetBranchRulesRequest, opts ...grpc.CallOption) (*BranchRulesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(BranchRulesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetBranchRules_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListBranchRules(ctx context.Context, in *ListBranchRulesRequest, opts ...grpc.CallOption) (*ListBranchRulesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListBranchRulesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListBranchRules_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) PutReleasePolicy(ctx context.Context, in *PutReleasePolicyRequest, opts ...grpc.CallOption) (*ReleasePolicyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ReleasePolicyResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_PutReleasePolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetReleasePolicy(ctx context.Context, in *GetReleasePolicyRequest, opts ...grpc.CallOption) (*ReleasePolicyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ReleasePolicyResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetReleasePolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListReleasePolicies(ctx context.Context, in *ListReleasePoliciesRequest, opts ...grpc.CallOption) (*ListReleasePoliciesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListReleasePoliciesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListReleasePolicies_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) PutReleaseLine(ctx context.Context, in *PutReleaseLineRequest, opts ...grpc.CallOption) (*ReleaseLineResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ReleaseLineResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_PutReleaseLine_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetReleaseLine(ctx context.Context, in *GetReleaseLineRequest, opts ...grpc.CallOption) (*ReleaseLineResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ReleaseLineResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetReleaseLine_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListReleaseLines(ctx context.Context, in *ListReleaseLinesRequest, opts ...grpc.CallOption) (*ListReleaseLinesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListReleaseLinesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListReleaseLines_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) PutPlacementPolicy(ctx context.Context, in *PutPlacementPolicyRequest, opts ...grpc.CallOption) (*PlacementPolicyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PlacementPolicyResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_PutPlacementPolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) GetPlacementPolicy(ctx context.Context, in *GetPlacementPolicyRequest, opts ...grpc.CallOption) (*PlacementPolicyResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PlacementPolicyResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_GetPlacementPolicy_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *projectCatalogServiceClient) ListPlacementPolicies(ctx context.Context, in *ListPlacementPoliciesRequest, opts ...grpc.CallOption) (*ListPlacementPoliciesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListPlacementPoliciesResponse)
	err := c.cc.Invoke(ctx, ProjectCatalogService_ListPlacementPolicies_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// ProjectCatalogServiceServer is the server API for ProjectCatalogService service.
// All implementations must embed UnimplementedProjectCatalogServiceServer
// for forward compatibility.
//
// ProjectCatalogService is the stable v1 inter-service contract for the
// projects and repositories domain. It covers the command and read surface
// agreed in docs/domains/projects-and-repositories/architecture/api_contract.md.
type ProjectCatalogServiceServer interface {
	// CreateProject creates a project in an organization.
	CreateProject(context.Context, *CreateProjectRequest) (*ProjectResponse, error)
	// UpdateProject changes safe project fields and lifecycle status.
	UpdateProject(context.Context, *UpdateProjectRequest) (*ProjectResponse, error)
	// GetProject returns authoritative project state.
	GetProject(context.Context, *GetProjectRequest) (*ProjectResponse, error)
	// ListProjects returns projects visible in an organization or filter scope.
	ListProjects(context.Context, *ListProjectsRequest) (*ListProjectsResponse, error)
	// AttachRepository binds a provider repository to a project.
	AttachRepository(context.Context, *AttachRepositoryRequest) (*RepositoryResponse, error)
	// CreateProviderRepository asks provider-hub to create a provider repository and records a project binding.
	CreateProviderRepository(context.Context, *CreateProviderRepositoryRequest) (*RepositoryProviderCreateResponse, error)
	// CreateRepositoryBootstrapPullRequest asks provider-hub to open or update a bootstrap PR for an existing binding.
	CreateRepositoryBootstrapPullRequest(context.Context, *CreateRepositoryBootstrapPullRequestRequest) (*RepositoryBootstrapPullRequestResponse, error)
	// UpdateRepository changes safe repository binding fields.
	UpdateRepository(context.Context, *UpdateRepositoryRequest) (*RepositoryResponse, error)
	// DetachRepository archives a repository binding and removes it from active project policy.
	DetachRepository(context.Context, *DetachRepositoryRequest) (*RepositoryResponse, error)
	// GetRepository returns authoritative repository binding state.
	GetRepository(context.Context, *GetRepositoryRequest) (*RepositoryResponse, error)
	// ListRepositories returns repository bindings for a project.
	ListRepositories(context.Context, *ListRepositoriesRequest) (*ListRepositoriesResponse, error)
	// ImportServicesPolicy stores a checked services.yaml projection.
	ImportServicesPolicy(context.Context, *ImportServicesPolicyRequest) (*ServicesPolicyResponse, error)
	// ImportBootstrapServicesPolicy imports checked services.yaml after a merged bootstrap PR and activates the repository binding.
	ImportBootstrapServicesPolicy(context.Context, *ImportBootstrapServicesPolicyRequest) (*BootstrapServicesPolicyImportResponse, error)
	// ReconcileBootstrapMergeSignal imports checked services.yaml from a safe provider bootstrap merge signal.
	ReconcileBootstrapMergeSignal(context.Context, *ReconcileBootstrapMergeSignalRequest) (*BootstrapServicesPolicyImportResponse, error)
	// ReconcileAdoptionMergeSignal imports checked services.yaml from a safe provider adoption merge signal.
	ReconcileAdoptionMergeSignal(context.Context, *ReconcileAdoptionMergeSignalRequest) (*BootstrapServicesPolicyImportResponse, error)
	// GetSelfDeploySignal возвращает project-side enrichment для safe provider repository change signal.
	GetSelfDeploySignal(context.Context, *GetSelfDeploySignalRequest) (*SelfDeploySignalResponse, error)
	// GetSelfDeployBuildPlan возвращает проверенный project-side build input для self-deploy runtime jobs.
	GetSelfDeployBuildPlan(context.Context, *GetSelfDeployBuildPlanRequest) (*SelfDeployBuildPlanResponse, error)
	// GetSelfDeployDeployPlan возвращает проверенный project-side deploy input после успешных build jobs.
	GetSelfDeployDeployPlan(context.Context, *GetSelfDeployDeployPlanRequest) (*SelfDeployDeployPlanResponse, error)
	// GetServicesPolicy returns a checked services.yaml projection.
	GetServicesPolicy(context.Context, *GetServicesPolicyRequest) (*ServicesPolicyResponse, error)
	// ListServiceDescriptors returns typed service descriptors from active policy.
	ListServiceDescriptors(context.Context, *ListServiceDescriptorsRequest) (*ListServiceDescriptorsResponse, error)
	// CreatePolicyEditProposal creates a request to change services.yaml through PR.
	CreatePolicyEditProposal(context.Context, *CreatePolicyEditProposalRequest) (*PolicyEditProposalResponse, error)
	// CreatePolicyOverride creates a time-bound operator override.
	CreatePolicyOverride(context.Context, *CreatePolicyOverrideRequest) (*PolicyOverrideResponse, error)
	// CancelPolicyOverride cancels an active operator override before expiration.
	CancelPolicyOverride(context.Context, *CancelPolicyOverrideRequest) (*PolicyOverrideResponse, error)
	// ListPolicyOverrides returns visible operator overrides for a project.
	ListPolicyOverrides(context.Context, *ListPolicyOverridesRequest) (*ListPolicyOverridesResponse, error)
	// PutDocumentationSource creates or updates a documentation source.
	PutDocumentationSource(context.Context, *PutDocumentationSourceRequest) (*DocumentationSourceResponse, error)
	// GetDocumentationSource returns a documentation source.
	GetDocumentationSource(context.Context, *GetDocumentationSourceRequest) (*DocumentationSourceResponse, error)
	// ListDocumentationSources returns documentation sources for a project scope.
	ListDocumentationSources(context.Context, *ListDocumentationSourcesRequest) (*ListDocumentationSourcesResponse, error)
	// GetWorkspacePolicy returns source checkout policy for an agent workspace.
	GetWorkspacePolicy(context.Context, *GetWorkspacePolicyRequest) (*WorkspacePolicyResponse, error)
	// PutBranchRules creates or updates branch rules.
	PutBranchRules(context.Context, *PutBranchRulesRequest) (*BranchRulesResponse, error)
	// GetBranchRules returns branch rules.
	GetBranchRules(context.Context, *GetBranchRulesRequest) (*BranchRulesResponse, error)
	// ListBranchRules returns active branch rules for a project or repository.
	ListBranchRules(context.Context, *ListBranchRulesRequest) (*ListBranchRulesResponse, error)
	// PutReleasePolicy creates or updates a release policy.
	PutReleasePolicy(context.Context, *PutReleasePolicyRequest) (*ReleasePolicyResponse, error)
	// GetReleasePolicy returns a release policy.
	GetReleasePolicy(context.Context, *GetReleasePolicyRequest) (*ReleasePolicyResponse, error)
	// ListReleasePolicies returns release policies for a project.
	ListReleasePolicies(context.Context, *ListReleasePoliciesRequest) (*ListReleasePoliciesResponse, error)
	// PutReleaseLine creates or updates a concrete release line.
	PutReleaseLine(context.Context, *PutReleaseLineRequest) (*ReleaseLineResponse, error)
	// GetReleaseLine returns a concrete release line.
	GetReleaseLine(context.Context, *GetReleaseLineRequest) (*ReleaseLineResponse, error)
	// ListReleaseLines returns release lines for a project or release policy.
	ListReleaseLines(context.Context, *ListReleaseLinesRequest) (*ListReleaseLinesResponse, error)
	// PutPlacementPolicy creates or updates placement policy.
	PutPlacementPolicy(context.Context, *PutPlacementPolicyRequest) (*PlacementPolicyResponse, error)
	// GetPlacementPolicy returns placement policy.
	GetPlacementPolicy(context.Context, *GetPlacementPolicyRequest) (*PlacementPolicyResponse, error)
	// ListPlacementPolicies returns placement policies for a project scope.
	ListPlacementPolicies(context.Context, *ListPlacementPoliciesRequest) (*ListPlacementPoliciesResponse, error)
	mustEmbedUnimplementedProjectCatalogServiceServer()
}

// UnimplementedProjectCatalogServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedProjectCatalogServiceServer struct{}

func (UnimplementedProjectCatalogServiceServer) CreateProject(context.Context, *CreateProjectRequest) (*ProjectResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateProject not implemented")
}
func (UnimplementedProjectCatalogServiceServer) UpdateProject(context.Context, *UpdateProjectRequest) (*ProjectResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateProject not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetProject(context.Context, *GetProjectRequest) (*ProjectResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetProject not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListProjects(context.Context, *ListProjectsRequest) (*ListProjectsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListProjects not implemented")
}
func (UnimplementedProjectCatalogServiceServer) AttachRepository(context.Context, *AttachRepositoryRequest) (*RepositoryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AttachRepository not implemented")
}
func (UnimplementedProjectCatalogServiceServer) CreateProviderRepository(context.Context, *CreateProviderRepositoryRequest) (*RepositoryProviderCreateResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateProviderRepository not implemented")
}
func (UnimplementedProjectCatalogServiceServer) CreateRepositoryBootstrapPullRequest(context.Context, *CreateRepositoryBootstrapPullRequestRequest) (*RepositoryBootstrapPullRequestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateRepositoryBootstrapPullRequest not implemented")
}
func (UnimplementedProjectCatalogServiceServer) UpdateRepository(context.Context, *UpdateRepositoryRequest) (*RepositoryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateRepository not implemented")
}
func (UnimplementedProjectCatalogServiceServer) DetachRepository(context.Context, *DetachRepositoryRequest) (*RepositoryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DetachRepository not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetRepository(context.Context, *GetRepositoryRequest) (*RepositoryResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetRepository not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListRepositories(context.Context, *ListRepositoriesRequest) (*ListRepositoriesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListRepositories not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ImportServicesPolicy(context.Context, *ImportServicesPolicyRequest) (*ServicesPolicyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ImportServicesPolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ImportBootstrapServicesPolicy(context.Context, *ImportBootstrapServicesPolicyRequest) (*BootstrapServicesPolicyImportResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ImportBootstrapServicesPolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ReconcileBootstrapMergeSignal(context.Context, *ReconcileBootstrapMergeSignalRequest) (*BootstrapServicesPolicyImportResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReconcileBootstrapMergeSignal not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ReconcileAdoptionMergeSignal(context.Context, *ReconcileAdoptionMergeSignalRequest) (*BootstrapServicesPolicyImportResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReconcileAdoptionMergeSignal not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetSelfDeploySignal(context.Context, *GetSelfDeploySignalRequest) (*SelfDeploySignalResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSelfDeploySignal not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetSelfDeployBuildPlan(context.Context, *GetSelfDeployBuildPlanRequest) (*SelfDeployBuildPlanResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSelfDeployBuildPlan not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetSelfDeployDeployPlan(context.Context, *GetSelfDeployDeployPlanRequest) (*SelfDeployDeployPlanResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetSelfDeployDeployPlan not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetServicesPolicy(context.Context, *GetServicesPolicyRequest) (*ServicesPolicyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetServicesPolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListServiceDescriptors(context.Context, *ListServiceDescriptorsRequest) (*ListServiceDescriptorsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListServiceDescriptors not implemented")
}
func (UnimplementedProjectCatalogServiceServer) CreatePolicyEditProposal(context.Context, *CreatePolicyEditProposalRequest) (*PolicyEditProposalResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePolicyEditProposal not implemented")
}
func (UnimplementedProjectCatalogServiceServer) CreatePolicyOverride(context.Context, *CreatePolicyOverrideRequest) (*PolicyOverrideResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreatePolicyOverride not implemented")
}
func (UnimplementedProjectCatalogServiceServer) CancelPolicyOverride(context.Context, *CancelPolicyOverrideRequest) (*PolicyOverrideResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CancelPolicyOverride not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListPolicyOverrides(context.Context, *ListPolicyOverridesRequest) (*ListPolicyOverridesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPolicyOverrides not implemented")
}
func (UnimplementedProjectCatalogServiceServer) PutDocumentationSource(context.Context, *PutDocumentationSourceRequest) (*DocumentationSourceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutDocumentationSource not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetDocumentationSource(context.Context, *GetDocumentationSourceRequest) (*DocumentationSourceResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDocumentationSource not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListDocumentationSources(context.Context, *ListDocumentationSourcesRequest) (*ListDocumentationSourcesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListDocumentationSources not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetWorkspacePolicy(context.Context, *GetWorkspacePolicyRequest) (*WorkspacePolicyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetWorkspacePolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) PutBranchRules(context.Context, *PutBranchRulesRequest) (*BranchRulesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutBranchRules not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetBranchRules(context.Context, *GetBranchRulesRequest) (*BranchRulesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetBranchRules not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListBranchRules(context.Context, *ListBranchRulesRequest) (*ListBranchRulesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListBranchRules not implemented")
}
func (UnimplementedProjectCatalogServiceServer) PutReleasePolicy(context.Context, *PutReleasePolicyRequest) (*ReleasePolicyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutReleasePolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetReleasePolicy(context.Context, *GetReleasePolicyRequest) (*ReleasePolicyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetReleasePolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListReleasePolicies(context.Context, *ListReleasePoliciesRequest) (*ListReleasePoliciesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListReleasePolicies not implemented")
}
func (UnimplementedProjectCatalogServiceServer) PutReleaseLine(context.Context, *PutReleaseLineRequest) (*ReleaseLineResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutReleaseLine not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetReleaseLine(context.Context, *GetReleaseLineRequest) (*ReleaseLineResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetReleaseLine not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListReleaseLines(context.Context, *ListReleaseLinesRequest) (*ListReleaseLinesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListReleaseLines not implemented")
}
func (UnimplementedProjectCatalogServiceServer) PutPlacementPolicy(context.Context, *PutPlacementPolicyRequest) (*PlacementPolicyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PutPlacementPolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) GetPlacementPolicy(context.Context, *GetPlacementPolicyRequest) (*PlacementPolicyResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetPlacementPolicy not implemented")
}
func (UnimplementedProjectCatalogServiceServer) ListPlacementPolicies(context.Context, *ListPlacementPoliciesRequest) (*ListPlacementPoliciesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListPlacementPolicies not implemented")
}
func (UnimplementedProjectCatalogServiceServer) mustEmbedUnimplementedProjectCatalogServiceServer() {}
func (UnimplementedProjectCatalogServiceServer) testEmbeddedByValue()                               {}

// UnsafeProjectCatalogServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to ProjectCatalogServiceServer will
// result in compilation errors.
type UnsafeProjectCatalogServiceServer interface {
	mustEmbedUnimplementedProjectCatalogServiceServer()
}

func RegisterProjectCatalogServiceServer(s grpc.ServiceRegistrar, srv ProjectCatalogServiceServer) {
	// If the following call pancis, it indicates UnimplementedProjectCatalogServiceServer was
	// embedded by pointer and is nil.  This will cause panics if an
	// unimplemented method is ever invoked, so we test this at initialization
	// time to prevent it from happening at runtime later due to I/O.
	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
		t.testEmbeddedByValue()
	}
	s.RegisterService(&ProjectCatalogService_ServiceDesc, srv)
}

func _ProjectCatalogService_CreateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateProjectRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).CreateProject(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_CreateProject_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).CreateProject(ctx, req.(*CreateProjectRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_UpdateProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateProjectRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).UpdateProject(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_UpdateProject_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).UpdateProject(ctx, req.(*UpdateProjectRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetProject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetProjectRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetProject(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetProject_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetProject(ctx, req.(*GetProjectRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListProjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListProjectsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListProjects(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListProjects_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListProjects(ctx, req.(*ListProjectsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_AttachRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AttachRepositoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).AttachRepository(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_AttachRepository_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).AttachRepository(ctx, req.(*AttachRepositoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_CreateProviderRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateProviderRepositoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).CreateProviderRepository(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_CreateProviderRepository_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).CreateProviderRepository(ctx, req.(*CreateProviderRepositoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_CreateRepositoryBootstrapPullRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateRepositoryBootstrapPullRequestRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).CreateRepositoryBootstrapPullRequest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_CreateRepositoryBootstrapPullRequest_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).CreateRepositoryBootstrapPullRequest(ctx, req.(*CreateRepositoryBootstrapPullRequestRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_UpdateRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateRepositoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).UpdateRepository(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_UpdateRepository_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).UpdateRepository(ctx, req.(*UpdateRepositoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_DetachRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DetachRepositoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).DetachRepository(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_DetachRepository_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).DetachRepository(ctx, req.(*DetachRepositoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetRepository_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetRepositoryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetRepository(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetRepository_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetRepository(ctx, req.(*GetRepositoryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListRepositories_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListRepositoriesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListRepositories(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListRepositories_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListRepositories(ctx, req.(*ListRepositoriesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ImportServicesPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportServicesPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ImportServicesPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ImportServicesPolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ImportServicesPolicy(ctx, req.(*ImportServicesPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ImportBootstrapServicesPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ImportBootstrapServicesPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ImportBootstrapServicesPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ImportBootstrapServicesPolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ImportBootstrapServicesPolicy(ctx, req.(*ImportBootstrapServicesPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ReconcileBootstrapMergeSignal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReconcileBootstrapMergeSignalRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ReconcileBootstrapMergeSignal(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ReconcileBootstrapMergeSignal_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ReconcileBootstrapMergeSignal(ctx, req.(*ReconcileBootstrapMergeSignalRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ReconcileAdoptionMergeSignal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReconcileAdoptionMergeSignalRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ReconcileAdoptionMergeSignal(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ReconcileAdoptionMergeSignal_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ReconcileAdoptionMergeSignal(ctx, req.(*ReconcileAdoptionMergeSignalRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetSelfDeploySignal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSelfDeploySignalRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetSelfDeploySignal(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetSelfDeploySignal_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetSelfDeploySignal(ctx, req.(*GetSelfDeploySignalRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetSelfDeployBuildPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSelfDeployBuildPlanRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetSelfDeployBuildPlan(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetSelfDeployBuildPlan_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetSelfDeployBuildPlan(ctx, req.(*GetSelfDeployBuildPlanRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetSelfDeployDeployPlan_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetSelfDeployDeployPlanRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetSelfDeployDeployPlan(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetSelfDeployDeployPlan_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetSelfDeployDeployPlan(ctx, req.(*GetSelfDeployDeployPlanRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetServicesPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetServicesPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetServicesPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetServicesPolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetServicesPolicy(ctx, req.(*GetServicesPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListServiceDescriptors_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListServiceDescriptorsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListServiceDescriptors(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListServiceDescriptors_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListServiceDescriptors(ctx, req.(*ListServiceDescriptorsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_CreatePolicyEditProposal_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreatePolicyEditProposalRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).CreatePolicyEditProposal(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_CreatePolicyEditProposal_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).CreatePolicyEditProposal(ctx, req.(*CreatePolicyEditProposalRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_CreatePolicyOverride_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreatePolicyOverrideRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).CreatePolicyOverride(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_CreatePolicyOverride_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).CreatePolicyOverride(ctx, req.(*CreatePolicyOverrideRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_CancelPolicyOverride_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CancelPolicyOverrideRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).CancelPolicyOverride(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_CancelPolicyOverride_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).CancelPolicyOverride(ctx, req.(*CancelPolicyOverrideRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListPolicyOverrides_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListPolicyOverridesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListPolicyOverrides(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListPolicyOverrides_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListPolicyOverrides(ctx, req.(*ListPolicyOverridesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_PutDocumentationSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutDocumentationSourceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).PutDocumentationSource(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_PutDocumentationSource_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).PutDocumentationSource(ctx, req.(*PutDocumentationSourceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetDocumentationSource_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDocumentationSourceRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetDocumentationSource(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetDocumentationSource_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetDocumentationSource(ctx, req.(*GetDocumentationSourceRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListDocumentationSources_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListDocumentationSourcesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListDocumentationSources(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListDocumentationSources_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListDocumentationSources(ctx, req.(*ListDocumentationSourcesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetWorkspacePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetWorkspacePolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetWorkspacePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetWorkspacePolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetWorkspacePolicy(ctx, req.(*GetWorkspacePolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_PutBranchRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutBranchRulesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).PutBranchRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_PutBranchRules_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).PutBranchRules(ctx, req.(*PutBranchRulesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetBranchRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetBranchRulesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetBranchRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetBranchRules_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetBranchRules(ctx, req.(*GetBranchRulesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListBranchRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListBranchRulesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListBranchRules(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListBranchRules_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListBranchRules(ctx, req.(*ListBranchRulesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_PutReleasePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutReleasePolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).PutReleasePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_PutReleasePolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).PutReleasePolicy(ctx, req.(*PutReleasePolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetReleasePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetReleasePolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetReleasePolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetReleasePolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetReleasePolicy(ctx, req.(*GetReleasePolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListReleasePolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListReleasePoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListReleasePolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListReleasePolicies_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListReleasePolicies(ctx, req.(*ListReleasePoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_PutReleaseLine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutReleaseLineRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).PutReleaseLine(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_PutReleaseLine_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).PutReleaseLine(ctx, req.(*PutReleaseLineRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetReleaseLine_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetReleaseLineRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetReleaseLine(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetReleaseLine_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetReleaseLine(ctx, req.(*GetReleaseLineRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListReleaseLines_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListReleaseLinesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListReleaseLines(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListReleaseLines_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListReleaseLines(ctx, req.(*ListReleaseLinesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_PutPlacementPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PutPlacementPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).PutPlacementPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_PutPlacementPolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).PutPlacementPolicy(ctx, req.(*PutPlacementPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_GetPlacementPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetPlacementPolicyRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).GetPlacementPolicy(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_GetPlacementPolicy_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).GetPlacementPolicy(ctx, req.(*GetPlacementPolicyRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _ProjectCatalogService_ListPlacementPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListPlacementPoliciesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(ProjectCatalogServiceServer).ListPlacementPolicies(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: ProjectCatalogService_ListPlacementPolicies_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(ProjectCatalogServiceServer).ListPlacementPolicies(ctx, req.(*ListPlacementPoliciesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// ProjectCatalogService_ServiceDesc is the grpc.ServiceDesc for ProjectCatalogService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var ProjectCatalogService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "kodex.projects.v1.ProjectCatalogService",
	HandlerType: (*ProjectCatalogServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateProject",
			Handler:    _ProjectCatalogService_CreateProject_Handler,
		},
		{
			MethodName: "UpdateProject",
			Handler:    _ProjectCatalogService_UpdateProject_Handler,
		},
		{
			MethodName: "GetProject",
			Handler:    _ProjectCatalogService_GetProject_Handler,
		},
		{
			MethodName: "ListProjects",
			Handler:    _ProjectCatalogService_ListProjects_Handler,
		},
		{
			MethodName: "AttachRepository",
			Handler:    _ProjectCatalogService_AttachRepository_Handler,
		},
		{
			MethodName: "CreateProviderRepository",
			Handler:    _ProjectCatalogService_CreateProviderRepository_Handler,
		},
		{
			MethodName: "CreateRepositoryBootstrapPullRequest",
			Handler:    _ProjectCatalogService_CreateRepositoryBootstrapPullRequest_Handler,
		},
		{
			MethodName: "UpdateRepository",
			Handler:    _ProjectCatalogService_UpdateRepository_Handler,
		},
		{
			MethodName: "DetachRepository",
			Handler:    _ProjectCatalogService_DetachRepository_Handler,
		},
		{
			MethodName: "GetRepository",
			Handler:    _ProjectCatalogService_GetRepository_Handler,
		},
		{
			MethodName: "ListRepositories",
			Handler:    _ProjectCatalogService_ListRepositories_Handler,
		},
		{
			MethodName: "ImportServicesPolicy",
			Handler:    _ProjectCatalogService_ImportServicesPolicy_Handler,
		},
		{
			MethodName: "ImportBootstrapServicesPolicy",
			Handler:    _ProjectCatalogService_ImportBootstrapServicesPolicy_Handler,
		},
		{
			MethodName: "ReconcileBootstrapMergeSignal",
			Handler:    _ProjectCatalogService_ReconcileBootstrapMergeSignal_Handler,
		},
		{
			MethodName: "ReconcileAdoptionMergeSignal",
			Handler:    _ProjectCatalogService_ReconcileAdoptionMergeSignal_Handler,
		},
		{
			MethodName: "GetSelfDeploySignal",
			Handler:    _ProjectCatalogService_GetSelfDeploySignal_Handler,
		},
		{
			MethodName: "GetSelfDeployBuildPlan",
			Handler:    _ProjectCatalogService_GetSelfDeployBuildPlan_Handler,
		},
		{
			MethodName: "GetSelfDeployDeployPlan",
			Handler:    _ProjectCatalogService_GetSelfDeployDeployPlan_Handler,
		},
		{
			MethodName: "GetServicesPolicy",
			Handler:    _ProjectCatalogService_GetServicesPolicy_Handler,
		},
		{
			MethodName: "ListServiceDescriptors",
			Handler:    _ProjectCatalogService_ListServiceDescriptors_Handler,
		},
		{
			MethodName: "CreatePolicyEditProposal",
			Handler:    _ProjectCatalogService_CreatePolicyEditProposal_Handler,
		},
		{
			MethodName: "CreatePolicyOverride",
			Handler:    _ProjectCatalogService_CreatePolicyOverride_Handler,
		},
		{
			MethodName: "CancelPolicyOverride",
			Handler:    _ProjectCatalogService_CancelPolicyOverride_Handler,
		},
		{
			MethodName: "ListPolicyOverrides",
			Handler:    _ProjectCatalogService_ListPolicyOverrides_Handler,
		},
		{
			MethodName: "PutDocumentationSource",
			Handler:    _ProjectCatalogService_PutDocumentationSource_Handler,
		},
		{
			MethodName: "GetDocumentationSource",
			Handler:    _ProjectCatalogService_GetDocumentationSource_Handler,
		},
		{
			MethodName: "ListDocumentationSources",
			Handler:    _ProjectCatalogService_ListDocumentationSources_Handler,
		},
		{
			MethodName: "GetWorkspacePolicy",
			Handler:    _ProjectCatalogService_GetWorkspacePolicy_Handler,
		},
		{
			MethodName: "PutBranchRules",
			Handler:    _ProjectCatalogService_PutBranchRules_Handler,
		},
		{
			MethodName: "GetBranchRules",
			Handler:    _ProjectCatalogService_GetBranchRules_Handler,
		},
		{
			MethodName: "ListBranchRules",
			Handler:    _ProjectCatalogService_ListBranchRules_Handler,
		},
		{
			MethodName: "PutReleasePolicy",
			Handler:    _ProjectCatalogService_PutReleasePolicy_Handler,
		},
		{
			MethodName: "GetReleasePolicy",
			Handler:    _ProjectCatalogService_GetReleasePolicy_Handler,
		},
		{
			MethodName: "ListReleasePolicies",
			Handler:    _ProjectCatalogService_ListReleasePolicies_Handler,
		},
		{
			MethodName: "PutReleaseLine",
			Handler:    _ProjectCatalogService_PutReleaseLine_Handler,
		},
		{
			MethodName: "GetReleaseLine",
			Handler:    _ProjectCatalogService_GetReleaseLine_Handler,
		},
		{
			MethodName: "ListReleaseLines",
			Handler:    _ProjectCatalogService_ListReleaseLines_Handler,
		},
		{
			MethodName: "PutPlacementPolicy",
			Handler:    _ProjectCatalogService_PutPlacementPolicy_Handler,
		},
		{
			MethodName: "GetPlacementPolicy",
			Handler:    _ProjectCatalogService_GetPlacementPolicy_Handler,
		},
		{
			MethodName: "ListPlacementPolicies",
			Handler:    _ProjectCatalogService_ListPlacementPolicies_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "kodex/projects/v1/project_catalog.proto",
}
