From bc0ea0ab41694609885dddb88f7a8e13170907c8 Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Tue, 22 Sep 2026 11:06:14 +0000
Subject: [PATCH 01/43] Add update-pull-request safe output
Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
---
src/compile/common.rs | 5 +
src/compile/types.rs | 22 +
src/execute.rs | 6 +-
src/inspect/catalog.rs | 1 +
src/mcp.rs | 21 +-
src/safe_outputs/mod.rs | 4 +
src/safe_outputs/update_pull_request.rs | 687 ++++++++++++++++++++++++
7 files changed, 740 insertions(+), 6 deletions(-)
create mode 100644 src/safe_outputs/update_pull_request.rs
diff --git a/src/compile/common.rs b/src/compile/common.rs
index b24239e47..53dda72e0 100644
--- a/src/compile/common.rs
+++ b/src/compile/common.rs
@@ -2427,6 +2427,11 @@ pub fn validate_github_issue_outputs_config(front_matter: &FrontMatter) -> Resul
crate::safe_outputs::validate_update_github_issue_config(&config)?;
}
}
+ "update-pull-request" => {
+ if let Some(config) = front_matter.update_pull_request_config()? {
+ crate::safe_outputs::validate_update_pull_request_config(&config)?;
+ }
+ }
"set-github-issue-field" => {
if let Some(config) = front_matter.set_github_issue_field_config()? {
crate::safe_outputs::validate_set_github_issue_field_config(&config)?;
diff --git a/src/compile/types.rs b/src/compile/types.rs
index 08eb3afe4..7057c6664 100644
--- a/src/compile/types.rs
+++ b/src/compile/types.rs
@@ -709,6 +709,7 @@ pub const SAFE_OUTPUTS_GITHUB_ACTOR_LOGIN_ENV: &str = "ADO_AW_GITHUB_ACTOR_LOGIN
/// intentionally does not depend on the safe-output module registry.
pub const GITHUB_ISSUE_SAFE_OUTPUT_TOOLS: &[&str] = &[
"create-github-issue",
+ "update-pull-request",
"set-github-issue-type",
"comment-on-github-issue",
"hide-github-issue-comment",
@@ -2297,6 +2298,12 @@ impl FrontMatter {
self.typed_safe_output_config("update-github-issue")
}
+ pub fn update_pull_request_config(
+ &self,
+ ) -> anyhow::Result