server

package
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package server implements the Creel gRPC server.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AdminServer

type AdminServer struct {
	pb.UnimplementedAdminServiceServer
	// contains filtered or unexported fields
}

AdminServer implements the AdminService gRPC service.

func NewAdminServer

func NewAdminServer(pinger Pinger, accountStore *store.SystemAccountStore, version string) *AdminServer

NewAdminServer creates a new admin service.

func (*AdminServer) CreateSystemAccount

CreateSystemAccount creates a new system account and returns its initial API key.

func (*AdminServer) DeleteSystemAccount

DeleteSystemAccount deletes a system account and its keys.

func (*AdminServer) Health

Health checks database connectivity and returns server status.

func (*AdminServer) ListSystemAccounts

ListSystemAccounts lists all system accounts.

func (*AdminServer) RevokeKey

RevokeKey immediately revokes all active keys for the system account.

func (*AdminServer) RotateKey

RotateKey generates a new API key for the system account.

type ChunkServer

type ChunkServer struct {
	pb.UnimplementedChunkServiceServer
	// contains filtered or unexported fields
}

ChunkServer implements the ChunkService gRPC service.

func NewChunkServer

func NewChunkServer(chunkStore *store.ChunkStore, docStore *store.DocumentStore, backend vector.Backend, authorizer auth.Authorizer) *ChunkServer

NewChunkServer creates a new chunk service.

func (*ChunkServer) DeleteChunk

DeleteChunk deletes a chunk and its embedding. Requires admin permission.

func (*ChunkServer) GetChunk

func (s *ChunkServer) GetChunk(ctx context.Context, req *pb.GetChunkRequest) (*pb.Chunk, error)

GetChunk retrieves a chunk. Requires read permission on its topic.

func (*ChunkServer) IngestChunks

IngestChunks creates chunks and stores their embeddings. Requires write permission.

type ConfigServer added in v0.1.5

type ConfigServer struct {
	pb.UnimplementedConfigServiceServer
	// contains filtered or unexported fields
}

ConfigServer implements the ConfigService gRPC service.

func NewConfigServer added in v0.1.5

func NewConfigServer(
	apiKeyStore *store.APIKeyConfigStore,
	llmStore *store.LLMConfigStore,
	embeddingStore *store.EmbeddingConfigStore,
	extractionPromptStore *store.ExtractionPromptConfigStore,
) *ConfigServer

NewConfigServer creates a new config service.

func (*ConfigServer) CreateAPIKeyConfig added in v0.1.5

func (s *ConfigServer) CreateAPIKeyConfig(ctx context.Context, req *pb.CreateAPIKeyConfigRequest) (*pb.APIKeyConfig, error)

func (*ConfigServer) CreateEmbeddingConfig added in v0.1.5

func (s *ConfigServer) CreateEmbeddingConfig(ctx context.Context, req *pb.CreateEmbeddingConfigRequest) (*pb.EmbeddingConfig, error)

func (*ConfigServer) CreateExtractionPromptConfig added in v0.1.5

func (s *ConfigServer) CreateExtractionPromptConfig(ctx context.Context, req *pb.CreateExtractionPromptConfigRequest) (*pb.ExtractionPromptConfig, error)

func (*ConfigServer) CreateLLMConfig added in v0.1.5

func (s *ConfigServer) CreateLLMConfig(ctx context.Context, req *pb.CreateLLMConfigRequest) (*pb.LLMConfig, error)

func (*ConfigServer) DeleteAPIKeyConfig added in v0.1.5

func (*ConfigServer) DeleteEmbeddingConfig added in v0.1.5

func (*ConfigServer) DeleteExtractionPromptConfig added in v0.1.5

func (*ConfigServer) DeleteLLMConfig added in v0.1.5

func (*ConfigServer) GetAPIKeyConfig added in v0.1.5

func (s *ConfigServer) GetAPIKeyConfig(ctx context.Context, req *pb.GetAPIKeyConfigRequest) (*pb.APIKeyConfig, error)

func (*ConfigServer) GetEmbeddingConfig added in v0.1.5

func (s *ConfigServer) GetEmbeddingConfig(ctx context.Context, req *pb.GetEmbeddingConfigRequest) (*pb.EmbeddingConfig, error)

func (*ConfigServer) GetExtractionPromptConfig added in v0.1.5

func (s *ConfigServer) GetExtractionPromptConfig(ctx context.Context, req *pb.GetExtractionPromptConfigRequest) (*pb.ExtractionPromptConfig, error)

func (*ConfigServer) GetLLMConfig added in v0.1.5

func (s *ConfigServer) GetLLMConfig(ctx context.Context, req *pb.GetLLMConfigRequest) (*pb.LLMConfig, error)

func (*ConfigServer) ListAPIKeyConfigs added in v0.1.5

func (*ConfigServer) ListEmbeddingConfigs added in v0.1.5

func (*ConfigServer) ListExtractionPromptConfigs added in v0.1.5

func (*ConfigServer) ListLLMConfigs added in v0.1.5

func (*ConfigServer) SetDefaultAPIKeyConfig added in v0.1.5

func (s *ConfigServer) SetDefaultAPIKeyConfig(ctx context.Context, req *pb.SetDefaultAPIKeyConfigRequest) (*pb.APIKeyConfig, error)

func (*ConfigServer) SetDefaultEmbeddingConfig added in v0.1.5

func (s *ConfigServer) SetDefaultEmbeddingConfig(ctx context.Context, req *pb.SetDefaultEmbeddingConfigRequest) (*pb.EmbeddingConfig, error)

func (*ConfigServer) SetDefaultExtractionPromptConfig added in v0.1.5

func (s *ConfigServer) SetDefaultExtractionPromptConfig(ctx context.Context, req *pb.SetDefaultExtractionPromptConfigRequest) (*pb.ExtractionPromptConfig, error)

