Skip to content

Commit 3a9d55a

Browse files
committed
Merge remote-tracking branch 'upstream/main'
2 parents f222ea2 + a333bcf commit 3a9d55a

File tree

15 files changed

+77
-29
lines changed

15 files changed

+77
-29
lines changed

workspaces/ballerina/ballerina-extension/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ All notable changes to the **Ballerina** extension will be documented in this fi
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/).
66

7+
## [5.6.3](https://github.com/wso2/vscode-extensions/compare/ballerina-integrator-1.5.2...ballerina-integrator-1.5.3) - 2025-12-01
8+
9+
### Changed
10+
11+
- **Data Mapper** — Improved completion support for the expression bar and clause editor. Re-enabled array aggregating options.
12+
13+
### Fixed
14+
15+
- **Data Mapper** — Fixed expression bar focusing, inline undo button, and crashes during mapping clearance.
16+
- **AI Data Mapper** — Fixed error handling, output formatting, and compilation errors.
717

818
## [5.6.2](https://github.com/wso2/vscode-extensions/compare/ballerina-integrator-1.5.1...ballerina-integrator-1.5.2) - 2025-11-18
919

workspaces/ballerina/ballerina-extension/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "ballerina",
33
"displayName": "Ballerina",
44
"description": "Ballerina Language support, debugging, graphical visualization, AI-based data-mapping and many more.",
5-
"version": "5.6.2",
5+
"version": "5.6.3",
66
"publisher": "wso2",
77
"icon": "resources/images/ballerina.png",
88
"homepage": "https://wso2.com/ballerina/vscode/docs",

workspaces/ballerina/ballerina-extension/src/features/ai/service/datamapper/datamapper.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ import { URI } from "vscode-uri";
4343
import fs from 'fs';
4444
import { writeBallerinaFileDidOpenTemp } from "../../../../../src/utils/modification";
4545

46+
const NO_MAPPINGS_GENERATED_WARNING = `**No Relevant Mappings Generated**\n\n` +
47+
`The AI was unable to identify compatible field mappings between the input and output structures.\n\n` +
48+
`**Suggestions:**\n` +
49+
`- Check if input and output record structures are correct\n` +
50+
`- Try providing mapping hints or examples\n`;
51+
4652
// =============================================================================
4753
// ENHANCED MAIN ORCHESTRATOR FUNCTION
4854
// =============================================================================
@@ -340,6 +346,13 @@ export async function generateMappingCodeCore(mappingRequest: ProcessMappingPara
340346
attachments: mappingRequest.attachments
341347
}, context, eventHandler);
342348

349+
// Check if no mappings were generated
350+
if (!allMappingsRequest.mappings || allMappingsRequest.mappings.length === 0) {
351+
eventHandler({ type: "content_block", content: NO_MAPPINGS_GENERATED_WARNING });
352+
eventHandler({ type: "stop", command: Command.DataMap });
353+
return;
354+
}
355+
343356
const sourceCodeResponse = await getAllDataMapperSource(allMappingsRequest);
344357

