Merge pull request #34 from framedparadox/main#35
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request expands the GitHub Copilot for Eclipse codebase with MuleSoft/Anypoint Studio-specific capabilities, including a new Anypoint integration bundle/feature, Mule-focused agent tools/prompts, and new chat context features (@console, @transform) plus related UI/theming refinements.
Changes:
- Add a new
com.microsoft.copilot.eclipse.anypointplugin + feature, including MuleSoft MCP registration and a preference page to configure it. - Add MuleSoft-oriented agent tools/prompts and new chat context processors (
@console,@transform), plus DataWeave (.dwl) content-type + formatting integration. - Update UI styling/background behavior and terminal shell integration markers; adjust build/target/repository/workflow assets for packaging.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pom.xml | Adds new Anypoint plugin + feature modules to the build. |
| docs/DEVELOPER_NOTES_MULESOFT_SUPPORT.md | New developer notes documenting MuleSoft support/hardening work. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/utils/UiUtils.java | Adds icon-button background inheritance support and paint/redraw adjustments. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/utils/PreferencesUtils.java | Adds helpers for console/transform context preference flags. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/swt/ItemController.java | Improves focused background painting and background propagation; disposes created colors. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/swt/DropdownPopup.java | Ensures popup background applied recursively (popup + hover). |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/swt/DropdownButton.java | Adds option to use parent background when not hovered. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/swt/CssConstants.java | Adds chat surface foreground/background color helpers. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/WrappableNoteLabel.java | Ensures preference note labels inherit parent background (including on resize). |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/WrappableIconLink.java | Ensures preference icon links inherit parent background (including on resize). |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/PreferencePageUtils.java | Adds helpers to inherit background and style text inputs for dark mode. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/messages.properties | Adds UI strings for console/transform context preferences. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/Messages.java | Adds NLS fields for new console/transform context strings. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/McpPreferencePage.java | Styles MCP-related text inputs for dark theme readability. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/LanguageServerSettingManager.java | Migrates stored MCP tool status to “simple” server names. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/GeneralPreferencesPage.java | Styles GitHub Enterprise text input for dark theme readability. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/CustomModesPreferencePage.java | Styles custom mode name text input for dark theme readability. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/CustomInstructionPreferencePage.java | Styles custom instruction text inputs for dark theme readability. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/CopilotPreferenceInitializer.java | Changes defaults for workspace/console/transform context preferences. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/ChatPreferencesPage.java | Adds preference toggles for console and transform context; styles numeric input. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/AddByokModelDialog.java | Styles BYOK dialog text inputs for dark theme readability. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/preferences/AddApiKeyDialog.java | Styles API key text input for dark theme readability. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/UserTurnWidget.java | Applies chat message CSS class and adjusts background behavior for light theme. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MunitValidateFlowTestsTool.java | New tool: validates MUnit suite structure/coverage for Mule flows. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MunitImprovementSuggestionsTool.java | New tool: suggests MUnit cadence/coverage improvements. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MunitFullReviewTool.java | New tool: comprehensive MUnit review for quality and missing scenarios. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleToolResponse.java | Adds a structured response shape for MuleSoft tools. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleSecurityReviewTool.java | New tool: scans Mule projects for common security issues. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleProjectSummaryTool.java | New tool: human-readable Mule project summary. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleProjectScanTool.java | New tool: deterministic structured scan of Mule project structure/metadata. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleProjectErrorsTool.java | New tool: reads Eclipse problem markers for a Mule project. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleProjectAnalysis.java | Adds in-memory analysis model for Mule project scanning. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleDwlWriteTool.java | New tool: writes full .dwl scripts with confirmation + workspace refresh. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleDwlReadTool.java | New tool: reads .dwl script content and metadata. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleDiagnostic.java | Adds diagnostic record for Mule tool findings. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/MuleCodeReviewTool.java | New tool: MuleSoft code review across XML/DW/specs/tests. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/tools/ApiSchemaAnalyzeTool.java | New tool: analyzes API schema files (RAML/OAS/etc.) for issues. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/services/UserPreferenceService.java | Reloads built-in modes asynchronously on status change to address startup race. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/services/TransformEditorContextPromptProcessor.java | New: injects transform editor context when @transform is used. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/services/MuleConsoleParser.java | New: enriches Mule runtime exceptions with a summary block. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/services/McpExtensionPointManager.java | Sanitizes persisted MCP extension data and compares redacted values for change detection. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/services/MavenConsoleParser.java | New: enriches Maven console output with a summary block. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/services/ConsoleContextPromptProcessor.java | New: injects console context when @console is used (with parser enrichment). |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/services/AgentToolService.java | Registers the new MuleSoft/MUnit/DataWeave tools and related utilities. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/ChatMarkupViewer.java | Applies consistent message background + CSS class to markup viewer text widget. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/ChatAssistProcessor.java | Adds completion proposals for @console and @transform commands. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/AddContextButton.java | Makes attach-context icon button use parent background when not hovered. |
| com.microsoft.copilot.eclipse.ui/src/com/microsoft/copilot/eclipse/ui/chat/ActionBar.java | Makes action bar icon buttons and dropdown faces inherit parent background; refreshes input background. |
| com.microsoft.copilot.eclipse.ui/plugin.xml | Registers .dwl content type, content assist processor, and binds TextEditor for DWL. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/mule-security-review.prompt.md | New MuleSoft security review agent prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/mule-performance-review.prompt.md | New MuleSoft performance review agent prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/mule-code-review.prompt.md | New MuleSoft code review agent prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/logging-observability.prompt.md | New logging/observability review agent prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/generate-munit-tests.prompt.md | New MUnit generation workflow prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/error-handling-contract.prompt.md | New error-handling contract review prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/deployment-readiness.prompt.md | New deployment readiness prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/dataweave-optimize.prompt.md | New DataWeave optimization prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/dataweave-best-practices.prompt.md | New DataWeave best practices prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/connector-governance.prompt.md | New connector governance prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/batch-job-review.prompt.md | New batch job review prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/async-flow-review.prompt.md | New async flow review prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/api-spec-review.prompt.md | New API spec review prompt. |
| com.microsoft.copilot.eclipse.ui/mulesoft-copilot/.github/prompts/api-led-architecture-review.prompt.md | New API-led architecture review prompt. |
| com.microsoft.copilot.eclipse.ui/META-INF/MANIFEST.MF | Broadens Mylyn Wikitext required bundle version ranges. |
| com.microsoft.copilot.eclipse.ui/css/macosx-light.css | Adds chat message background styling for macOS light theme. |
| com.microsoft.copilot.eclipse.ui/css/light.css | Updates light theme backgrounds and chat message styling. |
| com.microsoft.copilot.eclipse.ui/css/dark.css | Updates dark theme backgrounds and adds CSS classes for input styling. |
| com.microsoft.copilot.eclipse.ui/build.properties | Packages the mulesoft-copilot/ assets into the UI bundle build. |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/preferences/CopilotPreferenceInitializerTest.java | Adds preference default coverage (but currently conflicts with initializer). |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/chat/tools/RunInTerminalToolAdapterTest.java | Tightens assertion style for terminal adapter test output. |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/chat/services/MavenConsoleParserTest.java | Adds unit tests for Maven console enrichment logic. |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/chat/services/ConsoleContextServiceTest.java | Adds tests for capturing/truncating console context snapshots. |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/chat/services/ConsoleContextPromptProcessorTest.java | Adds tests for @console prompt processing and enrichment. |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/chat/services/ChatCompletionServiceTest.java | Adds tests around @console command availability gating. |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/ui/chat/ChatAssistProcessorTest.java | Adds tests for @console completion proposal behavior. |
| com.microsoft.copilot.eclipse.ui.test/src/com/microsoft/copilot/eclipse/anypoint/MuleSoftMcpConfigurationTest.java | Adds tests for MuleSoft MCP configuration JSON generation. |
| com.microsoft.copilot.eclipse.ui.test/META-INF/MANIFEST.MF | Adds test bundle deps for new Anypoint bundle and console API. |
| com.microsoft.copilot.eclipse.terminal.api/src/com/microsoft/copilot/eclipse/terminal/api/ShellIntegrationScripts.java | Reworks shell marker constants and exposes Bash/PowerShell script paths. |
| com.microsoft.copilot.eclipse.terminal.api/src/com/microsoft/copilot/eclipse/terminal/api/IRunInTerminalTool.java | Extends terminal tool API with working directory + cancel support. |
| com.microsoft.copilot.eclipse.terminal.api/scripts/copilot-sh-integration.sh | Removes POSIX sh integration script. |
| com.microsoft.copilot.eclipse.terminal.api/scripts/copilot-powershell-integration.ps1 | Adds PowerShell shell integration script for OSC markers. |
| com.microsoft.copilot.eclipse.terminal.api/scripts/copilot-bash-integration.sh | Adds Bash shell integration script for OSC markers. |
| com.microsoft.copilot.eclipse.terminal.api/META-INF/MANIFEST.MF | Adds Apache Commons Lang dependency. |
| com.microsoft.copilot.eclipse.repository/pom.xml | Updates repository build to include all dependencies and restores director executions. |
| com.microsoft.copilot.eclipse.repository/category.xml | Switches category feature to Anypoint feature and updates category label. |
| com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/lsp/protocol/CopilotAgentSettings.java | Adds MCP auto-approve settings shape and includes it in equals/hashCode/toString. |
| com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/format/FormatOptionProvider.java | Adds DataWeave language id mapping for .dwl files. |
| com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/Constants.java | Adds new preference keys for console and transform context. |
| com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/completion/CompletionProvider.java | Treats CancellationException as a cancelled completion status. |
| com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/chat/BuiltInChatModeManager.java | Adds async reload for built-in chat modes with error logging. |
| com.microsoft.copilot.eclipse.core/src/com/microsoft/copilot/eclipse/core/AuthStatusManager.java | Handles CancellationException during sign-out by clearing local auth state. |
| com.microsoft.copilot.eclipse.core/plugin.xml | Maps the DWL content type to languageId="dataweave". |
| com.microsoft.copilot.eclipse.core/copilot-agent/package.json | Formatting-only change. |
| com.microsoft.copilot.eclipse.core/copilot-agent/copy-binaries.js | Avoids failing install when platform-specific binaries are missing. |
| com.microsoft.copilot.eclipse.core.test/src/com/microsoft/copilot/eclipse/core/completion/FormatOptionProviderTests.java | Adds tests asserting default formatting behavior for .dwl. |
| com.microsoft.copilot.eclipse.core.agent.win32/pom.xml | Adds tycho-packaging-plugin configuration. |
| com.microsoft.copilot.eclipse.core.agent.macosx.x64/pom.xml | Adds tycho-packaging-plugin configuration. |
| com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/pom.xml | Adds tycho-packaging-plugin configuration. |
| com.microsoft.copilot.eclipse.core.agent.linux.x64/pom.xml | Adds tycho-packaging-plugin configuration. |
| com.microsoft.copilot.eclipse.core.agent.linux.aarch64/pom.xml | Adds tycho-packaging-plugin configuration. |
| com.microsoft.copilot.eclipse.anypoint/templates/copilot-instructions-mule-template.md | Adds a Copilot instructions scaffold template for Mule projects. |
| com.microsoft.copilot.eclipse.anypoint/src/com/microsoft/copilot/eclipse/anypoint/MuleSoftMcpSettings.java | Stores MuleSoft MCP settings in Eclipse secure storage (with env fallbacks). |
| com.microsoft.copilot.eclipse.anypoint/src/com/microsoft/copilot/eclipse/anypoint/MuleSoftMcpRegistrationProvider.java | Registers official MuleSoft MCP server config via extension point. |
| com.microsoft.copilot.eclipse.anypoint/src/com/microsoft/copilot/eclipse/anypoint/MuleSoftMcpPreferencePage.java | Adds UI to configure MuleSoft MCP registration and credentials. |
| com.microsoft.copilot.eclipse.anypoint/src/com/microsoft/copilot/eclipse/anypoint/MuleSoftMcpConfiguration.java | Builds MCP JSON configuration for mulesoft-mcp-server via npx. |
| com.microsoft.copilot.eclipse.anypoint/pom.xml | New Anypoint integration plugin module POM. |
| com.microsoft.copilot.eclipse.anypoint/plugin.xml | Registers MCP provider + preference page contributions. |
| com.microsoft.copilot.eclipse.anypoint/META-INF/MANIFEST.MF | Declares Anypoint bundle metadata and dependencies. |
| com.microsoft.copilot.eclipse.anypoint/build.properties | Configures build output and included resources for new bundle. |
| com.microsoft.copilot.eclipse.anypoint.feature/pom.xml | New Anypoint feature module POM. |
| com.microsoft.copilot.eclipse.anypoint.feature/feature.xml | Defines Anypoint feature packaging and required dependencies. |
| CHANGELOG.md | Adds “Unreleased” notes describing MuleSoft enhancements and default changes. |
| base.target | Adds Eclipse TM terminal features to the target platform. |
| .gitignore | Adjusts zip ignore rules and adds additional ignored build folders. |
| .github/workflows/sync-upstream.yml | Adds a scheduled upstream sync workflow. |
| .github/workflows/ci.yml | Disables (comments out) the CI workflow. |
| .github/workflows/build-and-package.yml | Adds a packaging workflow to produce a p2 ZIP and GitHub release. |
💡 Codex ReviewWhen a foreground command is interrupted, its future is completed before Merging approved MCP servers by raw ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
No description provided.