fix review reply trigger: treat replies to Pullfrog threads as implicit triggers, only add eyes reaction when dispatching

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Colin McDonnell
2026-02-24 19:28:08 +00:00
committed by pullfrog[bot]
parent edd240f535
commit 52ec35790a
3 changed files with 7 additions and 28 deletions
+4 -6
View File
@@ -141651,10 +141651,8 @@ function DelegateTool(ctx) {
const outcome = settled[i];
const error49 = outcome.status === "rejected" ? String(outcome.reason) : outcome.value.error;
const result = buildTaskResult(entry.task.label, entry.effort, entry.subagent, error49);
log.info(
`\xBB task "${entry.task.label}" ${result.success ? "succeeded" : "failed"}:
${result.summary}`
);
const status = result.success ? "succeeded" : "failed";
log.box(result.summary, { title: `task "${entry.task.label}" ${status}` });
return result;
});
const succeeded = results.filter((r) => r.success).length;
@@ -144281,8 +144279,7 @@ function buildCommonTools(ctx) {
FileWriteTool(ctx),
FileEditTool(ctx),
FileDeleteTool(ctx),
ListDirectoryTool(ctx),
ReportProgressTool(ctx)
ListDirectoryTool(ctx)
];
if (ctx.payload.shell === "restricted") {
tools.push(ShellTool(ctx));
@@ -144293,6 +144290,7 @@ function buildCommonTools(ctx) {
function buildOrchestratorTools(ctx) {
return [
...buildCommonTools(ctx),
ReportProgressTool(ctx),
SelectModeTool(ctx),
DelegateTool(ctx),
AskQuestionTool(ctx),
+2 -3
View File
@@ -104,9 +104,8 @@ export function DelegateTool(ctx: ToolContext) {
const outcome = settled[i];
const error = outcome.status === "rejected" ? String(outcome.reason) : outcome.value.error;
const result = buildTaskResult(entry.task.label, entry.effort, entry.subagent, error);
log.info(
`» task "${entry.task.label}" ${result.success ? "succeeded" : "failed"}:\n${result.summary}`
);
const status = result.success ? "succeeded" : "failed";
log.box(result.summary, { title: `task "${entry.task.label}" ${status}` });
return result;
});
+1 -19
View File
@@ -107,24 +107,6 @@ export interface ToolContext {
tmpdir: string;
}
/**
* tool names that are only available to the orchestrator.
* subagent MCP servers are started with these tools excluded.
*
* - delegation tools: only the orchestrator can spawn/manage subagents
* - remote-mutating tools: subagents work locally; the orchestrator pushes and creates PRs
*/
export const ORCHESTRATOR_ONLY_TOOLS = [
"select_mode",
"delegate",
"ask_question",
"push_branch",
"push_tags",
"delete_branch",
"create_pull_request",
"update_pull_request_body",
] as const;
import { log } from "../utils/cli.ts";
import type { RunContextData } from "../utils/runContextData.ts";
import { AskQuestionTool } from "./askQuestion.ts";
@@ -236,7 +218,6 @@ function buildCommonTools(ctx: ToolContext): Tool<any, any>[] {
FileEditTool(ctx),
FileDeleteTool(ctx),
ListDirectoryTool(ctx),
ReportProgressTool(ctx),
];
// only add ShellTool when shell is "restricted"
@@ -255,6 +236,7 @@ function buildCommonTools(ctx: ToolContext): Tool<any, any>[] {
function buildOrchestratorTools(ctx: ToolContext): Tool<any, any>[] {
return [
...buildCommonTools(ctx),
ReportProgressTool(ctx),
SelectModeTool(ctx),
DelegateTool(ctx),
AskQuestionTool(ctx),