feat: add eyes reaction to trigger comment during review
This commit is contained in:
@@ -132,6 +132,41 @@ export async function main(): Promise<MainResult> {
|
||||
throw new Error("BOT_TOKEN environment variable is required");
|
||||
}
|
||||
|
||||
const triggerCommentId =
|
||||
payload.event.trigger === "issue_comment_created" ? payload.event.comment_id : undefined;
|
||||
let eyesAdded = false;
|
||||
|
||||
const addEyes = async () => {
|
||||
if (!triggerCommentId) return;
|
||||
try {
|
||||
await gitea.rest.issue.issuePostCommentReaction({
|
||||
owner: repoContext.owner,
|
||||
repo: repoContext.name,
|
||||
id: triggerCommentId,
|
||||
// @ts-expect-error — Gitea SDK type mismatch but endpoint is supported
|
||||
content: "eyes",
|
||||
});
|
||||
eyesAdded = true;
|
||||
} catch (err) {
|
||||
log.debug(`failed to add eyes reaction: ${err}`);
|
||||
}
|
||||
};
|
||||
|
||||
const removeEyes = async () => {
|
||||
if (!eyesAdded || !triggerCommentId) return;
|
||||
try {
|
||||
await gitea.rest.issue.issueDeleteCommentReaction({
|
||||
owner: repoContext.owner,
|
||||
repo: repoContext.name,
|
||||
id: triggerCommentId,
|
||||
// @ts-expect-error — Gitea SDK type mismatch but endpoint is supported
|
||||
content: "eyes",
|
||||
});
|
||||
} catch (err) {
|
||||
log.debug(`failed to remove eyes reaction: ${err}`);
|
||||
}
|
||||
};
|
||||
|
||||
let toolContext: ToolContext | undefined;
|
||||
let progressCallbackDisabled = false;
|
||||
let todoTracker: ReturnType<typeof createTodoTracker> | undefined;
|
||||
@@ -248,6 +283,8 @@ export async function main(): Promise<MainResult> {
|
||||
safetyNetTimer.unref?.();
|
||||
};
|
||||
|
||||
await addEyes();
|
||||
|
||||
const agentPromise = agents.ollama.run({
|
||||
payload,
|
||||
model: toolState.model,
|
||||
@@ -316,6 +353,7 @@ export async function main(): Promise<MainResult> {
|
||||
log.error(errorMessage);
|
||||
return { success: false, error: errorMessage };
|
||||
} finally {
|
||||
await removeEyes();
|
||||
activityTimeout?.stop();
|
||||
if (safetyNetTimer) clearTimeout(safetyNetTimer);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user