Skip to content

Automatic Sync: Merge changes from stable/mi to main - #2449

Open
choreo-cicd wants to merge 193 commits into
mainfrom
sync/main-stable/mi-1785669370
Open

Automatic Sync: Merge changes from stable/mi to main#2449
choreo-cicd wants to merge 193 commits into
mainfrom
sync/main-stable/mi-1785669370

Conversation

@choreo-cicd

Copy link
Copy Markdown
Contributor

This PR syncs changes from stable/mi to the main branch.

Automated PR created by GitHub Actions.

IsuruMaduranga and others added 30 commits May 27, 2026 00:25
Replace VALID_FILE_EXTENSIONS / VALID_SPECIAL_FILE_NAMES with
BLOCKED_BINARY_EXTENSIONS so the agent can read/write any text file
(including extensionless ones like Dockerfile, Makefile, .gitignore)
while still blocking archives, executables, office docs, images, etc.
Shell sandbox now enforces the same deny-list on mutation paths. The
@-mention picker keeps its own short UX allow-list, decoupled from
the security gate. Also enable XML validation for .dbs data services.
Trim filePath in getReadFileKind() to keep classification consistent with
validateReadableFilePath(), and update shell sandbox error message to
accurately describe all mutation types (write/edit/delete/rename).
Loads a root-level AGENTS.md (CLAUDE.md / Cursor convention) as a tracked
context block. Re-injected only on content drift via the existing
session-context hash system, so it does not waste tokens every turn.

Files over 30 KB are truncated before being shipped to the model. The
block carries an explicit truncation banner so the agent knows context is
missing (and can file_read the tail on demand), and a persistent in-chat
warning segment tells the user. Truncation warnings fire only when the
block is actually being injected, so an unchanged large file does not
re-warn each turn.
- agent.ts: make `saveAgentsMdWarning` failure non-fatal. The live event
  still fires so the user sees the warning this turn; only the JSONL
  replay across reconnects is sacrificed on persistence failure.
- prompt.ts: neutralize embedded `<system-reminder>` / `<user_query>`
  tags in user-authored AGENTS.md so they can't break out of the
  surrounding envelope. Replaces the angle brackets with U+27E8 / U+27E9.
- prompt.ts: fix the `SessionContextBlockHashes.agentsMd` doc comment to
  describe what the code actually hashes (surfaced bytes + truncation
  metadata) instead of the old "full untruncated raw bytes" claim.
- AIChatFooter.tsx: splice the warning before the optimistic streaming
  placeholder. Appending at the end displaced the placeholder, causing
  subsequent content_block / thinking_* events to land in the warning
  bubble instead of the assistant message.
- eventToMessageConverter.ts: drop `(event as any)` cast now that
  `warningMessage` is a typed field on AgentEvent / ChatHistoryEvent.
Fix trivy detected vulnerabilities
Support the startOnLoad attribute for tasks in MI 4.1.0
Instruct agent-mode to flip pom.xml <packaging> to jar and declare
synapse-core when creating a class mediator, otherwise the CApp ships
without the compiled jar and deployment silently fails.

Fixes wso2/product-integrator#1631
file_write and file_edit now append a <system-reminder> to the tool
result whenever the touched file is a class mediator java source
(src/main/java/**/*.java), telling the agent to verify root pom.xml
packaging is "jar" and synapse-core is declared. The prompt-level
guideline alone can be missed; a per-tool reminder makes it harder
to skip.

Related to wso2/product-integrator#1631
Read the project root pom.xml and skip the class mediator reminder
when <packaging>jar</packaging> is already set, so the agent is not
prompted to fix something that is already correct. When packaging is
something else (typically the default "pom"), the reminder reports
the current value to make the required change unambiguous.
…ging

