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");
|
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 toolContext: ToolContext | undefined;
|
||||||
let progressCallbackDisabled = false;
|
let progressCallbackDisabled = false;
|
||||||
let todoTracker: ReturnType<typeof createTodoTracker> | undefined;
|
let todoTracker: ReturnType<typeof createTodoTracker> | undefined;
|
||||||
@@ -248,6 +283,8 @@ export async function main(): Promise<MainResult> {
|
|||||||
safetyNetTimer.unref?.();
|
safetyNetTimer.unref?.();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
await addEyes();
|
||||||
|
|
||||||
const agentPromise = agents.ollama.run({
|
const agentPromise = agents.ollama.run({
|
||||||
payload,
|
payload,
|
||||||
model: toolState.model,
|
model: toolState.model,
|
||||||
@@ -316,6 +353,7 @@ export async function main(): Promise<MainResult> {
|
|||||||
log.error(errorMessage);
|
log.error(errorMessage);
|
||||||
return { success: false, error: errorMessage };
|
return { success: false, error: errorMessage };
|
||||||
} finally {
|
} finally {
|
||||||
|
await removeEyes();
|
||||||
activityTimeout?.stop();
|
activityTimeout?.stop();
|
||||||
if (safetyNetTimer) clearTimeout(safetyNetTimer);
|
if (safetyNetTimer) clearTimeout(safetyNetTimer);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user