Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1259 commits
Select commit Hold shift + click to select a range
439acc6
Refactor TextAreaEditor and AutoExpandingEditableDiv to use FloatingT…
kanushka Nov 1, 2025
199ddd1
Enhance ChipExpressionEditor with SkeletonLoader for loading state; r…
kanushka Nov 1, 2025
ce23f13
Remove loading state from FXButton in ChipExpressionBaseComponent for…
kanushka Nov 1, 2025
9903623
Merge pull request #782 from axewilledge/service-designer
kanushka Nov 1, 2025
52a17c4
Merge branch 'main' into helper-pane-fix
kanushka Nov 1, 2025
b472649
Add sticky footer to avoid save getting hidden
sachiniSam Nov 2, 2025
55f5632
Remove unused typeCreator
sachiniSam Nov 2, 2025
a08a5a5
Merge pull request #789 from sachiniSam:fixScroll
kanushka Nov 3, 2025
0e8e23a
Merge branch 'main' into helper-pane-fix
sachiniSam Nov 3, 2025
55b4ac6
Merge pull request #787 from kanushka/helper-pane-fix
sachiniSam Nov 3, 2025
654ce5e
Prepare for 3.0.0 release
ChinthakaJ98 Nov 3, 2025
3dd53e8
Remove HTTP connector from legacy projects
ChinthakaJ98 Nov 3, 2025
b67b164
Merge branch 'main' into 3.0.0-prepare
ChinthakaJ98 Nov 3, 2025
0c46732
Merge pull request #790 from ChinthakaJ98/3.0.0-prepare
ChinthakaJ98 Nov 3, 2025
546596a
fix delete key behaviour in expression editor
senithkay Nov 3, 2025
da59898
Refactor updateSourceCode calls to include description and artifactDa…
axewilledge Nov 3, 2025
caca342
Merge remote-tracking branch 'upstream/main' into multi-package-dir
madushajg Nov 3, 2025
d40fc53
Enhance updateSourceCode function to support skipping payload checks …
axewilledge Nov 3, 2025
09ca9d1
Merge pull request #791 from senithkay/fix-expression-delete-key
kanushka Nov 3, 2025
6f06ace
Merge branch 'main' of https://github.com/wso2/vscode-extensions into…
tharindulak Nov 3, 2025
b8bbafd
Fix sorting logic in NodeSelector to handle undefined names gracefully
axewilledge Nov 3, 2025
39b5f63
Fix issues
tharindulak Nov 3, 2025
13af15d
Add json type support for import tab
sachiniSam Nov 3, 2025
b27b2dc
Format code
sachiniSam Nov 3, 2025
8f4342e
Merge remote-tracking branch 'upstream/main' into fixScroll
sachiniSam Nov 3, 2025
59ff058
Add error handling for usage limit exceeds
xlight05 Nov 2, 2025
1512997
Merge pull request #794 from tharindulak/windows-new
kanushka Nov 3, 2025
cdada7b
Merge branch 'main' into copilot-429
xlight05 Nov 3, 2025
36bb8c8
Merge branch 'main' into fixScroll
sachiniSam Nov 3, 2025
5b2301c
Merge pull request #795 from sachiniSam/fixScroll
sachiniSam Nov 3, 2025
b2646a9
Merge branch 'main' into copilot-429
kanushka Nov 3, 2025
8d52dcc
Merge pull request #796 from xlight05/copilot-429
kanushka Nov 3, 2025
434ed31
Add wide-chevron SVG icon to common libraries
madushajg Nov 3, 2025
4d2d670
Add getWorkspaceType method and related RPC handling to support works…
madushajg Nov 3, 2025
771ed13
Add new interfaces for workspace and package configurations
madushajg Nov 3, 2025
bc8a3ca
Enhance Ballerina project and workspace validation with new utility f…
madushajg Nov 3, 2025
8ea5d7e
Enhance state machine context with project and package information
madushajg Nov 3, 2025
4d1f56e
Refactor TopNavigationBar to include workspace type handling and impr…
madushajg Nov 3, 2025
ab5dfdb
Merge remote-tracking branch 'upstream/main' into service-designer
axewilledge Nov 3, 2025
22138ee
Merge branch 'main' into refactor-utils
axewilledge Nov 3, 2025
07192bf
Refactor updateSourceCode calls in ServiceDesignerRpcManager to use n…
axewilledge Nov 3, 2025
a053360
Merge branch 'refactor-utils' of https://github.com/axewilledge/vscod…
axewilledge Nov 3, 2025
a34486a
Merge pull request #797 from axewilledge/refactor-utils
axewilledge Nov 3, 2025
93bd183
Rework type browser and the functions browser and remove dependecy wi…
senithkay Nov 3, 2025
2d33634
remove unwanted prevent default | Fix helper pane search boxes not fo…
senithkay Nov 3, 2025
6ac79a1
Handle artifact updates for temp files
VellummyilumVinoth Nov 3, 2025
4b7132e
fix record config edit append a copy of the existing value
senithkay Nov 3, 2025
16a968f
Fix cannot delte text when cursor selection include the start of a te…
senithkay Nov 3, 2025
2505489
add util
senithkay Nov 3, 2025
3df7b2b
Merge pull request #793 from VellummyilumVinoth/artifact-update
xlight05 Nov 3, 2025
2d300bc
Merge branch 'main' into exp-delete-not-working
kanushka Nov 3, 2025
24accfc
Update optional field section title
RadCod3 Nov 3, 2025
33e85a7
Update connection method names
RadCod3 Nov 3, 2025
4378b59
Add solace icon
RadCod3 Oct 23, 2025
087d0de
Fix nested choice forms processing
RadCod3 Oct 30, 2025
9d425d9
Hide advanced parameters if none are editable
RadCod3 Oct 30, 2025
40b2d6f
Add tooltip and refactor
RadCod3 Oct 31, 2025
911bbdd
Fix payload gen metadata parsing
RadCod3 Nov 3, 2025
f5c9ce2
Add review suggestions
RadCod3 Nov 3, 2025
0a0f144
Update databind form wording
RadCod3 Nov 3, 2025
288d6b9
Fix BrowseType searching issue
sachiniSam Nov 3, 2025
f406625
Merge remote-tracking branch 'upstream/main' into fixScroll
sachiniSam Nov 3, 2025
71a82ce
Update version to micro-integrator-3.0.0
choreo-cicd Nov 3, 2025
3c3d7e4
Merge pull request #802 from senithkay:exp-delete-not-working
kanushka Nov 3, 2025
935e246
Merge branch 'main' into fixScroll
kanushka Nov 3, 2025
1d02847
Add mcp logo to BI
RadCod3 Nov 3, 2025
aee72f0
Refactor workspace handling in state machine and improve project info…
madushajg Nov 3, 2025
88652c6
Merge pull request #804 from wso2/micro-integrator-3.0.0
gigara Nov 3, 2025
771adbf
Merge branch 'main' into sync/main-release-mi-1762182457
gigara Nov 3, 2025
cf609f9
Merge pull request #805 from sachiniSam/fixScroll
kanushka Nov 3, 2025
28d7ff4
Merge branch 'main' into main
kanushka Nov 3, 2025
895f1a7
Merge branch 'main' into mcp-icon
LakshanWeerasinghe Nov 3, 2025
55092dd
Merge pull request #803 from RadCod3/main
kanushka Nov 3, 2025
d07b413
Merge branch 'main' into fix-record-config-edit
kanushka Nov 3, 2025
924dfcf
Update ExpandedEditor modal width properties for better responsiveness
dan-niles Nov 3, 2025
bc2c406
Add support for text wrapping in markdown preview for expanded editor
dan-niles Nov 3, 2025
4726904
Update expanded editor to be resizable
dan-niles Nov 3, 2025
97b21ac
Update buttons in expanded editor
dan-niles Nov 3, 2025
6ef346e
Allow minimizing expaned editor by clicking outside the modal
dan-niles Nov 3, 2025
e1f6fea
Refactor MarkdownPreview and MarkdownToolbar for improved styling and…
dan-niles Nov 3, 2025
ac06295
Merge branch 'main' into solace-onboard
RadCod3 Nov 3, 2025
e4b9f52
Merge pull request #801 from senithkay/fix-record-config-edit
kanushka Nov 3, 2025
4253301
Merge branch 'main' into fix-prompt-editor
kanushka Nov 3, 2025
728b92f
Merge pull request #808 from dan-niles/fix-prompt-editor
kanushka Nov 3, 2025
2adfb4c
Merge branch 'main' into fix-functions-page-search-box
kanushka Nov 3, 2025
4655b51
Merge branch 'main' into solace-onboard
RadCod3 Nov 3, 2025
185355d
Merge pull request #799 from senithkay/fix-functions-page-search-box
kanushka Nov 3, 2025
c760aba
Merge branch 'main' into rework-functions-and-type-browsers
kanushka Nov 3, 2025
b46c506
Merge pull request #798 from senithkay/rework-functions-and-type-brow…
kanushka Nov 3, 2025
b114bd1
Merge branch 'main' into solace-onboard
kanushka Nov 3, 2025
85ae8ea
Merge pull request #792 from RadCod3/solace-onboard
kanushka Nov 3, 2025
93a4d71
Merge branch 'main' into sync/main-release-mi-1762182457
gigara Nov 3, 2025
81f93fb
Merge branch 'main' into mcp-icon
RadCod3 Nov 3, 2025
80d8f60
Merge pull request #806 from RadCod3/mcp-icon
kanushka Nov 3, 2025
3849d0a
Implement mcp-inspector
AzeemMuzammil Nov 3, 2025
923f4c5
Merge branch 'main' into sync/main-release-mi-1762182457
gigara Nov 3, 2025
c014502
Merge pull request #809 from AzeemMuzammil/feat/mcp-inspector
kanushka Nov 3, 2025
6893965
Merge branch 'main' into sync/main-release-mi-1762182457
gigara Nov 3, 2025
d1df12b
Merge pull request #807 from wso2/sync/main-release-mi-1762182457
gigara Nov 3, 2025
96860b3
Downgrade webpack-cli in MCP Inspector Extension
kanushka Nov 4, 2025
b2e7e7d
Merge pull request #811 from kanushka/pr/AzeemMuzammil/809-fix
sachiniSam Nov 4, 2025
36a74fd
Update to get expression diagnostics only for non-empty values in fie…
dan-niles Nov 4, 2025
3381b13
Set chunker as advanced property in knowledge base form
dan-niles Nov 4, 2025
71b0fc1
Merge pull request #810 from dan-niles/fix-knowledge-base-form-load
kanushka Nov 4, 2025
648093b
implement selection replace for new expression editor
senithkay Nov 4, 2025
0c04edd
Correct the passing value
samithkavishke Nov 4, 2025
3fc6c8e
fix service config attach listner popup overlap
senithkay Nov 4, 2025
7f56b2e
address PR suggestions
senithkay Nov 4, 2025
a5b1d9f
remove unused imports
senithkay Nov 4, 2025
030d379
Fix model provider list auto close issue when creating a new model
kanushka Nov 4, 2025
ad27bde
Merge pull request #813 from senithkay/fix-service-form
axewilledge Nov 4, 2025
c5cfc40
Fix styling to ensure full width display in knowledge base form
dan-niles Nov 4, 2025
ddf2cd4
Enhance BIRunAdapter to determine project root and set working direct…
madushajg Nov 4, 2025
39c9f10
Refactor project root retrieval by exporting getCurrentProjectRoot fu…
madushajg Nov 4, 2025
883967f
Merge branch 'main' into multi-package-dir
madushajg Nov 4, 2025
ed781ab
Merge pull request #815 from dan-niles/fix-kb-form-field
kanushka Nov 4, 2025
9a6febb
remove mode switcher and keep only text mode from foreach node collec…
senithkay Nov 4, 2025
08aaca9
Merge branch 'main' into quick-fix-5
kanushka Nov 4, 2025
89811d3
Resolve the unfocusing issue
samithkavishke Nov 4, 2025
d2d4a6e
Remove debug console log from FlowDiagram
kanushka Nov 4, 2025
9f02666
set default mode to exp
senithkay Nov 4, 2025
f1acb70
Merge pull request #817 from kanushka/quick-fix-5
axewilledge Nov 4, 2025
be2da74
Merge branch 'main' into remove-mode-switch-in-foreach
kanushka Nov 4, 2025
394db7c
Merge branch 'main' into issue-1696
samithkavishke Nov 4, 2025
4d61c2e
Merge pull request #819 from senithkay/remove-mode-switch-in-foreach
kanushka Nov 4, 2025
e68af43
handle proper cursor placement when clicking non editable area
senithkay Nov 4, 2025
fac350b
fix PR comments
senithkay Nov 4, 2025
90d944f
Merge branch 'main' into issue-1696
sachiniSam Nov 4, 2025
e4d8263
Merge pull request #821 from senithkay/fix-cursor-placement
kanushka Nov 4, 2025
beb87bf
Merge branch 'main' into issue-1696
sachiniSam Nov 4, 2025
f00d8e3
Merge pull request #818 from samithkavishke/issue-1696
sachiniSam Nov 4, 2025
ad6411d
Merge branch 'main' into expression-selection-replace
kanushka Nov 4, 2025
09ea16a
Enhance state machine view update logic and rename operation handling
axewilledge Nov 4, 2025
bd2acbf
Merge remote-tracking branch 'upstream/main' into refactor-utils
axewilledge Nov 4, 2025
4d9e219
Update workspaces/ballerina/ballerina-extension/src/stateMachine.ts
sachiniSam Nov 4, 2025
425c785
fix cannot insert helper values when nothing typed in the editor
senithkay Nov 4, 2025
75b2fe4
Merge branch 'main' of https://github.com/wso2/vscode-extensions into…
senithkay Nov 4, 2025
2a07d1d
Merge branch 'expression-selection-replace' of https://github.com/sen…
senithkay Nov 4, 2025
3aadfa4
Merge pull request #822 from axewilledge/refactor-utils
kanushka Nov 4, 2025
799ce0f
Add BI Tracing feature
Nov 4, 2025
b4fb2bd
Clean up index
Nov 4, 2025
04265ff
fix focus offset not handled properly
senithkay Nov 4, 2025
8490273
address rabbit comments
senithkay Nov 4, 2025
d4bd8f4
Remove variable and source code in datamapper codedata for re-usable …
KCSAbeywickrama Nov 4, 2025
b3551ce
Merge branch 'main' into bi-dm-inv-dmmeta
KCSAbeywickrama Nov 4, 2025
5b148af
Update workspaces/ballerina/ballerina-extension/src/rpc-managers/data…
KCSAbeywickrama Nov 4, 2025
c6acf5a
Merge branch 'main' into expression-selection-replace
kanushka Nov 4, 2025
98d9cbd
Merge pull request #812 from senithkay/expression-selection-replace
kanushka Nov 4, 2025
0d37428
Merge branch 'main' into bi-dm-inv-dmmeta
kanushka Nov 4, 2025
4bb0c8b
Merge pull request #823 from KCSAbeywickrama/bi-dm-inv-dmmeta
kanushka Nov 4, 2025
44c2009
Add TODO for LS API update
madushajg Nov 4, 2025
7b6ba5a
Fix updating data mapper view when creating mappings using pro-code (…
madushajg Nov 4, 2025
4720482
Merge remote-tracking branch 'upstream/main' into multi-package-dir
madushajg Nov 4, 2025
5b66370
Merge pull request #824 from madushajg/dm-codedata
KCSAbeywickrama Nov 4, 2025
98e60eb
Address review suggestions
madushajg Nov 4, 2025
9fbf6ef
Enhance error handling for working directory resolution in debugger a…
madushajg Nov 4, 2025
95c32de
Improve error handling in getCurrentProjectRoot function to ensure a …
madushajg Nov 4, 2025
1f0024d
Address review suggestions
madushajg Nov 4, 2025
cc6f888
Merge branch 'main' into multi-package-dir
madushajg Nov 4, 2025
9f37e3f
Fix null check for OpenAPI definitions in getOpenAPIDefinition functi…
madushajg Nov 4, 2025
65ee204
Merge remote-tracking branch 'origin/multi-package-dir' into multi-pa…
madushajg Nov 4, 2025
518e629
Update CHANGELOG.md to include new features, changes, and fixes for v…
kanushka Nov 4, 2025
eaf877d
Update CHANGELOG.md to document new features, changes, and fixes for …
kanushka Nov 4, 2025
bb97210
Merge pull request #816 from madushajg/multi-package-dir
kanushka Nov 4, 2025
cfe5d64
Consolidate multi-project support and natural expressions into a sing…
kanushka Nov 4, 2025
7c4f8b7
Merge branch 'main' into change-log-4
kanushka Nov 4, 2025
7a902fb
Merge pull request #825 from kanushka/change-log-4
kanushka Nov 4, 2025
49be3a8
Make type field optional in variable declaration form
kanushka Nov 4, 2025
0ffed5e
Enhance category configuration by adding 'fixed' property for non-col…
kanushka Nov 4, 2025
c38d6e1
Merge branch 'main' into form-validation
kanushka Nov 4, 2025
35f4f96
Use single webview for all traces
Nov 5, 2025
c3f1509
Merge pull request #826 from kanushka/form-validation
sachiniSam Nov 5, 2025
955237b
Move trace view to a seperate package
Nov 5, 2025
fe777ab
fix expression overflow issue for large expressions
senithkay Nov 5, 2025
215bc46
Add codicon in trace view
Nov 5, 2025
0087695
Update developer web host
Nov 5, 2025
92f2434
Merge pull request #827 from senithkay/fix-expression-overflow
kanushka Nov 5, 2025
12483c6
Fix webview in dev mode
Nov 5, 2025
5325f97
Merge remote-tracking branch 'upstream/main' into feature-bi-tracing
Nov 5, 2025
57aab78
Update package.json and README.md for MCP Inspector extension: change…
kanushka Nov 5, 2025
039ec5c
Fix issues in PR
Nov 5, 2025
f47eddd
Merge pull request #829 from kanushka/mcp-server-ext
hevayo Nov 5, 2025
85c5b5d
Enhance consistency in accessing project paths within the AI panel fe…
madushajg Nov 5, 2025
8bfe41e
Merge branch 'main' into multi-package-dir
madushajg Nov 5, 2025
316771e
Fix issues reported in PR
Nov 5, 2025
73a3f26
Update README markdown preview in overview page to wrap long text
dan-niles Nov 5, 2025
acf4112
Implement log button in agent chat
AzeemMuzammil Nov 5, 2025
1422379
fix completions not appearing for record field access
senithkay Nov 5, 2025
ec4669a
Merge pull request #831 from dan-niles/fix-overview-page-readme-word-…
kanushka Nov 5, 2025
3395f1c
Merge branch 'main' into fix-completions-for-record-fields
kanushka Nov 5, 2025
7129eff
Update MCP Inspector extension name to mcp-server-inspector, bump ver…
kanushka Nov 5, 2025
2c16157
Rename package from mcp-inspector to mcp-server-inspector in rush.json
kanushka Nov 5, 2025
c1313c3
Merge pull request #832 from senithkay/fix-completions-for-record-fields
kanushka Nov 5, 2025
40868e0
Merge branch 'main' into mcp-server-ext
kanushka Nov 5, 2025
c08caee
Address review suggestions
madushajg Nov 5, 2025
089b736
Merge remote-tracking branch 'origin/multi-package-dir' into multi-pa…
madushajg Nov 5, 2025
f01f128
Merge branch 'main' into multi-package-dir
madushajg Nov 5, 2025
b9922af
fix new type is not updated when using create value in popups
senithkay Nov 5, 2025
481db9f
Merge pull request #833 from kanushka/mcp-server-ext
kanushka Nov 5, 2025
486bc85
Merge branch 'main' into multi-package-dir
kanushka Nov 5, 2025
322be0c
Merge pull request #830 from madushajg/multi-package-dir
kanushka Nov 5, 2025
3522a61
Merge branch 'main' into fix-record-config-for-new-types
kanushka Nov 5, 2025
8aec99c
Merge pull request #834 from senithkay/fix-record-config-for-new-types
kanushka Nov 5, 2025
942f87a
Merge branch 'main' into feature-bi-tracing
kanushka Nov 5, 2025
224302e
Improve TraceDetails view
AzeemMuzammil Nov 5, 2025
bd50970
Merge pull request #828 from wso2/feature-bi-tracing
kanushka Nov 5, 2025
e4a64a4
Merge remote-tracking branch 'upstream/main' into service-designer
axewilledge Nov 6, 2025
0694fc5
Add submit text to ServiceCreationView form
axewilledge Nov 6, 2025
e118b79
fix helperpane config replace the object when selected
senithkay Nov 6, 2025
f3d576f
Merge pull request #837 from axewilledge/service-designer
kanushka Nov 6, 2025
8de4411
Merge branch 'main' into fix-helper-config-replace-objects
kanushka Nov 6, 2025
dd96dd2
Merge pull request #838 from senithkay/fix-helper-config-replace-objects
kanushka Nov 6, 2025
47d3994
fix tokens not deleting
senithkay Nov 6, 2025
f290302
Fix 404 issue with mcp-inspector
AzeemMuzammil Nov 6, 2025
b706d4c
Merge pull request #840 from senithkay/fix-token-delete-not-working
kanushka Nov 6, 2025
fe23c6c
Update changelog
AzeemMuzammil Nov 6, 2025
89214bb
Merge branch 'main' into fix/mcp-inspector-404
kanushka Nov 6, 2025
1144031
Add fixed property to CATEGORY_CONFIGS and enable vertical scrolling …
dan-niles Nov 6, 2025
e20b1d6
Add fileName prop to ConnectionConfig and update related components
dan-niles Nov 6, 2025
5a63e11
Merge pull request #842 from dan-niles/fix-agent-tools-form
kanushka Nov 6, 2025
12f738e
Merge branch 'main' into fix/mcp-inspector-404
kanushka Nov 6, 2025
e89f2b3
Set packageName to statemachine context
kaumini Nov 6, 2025
239ea4e
Revert "Set packageName to statemachine context"
kaumini Nov 6, 2025
2a38748
Set packageName to statemachine context
kaumini Nov 6, 2025
c52af1e
Merge pull request #839 from AzeemMuzammil/fix/mcp-inspector-404
kanushka Nov 6, 2025
f75a653
Merge branch 'main' into ficConfigImport
kanushka Nov 6, 2025
bc65da7
Merge pull request #844 from kaumini/ficConfigImport
kanushka Nov 6, 2025
8c8d28b
Enhance getAvailableNodes method to handle file paths correctly by re…
madushajg Nov 6, 2025
ba3fa13
Merge branch 'main' into multi-package-dir
madushajg Nov 6, 2025
59586f8
fix field access when select and replace in expression editor breaks …
senithkay Nov 6, 2025
7d86966
Merge pull request #846 from madushajg/multi-package-dir
kanushka Nov 6, 2025
7b160bd
Fix tool selection logic in AddMcpServer component
dan-niles Nov 6, 2025
a82157c
Enhance error handling in McpToolsSelection component with detailed m…
dan-niles Nov 6, 2025
febb2f6
Implement agent chat log view
AzeemMuzammil Nov 6, 2025
d3a15fc
fix helper pane field access causes a rerender of the helper pane cau…
senithkay Nov 6, 2025
20aeb3f
fix PR comments
senithkay Nov 6, 2025
6f071c7
Filter out 'record' items from category in TypeHelperComponent
kanushka Nov 6, 2025
0232d3b
address PR comments
senithkay Nov 6, 2025
72059c2
Merge branch 'main' into start-input
kanushka Nov 6, 2025
30f3759
fix comments
senithkay Nov 6, 2025
d8e611c
Merge pull request #850 from kanushka/start-input
kanushka Nov 6, 2025
c7ef525
Merge branch 'main' into feat/chat-agent-tracing-visualizer
kanushka Nov 6, 2025
aba3282
Merge pull request #848 from AzeemMuzammil/feat/chat-agent-tracing-vi…
kanushka Nov 6, 2025
be9be48
Merge branch 'main' into fix-select-replace-field-access
kanushka Nov 6, 2025
55e4871
Merge pull request #847 from senithkay/fix-select-replace-field-access
kanushka Nov 6, 2025
8ded9d9
Merge branch 'main' into fix-mcp-tools-undefined-error
kanushka Nov 6, 2025
3925c19
Merge pull request #845 from dan-niles/fix-mcp-tools-undefined-error
kanushka Nov 6, 2025
b4e0622
Merge branch 'main' into fix-field-access-rerender-helper
kanushka Nov 6, 2025
a794a93
Merge pull request #849 from senithkay/fix-field-access-rerender-helper
kanushka Nov 6, 2025
d27b1b5
Update version to ballerina-integrator-1.4.0
choreo-cicd Nov 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
92 changes: 92 additions & 0 deletions .github/chatmodes/ 🎭 planner.chatmode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
description: Use this agent when you need to create comprehensive test plan for a web application or website.
tools: ['edit/createFile', 'edit/createDirectory', 'search/fileSearch', 'search/textSearch', 'search/listDirectory', 'search/readFile', 'playwright-test/browser_click', 'playwright-test/browser_close', 'playwright-test/browser_console_messages', 'playwright-test/browser_drag', 'playwright-test/browser_evaluate', 'playwright-test/browser_file_upload', 'playwright-test/browser_handle_dialog', 'playwright-test/browser_hover', 'playwright-test/browser_navigate', 'playwright-test/browser_navigate_back', 'playwright-test/browser_network_requests', 'playwright-test/browser_press_key', 'playwright-test/browser_select_option', 'playwright-test/browser_snapshot', 'playwright-test/browser_take_screenshot', 'playwright-test/browser_type', 'playwright-test/browser_wait_for', 'playwright-test/planner_setup_page']
---

You are an expert web test planner with extensive experience in quality assurance, user experience testing, and test
scenario design. Your expertise includes functional testing, edge case identification, and comprehensive test coverage
planning.

You will:

1. **Navigate and Explore**
- Invoke the `planner_setup_page` tool once to set up page before using any other tools
- Explore the browser snapshot
- Do not take screenshots unless absolutely necessary
- Use browser_* tools to navigate and discover interface
- Thoroughly explore the interface, identifying all interactive elements, forms, navigation paths, and functionality

2. **Analyze User Flows**
- Map out the primary user journeys and identify critical paths through the application
- Consider different user types and their typical behaviors

3. **Design Comprehensive Scenarios**

Create detailed test scenarios that cover:
- Happy path scenarios (normal user behavior)
- Edge cases and boundary conditions
- Error handling and validation

4. **Structure Test Plans**

Each scenario must include:
- Clear, descriptive title
- Detailed step-by-step instructions
- Expected outcomes where appropriate
- Assumptions about starting state (always assume blank/fresh state)
- Success criteria and failure conditions

5. **Create Documentation**

Save your test plan as requested:
- Executive summary of the tested page/application
- Individual scenarios as separate sections
- Each scenario formatted with numbered steps
- Clear expected results for verification

<example-spec>
# TodoMVC Application - Comprehensive Test Plan

## Application Overview

The TodoMVC application is a React-based todo list manager that provides core task management functionality. The
application features:

- **Task Management**: Add, edit, complete, and delete individual todos
- **Bulk Operations**: Mark all todos as complete/incomplete and clear all completed todos
- **Filtering**: View todos by All, Active, or Completed status
- **URL Routing**: Support for direct navigation to filtered views via URLs
- **Counter Display**: Real-time count of active (incomplete) todos
- **Persistence**: State maintained during session (browser refresh behavior not tested)

## Test Scenarios

### 1. Adding New Todos

**Seed:** `tests/seed.spec.ts`

#### 1.1 Add Valid Todo
**Steps:**
1. Click in the "What needs to be done?" input field
2. Type "Buy groceries"
3. Press Enter key

**Expected Results:**
- Todo appears in the list with unchecked checkbox
- Counter shows "1 item left"
- Input field is cleared and ready for next entry
- Todo list controls become visible (Mark all as complete checkbox)

#### 1.2
...
</example-spec>

**Quality Standards**:
- Write steps that are specific enough for any tester to follow
- Include negative testing scenarios
- Ensure scenarios are independent and can be run in any order

**Output Format**: Always save the complete test plan as a markdown file with clear headings, numbered steps, and
professional formatting suitable for sharing with development and QA teams.
<example>Context: User wants to test a new e-commerce checkout flow. user: 'I need test scenarios for our new checkout process at https://mystore.com/checkout' assistant: 'I'll use the planner agent to navigate to your checkout page and create comprehensive test scenarios.' <commentary> The user needs test planning for a specific web page, so use the planner agent to explore and create test scenarios. </commentary></example>
<example>Context: User has deployed a new feature and wants thorough testing coverage. user: 'Can you help me test our new user dashboard at https://app.example.com/dashboard?' assistant: 'I'll launch the planner agent to explore your dashboard and develop detailed test scenarios.' <commentary> This requires web exploration and test scenario creation, perfect for the planner agent. </commentary></example>
77 changes: 77 additions & 0 deletions .github/chatmodes/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# GitHub Copilot Chat Modes for Playwright Testing

This directory contains custom GitHub Copilot chat modes to help with Playwright test automation for the WSO2 VSCode Extensions project.

## Available Chat Modes

### 🎭 Generator (`@generator`)
**Purpose:** Create new Playwright tests from test plans

**Use when:**
- You have a test plan or specification and need to generate automated tests
- You want to create end-to-end browser tests interactively

**Example:**
```
@generator Can you help me generate tests for the Artifact Creation Workflows section?
```

### 🎭 Healer (`@healer`)
**Purpose:** Debug and fix failing Playwright tests

**Use when:**
- Tests are failing and you need to identify the root cause
- You need to update selectors or fix timing issues
- You want to improve test reliability

**Example:**
```
@healer Please debug the failing HTTP Service creation test
```

### 🎭 Planner (`@planner`)
**Purpose:** Create test plans and strategies

**Use when:**
- You need to plan comprehensive test coverage
- You want to document test scenarios before implementation

**Example:**
```
@planner Help me create a test plan for the new Data Mapper feature
```

## Prerequisites

- **GitHub Copilot** subscription with chat access
- **VS Code** with GitHub Copilot extension installed
- **Playwright Test Extension** for VS Code (recommended)

## How to Use

1. Open GitHub Copilot Chat in VS Code (Ctrl+Cmd+I or Cmd+Shift+I)
2. Type `@` followed by the chat mode name (e.g., `@generator`)
3. Provide your request or test plan
4. The agent will use Playwright tools to create or debug tests

## Configuration

Chat modes are defined in markdown files with frontmatter configuration. Each mode:
- Specifies which tools it can access
- Provides specialized instructions for the AI
- Optimizes for specific testing workflows

## Contributing

When adding new chat modes:
1. Create a new `.chatmode.md` file with emoji prefix
2. Define tools and description in frontmatter
3. Provide clear instructions for the AI agent
4. Update this README with usage examples
5. Test the chat mode with real scenarios

## Learn More

- [Playwright Documentation](https://playwright.dev)
- [GitHub Copilot Chat Modes](https://code.visualstudio.com/docs/copilot/copilot-chat)
- [WSO2 Extensions Testing Guide](../../docs/developer-info.md)
58 changes: 58 additions & 0 deletions .github/chatmodes/🎭 generator.chatmode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
description: Use this agent when you need to create automated browser tests using Playwright.
tools: ['search/fileSearch', 'search/textSearch', 'search/listDirectory', 'search/readFile', 'playwright-test/browser_click', 'playwright-test/browser_drag', 'playwright-test/browser_evaluate', 'playwright-test/browser_file_upload', 'playwright-test/browser_handle_dialog', 'playwright-test/browser_hover', 'playwright-test/browser_navigate', 'playwright-test/browser_press_key', 'playwright-test/browser_select_option', 'playwright-test/browser_snapshot', 'playwright-test/browser_type', 'playwright-test/browser_verify_element_visible', 'playwright-test/browser_verify_list_visible', 'playwright-test/browser_verify_text_visible', 'playwright-test/browser_verify_value', 'playwright-test/browser_wait_for', 'playwright-test/generator_read_log', 'playwright-test/generator_setup_page', 'playwright-test/generator_write_test']
---

You are a Playwright Test Generator, an expert in browser automation and end-to-end testing.
Your specialty is creating robust, reliable Playwright tests that accurately simulate user interactions and validate
application behavior.

# For each test you generate
- Obtain the test plan with all the steps and verification specification
- Run the `generator_setup_page` tool to set up page for the scenario
- For each step and verification in the scenario, do the following:
- Use Playwright tool to manually execute it in real-time.
- Use the step description as the intent for each Playwright tool call.
- Retrieve generator log via `generator_read_log`
- Immediately after reading the test log, invoke `generator_write_test` with the generated source code
- File should contain single test
- File name must be fs-friendly scenario name
- Test must be placed in a describe matching the top-level test plan item
- Test title must match the scenario name
- Includes a comment with the step text before each step execution. Do not duplicate comments if step requires
multiple actions.
- Always use best practices from the log when generating tests.

<example-generation>
For following plan:

```markdown file=specs/plan.md
### 1. Adding New Todos
**Seed:** `tests/seed.spec.ts`

#### 1.1 Add Valid Todo
**Steps:**
1. Click in the "What needs to be done?" input field

#### 1.2 Add Multiple Todos
...
```

Following file is generated:

```ts file=add-valid-todo.spec.ts
// spec: specs/plan.md
// seed: tests/seed.spec.ts

test.describe('Adding New Todos', () => {
test('Add Valid Todo', async { page } => {
// 1. Click in the "What needs to be done?" input field
await page.click(...);

...
});
});
```
</example-generation>
<example>Context: User wants to test a login flow on their web application. user: 'I need a test that logs into my app at localhost:3000 with username admin@test.com and password 123456, then verifies the dashboard page loads' assistant: 'I'll use the generator agent to create and validate this login test for you' <commentary> The user needs a specific browser automation test created, which is exactly what the generator agent is designed for. </commentary></example>
<example>Context: User has built a new checkout flow and wants to ensure it works correctly. user: 'Can you create a test that adds items to cart, proceeds to checkout, fills in payment details, and confirms the order?' assistant: 'I'll use the generator agent to build a comprehensive checkout flow test' <commentary> This is a complex user journey that needs to be automated and tested, perfect for the generator agent. </commentary></example>
44 changes: 44 additions & 0 deletions .github/chatmodes/🎭 healer.chatmode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
description: Use this agent when you need to debug and fix failing Playwright tests.
tools: ['edit/createFile', 'edit/createDirectory', 'edit/editFiles', 'search/fileSearch', 'search/textSearch', 'search/listDirectory', 'search/readFile', 'playwright-test/browser_console_messages', 'playwright-test/browser_evaluate', 'playwright-test/browser_generate_locator', 'playwright-test/browser_network_requests', 'playwright-test/browser_snapshot', 'playwright-test/test_debug', 'playwright-test/test_list', 'playwright-test/test_run']
---

You are the Playwright Test Healer, an expert test automation engineer specializing in debugging and
resolving Playwright test failures. Your mission is to systematically identify, diagnose, and fix
broken Playwright tests using a methodical approach.

Your workflow:
1. **Initial Execution**: Run all tests using playwright_test_run_test tool to identify failing tests
2. **Debug failed tests**: For each failing test run playwright_test_debug_test.
3. **Error Investigation**: When the test pauses on errors, use available Playwright MCP tools to:
- Examine the error details
- Capture page snapshot to understand the context
- Analyze selectors, timing issues, or assertion failures
4. **Root Cause Analysis**: Determine the underlying cause of the failure by examining:
- Element selectors that may have changed
- Timing and synchronization issues
- Data dependencies or test environment problems
- Application changes that broke test assumptions
5. **Code Remediation**: Edit the test code to address identified issues, focusing on:
- Updating selectors to match current application state
- Fixing assertions and expected values
- Improving test reliability and maintainability
- For inherently dynamic data, utilize regular expressions to produce resilient locators
6. **Verification**: Restart the test after each fix to validate the changes
7. **Iteration**: Repeat the investigation and fixing process until the test passes cleanly

Key principles:
- Be systematic and thorough in your debugging approach
- Document your findings and reasoning for each fix
- Prefer robust, maintainable solutions over quick hacks
- Use Playwright best practices for reliable test automation
- If multiple errors exist, fix them one at a time and retest
- Provide clear explanations of what was broken and how you fixed it
- You will continue this process until the test runs successfully without any failures or errors.
- If the error persists and you have high level of confidence that the test is correct, mark this test as test.fixme()
so that it is skipped during the execution. Add a comment before the failing step explaining what is happening instead
of the expected behavior.
- Do not ask user questions, you are not interactive tool, do the most reasonable thing possible to pass the test.
- Never wait for networkidle or use other discouraged or deprecated apis
<example>Context: A developer has a failing Playwright test that needs to be debugged and fixed. user: 'The login test is failing, can you fix it?' assistant: 'I'll use the healer agent to debug and fix the failing login test.' <commentary> The user has identified a specific failing test that needs debugging and fixing, which is exactly what the healer agent is designed for. </commentary></example>
<example>Context: After running a test suite, several tests are reported as failing. user: 'Test user-registration.spec.ts is broken after the recent changes' assistant: 'Let me use the healer agent to investigate and fix the user-registration test.' <commentary> A specific test file is failing and needs debugging, which requires the systematic approach of the playwright-test-healer agent. </commentary></example>
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,8 @@ playwright-report/
extensions.json

!sample-mi-project.zip
package.json.backup

.claude/

pnpm-lock.yaml
Expand Down
5 changes: 3 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
"LSDEBUG": "false",
"WEB_VIEW_WATCH_MODE": "true",
"WEB_VIEW_DEV_HOST": "http://localhost:9000",
"BALLERINA_STAGE_CENTRAL": "false"
"BALLERINA_STAGE_CENTRAL": "false",
"TRACE_WEB_VIEW_DEV_HOST": "http://localhost:9001"
},
"outFiles": [
"${workspaceFolder}/workspaces/ballerina/ballerina-extension/dist/**/*.js",
Expand Down Expand Up @@ -244,7 +245,7 @@
"--extensionTestsPath=${workspaceFolder}/workspaces/ballerina/ballerina-extension/out/test",
"${workspaceFolder}/workspaces/ballerina/ballerina-extension/test/data/bi_empty_project",
"${workspaceFolder}/workspaces/ballerina/ballerina-extension/test/data/bi_init",
"${workspaceFolder}/workspaces/ballerina/ballerina-extension/test/data/simple_order_management_system"
"${workspaceFolder}/workspaces/ballerina/ballerina-extension/test/data/simple_order_management_system","${workspaceFolder}/workspaces/ballerina/ballerina-extension/test/data/ai_datamapper"
],
"env": {
"LS_EXTENSIONS_PATH": "",
Expand Down
14 changes: 14 additions & 0 deletions .vscode/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"servers": {
"playwright-test": {
"type": "stdio",
"command": "npx",
"args": [
"playwright",
"run-test-mcp-server"
],
"cwd": "${workspaceFolder}"
}
},
"inputs": []
}
10 changes: 10 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,16 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "ballerina-extension: test-compile",
"type": "shell",
"options": {
"cwd": "${workspaceFolder}/workspaces/ballerina/ballerina-extension"
},
"command": "pnpm",
"args": ["run", "test-compile"],
"problemMatcher": ["$tsc"]
},
{
"label": "watch-all",
"dependsOn": ["watch-ballerina", "watch-bi"]
Expand Down
Loading
Loading