plugin_services

package
v2.2.1 Latest Latest
Warning

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

Go to latest
Published: Oct 2, 2026 License: AGPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddPluginIDToContext

func AddPluginIDToContext(ctx context.Context, pluginID uint) context.Context

func GetPluginIDFromContext

func GetPluginIDFromContext(ctx context.Context) (uint, bool)

Types

type AIStudioServiceProvider

type AIStudioServiceProvider interface {
	// Plugin Management Operations
	ListPlugins(ctx context.Context, req *pb.ListPluginsRequest) (*pb.ListPluginsResponse, error)
	GetPlugin(ctx context.Context, req *pb.GetPluginRequest) (*pb.GetPluginResponse, error)
	UpdatePluginConfig(ctx context.Context, req *pb.UpdatePluginConfigRequest) (*pb.UpdatePluginConfigResponse, error)

	// LLM Management Operations
	ListLLMs(ctx context.Context, req *pb.ListLLMsRequest) (*pb.ListLLMsResponse, error)
	GetLLM(ctx context.Context, req *pb.GetLLMRequest) (*pb.GetLLMResponse, error)
	GetLLMPlugins(ctx context.Context, req *pb.GetLLMPluginsRequest) (*pb.GetLLMPluginsResponse, error)
	CreateLLM(ctx context.Context, req *pb.CreateLLMRequest) (*pb.CreateLLMResponse, error)
	UpdateLLM(ctx context.Context, req *pb.UpdateLLMRequest) (*pb.UpdateLLMResponse, error)
	DeleteLLM(ctx context.Context, req *pb.DeleteLLMRequest) (*pb.DeleteLLMResponse, error)

	// Analytics Operations
	GetAnalyticsSummary(ctx context.Context, req *pb.GetAnalyticsSummaryRequest) (*pb.GetAnalyticsSummaryResponse, error)
	GetUsageStatistics(ctx context.Context, req *pb.GetUsageStatisticsRequest) (*pb.GetUsageStatisticsResponse, error)
	GetCostAnalysis(ctx context.Context, req *pb.GetCostAnalysisRequest) (*pb.GetCostAnalysisResponse, error)
	GetChatRecordsPerDay(ctx context.Context, req *pb.GetChatRecordsPerDayRequest) (*pb.GetChatRecordsPerDayResponse, error)
	GetModelUsage(ctx context.Context, req *pb.GetModelUsageRequest) (*pb.GetModelUsageResponse, error)
	GetVendorUsage(ctx context.Context, req *pb.GetVendorUsageRequest) (*pb.GetVendorUsageResponse, error)
	GetTokenUsagePerApp(ctx context.Context, req *pb.GetTokenUsagePerAppRequest) (*pb.GetTokenUsagePerAppResponse, error)
	GetToolUsageStatistics(ctx context.Context, req *pb.GetToolUsageStatisticsRequest) (*pb.GetToolUsageStatisticsResponse, error)

	// App Management Operations
	ListApps(ctx context.Context, req *pb.ListAppsRequest) (*pb.ListAppsResponse, error)
	GetApp(ctx context.Context, req *pb.GetAppRequest) (*pb.GetAppResponse, error)
	CreateApp(ctx context.Context, req *pb.CreateAppRequest) (*pb.CreateAppResponse, error)
	UpdateApp(ctx context.Context, req *pb.UpdateAppRequest) (*pb.UpdateAppResponse, error)
	DeleteApp(ctx context.Context, req *pb.DeleteAppRequest) (*pb.DeleteAppResponse, error)

	// Tool Management Operations
	ListTools(ctx context.Context, req *pb.ListToolsRequest) (*pb.ListToolsResponse, error)
	GetTool(ctx context.Context, req *pb.GetToolRequest) (*pb.GetToolResponse, error)
	GetToolOperations(ctx context.Context, req *pb.GetToolOperationsRequest) (*pb.GetToolOperationsResponse, error)
	CallToolOperation(ctx context.Context, req *pb.CallToolOperationRequest) (*pb.CallToolOperationResponse, error)
	CreateTool(ctx context.Context, req *pb.CreateToolRequest) (*pb.CreateToolResponse, error)
	UpdateTool(ctx context.Context, req *pb.UpdateToolRequest) (*pb.UpdateToolResponse, error)
	DeleteTool(ctx context.Context, req *pb.DeleteToolRequest) (*pb.DeleteToolResponse, error)

	// Datasource Management Operations
	ListDatasources(ctx context.Context, req *pb.ListDatasourcesRequest) (*pb.ListDatasourcesResponse, error)
	GetDatasource(ctx context.Context, req *pb.GetDatasourceRequest) (*pb.GetDatasourceResponse, error)
	CreateDatasource(ctx context.Context, req *pb.CreateDatasourceRequest) (*pb.CreateDatasourceResponse, error)
	UpdateDatasource(ctx context.Context, req *pb.UpdateDatasourceRequest) (*pb.UpdateDatasourceResponse, error)
	DeleteDatasource(ctx context.Context, req *pb.DeleteDatasourceRequest) (*pb.DeleteDatasourceResponse, error)
	SearchDatasources(ctx context.Context, req *pb.SearchDatasourcesRequest) (*pb.SearchDatasourcesResponse, error)
	ProcessDatasourceEmbeddings(ctx context.Context, req *pb.ProcessEmbeddingsRequest) (*pb.ProcessEmbeddingsResponse, error)

	// Data Catalogues Management Operations
	ListDataCatalogues(ctx context.Context, req *pb.ListDataCataloguesRequest) (*pb.ListDataCataloguesResponse, error)
	GetDataCatalogue(ctx context.Context, req *pb.GetDataCatalogueRequest) (*pb.GetDataCatalogueResponse, error)
	CreateDataCatalogue(ctx context.Context, req *pb.CreateDataCatalogueRequest) (*pb.CreateDataCatalogueResponse, error)
	UpdateDataCatalogue(ctx context.Context, req *pb.UpdateDataCatalogueRequest) (*pb.UpdateDataCatalogueResponse, error)
	DeleteDataCatalogue(ctx context.Context, req *pb.DeleteDataCatalogueRequest) (*pb.DeleteDataCatalogueResponse, error)

	// Tags Management Operations
	ListTags(ctx context.Context, req *pb.ListTagsRequest) (*pb.ListTagsResponse, error)
	GetTag(ctx context.Context, req *pb.GetTagRequest) (*pb.GetTagResponse, error)
	CreateTag(ctx context.Context, req *pb.CreateTagRequest) (*pb.CreateTagResponse, error)
	UpdateTag(ctx context.Context, req *pb.UpdateTagRequest) (*pb.UpdateTagResponse, error)
	DeleteTag(ctx context.Context, req *pb.DeleteTagRequest) (*pb.DeleteTagResponse, error)
	SearchTags(ctx context.Context, req *pb.SearchTagsRequest) (*pb.SearchTagsResponse, error)

	// Model Price Management Operations (Critical Priority)
	ListModelPrices(ctx context.Context, req *pb.ListModelPricesRequest) (*pb.ListModelPricesResponse, error)
	GetModelPrice(ctx context.Context, req *pb.GetModelPriceRequest) (*pb.GetModelPriceResponse, error)
	CreateModelPrice(ctx context.Context, req *pb.CreateModelPriceRequest) (*pb.CreateModelPriceResponse, error)
	UpdateModelPrice(ctx context.Context, req *pb.UpdateModelPriceRequest) (*pb.UpdateModelPriceResponse, error)
	DeleteModelPrice(ctx context.Context, req *pb.DeleteModelPriceRequest) (*pb.DeleteModelPriceResponse, error)
	GetModelPricesByVendor(ctx context.Context, req *pb.GetModelPricesByVendorRequest) (*pb.GetModelPricesByVendorResponse, error)

	// Filter Management Operations
	ListFilters(ctx context.Context, req *pb.ListFiltersRequest) (*pb.ListFiltersResponse, error)
	GetFilter(ctx context.Context, req *pb.GetFilterRequest) (*pb.GetFilterResponse, error)
	CreateFilter(ctx context.Context, req *pb.CreateFilterRequest) (*pb.CreateFilterResponse, error)
	UpdateFilter(ctx context.Context, req *pb.UpdateFilterRequest) (*pb.UpdateFilterResponse, error)
	DeleteFilter(ctx context.Context, req *pb.DeleteFilterRequest) (*pb.DeleteFilterResponse, error)

	// Vendor Information Operations
	GetAvailableLLMDrivers(ctx context.Context, req *pb.GetAvailableLLMDriversRequest) (*pb.GetAvailableLLMDriversResponse, error)
	GetAvailableEmbedders(ctx context.Context, req *pb.GetAvailableEmbeddersRequest) (*pb.GetAvailableEmbeddersResponse, error)
	GetAvailableVectorStores(ctx context.Context, req *pb.GetAvailableVectorStoresRequest) (*pb.GetAvailableVectorStoresResponse, error)
}

