Documentation
¶
Index ¶
- Variables
- type Error
- type PromptProvider
- type Provider
- type ProviderRegistry
- func (r *ProviderRegistry) GetPromptProviders() []PromptProvider
- func (r *ProviderRegistry) GetResourceProviders() []ResourceProvider
- func (r *ProviderRegistry) GetToolProviders() []ToolProvider
- func (r *ProviderRegistry) RegisterPromptProvider(provider PromptProvider)
- func (r *ProviderRegistry) RegisterProvider(provider Provider)
- func (r *ProviderRegistry) RegisterResourceProvider(provider ResourceProvider)
- func (r *ProviderRegistry) RegisterToolProvider(provider ToolProvider)
- type ResourceProvider
- type ToolProvider
Constants ¶
This section is empty.
Variables ¶
var ( ErrPromptNotFound = NewError("prompt not found", -32000) ErrResourceNotFound = NewError("resource not found", -32001) ErrToolNotFound = NewError("tool not found", -32002) ErrNotImplemented = NewError("not implemented", -32003) )
Common errors
Functions ¶
This section is empty.
Types ¶
type Error ¶
Error represents a protocol error with a code and message
type PromptProvider ¶
type PromptProvider interface {
// ListPrompts returns a list of available prompts with optional pagination
ListPrompts(cursor string) ([]protocol.Prompt, string, error)
// GetPrompt retrieves a specific prompt with the given arguments
GetPrompt(name string, arguments map[string]string) (*protocol.PromptMessage, error)
}
PromptProvider defines the interface for serving prompts
type Provider ¶
type Provider interface {
PromptProvider
ResourceProvider
ToolProvider
}
Provider combines all provider interfaces
type ProviderRegistry ¶
type ProviderRegistry struct {
// contains filtered or unexported fields
}
ProviderRegistry manages a list of providers
func NewProviderRegistry ¶
func NewProviderRegistry() *ProviderRegistry
NewProviderRegistry creates a new provider registry
func (*ProviderRegistry) GetPromptProviders ¶
func (r *ProviderRegistry) GetPromptProviders() []PromptProvider
GetPromptProviders returns all registered prompt providers
func (*ProviderRegistry) GetResourceProviders ¶
func (r *ProviderRegistry) GetResourceProviders() []ResourceProvider
GetResourceProviders returns all registered resource providers
func (*ProviderRegistry) GetToolProviders ¶
func (r *ProviderRegistry) GetToolProviders() []ToolProvider
GetToolProviders returns all registered tool providers
func (*ProviderRegistry) RegisterPromptProvider ¶
func (r *ProviderRegistry) RegisterPromptProvider(provider PromptProvider)
RegisterPromptProvider adds a prompt provider to the registry
func (*ProviderRegistry) RegisterProvider ¶
func (r *ProviderRegistry) RegisterProvider(provider Provider)
RegisterProvider adds a combined provider to the registry
func (*ProviderRegistry) RegisterResourceProvider ¶
func (r *ProviderRegistry) RegisterResourceProvider(provider ResourceProvider)
RegisterResourceProvider adds a resource provider to the registry
func (*ProviderRegistry) RegisterToolProvider ¶
func (r *ProviderRegistry) RegisterToolProvider(provider ToolProvider)
RegisterToolProvider adds a tool provider to the registry
type ResourceProvider ¶
type ResourceProvider interface {
// ListResources returns a list of available resources with optional pagination
ListResources(cursor string) ([]protocol.Resource, string, error)
// ReadResource retrieves the contents of a specific resource
ReadResource(uri string) (*protocol.ResourceContent, error)
// ListResourceTemplates returns a list of available resource templates
ListResourceTemplates() ([]protocol.ResourceTemplate, error)
// SubscribeToResource registers for notifications about resource changes
// Returns a channel that will receive notifications and a cleanup function
SubscribeToResource(uri string) (chan struct{}, func(), error)
}
ResourceProvider defines the interface for serving resources
type ToolProvider ¶
type ToolProvider interface {
// ListTools returns a list of available tools with optional pagination
ListTools(cursor string) ([]protocol.Tool, string, error)
// CallTool invokes a specific tool with the given arguments
CallTool(ctx context.Context, name string, arguments map[string]interface{}) (*protocol.ToolResult, error)
}
ToolProvider defines the interface for serving tools