add get_issue tools

This commit is contained in:
David Blass
2025-11-26 17:24:37 -05:00
parent e54e7f1353
commit 007bc8a611
5 changed files with 190 additions and 1 deletions
+35
View File
@@ -0,0 +1,35 @@
import { type } from "arktype";
import { contextualize, tool } from "./shared.ts";
export const GetIssueComments = type({
issue_number: type.number.describe("The issue number to get comments for"),
});
export const GetIssueCommentsTool = tool({
name: "get_issue_comments",
description: "Get all comments for a GitHub issue. Returns all comments including the issue body and all subsequent discussion comments.",
parameters: GetIssueComments,
execute: contextualize(async ({ issue_number }, ctx) => {
const comments = await ctx.octokit.paginate(ctx.octokit.rest.issues.listComments, {
owner: ctx.owner,
repo: ctx.name,
issue_number,
});
return {
issue_number,
comments: comments.map((comment) => ({
id: comment.id,
body: comment.body,
user: comment.user?.login,
created_at: comment.created_at,
updated_at: comment.updated_at,
html_url: comment.html_url,
author_association: comment.author_association,
reactions: comment.reactions,
})),
count: comments.length,
};
}),
});