AIStudioServiceProvider defines the interface for AI Studio plugins to access management services This interface is dependency-free and can be implemented by any package

func NewWorkingServiceProviderAdapter

func NewWorkingServiceProviderAdapter(service interface{}, pluginID uint) AIStudioServiceProvider

NewWorkingServiceProviderAdapter creates a working service provider that actually calls real services

type ServiceProviderInjectable

type ServiceProviderInjectable interface {
	InjectServiceProvider(provider AIStudioServiceProvider)
}

ServiceProviderInjectable interface for plugins that can receive service providers

type WorkingServiceProviderAdapter

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

WorkingServiceProviderAdapter implements AIStudioServiceProvider by directly calling service methods This adapter works around the circular import issue by using interface{} and runtime type assertion

func (*WorkingServiceProviderAdapter) CallToolOperation

func (*WorkingServiceProviderAdapter) CreateApp

func (*WorkingServiceProviderAdapter) CreateDataCatalogue

func (*WorkingServiceProviderAdapter) CreateDatasource

func (*WorkingServiceProviderAdapter) CreateFilter

func (*WorkingServiceProviderAdapter) CreateLLM

func (*WorkingServiceProviderAdapter) CreateModelPrice

func (*WorkingServiceProviderAdapter) CreateTag

func (*WorkingServiceProviderAdapter) CreateTool

