Documentation
¶
Overview ¶
internal/memory/k8s_manager.go
internal/memory/mcp_server.go
internal/memory/mcp_tools.go
internal/memory/memory_store.go
Index ¶
- type Entity
- type K8sManager
- func (m *K8sManager) GetLogs() (string, error)
- func (m *K8sManager) GetMemoryInfo() (*MemoryInfo, error)
- func (m *K8sManager) Restart() error
- func (m *K8sManager) SetConfigFile(configFile string)
- func (m *K8sManager) Start() error
- func (m *K8sManager) Status() (string, error)
- func (m *K8sManager) Stop() error
- type KnowledgeGraph
- type MCPContent
- type MCPError
- type MCPMemoryServer
- type MCPMemoryTools
- type MCPRequest
- type MCPResponse
- type MCPToolCallRequest
- type MCPToolCallResponse
- type MCPToolDefinition
- type MCPToolsListResponse
- type MemoryInfo
- type MemoryStore
- func (ms *MemoryStore) AddObservations(observations map[string][]string) error
- func (ms *MemoryStore) Close() error
- func (ms *MemoryStore) CreateEntities(entities []Entity) error
- func (ms *MemoryStore) CreateRelations(relations []Relation) error
- func (ms *MemoryStore) DeleteEntities(entityNames []string) error
- func (ms *MemoryStore) DeleteObservations(deletions map[string][]string) error
- func (ms *MemoryStore) DeleteRelations(relations []Relation) error
- func (ms *MemoryStore) GetStats() (map[string]interface{}, error)
- func (ms *MemoryStore) HealthCheck() error
- func (ms *MemoryStore) OpenNodes(names []string) ([]Entity, error)
- func (ms *MemoryStore) ReadGraph() (*KnowledgeGraph, error)
- func (ms *MemoryStore) SearchNodes(query string) ([]SearchResult, error)
- type Relation
- type SearchResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Entity ¶
type Entity struct {
Name string `json:"name"`
EntityType string `json:"entityType"`
Observations []string `json:"observations"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
}
Entity represents a named entity in the knowledge graph
type K8sManager ¶
type K8sManager struct {
// contains filtered or unexported fields
}
K8sManager is a system manager for the memory service
func NewK8sManager ¶
func NewK8sManager(cfg *config.ComposeConfig, k8sClient client.Client, namespace string) *K8sManager
NewK8sManager creates a new system memory manager
func NewManagerFromConfig ¶
func NewManagerFromConfig(cfg *config.ComposeConfig, k8sClient client.Client, namespace string) *K8sManager
Helper function to convert the old Manager interface to the new K8sManager
func (*K8sManager) GetLogs ¶
func (m *K8sManager) GetLogs() (string, error)
GetLogs returns logs from the memory service (placeholder for future implementation)
func (*K8sManager) GetMemoryInfo ¶
func (m *K8sManager) GetMemoryInfo() (*MemoryInfo, error)
GetMemoryInfo returns detailed information about the memory service
func (*K8sManager) Restart ¶
func (m *K8sManager) Restart() error
Restart restarts the memory service
func (*K8sManager) SetConfigFile ¶
func (m *K8sManager) SetConfigFile(configFile string)
SetConfigFile sets the configuration file path
func (*K8sManager) Start ¶
func (m *K8sManager) Start() error
Start starts the memory service using Kubernetes resources
func (*K8sManager) Status ¶
func (m *K8sManager) Status() (string, error)
Status returns the status of the memory service
type KnowledgeGraph ¶
type KnowledgeGraph struct {
Entities []Entity `json:"entities"`
Relations []Relation `json:"relations"`
}
KnowledgeGraph represents the complete graph structure
type MCPContent ¶
MCPContent represents MCP content
type MCPError ¶
type MCPError struct {
Code int `json:"code"`
Message string `json:"message"`
Data interface{} `json:"data,omitempty"`
}
MCPError represents an MCP protocol error
type MCPMemoryServer ¶
type MCPMemoryServer struct {
// contains filtered or unexported fields
}
MCPMemoryServer provides HTTP/SSE/WebSocket endpoints for memory MCP tools
func NewMCPMemoryServer ¶
func NewMCPMemoryServer(store *MemoryStore, logger logr.Logger) *MCPMemoryServer
func (*MCPMemoryServer) BroadcastToClients ¶
func (s *MCPMemoryServer) BroadcastToClients(message interface{})
BroadcastToClients sends a message to all connected WebSocket clients
func (*MCPMemoryServer) GetClientIDs ¶
func (s *MCPMemoryServer) GetClientIDs() []string
GetClientIDs returns a list of connected client IDs
func (*MCPMemoryServer) GetServerInfo ¶
func (s *MCPMemoryServer) GetServerInfo() map[string]interface{}
GetServerInfo returns information about the MCP server
func (*MCPMemoryServer) Stop ¶
func (s *MCPMemoryServer) Stop() error
type MCPMemoryTools ¶
type MCPMemoryTools struct {
// contains filtered or unexported fields
}
MCPMemoryTools provides MCP protocol tools for memory management
func NewMCPMemoryTools ¶
func NewMCPMemoryTools(store *MemoryStore, logger logr.Logger) *MCPMemoryTools
func (*MCPMemoryTools) ExecuteMCPTool ¶
func (mt *MCPMemoryTools) ExecuteMCPTool(ctx context.Context, toolName string, parameters map[string]interface{}) (map[string]interface{}, error)
ExecuteMCPTool executes an MCP tool with the given parameters
func (*MCPMemoryTools) GetMCPTools ¶
func (mt *MCPMemoryTools) GetMCPTools() []MCPToolDefinition
GetMCPTools returns all available memory MCP tools
type MCPRequest ¶
type MCPRequest struct {
JSONRPC string `json:"jsonrpc"`
ID interface{} `json:"id"`
Method string `json:"method"`
Params map[string]interface{} `json:"params,omitempty"`
}
MCPRequest represents an MCP protocol request
type MCPResponse ¶
type MCPResponse struct {
JSONRPC string `json:"jsonrpc"`
ID interface{} `json:"id"`
Result interface{} `json:"result,omitempty"`
Error *MCPError `json:"error,omitempty"`
}
MCPResponse represents an MCP protocol response
type MCPToolCallRequest ¶
type MCPToolCallRequest struct {
Name string `json:"name"`
Arguments map[string]interface{} `json:"arguments,omitempty"`
}
MCPToolCallRequest represents a tool call request
type MCPToolCallResponse ¶
type MCPToolCallResponse struct {
Content []MCPContent `json:"content"`
}
MCPToolCallResponse represents a tool call response
type MCPToolDefinition ¶
type MCPToolDefinition struct {
Name string `json:"name"`
Description string `json:"description"`
InputSchema map[string]interface{} `json:"inputSchema"`
}
MCPToolDefinition represents an MCP tool definition for memory
type MCPToolsListResponse ¶
type MCPToolsListResponse struct {
Tools []MCPToolDefinition `json:"tools"`
}
MCPToolsListResponse represents the response to tools/list
type MemoryInfo ¶
type MemoryInfo struct {
Status string `json:"status"`
ReadyReplicas int32 `json:"readyReplicas"`
TotalReplicas int32 `json:"totalReplicas"`
PostgresStatus string `json:"postgresStatus"`
Conditions []string `json:"conditions"`
Endpoint string `json:"endpoint,omitempty"`
}
MemoryInfo represents detailed information about the memory service
type MemoryStore ¶
type MemoryStore struct {
// contains filtered or unexported fields
}
MemoryStore provides PostgreSQL-backed knowledge graph storage
func NewMemoryStore ¶
func NewMemoryStore(databaseURL string, logger logr.Logger) (*MemoryStore, error)
func (*MemoryStore) AddObservations ¶
func (ms *MemoryStore) AddObservations(observations map[string][]string) error
AddObservations adds new observations to existing entities
func (*MemoryStore) Close ¶
func (ms *MemoryStore) Close() error
func (*MemoryStore) CreateEntities ¶
func (ms *MemoryStore) CreateEntities(entities []Entity) error
CreateEntities creates multiple entities in the knowledge graph
func (*MemoryStore) CreateRelations ¶
func (ms *MemoryStore) CreateRelations(relations []Relation) error
CreateRelations creates typed relationships between entities
func (*MemoryStore) DeleteEntities ¶
func (ms *MemoryStore) DeleteEntities(entityNames []string) error
DeleteEntities deletes entities and their associated data
func (*MemoryStore) DeleteObservations ¶
func (ms *MemoryStore) DeleteObservations(deletions map[string][]string) error
DeleteObservations removes specific observations from entities
func (*MemoryStore) DeleteRelations ¶
func (ms *MemoryStore) DeleteRelations(relations []Relation) error
DeleteRelations removes specific relationships
func (*MemoryStore) GetStats ¶
func (ms *MemoryStore) GetStats() (map[string]interface{}, error)
GetStats returns statistics about the knowledge graph
func (*MemoryStore) HealthCheck ¶
func (ms *MemoryStore) HealthCheck() error
HealthCheck verifies database connectivity
func (*MemoryStore) OpenNodes ¶
func (ms *MemoryStore) OpenNodes(names []string) ([]Entity, error)
OpenNodes retrieves specific nodes by their names
func (*MemoryStore) ReadGraph ¶
func (ms *MemoryStore) ReadGraph() (*KnowledgeGraph, error)
ReadGraph retrieves the entire knowledge graph
func (*MemoryStore) SearchNodes ¶
func (ms *MemoryStore) SearchNodes(query string) ([]SearchResult, error)
SearchNodes searches for nodes using full-text search
type Relation ¶
type Relation struct {
From string `json:"from"`
To string `json:"to"`
RelationType string `json:"relationType"`
CreatedAt time.Time `json:"createdAt"`
}
Relation represents a typed relationship between entities
type SearchResult ¶
type SearchResult struct {
Entity Entity `json:"entity"`
Relevance float64 `json:"relevance"`
Matches []string `json:"matches"`
}
SearchResult represents search results with relevance