Versions in this module Expand all Collapse all v0 v0.3.0 May 26, 2026 v0.2.1 May 26, 2026 Changes in this version + func BuildSearchContext(similar []*SimilarIssue) string + func ExtractCode(body string, rawURL string) string + func ExtractHTML(body string) (title, content string) + func ExtractJSON(body string) string + func ExtractMarkdown(body string) string + func FormatIssueResults(similar []*SimilarIssue) string + func SuggestResolution(similar []*SimilarIssue) string + type Issue struct + Body string + ClosedAt *time.Time + CreatedAt time.Time + ID string + Labels []string + Resolution string + State string + Title string + Tokens []string + type IssueIndex struct + InvertedIndex map[string][]int + Issues []*Issue + func NewIssueIndex() *IssueIndex + func (idx *IssueIndex) AddIssue(issue *Issue) + func (idx *IssueIndex) FindSimilar(query string, limit int) []*SimilarIssue + func (idx *IssueIndex) ImportFromCommits(projectDir string) error + func (idx *IssueIndex) ImportFromGitHub(projectDir string) error + type ResearchAgent struct + MaxWorkers int + Results []ResearchResult + Timeout time.Duration + func NewResearchAgent(maxWorkers int) *ResearchAgent + func (ra *ResearchAgent) DecomposeQuestion(question string) []string + func (ra *ResearchAgent) FormatResult(result *ResearchResult) string + func (ra *ResearchAgent) ParallelSearch(ctx context.Context, queries []string, searchFn func(string) (string, error)) []ResearchFinding + func (ra *ResearchAgent) RankFindings(findings []ResearchFinding, query string) []ResearchFinding + func (ra *ResearchAgent) Research(ctx context.Context, query ResearchQuery, ...) (*ResearchResult, error) + func (ra *ResearchAgent) Synthesize(findings []ResearchFinding, query string) string + type ResearchFinding struct + Confidence float64 + Content string + Relevance float64 + Source string + type ResearchQuery struct + MaxTokens int + Question string + Sources []string + SubQuestions []string + type ResearchResult struct + Duration time.Duration + Findings []ResearchFinding + Query string + Sources []string + TotalTokens int + type ScrapeResult struct + Content string + ContentType string + FetchedAt time.Time + StatusCode int + Title string + TokenEstimate int + URL string + type SimilarIssue struct + Issue *Issue + MatchingTerms []string + Score float64 + type URLScraper struct + Cache map[string]*ScrapeResult + Enabled bool + MaxSize int64 + Timeout time.Duration + UserAgent string + func NewURLScraper() *URLScraper + func (s *URLScraper) CacheGet(rawURL string) *ScrapeResult + func (s *URLScraper) CacheSet(rawURL string, result *ScrapeResult) + func (s *URLScraper) DetectURLs(text string) []string + func (s *URLScraper) Fetch(ctx context.Context, rawURL string) (*ScrapeResult, error) + func (s *URLScraper) FormatForContext(result *ScrapeResult, maxTokens int) string + func (s *URLScraper) ShouldAutoFetch(rawURL string) bool