Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend interface {
// Name returns the unique identifier for this backend
Name() string
// Extract fetches and extracts content from a URL
Extract(ctx context.Context, url string, format string) (*ExtractResult, error)
// IsAvailable checks if the backend is properly configured
IsAvailable() bool
}
Backend is the interface for content extraction backends
type ExtractResult ¶
type ExtractResult struct {
URL string
Title string
Content string // Extracted content (plain text or markdown depending on backend)
}
ExtractResult holds the output of a content extraction
type JinaBackend ¶
type JinaBackend struct {
APIKey string // Optional - works without auth but with rate limits
Timeout time.Duration
BaseURL string // overridable for testing (default: https://r.jina.ai/)
// contains filtered or unexported fields
}
JinaBackend extracts content using Jina Reader API (r.jina.ai)
func NewJinaBackend ¶
func NewJinaBackend(apiKey string, timeout time.Duration) *JinaBackend
NewJinaBackend creates a new Jina Reader extraction backend
func (*JinaBackend) Extract ¶
func (j *JinaBackend) Extract(ctx context.Context, url string, format string) (*ExtractResult, error)
Extract fetches and extracts content from a URL using Jina Reader
func (*JinaBackend) IsAvailable ¶
func (j *JinaBackend) IsAvailable() bool
IsAvailable always returns true - Jina Reader works without an API key
type TavilyBackend ¶
type TavilyBackend struct {
APIKey string
ExtractDepth string // "basic" or "advanced"
Timeout time.Duration
BaseURL string // overridable for testing
// contains filtered or unexported fields
}
TavilyBackend extracts content using Tavily Extract API
func NewTavilyBackend ¶
func NewTavilyBackend(apiKey, extractDepth string, timeout time.Duration) *TavilyBackend
NewTavilyBackend creates a new Tavily extraction backend
func (*TavilyBackend) Extract ¶
func (t *TavilyBackend) Extract(ctx context.Context, url string, format string) (*ExtractResult, error)
Extract fetches and extracts content from a URL using Tavily
func (*TavilyBackend) IsAvailable ¶
func (t *TavilyBackend) IsAvailable() bool
IsAvailable checks if the Tavily API key is configured
func (*TavilyBackend) Name ¶
func (t *TavilyBackend) Name() string
Name returns the backend identifier