Refactor safe output handlers into single-step processor with handler manager #6908
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Safe output processing used 20+ individual steps per job. This consolidates all safe output types into a single step with a handler manager that dispatches messages and coordinates temporary ID sharing.
Architecture Changes
Before:
After:
Implementation
safe_output_handler_manager.cjs: Registry and dispatcher for message types. Handlers register once, manager routes each message to appropriate handler and accumulates temporary IDs.safe_outputs_processor_main.cjs: Single entry point. Loads agent output once, processes all items sequentially, maintains all job outputs for backward compatibility.create_issue_handler.cjs: Example refactored handler. Returns{success, temporaryIds, data}instead of callingmain().buildUnifiedSafeOutputsJob(): Go compiler function that replacesbuildConsolidatedSafeOutputsJob(). Aggregates permissions from all enabled safe output types, builds single processing step.Handler Pattern
Notes
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.