func (*WorkingServiceProviderAdapter) DeleteApp

func (*WorkingServiceProviderAdapter) DeleteDataCatalogue

func (*WorkingServiceProviderAdapter) DeleteDatasource

func (*WorkingServiceProviderAdapter) DeleteFilter

func (*WorkingServiceProviderAdapter) DeleteLLM

func (*WorkingServiceProviderAdapter) DeleteModelPrice

func (*WorkingServiceProviderAdapter) DeleteTag

func (*WorkingServiceProviderAdapter) DeleteTool

func (*WorkingServiceProviderAdapter) GetAnalyticsSummary

func (*WorkingServiceProviderAdapter) GetApp

func (*WorkingServiceProviderAdapter) GetAvailableEmbedders

func (*WorkingServiceProviderAdapter) GetAvailableLLMDrivers

func (*WorkingServiceProviderAdapter) GetAvailableVectorStores

func (*WorkingServiceProviderAdapter) GetChatRecordsPerDay

Placeholder implementations for other analytics methods

func (*WorkingServiceProviderAdapter) GetCostAnalysis

func (*WorkingServiceProviderAdapter) GetDataCatalogue

func (*WorkingServiceProviderAdapter) GetDatasource

func (*WorkingServiceProviderAdapter) GetFilter

func (*WorkingServiceProviderAdapter) GetLLM

func (*WorkingServiceProviderAdapter) GetLLMPlugins

func (*WorkingServiceProviderAdapter) GetModelPrice

func (*WorkingServiceProviderAdapter) GetModelPricesByVendor

func (*WorkingServiceProviderAdapter) GetModelUsage

func (*WorkingServiceProviderAdapter) GetPlugin

func (*WorkingServiceProviderAdapter) GetTag

func (*WorkingServiceProviderAdapter) GetTokenUsagePerApp

func (*WorkingServiceProviderAdapter) GetTool

func (*WorkingServiceProviderAdapter) GetToolOperations

func (*WorkingServiceProviderAdapter) GetToolUsageStatistics

func (*WorkingServiceProviderAdapter) GetUsageStatistics

func (*WorkingServiceProviderAdapter) GetVendorUsage

func (*WorkingServiceProviderAdapter) ListApps

func (*WorkingServiceProviderAdapter) ListDataCatalogues

func (*WorkingServiceProviderAdapter) ListDatasources

func (*WorkingServiceProviderAdapter) ListFilters

func (*WorkingServiceProviderAdapter) ListLLMs

func (*WorkingServiceProviderAdapter) ListModelPrices

func (*WorkingServiceProviderAdapter) ListPlugins

func (*WorkingServiceProviderAdapter) ListTags

func (*WorkingServiceProviderAdapter) ListTools

func (*WorkingServiceProviderAdapter) ProcessDatasourceEmbeddings

func (*WorkingServiceProviderAdapter) SearchDatasources

func (*WorkingServiceProviderAdapter) SearchTags

func (*WorkingServiceProviderAdapter) UpdateApp

func (*WorkingServiceProviderAdapter) UpdateDataCatalogue

func (*WorkingServiceProviderAdapter) UpdateDatasource

func (*WorkingServiceProviderAdapter) UpdateFilter

func (*WorkingServiceProviderAdapter) UpdateLLM

func (*WorkingServiceProviderAdapter) UpdateModelPrice

func (*WorkingServiceProviderAdapter) UpdatePluginConfig

func (*WorkingServiceProviderAdapter) UpdateTag

func (*WorkingServiceProviderAdapter) UpdateTool

Jump to

Keyboard shortcuts

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