345358
await updateSourceCode({ textEdits: sourceCodeResponse.textEdits, skipPayloadCheck: true });
@@ -694,6 +707,13 @@ export async function generateInlineMappingCodeCore(inlineMappingRequest: Metada
694707
const inlineMappingsResult: InlineMappingsSourceResult =
695708
await generateInlineMappingsSource(inlineMappingRequest, langClient, context, eventHandler);
696709

710+
// Check if no mappings were generated
711+
if (!inlineMappingsResult.allMappingsRequest.mappings || inlineMappingsResult.allMappingsRequest.mappings.length === 0) {
712+
eventHandler({ type: "content_block", content: NO_MAPPINGS_GENERATED_WARNING });
713+
eventHandler({ type: "stop", command: Command.DataMap });
714+
return;
715+
}
716+
697717
await updateSourceCode({ textEdits: inlineMappingsResult.sourceResponse.textEdits, skipPayloadCheck: true });
698718
await new Promise((resolve) => setTimeout(resolve, 100));
699719

workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/CodeUtils.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import {
3232
getTokenTypeColor,
3333
getChipDisplayContent
3434
} from "./chipStyles";
35+
import { HELPER_PANE_WIDTH } from "./constants";
3536

3637
export type TokenStream = number[];
3738

@@ -443,7 +444,6 @@ export const buildOnFocusListner = (onTrigger: (cursor: CursorInfo) => void) =>
443444
let relativeTop = coords.bottom - editorRect.top + 5;
444445
let relativeLeft = coords.left - editorRect.left;
445446

446-
const HELPER_PANE_WIDTH = 300;
447447
const editorWidth = editorRect.width;
448448
const relativeRight = relativeLeft + HELPER_PANE_WIDTH;
449449
const overflow = relativeRight - editorWidth;
@@ -477,7 +477,6 @@ export const buildOnSelectionChange = (onTrigger: (cursor: CursorInfo) => void)
477477
let relativeTop = coords.bottom - editorRect.top + 5;
478478
let relativeLeft = coords.left - editorRect.left;
479479

480-
const HELPER_PANE_WIDTH = 300;
481480
const editorWidth = editorRect.width;
482481
const relativeRight = relativeLeft + HELPER_PANE_WIDTH;
483482
const overflow = relativeRight - editorWidth;
@@ -548,7 +547,6 @@ export const buildOnChangeListner = (onTrigeer: (newValue: string, cursor: Curso
548547
let relativeTop = coords.bottom - editorRect.top + 5;
549548
let relativeLeft = coords.left - editorRect.left;
550549

551-
const HELPER_PANE_WIDTH = 300;
552550
const editorWidth = editorRect.width;
553551
const relativeRight = relativeLeft + HELPER_PANE_WIDTH;
554552
const overflow = relativeRight - editorWidth;

workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/components/ChipExpressionEditor.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import FXButton from "./FxButton";
4949
import { HelperPaneToggleButton } from "./HelperPaneToggleButton";
5050
import { HelperPane } from "./HelperPane";
5151
import { listContinuationKeymap } from "../../../ExpandedEditor/utils/templateUtils";
52+
import { HELPER_PANE_WIDTH } from "../constants";
5253

5354
type HelperPaneState = {
5455
isOpen: boolean;
@@ -245,11 +246,10 @@ export const ChipExpressionEditorComponent = (props: ChipExpressionEditorCompone
245246
let top = buttonRect.bottom - editorRect.top;
246247
let left = buttonRect.left - editorRect.left;
247248

248-
// Add overflow correction for window boundaries
249-
const HELPER_PANE_WIDTH = 300;
250-
const viewportWidth = window.innerWidth;
251-
const absoluteLeft = buttonRect.left;
252-
const overflow = absoluteLeft + HELPER_PANE_WIDTH - viewportWidth;
249+
// Add overflow correction for editor boundaries
250+
const editorWidth = editorRect.width;
251+
const relativeRight = left + HELPER_PANE_WIDTH;
252+
const overflow = relativeRight - editorWidth;
253253

254254
if (overflow > 0) {
255255
left -= overflow;

workspaces/ballerina/ballerina-side-panel/src/components/editors/MultiModeExpressionEditor/ChipExpressionEditor/constants.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
export const CHIP_EXPRESSION_EDITOR_HEIGHT = 26;
2020
export const EXPANDED_EDITOR_HEIGHT = 500;
21+
export const HELPER_PANE_WIDTH = 300;
2122

2223
// Data attributes
2324
export const DATA_CHIP_ATTRIBUTE = 'data-chip';

workspaces/ballerina/data-mapper/src/components/DataMapper/Header/DataMapperHeader.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ export function DataMapperHeader(props: DataMapperHeaderProps) {
6767
</BreadCrumb>
6868
<RightContainer isClickable={!hasEditDisabled}>
6969
<ActionGroupContaner>
70-
{undoRedoGroup && undoRedoGroup()}
7170
<ActionIconButton
7271
onClick={onReset}
7372
iconName="clear-all"

workspaces/ballerina/data-mapper/src/components/DataMapper/SidePanel/QueryClauses/ClauseEditor.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@ export function ClauseEditor(props: ClauseEditorProps) {
4747
{ content: "Sort by", value: IntermediateClauseType.ORDER_BY },
4848
{ content: "Limit", value: IntermediateClauseType.LIMIT },
4949
{ content: "From", value: IntermediateClauseType.FROM },
50-
{ content: "Join", value: IntermediateClauseType.JOIN },
51-
{ content: "Group by", value: IntermediateClauseType.GROUP_BY }
50+
{ content: "Join", value: IntermediateClauseType.JOIN }
5251
]
5352

5453
const nameField: DMFormField = {

workspaces/bi/bi-extension/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@ All notable changes to the **WSO2 Integrator: BI** extension will be documented
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and this project adheres to [Semantic Versioning](https://semver.org/).
66

7+
## [1.5.3](https://github.com/wso2/vscode-extensions/compare/ballerina-integrator-1.5.2...ballerina-integrator-1.5.3) - 2025-12-01
8+
9+
### Changed
10+
11+
- **Data Mapper** — Improved completion support for the expression bar and clause editor. Re-enabled array aggregating options.
12+
13+
### Fixed
14+
15+
- **Data Mapper** — Fixed expression bar focusing, inline undo button, and crashes during mapping clearance.
16+
- **AI Data Mapper** — Fixed error handling, output formatting, and compilation errors.
717

818
## [1.5.2](https://github.com/wso2/vscode-extensions/compare/ballerina-integrator-1.5.1...ballerina-integrator-1.5.2) - 2025-11-18
919

workspaces/bi/bi-extension/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "ballerina-integrator",
33
"displayName": "WSO2 Integrator: BI",
44
"description": "An extension which gives a development environment for designing, developing, debugging, and testing integration solutions.",
5-
"version": "1.5.2",
5+
"version": "1.5.3",
66
"publisher": "wso2",
77
"icon": "resources/images/wso2-ballerina-integrator-logo.png",
88
"repository": {
@@ -201,4 +201,4 @@
201201
"@playwright/test": "~1.55.1",
202202
"@wso2/playwright-vscode-tester": "workspace:*"
203203
}
204-
}
204+
}

0 commit comments

Comments
 (0)