Merge pull request #1057 from klarkc/fix/research-pipeline-htmlUrl-to-url

fix: Replace htmlUrl with url in gh search repos query
This commit is contained in:
gsxdsm
2026-05-25 14:21:28 -07:00
committed by GitHub
2 changed files with 12 additions and 12 deletions

View File

@@ -29,7 +29,7 @@ describe("GitHubProvider", () => {
it("searches repositories", async () => { it("searches repositories", async () => {
runGhJsonAsyncMock.mockResolvedValueOnce([ runGhJsonAsyncMock.mockResolvedValueOnce([
{ fullName: "org/repo", description: "desc", htmlUrl: "https://github.com/org/repo", stargazersCount: 12, language: "ts", updatedAt: "2026" }, { fullName: "org/repo", description: "desc", url: "https://github.com/org/repo", stargazersCount: 12, language: "ts", updatedAt: "2026" },
]); ]);
const provider = new GitHubProvider(); const provider = new GitHubProvider();
@@ -41,7 +41,7 @@ describe("GitHubProvider", () => {
it("searches issues", async () => { it("searches issues", async () => {
runGhJsonAsyncMock.mockResolvedValueOnce([ runGhJsonAsyncMock.mockResolvedValueOnce([
{ title: "Issue", body: "body", htmlUrl: "https://github.com/org/repo/issues/1", state: "open", labels: [{ name: "bug" }] }, { title: "Issue", body: "body", url: "https://github.com/org/repo/issues/1", state: "open", labels: [{ name: "bug" }] },
]); ]);
const provider = new GitHubProvider(); const provider = new GitHubProvider();
@@ -52,8 +52,8 @@ describe("GitHubProvider", () => {
it("supports combined search", async () => { it("supports combined search", async () => {
runGhJsonAsyncMock runGhJsonAsyncMock
.mockResolvedValueOnce([{ fullName: "org/repo", htmlUrl: "https://github.com/org/repo" }]) .mockResolvedValueOnce([{ fullName: "org/repo", url: "https://github.com/org/repo" }])
.mockResolvedValueOnce([{ title: "Issue", htmlUrl: "https://github.com/org/repo/issues/1" }]); .mockResolvedValueOnce([{ title: "Issue", url: "https://github.com/org/repo/issues/1" }]);
const provider = new GitHubProvider(); const provider = new GitHubProvider();
const results = await provider.search("query", {}); const results = await provider.search("query", {});

View File

@@ -19,7 +19,7 @@ type SearchType = "repos" | "issues" | "both";
interface GitHubRepoResult { interface GitHubRepoResult {
fullName: string; fullName: string;
description?: string; description?: string;
htmlUrl: string; url: string;
stargazersCount?: number; stargazersCount?: number;
language?: string; language?: string;
updatedAt?: string; updatedAt?: string;
@@ -28,7 +28,7 @@ interface GitHubRepoResult {
interface GitHubIssueResult { interface GitHubIssueResult {
title: string; title: string;
body?: string; body?: string;
htmlUrl: string; url: string;
state?: string; state?: string;
labels?: Array<{ name?: string }>; labels?: Array<{ name?: string }>;
} }
@@ -60,7 +60,7 @@ export class GitHubProvider implements ResearchProvider {
"repos", "repos",
query, query,
"--json", "--json",
"fullName,description,htmlUrl,stargazersCount,language,updatedAt", "fullName,description,url,stargazersCount,language,updatedAt",
"--limit", "--limit",
String(maxResults), String(maxResults),
], ],
@@ -69,9 +69,9 @@ export class GitHubProvider implements ResearchProvider {
sources.push( sources.push(
...repos.slice(0, maxResults).map((repo, idx) => ({ ...repos.slice(0, maxResults).map((repo, idx) => ({
id: `github-repo-${idx}-${repo.htmlUrl}`, id: `github-repo-${idx}-${repo.url}`,
type: "github" as const, type: "github" as const,
reference: repo.htmlUrl, reference: repo.url,
title: repo.fullName, title: repo.fullName,
excerpt: repo.description ?? "", excerpt: repo.description ?? "",
status: "completed" as const, status: "completed" as const,
@@ -93,7 +93,7 @@ export class GitHubProvider implements ResearchProvider {
"issues", "issues",
query, query,
"--json", "--json",
"title,body,htmlUrl,state,labels", "title,body,url,state,labels",
"--limit", "--limit",
String(maxResults), String(maxResults),
], ],
@@ -102,9 +102,9 @@ export class GitHubProvider implements ResearchProvider {
sources.push( sources.push(
...issues.slice(0, maxResults).map((issue, idx) => ({ ...issues.slice(0, maxResults).map((issue, idx) => ({
id: `github-issue-${idx}-${issue.htmlUrl}`, id: `github-issue-${idx}-${issue.url}`,
type: "github" as const, type: "github" as const,
reference: issue.htmlUrl, reference: issue.url,
title: issue.title, title: issue.title,
excerpt: issue.body?.slice(0, 280) ?? "", excerpt: issue.body?.slice(0, 280) ?? "",
status: "completed" as const, status: "completed" as const,