Fix copilot-created class mediators not packed in CApp
- Clarify file_read offset/limit are line-based in AGENTS.md guidance
- Use Math.ceil for KB rounding and improve truncation warning copy
- Add aria-hidden to decorative warning icon
- Dedup context_warning on panel reconnect/event replay
Mirror the POSIX shell sandbox check so the agent cannot mutate
foo.jar, foo.dll, etc. via PowerShell on Windows.
Switch agent file tools to a binary deny-list
Fix trivy detected vulnerabilities
Sync latest changes from release/mi-4.0.2
Merge "micro-integrator-4.0.2" into "stable/mi"
ChinthakaJ98 and others added 26 commits July 13, 2026 16:23
Improve shell argument handling for external commands
Merge "micro-integrator-4.1.3" into "stable/mi"
Sync MI extension 4.1.3 version changes
Support customizing connector input type UI
Update OpenAPI spec generation process
Merge "micro-integrator-4.1.4" into "stable/mi"
@coderabbitai

coderabbitai Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 171 files, which is 71 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: bc53b5f9-b046-4661-84f9-5e37c8344b61

📥 Commits

Reviewing files that changed from the base of the PR and between bd67e0f and 5238507.

⛔ Files ignored due to path filters (2)
  • common/autoinstallers/rush-plugins/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • common/config/rush/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (171)
  • .github/workflows/build.yml
  • .github/workflows/daily-build-ballerina.yml
  • .trivyignore
  • .trivyignore.yaml
  • common/autoinstallers/rush-plugins/package.json
  • common/config/rush/.pnpmfile.cjs
  • common/config/rush/pnpm-config.json
  • common/pnpm-patches/minimatch@3.1.5.patch
  • common/pnpm-patches/minimatch@5.1.8.patch
  • package.json
  • workspaces/api-designer/api-designer-extension/package.json
  • workspaces/api-designer/api-designer-visualizer/package.json
  • workspaces/ballerina/ballerina-extension/grammar/ballerina-grammar
  • workspaces/ballerina/ballerina-extension/package.json
  • workspaces/ballerina/ballerina-low-code-diagram/package.json
  • workspaces/ballerina/ballerina-side-panel/package.json
  • workspaces/ballerina/ballerina-visualizer/package.json
  • workspaces/ballerina/bi-diagram/package.json
  • workspaces/ballerina/component-diagram/package.json
  • workspaces/ballerina/graphql/package.json
  • workspaces/ballerina/persist-layer-diagram/package.json
  • workspaces/ballerina/sequence-diagram/package.json
  • workspaces/ballerina/trace-visualizer/package.json
  • workspaces/ballerina/type-diagram/package.json
  • workspaces/choreo/choreo-extension/package.json
  • workspaces/choreo/choreo-webviews/package.json
  • workspaces/common-libs/rpc-generator/package.json
  • workspaces/mi/mi-core/src/rpc-types/agent-mode/types.ts
  • workspaces/mi/mi-core/src/rpc-types/mi-diagram/index.ts
  • workspaces/mi/mi-core/src/rpc-types/mi-diagram/rpc-type.ts
  • workspaces/mi/mi-core/src/rpc-types/mi-diagram/types.ts
  • workspaces/mi/mi-core/src/rpc-types/mi-visualizer/index.ts
  • workspaces/mi/mi-core/src/rpc-types/mi-visualizer/rpc-type.ts
  • workspaces/mi/mi-core/src/rpc-types/mi-visualizer/types.ts
  • workspaces/mi/mi-core/src/state-machine-types.ts
  • workspaces/mi/mi-diagram/package.json
  • workspaces/mi/mi-diagram/src/components/Diagram.tsx
  • workspaces/mi/mi-diagram/src/components/Form/FormGenerator.tsx
  • workspaces/mi/mi-diagram/src/components/Form/GigaParamManager/ParameterManager.tsx
  • workspaces/mi/mi-diagram/src/components/Form/Keylookup/Keylookup.tsx
  • workspaces/mi/mi-diagram/src/components/Form/ParamManager/ParamEditor.tsx
  • workspaces/mi/mi-diagram/src/components/nodes/BaseNodeModel.ts
  • workspaces/mi/mi-diagram/src/components/sidePanel/connections/index.tsx
  • workspaces/mi/mi-diagram/src/components/sidePanel/dataServices/query.tsx
  • workspaces/mi/mi-diagram/src/components/sidePanel/index.tsx
  • workspaces/mi/mi-diagram/src/components/sidePanel/mediators/List.tsx
  • workspaces/mi/mi-diagram/src/components/sidePanel/mediators/Mediator.tsx
  • workspaces/mi/mi-diagram/src/components/sidePanel/mediators/index.tsx
  • workspaces/mi/mi-diagram/src/components/sidePanel/tryout/SetPayloads.tsx
  • workspaces/mi/mi-extension/CHANGELOG.md
  • workspaces/mi/mi-extension/package.json
  • workspaces/mi/mi-extension/src/RPCLayer.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/agents/main/agent.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/agents/main/prompt.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/agents/main/system.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/attachment-utils.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/chat-history-manager.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/context/connectors_guide.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/context/synapse-core/synapse_edge_cases.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/context/synapse-core/synapse_expression_spec.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/context/synapse_expression_guide.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/context/synapse_guide.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/context/synapse_guide_old.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/stream_guard.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/tools/connector_ls_client.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/tools/file_tools.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/tools/lsp_tools.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/tools/shell_sandbox.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/tools/shell_sandbox_powershell.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/tools/types.ts
  • workspaces/mi/mi-extension/src/ai-features/agent-mode/tools/validation-utils.ts
  • workspaces/mi/mi-extension/src/ai-features/auth.ts
  • workspaces/mi/mi-extension/src/ai-features/connection.ts
  • workspaces/mi/mi-extension/src/ai-features/copilot/message-utils.ts
  • workspaces/mi/mi-extension/src/constants/index.ts
  • workspaces/mi/mi-extension/src/debugger/activate.ts
  • workspaces/mi/mi-extension/src/debugger/debugAdapter.ts
  • workspaces/mi/mi-extension/src/debugger/debugHelper.ts
  • workspaces/mi/mi-extension/src/debugger/tasks.ts
  • workspaces/mi/mi-extension/src/lang-client/ExtendedLanguageClient.ts
  • workspaces/mi/mi-extension/src/project-explorer/activate.ts
  • workspaces/mi/mi-extension/src/project-explorer/project-explorer-provider.ts
  • workspaces/mi/mi-extension/src/rpc-managers/agent-mode/rpc-manager.ts
  • workspaces/mi/mi-extension/src/rpc-managers/ai-features/rpc-handler.ts
  • workspaces/mi/mi-extension/src/rpc-managers/ai-features/rpc-manager.ts
  • workspaces/mi/mi-extension/src/rpc-managers/mi-diagram/rpc-handler.ts
  • workspaces/mi/mi-extension/src/rpc-managers/mi-diagram/rpc-manager.ts
  • workspaces/mi/mi-extension/src/rpc-managers/mi-visualizer/rpc-manager.ts
  • workspaces/mi/mi-extension/src/stateMachine.ts
  • workspaces/mi/mi-extension/src/test-explorer/runner.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/artifactTests/artifact.spec.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/components/ArtifactTest/APITests.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/components/ArtifactTest/Automation.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/components/ArtifactTest/ClassMediator.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/components/InboundEp.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/components/ProjectExplorer.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/components/UnitTest.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/connectorTests/connector.spec.ts
  • workspaces/mi/mi-extension/src/test/e2e-playwright-tests/test.list.ts
  • workspaces/mi/mi-extension/src/util/fileOperations.ts
  • workspaces/mi/mi-extension/src/util/mcp-server-utils.ts
  • workspaces/mi/mi-extension/src/util/migrationUtils.ts
  • workspaces/mi/mi-extension/src/util/onboardingUtils.ts
  • workspaces/mi/mi-extension/src/util/shellEscapeUtils.ts
  • workspaces/mi/mi-extension/src/util/swagger.ts
  • workspaces/mi/mi-extension/src/util/template-engine/mustach-templates/tasks.ts
  • workspaces/mi/mi-extension/src/util/templates.ts
  • workspaces/mi/mi-extension/src/visualizer/activate.ts
  • workspaces/mi/mi-rpc-client/src/rpc-clients/mi-diagram/rpc-client.ts
  • workspaces/mi/mi-rpc-client/src/rpc-clients/mi-visualizer/rpc-client.ts
  • workspaces/mi/mi-visualizer/package.json
  • workspaces/mi/mi-visualizer/src/Hooks.tsx
  • workspaces/mi/mi-visualizer/src/MainPanel.tsx
  • workspaces/mi/mi-visualizer/src/PopupPanel.tsx
  • workspaces/mi/mi-visualizer/src/components/AuthenticationDialog/AuthenticationDialog.tsx
  • workspaces/mi/mi-visualizer/src/components/AuthenticationDialog/useAuthentication.ts
  • workspaces/mi/mi-visualizer/src/components/NavigationBar/HierachicalPath.tsx
  • workspaces/mi/mi-visualizer/src/components/View/ViewContent.tsx
  • workspaces/mi/mi-visualizer/src/constants/index.ts
  • workspaces/mi/mi-visualizer/src/utils/form.ts
  • workspaces/mi/mi-visualizer/src/utils/template-engine/mustache-templates/core/api.ts
  • workspaces/mi/mi-visualizer/src/views/AIPanel/component/AIChatFooter.tsx
  • workspaces/mi/mi-visualizer/src/views/AIPanel/component/AIChatMessage.tsx
  • workspaces/mi/mi-visualizer/src/views/AIPanel/component/AICodeGenerator.tsx
  • workspaces/mi/mi-visualizer/src/views/AIPanel/component/ContextWarningSegment.tsx
  • workspaces/mi/mi-visualizer/src/views/AIPanel/component/MICopilotContext.tsx
  • workspaces/mi/mi-visualizer/src/views/AIPanel/component/SettingsPanel.tsx
  • workspaces/mi/mi-visualizer/src/views/AIPanel/constants.ts
  • workspaces/mi/mi-visualizer/src/views/AIPanel/utils.ts
  • workspaces/mi/mi-visualizer/src/views/AIPanel/utils/eventToMessageConverter.ts
  • workspaces/mi/mi-visualizer/src/views/AddArtifact/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Diagram/InboundEndpoint.tsx
  • workspaces/mi/mi-visualizer/src/views/Diagram/Resource.tsx
  • workspaces/mi/mi-visualizer/src/views/Diagram/Task.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/APIform/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/Commons/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/ConnectionForm/ConnectionFormGenerator.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/ConnectionForm/ImportConnectionFromOpenAPI.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/ConnectionForm/ImportConnectionFromProto.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/ConnectionForm/ImportConnector.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/ConnectionForm/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/DataServiceForm/MainPanelForms/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/DataServiceForm/ResourceServiceDesigner.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/DataServiceForm/SidePanelForms/OperationForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/DataServiceForm/SidePanelForms/ResourceForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/IDPConnectorForm/IdpConnectorSchemaGenerateForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/InboundEPform/ImportInboundConnector.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/InboundEPform/inboundConnectorForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/InboundEPform/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/AddAPIToolDialog.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/AddSequenceToolDialog.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/CreateScratchToolDialog.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/MCPServerToolsForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/ToolTypeSelector.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/ToolsList.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/MCPServerForm/styles.ts
  • workspaces/mi/mi-visualizer/src/views/Forms/ProxyServiceForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/RegistryResourceForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/ResourceForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/TaskForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Forms/Tests/TestSuiteForm.tsx
  • workspaces/mi/mi-visualizer/src/views/Overview/ProjectInformation/index.tsx
  • workspaces/mi/mi-visualizer/src/views/Overview/ProjectStructureView.tsx
  • workspaces/mi/mi-visualizer/src/views/Overview/index.tsx
  • workspaces/mi/mi-visualizer/src/views/ServiceDesigner/QueryParamsPanel.tsx
  • workspaces/mi/mi-visualizer/src/views/ServiceDesigner/ResourceRow.tsx
  • workspaces/mi/mi-visualizer/src/views/ServiceDesigner/index.tsx
  • workspaces/mi/syntax-tree/src/syntax-tree-interfaces.ts
  • workspaces/wso2-platform/wso2-platform-extension/package.json
  • workspaces/wso2-platform/wso2-platform-webviews/package.json

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.
3 out of 4 committers have signed the CLA.

✅ ChinthakaJ98
✅ IsuruMaduranga
✅ arunans23
❌ choreo-cicd
You have signed the CLA already but the status is still pending? Let us recheck it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants