Documentation
¶
Index ¶
- type ComponentQuery
- type ComponentResult
- type KnowledgeClient
- func (kc *KnowledgeClient) Close() error
- func (kc *KnowledgeClient) GetComponentByName(name string) (*types.Component, error)
- func (kc *KnowledgeClient) GetComponentPackage(language, componentType, component string) (string, error)
- func (kc *KnowledgeClient) GetComponentsByLanguage(language string, limit, offset int) (*ComponentResult, error)
- func (kc *KnowledgeClient) GetComponentsByType(componentType string, limit, offset int) (*ComponentResult, error)
- func (kc *KnowledgeClient) GetCorePackages(language string) ([]string, error)
- func (kc *KnowledgeClient) GetInstrumentationPackage(language, instrumentation string) (string, error)
- func (kc *KnowledgeClient) GetPrerequisites(language string) ([]PrerequisiteRule, error)
- func (kc *KnowledgeClient) QueryComponents(query ComponentQuery) (*ComponentResult, error)
- type PrerequisiteRule
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComponentQuery ¶
type ComponentQuery struct {
Language string
Type string
Category string
Status string
SupportLevel string
Name string
Framework string // For instrumentation targets
MinDate time.Time
MaxDate time.Time
Limit int
Offset int
}
ComponentQuery represents a flexible query for components
type ComponentResult ¶
ComponentResult represents the result of a component query
type KnowledgeClient ¶
type KnowledgeClient struct {
// contains filtered or unexported fields
}
KnowledgeClient provides a unified interface to the knowledge base It only loads data on-demand to keep memory usage low
func NewKnowledgeClient ¶
func NewKnowledgeClient(dbPath string, logger logger.Logger) (*KnowledgeClient, error)
NewKnowledgeClient creates a new knowledge client
func (*KnowledgeClient) Close ¶
func (kc *KnowledgeClient) Close() error
Close closes the underlying storage connection
func (*KnowledgeClient) GetComponentByName ¶
func (kc *KnowledgeClient) GetComponentByName(name string) (*types.Component, error)
GetComponentByName returns a component by name
func (*KnowledgeClient) GetComponentPackage ¶
func (kc *KnowledgeClient) GetComponentPackage(language, componentType, component string) (string, error)
GetComponentPackage returns the package name for a specific component
func (*KnowledgeClient) GetComponentsByLanguage ¶
func (kc *KnowledgeClient) GetComponentsByLanguage(language string, limit, offset int) (*ComponentResult, error)
GetComponentsByLanguage returns components for a specific language with pagination
func (*KnowledgeClient) GetComponentsByType ¶
func (kc *KnowledgeClient) GetComponentsByType(componentType string, limit, offset int) (*ComponentResult, error)
GetComponentsByType returns components of a specific type with pagination
func (*KnowledgeClient) GetCorePackages ¶
func (kc *KnowledgeClient) GetCorePackages(language string) ([]string, error)
GetCorePackages returns core packages for a language
func (*KnowledgeClient) GetInstrumentationPackage ¶
func (kc *KnowledgeClient) GetInstrumentationPackage(language, instrumentation string) (string, error)
GetInstrumentationPackage returns the package name for a specific instrumentation
func (*KnowledgeClient) GetPrerequisites ¶
func (kc *KnowledgeClient) GetPrerequisites(language string) ([]PrerequisiteRule, error)
GetPrerequisites returns prerequisite rules for a language This is a simplified version - in practice, prerequisites would be derived from component metadata
func (*KnowledgeClient) QueryComponents ¶
func (kc *KnowledgeClient) QueryComponents(query ComponentQuery) (*ComponentResult, error)
QueryComponents provides flexible querying with pagination
type PrerequisiteRule ¶
type PrerequisiteRule struct {
If []string `json:"if"`
Requires []string `json:"requires"`
Unless []string `json:"unless"`
}
PrerequisiteRule defines instrumentation prerequisites (legacy compatibility)