func (*ConfigServer) SetDefaultLLMConfig added in v0.1.5

func (s *ConfigServer) SetDefaultLLMConfig(ctx context.Context, req *pb.SetDefaultLLMConfigRequest) (*pb.LLMConfig, error)

func (*ConfigServer) UpdateAPIKeyConfig added in v0.1.5

func (s *ConfigServer) UpdateAPIKeyConfig(ctx context.Context, req *pb.UpdateAPIKeyConfigRequest) (*pb.APIKeyConfig, error)

func (*ConfigServer) UpdateEmbeddingConfig added in v0.1.5

func (s *ConfigServer) UpdateEmbeddingConfig(ctx context.Context, req *pb.UpdateEmbeddingConfigRequest) (*pb.EmbeddingConfig, error)

func (*ConfigServer) UpdateExtractionPromptConfig added in v0.1.5

func (s *ConfigServer) UpdateExtractionPromptConfig(ctx context.Context, req *pb.UpdateExtractionPromptConfigRequest) (*pb.ExtractionPromptConfig, error)

func (*ConfigServer) UpdateLLMConfig added in v0.1.5

func (s *ConfigServer) UpdateLLMConfig(ctx context.Context, req *pb.UpdateLLMConfigRequest) (*pb.LLMConfig, error)

type DocumentServer

type DocumentServer struct {
	pb.UnimplementedDocumentServiceServer
	// contains filtered or unexported fields
}

DocumentServer implements the DocumentService gRPC service.

func NewDocumentServer

func NewDocumentServer(docStore *store.DocumentStore, authorizer auth.Authorizer) *DocumentServer

NewDocumentServer creates a new document service.

func (*DocumentServer) CreateDocument

func (s *DocumentServer) CreateDocument(ctx context.Context, req *pb.CreateDocumentRequest) (*pb.Document, error)

CreateDocument creates a new document. Requires write permission on the topic.

func (*DocumentServer) DeleteDocument

DeleteDocument deletes a document. Requires admin permission on its topic.

func (*DocumentServer) GetDocument

func (s *DocumentServer) GetDocument(ctx context.Context, req *pb.GetDocumentRequest) (*pb.Document, error)

GetDocument retrieves a document. Requires read permission on its topic.

func (*DocumentServer) ListDocuments

ListDocuments lists documents in a topic. Requires read permission.

func (*DocumentServer) UpdateDocument

func (s *DocumentServer) UpdateDocument(ctx context.Context, req *pb.UpdateDocumentRequest) (*pb.Document, error)

UpdateDocument updates a document. Requires write permission on its topic.

type Pinger added in v0.1.3

type Pinger interface {
	Ping(ctx context.Context) error
}

Pinger checks database connectivity. *pgxpool.Pool satisfies this interface.

type RetrievalServer

type RetrievalServer struct {
	pb.UnimplementedRetrievalServiceServer
	// contains filtered or unexported fields
}

RetrievalServer implements the RetrievalService gRPC service.

func NewRetrievalServer

func NewRetrievalServer(searcher *retrieval.Searcher, contextFetcher *retrieval.ContextFetcher) *RetrievalServer

NewRetrievalServer creates a new retrieval service.

func (*RetrievalServer) GetContext

GetContext returns chunks from a single document in sequence order.

func (*RetrievalServer) Search

Search performs ACL-filtered similarity search.

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server wraps a gRPC server with Creel services.

func New

func New(port int, apiKeyValidator *auth.APIKeyValidator, oidcValidator *auth.OIDCValidator) *Server

New creates a new Server with auth interceptor and registers services.

func (*Server) GRPCServer

func (s *Server) GRPCServer() *grpc.Server

GRPCServer returns the underlying gRPC server for registering services.

func (*Server) GracefulStop

func (s *Server) GracefulStop()

GracefulStop gracefully shuts down the gRPC server.

func (*Server) Run

func (s *Server) Run() error

Run starts the gRPC server and blocks until it stops.

type TopicServer

type TopicServer struct {
	pb.UnimplementedTopicServiceServer
	// contains filtered or unexported fields
}

TopicServer implements the TopicService gRPC service.

func NewTopicServer

func NewTopicServer(topicStore *store.TopicStore, authorizer auth.Authorizer, embeddingStore *store.EmbeddingConfigStore) *TopicServer

NewTopicServer creates a new topic service.

func (*TopicServer) CreateTopic

func (s *TopicServer) CreateTopic(ctx context.Context, req *pb.CreateTopicRequest) (*pb.Topic, error)

CreateTopic creates a new topic owned by the authenticated principal.

func (*TopicServer) DeleteTopic

DeleteTopic deletes a topic with admin ACL check. Cascades to all content.

func (*TopicServer) GetTopic

func (s *TopicServer) GetTopic(ctx context.Context, req *pb.GetTopicRequest) (*pb.Topic, error)

GetTopic retrieves a topic by ID with ACL check.

func (*TopicServer) GrantAccess

func (s *TopicServer) GrantAccess(ctx context.Context, req *pb.GrantAccessRequest) (*pb.TopicGrant, error)

GrantAccess grants a principal access to a topic. Requires admin permission.

func (*TopicServer) ListGrants

ListGrants lists all grants for a topic. Requires read permission.

func (*TopicServer) ListTopics

ListTopics returns topics accessible to the authenticated principal.

func (*TopicServer) RevokeAccess

RevokeAccess revokes a principal's access to a topic. Requires admin permission.

func (*TopicServer) UpdateTopic

func (s *TopicServer) UpdateTopic(ctx context.Context, req *pb.UpdateTopicRequest) (*pb.Topic, error)

UpdateTopic updates a topic with admin ACL check.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL