package design import "context" type ResearchResult struct { Title string `json:"title"` URL string `json:"url"` Snippet string `json:"snippet"` } type ResearchReport struct { Kind string `json:"kind"` Source string `json:"source"` Query string `json:"query"` Results []ResearchResult `json:"results"` Error string `json:"error,omitempty"` } type Researcher interface { Research(ctx context.Context, prompt string) (ResearchReport, error) }