You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by gi...@apache.org on 2025/11/07 07:05:19 UTC
(superset) branch dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-demo/storybook/react-10.0.1 updated (9ed675d074 -> 80efa8c134)
This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-demo/storybook/react-10.0.1
in repository https://gitbox.apache.org/repos/asf/superset.git
omit 9ed675d074 chore(deps): bump @storybook/react
add 8ccdf3b32b feat(frontend): Replace ESLint with OXC hybrid linting architecture (#35506)
add 5fc934d859 chore: bump shillelagh to 1.4.3 (#35895)
add 6f50ddf710 refactor(explore): extract session ID retrieval into overridable method (#35779)
add f6f15f58ee fix: set pandas 2.1 as requirement (#35912)
add 6e27bee2ca refactor(explore): improve focus management in adhoc filter editor (#35801)
add 0a95f74f11 chore: Docs and config improvements for Docker setup (#35896)
add 30d584afd1 fix(db2): update time grain expressions for DAY to use DATE function (#35848)
add fee4e7d8e2 feat(mcp): MCP service implementation (PRs 3-9 consolidated) (#35877)
add d1f9c77afd chore(deps): bump caniuse-lite from 1.0.30001751 to 1.0.30001752 in /docs (#35924)
add be3690c22b fix(explore): formatting the SQL in "View Query" pop-up doesn't format (#35898)
add 00a6772507 chore(deps): bump swagger-ui-react from 5.30.0 to 5.30.1 in /docs (#35955)
add 3c43ce4e06 chore(deps): bump antd from 5.27.6 to 5.28.0 in /docs (#35956)
add 17299e469a chore(deps-dev): bump @eslint/js from 9.38.0 to 9.39.0 in /docs (#35954)
add 405ed2e736 chore(deps-dev): bump eslint from 9.38.0 to 9.39.0 in /superset-websocket (#35953)
add ae1f0bb107 chore(deps-dev): bump @types/node from 24.9.2 to 24.10.0 in /superset-websocket (#35952)
add bae2c90bae docs: correct spelling typos in project codebase (#35935)
add 27011d0239 fix(sqllab): align refresh buttons with select input fields (#35917)
add 5224347c39 test(useThemeMenuItems): fix race conditions by awaiting all userEvent calls (#35918)
add 1c1d1ddbec chore(deps): bump caniuse-lite from 1.0.30001752 to 1.0.30001753 in /docs (#35957)
add b92b725fe2 chore(deps-dev): bump eslint from 9.38.0 to 9.39.0 in /docs (#35951)
add 51b4df7a1f chore(deps-dev): bump globals from 16.4.0 to 16.5.0 in /docs (#35949)
add 7cd04c088c chore(deps-dev): bump globals from 16.4.0 to 16.5.0 in /superset-websocket (#35948)
add 46db8b7803 fix(dataset): sync columns checkbox not responding to clicks in virtual dataset modal (#35650)
add 53687ae659 fix(dashboard): fix dataset search in filter config modal (#35488)
add 0d70373d95 feat(npm): New `npm run clear-npm` script to nuke `node_modules` faster. (#35923)
add 7265567561 fix(DatasourceEditor): preserve calculated column order when editing sql (#35790)
add 04231c86db fix(TimeTable): Match calculations between filtered and non filtered states (#35619)
add a1d4dff99d feat(logs): Add is_cached as part of ChartDataRestApi.data actions (#36001)
add 3f49938b79 fix(explore): Overwriting a chart updates the form_data_key (#35888)
add 392b880b52 fix(view-in-sqllab): unable to open virtual dataset after discarding chart edits (#35931)
add 32099d8f49 chore(deps): bump swagger-ui-react from 5.30.1 to 5.30.2 in /docs (#35994)
add 1f960d5761 fix(DatabaseModal): prevent errors when pasting text into supported database select (#35916)
add 14f20e644e fix(chart list): Facepile shows correct users when saving chart properties (#33392)
add 84a1abd357 fix(ui): bump AntD to 5.26.0 to fix Splitter drag menu issue (#35782)
add 3765c31163 chore(logs): Use correct log level and remove duplicates for get_query (#36023)
add 0827ff7687 feat(build): Migrate webpack to SWC for ~70%+ faster builds (#35946)
add af37e12de4 fix(SelectFilterPlugin): clear all clears all filters including dependent ones (#35303)
add f5f5913a29 test: revert unrelated flaky test fix from MCP PR (#36015)
add c11be72ead fix(UI): spacings + UI fixes (#36010)
add 2f2128ac48 chore(deps): bump caniuse-lite from 1.0.30001753 to 1.0.30001754 in /docs (#36018)
add 208b1f7fa3 docs: Reorganize and improve developer portal documentation (#36005)
add 80efa8c134 chore(deps): bump @storybook/react
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (9ed675d074)
\
N -- N -- N refs/heads/dependabot/npm_and_yarn/superset-frontend/packages/superset-ui-demo/storybook/react-10.0.1 (80efa8c134)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.devcontainer/README.md | 11 -
.devcontainer/default/devcontainer.json | 19 +
.devcontainer/devcontainer-base.json | 39 +
.devcontainer/setup-dev.sh | 84 +-
.devcontainer/start-superset.sh | 83 +-
.devcontainer/with-mcp/devcontainer.json | 29 +
.github/workflows/superset-frontend.yml | 6 +-
.gitignore | 3 +
.pre-commit-config.yaml | 29 +-
.rat-excludes | 1 +
Dockerfile | 2 +
LINTING_ARCHITECTURE.md | 121 ++
UPDATING.md | 2 +-
docker-compose.yml | 6 +-
docker/README.md | 18 +-
docker/docker-bootstrap.sh | 4 +
.../{config.json => config.example.json} | 0
docs/developer_portal/api/frontend.md | 772 --------
docs/developer_portal/architecture/overview.md | 194 --
.../capabilities/common-capabilities.md | 55 -
.../capabilities/extending-workbench.md | 62 -
docs/developer_portal/capabilities/overview.md | 53 -
docs/developer_portal/capabilities/theming.md | 61 -
docs/developer_portal/cli/overview.md | 578 ------
.../developer_portal/coding-guidelines/overview.md | 44 -
docs/developer_portal/contributing/code-review.md | 4 +-
docs/developer_portal/contributing/overview.md | 4 +-
.../developer_portal/contributing/submitting-pr.md | 2 +-
.../extensions/architectural-principles.md | 36 -
docs/developer_portal/extensions/architecture.md | 253 +++
.../extensions/built-in-features.md | 36 -
.../extensions/dynamic-module-loading.md | 84 -
.../extensions/high-level-architecture.md | 41 -
.../extensions/lifecycle-management.md | 41 -
docs/developer_portal/extensions/overview.md | 18 +-
.../extensions/proof-of-concept.md | 288 ---
docs/developer_portal/extensions/quick-start.md | 397 ++++
docs/developer_portal/extensions/versioning.md | 31 -
docs/developer_portal/guides/command-palette.md | 61 -
docs/developer_portal/guides/custom-editors.md | 64 -
docs/developer_portal/guides/overview.md | 58 -
docs/developer_portal/guides/virtual-documents.md | 63 -
docs/developer_portal/guides/webviews.md | 61 -
docs/developer_portal/index.md | 8 +-
.../references/activation-events.md | 549 ------
docs/developer_portal/references/api.md | 101 -
.../references/contribution-points.md | 475 -----
docs/developer_portal/references/manifest.md | 526 -----
docs/developer_portal/references/overview.md | 74 -
docs/developer_portal/sidebars.js | 47 +-
docs/developer_portal/testing/overview.md | 4 +-
docs/developer_portal/ux/accessibility.md | 70 -
docs/developer_portal/ux/best-practices.md | 73 -
docs/developer_portal/ux/design-principles.md | 68 -
docs/developer_portal/ux/overview.md | 62 -
docs/developer_portal/viz-plugins/controls.md | 77 -
.../viz-plugins/creating-viz-plugin.md | 80 -
docs/developer_portal/viz-plugins/overview.md | 67 -
.../viz-plugins/transforming-data.md | 76 -
docs/docs/contributing/howtos.mdx | 4 +-
docs/package.json | 12 +-
docs/sidebarTutorials.js | 71 +-
.../version-6.0.0/contributing/howtos.mdx | 4 +-
docs/yarn.lock | 249 +--
pyproject.toml | 8 +-
requirements/base.txt | 2 +-
requirements/development.txt | 2 +-
scripts/{eslint.sh => check-custom-rules.sh} | 20 +-
scripts/eslint.sh | 2 +-
scripts/{eslint.sh => oxlint.sh} | 23 +-
superset-frontend/.eslintrc.js | 403 ++--
superset-frontend/.eslintrc.minimal.js | 121 ++
superset-frontend/.gitignore | 1 +
superset-frontend/.swcrc | 64 +
superset-frontend/LINTING.md | 165 ++
.../e2e/dashboard/horizontalFilterBar.test.ts | 69 +-
.../cypress/e2e/dashboard_list/list.test.ts | 6 +-
superset-frontend/js_build.sh | 2 +-
superset-frontend/oxlint.json | 284 +++
superset-frontend/package-lock.json | 813 +++++++-
superset-frontend/package.json | 24 +-
.../packages/superset-core/package.json | 2 +-
.../superset-ui-chart-controls/src/types.ts | 2 +-
.../test/operators/renameOperator.test.ts | 89 +-
.../test/operators/sortOperator.test.ts | 36 +-
.../test/utils/getTemporalColumns.test.ts | 14 +-
.../packages/superset-ui-core/package.json | 2 +-
.../src/components/AsyncAceEditor/index.tsx | 4 +-
.../superset-ui-core/src/components/Modal/types.ts | 4 +-
.../src/components/Select/AsyncSelect.test.tsx | 3 +-
.../src/components/Table/Table.test.tsx | 6 +-
.../TableCollection/TableCollection.test.tsx | 6 +-
.../src/components/TableCollection/index.tsx | 9 +
.../src/components/TableView/TableView.test.tsx | 6 +-
.../ThemedAgGridReact/setupAGGridModules.test.ts | 60 +-
.../useTruncation/useChildElementTruncation.ts | 2 +-
.../packages/superset-ui-core/src/theme/Theme.tsx | 2 +-
.../src/time-comparison/customTimeRangeDecode.ts | 12 +-
.../packages/superset-ui-core/src/utils/dates.ts | 2 -
.../src/validator/validateMaxValue.ts | 2 +-
.../{themeDecorator.js => themeDecorator.jsx} | 4 +-
.../packages/superset-ui-demo/package.json | 2 +-
.../stories/plugins/plugin-chart-table/testData.ts | 9 +-
.../stories/superset-ui-theme/Theme.stories.tsx | 103 +-
superset-frontend/playwright/README.md | 23 +-
.../src/layers/spatialUtils.ts | 2 +-
.../src/utilities/tooltipUtils.tsx | 2 +-
.../src/utils/crossFiltersDataMask.ts | 18 +-
.../src/AgGridTableChart.tsx | 4 +-
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 2 +-
.../src/renderers/NumericCellRenderer.tsx | 8 +-
.../src/utils/getCrossFilterDataMask.ts | 2 +-
.../test/buildQuery.test.ts | 6 +-
.../src/Gantt/controlPanel.tsx | 14 +-
.../src/MixedTimeseries/EchartsMixedTimeseries.tsx | 26 +-
.../plugin-chart-echarts/src/Treemap/constants.ts | 1 -
.../plugin-chart-echarts/src/components/Echart.tsx | 11 +-
.../plugins/plugin-chart-handlebars/README.md | 3 -
.../src/PivotTableChart.tsx | 2 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 6 +-
.../plugins/plugin-chart-table/src/buildQuery.ts | 2 +-
superset-frontend/scripts/check-custom-rules.js | 328 +++
.../scripts/oxlint-metrics-uploader.js | 245 +++
superset-frontend/src/.eslintrc.json | 2 +-
.../EstimateQueryCostButton.test.tsx | 6 +-
.../src/SqlLab/components/ResultSet/index.tsx | 5 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 2 +-
.../components/TableElement/TableElement.test.tsx | 2 +-
superset-frontend/src/SqlLab/fixtures.ts | 2 +-
.../middlewares/persistSqlLabStateEnhancer.js | 2 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 3 +-
.../Chart/DrillDetail/DrillDetailTableControls.tsx | 2 +-
.../src/components/Chart/chartAction.js | 1 -
.../src/components/CrudThemeProvider.tsx | 1 +
.../src/components/DatabaseSelector/index.tsx | 78 +-
.../{ImportModal => DatabaseSelector}/styles.ts | 14 +-
.../DatasourceModal/DatasourceModal.test.jsx | 176 +-
.../Datasource/DatasourceModal/index.tsx | 32 +-
.../components/CollectionTable/index.tsx | 26 +-
.../DatasourceEditor/DatasourceEditor.jsx | 47 +-
.../DatasetUsageTab/DatasetUsageTab.test.tsx | 46 +-
.../src/components/FacePile/FacePile.stories.tsx | 2 +-
.../src/components/FacePile/FacePile.test.tsx | 2 +-
.../src/components/FacePile/utils.tsx | 2 +-
.../src/components/GridTable/Header.test.tsx | 2 +-
.../src/components/ListView/CardCollection.tsx | 6 +-
.../src/components/ListView/ListView.tsx | 2 +-
superset-frontend/src/components/ListView/utils.ts | 2 +-
.../src/components/TableSelector/index.tsx | 22 +-
.../src/dashboard/actions/dashboardState.js | 4 +-
.../src/dashboard/components/Header/types.ts | 2 +-
.../components/SliceHeaderControls/index.tsx | 12 +-
.../gridComponents/ChartHolder/ChartHolder.tsx | 2 +-
.../dashboard/components/menu/WithPopoverMenu.tsx | 18 +-
.../ChartCustomization/ChartCustomizationForm.tsx | 6 +-
.../FilterBar/FilterBarSettings/index.tsx | 1 -
.../FilterBar/FilterControls/FilterControls.tsx | 6 -
.../components/nativeFilters/FilterBar/index.tsx | 9 +-
.../FiltersConfigForm/DatasetSelect.test.tsx | 203 ++
.../FiltersConfigForm/DatasetSelect.tsx | 4 +
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 10 +-
.../src/dashboard/containers/DashboardPage.tsx | 2 +-
.../src/dashboard/reducers/dashboardInfo.js | 36 +-
.../src/dashboard/reducers/dashboardState.test.ts | 10 +-
.../src/dashboard/util/permissionUtils.test.ts | 2 +-
.../src/explore/components/ControlHeader.tsx | 2 +-
.../explore/components/ControlPanelsContainer.tsx | 24 +-
.../PropertiesModal/PropertiesModal.test.tsx | 6 +
.../explore/components/PropertiesModal/index.tsx | 20 +-
.../src/explore/components/SaveModal.test.jsx | 30 +
.../src/explore/components/SaveModal.tsx | 5 +-
.../AnnotationLayerControl/AnnotationLayer.jsx | 6 +-
.../components/controls/ComparisonRangeLabel.tsx | 3 +-
.../FormattingPopoverContent.tsx | 2 +-
.../controls/ContourControl/ContourOption.tsx | 2 +-
.../controls/ControlPopover/ControlPopover.tsx | 49 +-
.../controls/DatasourceControl/index.jsx | 3 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 752 +++----
.../index.tsx | 59 +-
.../useAdvancedDataTypes.ts | 33 +-
.../AdhocFilterEditPopoverSqlTabContent/index.tsx | 4 +-
.../LayerConfigsPopoverContent.tsx | 12 +-
.../controls/SelectAsyncControl/index.tsx | 2 +-
.../components/controls/TextAreaControl.jsx | 2 +-
.../explore/components/controls/ViewQuery.test.tsx | 26 +
.../src/explore/components/controls/ViewQuery.tsx | 3 +-
.../components/controls/ZoomConfigControl/types.ts | 4 +
.../controls/ZoomConfigControl/zoomUtil.ts | 14 +-
.../src/explore/reducers/exploreReducer.js | 2 +-
superset-frontend/src/features/alerts/types.ts | 2 +-
.../src/features/cssTemplates/CssTemplateModal.tsx | 2 +-
.../databases/DatabaseModal/index.test.tsx | 22 +
.../src/features/databases/DatabaseModal/index.tsx | 33 +-
.../AddDataset/DatasetPanel/DatasetPanel.test.tsx | 6 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 2 +-
.../src/features/home/ActivityTable.tsx | 4 +-
.../src/features/home/ChartTable.test.tsx | 2 +-
superset-frontend/src/features/home/Menu.test.tsx | 2 +-
superset-frontend/src/features/home/Menu.tsx | 283 +--
.../src/features/home/RightMenu.test.tsx | 44 +-
superset-frontend/src/features/home/RightMenu.tsx | 14 +-
superset-frontend/src/features/home/SubMenu.tsx | 6 +-
.../src/features/roles/RoleListEditModal.test.tsx | 8 +-
.../src/features/themes/ThemeModal.tsx | 2 +-
superset-frontend/src/features/users/utils.ts | 2 +-
.../components/Select/SelectFilterPlugin.tsx | 34 +-
.../src/hooks/useThemeMenuItems.test.tsx | 40 +-
superset-frontend/src/hooks/useThemeMenuItems.tsx | 2 +-
.../src/hooks/useUnsavedChangesPrompt/index.ts | 11 +-
.../useUnsavedChangesPrompt.test.tsx | 41 +-
.../pages/AlertReportList/AlertReportList.test.jsx | 30 +-
.../AnnotationLayerList.test.jsx | 2 +-
.../src/pages/ChartCreation/index.tsx | 5 +-
.../pages/ChartList/ChartList.listview.test.tsx | 22 +-
.../pages/ChartList/ChartList.permissions.test.tsx | 20 +-
.../pages/CssTemplateList/CssTemplateList.test.jsx | 2 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 2 +-
superset-frontend/src/pages/DatabaseList/index.tsx | 2 +-
.../src/pages/DatasetCreation/index.tsx | 2 +-
.../ExecutionLogList/ExecutionLogList.test.tsx | 2 +-
.../src/pages/GroupsList/GroupsList.test.tsx | 8 +-
superset-frontend/src/pages/Home/Home.test.tsx | 10 +-
superset-frontend/src/pages/Home/index.tsx | 2 +-
.../src/pages/RolesList/RolesList.test.tsx | 10 +-
.../RowLevelSecurityList.test.tsx | 12 +-
.../pages/SavedQueryList/SavedQueryList.test.tsx | 2 +-
.../UserRegistrations/UserRegistrations.test.tsx | 2 +-
.../src/pages/UsersList/UsersList.test.tsx | 18 +-
superset-frontend/src/preamble.ts | 1 -
.../{downloadAsImage.ts => downloadAsImage.tsx} | 23 +-
superset-frontend/src/views/types.ts | 2 +-
.../visualizations/TimeTable/TimeTable.test.tsx | 41 +-
.../src/visualizations/TimeTable/constants.ts | 15 +-
.../valueCalculations/valueCalculations.test.ts | 160 ++
.../utils/valueCalculations/valueCalculations.ts | 52 +-
superset-frontend/tsconfig.json | 10 +-
superset-frontend/webpack.config.js | 215 +-
superset-websocket/package-lock.json | 114 +-
superset-websocket/package.json | 6 +-
superset/charts/data/api.py | 34 +-
superset/commands/database/test_connection.py | 2 +-
superset/commands/explore/form_data/create.py | 6 +-
superset/config.py | 2 +-
superset/db_engine_specs/db2.py | 6 +-
superset/mcp_service/CLAUDE.md | 523 +++++
superset/mcp_service/app.py | 83 +-
superset/mcp_service/auth.py | 108 +-
superset/mcp_service/chart/chart_utils.py | 484 +++++
superset/mcp_service/chart/preview_utils.py | 561 ++++++
.../chart/{tool => prompts}/__init__.py | 9 +-
.../chart/prompts/create_chart_guided.py | 195 ++
.../chart/{tool => resources}/__init__.py | 9 +-
.../mcp_service/chart/resources/chart_configs.py | 362 ++++
superset/mcp_service/chart/schemas.py | 891 ++++++++-
superset/mcp_service/chart/tool/__init__.py | 12 +
superset/mcp_service/chart/tool/generate_chart.py | 462 +++++
...hart_info.py => get_chart_available_filters.py} | 45 +-
superset/mcp_service/chart/tool/get_chart_data.py | 656 ++++++
superset/mcp_service/chart/tool/get_chart_info.py | 8 +
.../mcp_service/chart/tool/get_chart_preview.py | 2082 ++++++++++++++++++++
superset/mcp_service/chart/tool/list_charts.py | 11 +-
superset/mcp_service/chart/tool/update_chart.py | 224 +++
.../mcp_service/chart/tool/update_chart_preview.py | 168 ++
.../{utils => chart/validation}/__init__.py | 15 +-
.../chart/validation/dataset_validator.py | 329 ++++
superset/mcp_service/chart/validation/pipeline.py | 325 +++
.../chart/validation/runtime/__init__.py | 185 ++
.../validation/runtime/cardinality_validator.py | 195 ++
.../validation/runtime/chart_type_suggester.py | 437 ++++
.../chart/validation/runtime/format_validator.py | 225 +++
.../chart/validation/schema_validator.py | 307 +++
.../mcp_service/{system => commands}/__init__.py | 0
.../commands/create_form_data.py} | 23 +-
superset/mcp_service/common/error_schemas.py | 103 +
.../{chart/tool => dashboard/prompts}/__init__.py | 9 +-
.../tool => dashboard/resources}/__init__.py | 9 +-
superset/mcp_service/dashboard/schemas.py | 470 +++++
.../{chart => dashboard}/tool/__init__.py | 14 +-
.../tool/add_chart_to_existing_dashboard.py | 282 +++
.../dashboard/tool/generate_dashboard.py | 241 +++
.../tool/get_dashboard_available_filters.py} | 39 +-
.../dashboard/tool/get_dashboard_info.py | 101 +
.../mcp_service/dashboard/tool/list_dashboards.py | 99 +
.../{chart/tool => dataset/prompts}/__init__.py | 9 +-
.../{chart/tool => dataset/resources}/__init__.py | 9 +-
superset/mcp_service/dataset/schemas.py | 349 ++++
.../{chart => dataset}/tool/__init__.py | 10 +-
.../dataset/tool/get_dataset_available_filters.py} | 39 +-
.../mcp_service/dataset/tool/get_dataset_info.py | 111 ++
superset/mcp_service/dataset/tool/list_datasets.py | 149 ++
.../{system/tool => explore}/__init__.py | 2 +-
.../{common => explore/tool}/__init__.py | 9 +-
.../explore/tool/generate_explore_link.py | 111 ++
superset/mcp_service/flask_singleton.py | 16 +-
superset/mcp_service/mcp_config.py | 81 +-
superset/mcp_service/mcp_core.py | 209 +-
superset/mcp_service/middleware.py | 743 ++++++-
.../mcp_service/{common => screenshot}/__init__.py | 19 +-
.../mcp_service/screenshot/pooled_screenshot.py | 483 +++++
.../mcp_service/screenshot/webdriver_config.py | 139 ++
superset/mcp_service/screenshot/webdriver_pool.py | 433 ++++
superset/mcp_service/server.py | 2 +
.../mcp_service/sql_lab}/__init__.py | 0
superset/mcp_service/sql_lab/execute_sql_core.py | 221 +++
superset/mcp_service/sql_lab/schemas.py | 109 +
superset/mcp_service/sql_lab/sql_lab_utils.py | 243 +++
.../{common => sql_lab/tool}/__init__.py | 10 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 94 +
.../sql_lab/tool/open_sql_lab_with_context.py | 118 ++
.../{chart/tool => system/prompts}/__init__.py | 9 +-
superset/mcp_service/system/prompts/quickstart.py | 94 +
.../{chart/tool => system/resources}/__init__.py | 9 +-
.../system/resources/instance_metadata.py | 107 +
superset/mcp_service/system/schemas.py | 113 +-
superset/mcp_service/system/tool/__init__.py | 8 +
.../system/tool/get_superset_instance_info.py | 268 +++
superset/mcp_service/system/tool/health_check.py | 5 +-
superset/mcp_service/utils/cache_utils.py | 143 ++
superset/mcp_service/utils/error_builder.py | 369 ++++
superset/mcp_service/utils/permissions_utils.py | 313 +++
superset/mcp_service/utils/retry_utils.py | 341 ++++
superset/mcp_service/utils/url_utils.py | 128 ++
superset/reports/notifications/email.py | 4 +-
superset/sql_lab.py | 9 +-
superset/utils/log.py | 8 +-
tests/integration_tests/charts/commands_tests.py | 3 -
tests/integration_tests/charts/data/api_tests.py | 97 +
tests/integration_tests/event_logger_tests.py | 24 +
.../unit_tests/commands/explore}/__init__.py | 0
.../commands/explore/form_data}/__init__.py | 0
.../commands/explore/form_data/test_create.py | 85 +
tests/unit_tests/db_engine_specs/test_db2.py | 70 +
.../mcp_service/chart/test_chart_schemas.py | 160 ++
.../mcp_service/chart/test_chart_utils.py | 465 +++++
.../mcp_service/chart/tool/test_generate_chart.py | 268 +++
.../chart/tool/test_get_chart_preview.py | 290 +++
.../mcp_service/chart/tool/test_update_chart.py | 385 ++++
.../chart/tool/test_update_chart_preview.py | 474 +++++
.../unit_tests/mcp_service/conftest.py | 9 +-
.../unit_tests/mcp_service/dashboard}/__init__.py | 0
.../mcp_service/dashboard/tool}/__init__.py | 0
.../dashboard/tool/test_dashboard_generation.py | 450 +++++
.../dashboard/tool/test_dashboard_tools.py | 573 ++++++
.../unit_tests/mcp_service/dataset}/__init__.py | 0
.../mcp_service/dataset/tool}/__init__.py | 0
.../mcp_service/dataset/tool/test_dataset_tools.py | 1231 ++++++++++++
.../unit_tests/mcp_service/explore}/__init__.py | 0
.../mcp_service/explore/tool}/__init__.py | 0
.../explore/tool/test_generate_explore_link.py | 580 ++++++
.../unit_tests/mcp_service/sql_lab}/__init__.py | 0
.../mcp_service/sql_lab/test_execute_sql_helper.py | 64 +
.../mcp_service/sql_lab/tool}/__init__.py | 0
.../mcp_service/sql_lab/tool/test_execute_sql.py | 497 +++++
tests/unit_tests/utils/screenshot_test.py | 2 +-
354 files changed, 27164 insertions(+), 7403 deletions(-)
create mode 100644 .devcontainer/default/devcontainer.json
create mode 100644 .devcontainer/devcontainer-base.json
create mode 100644 .devcontainer/with-mcp/devcontainer.json
create mode 100644 LINTING_ARCHITECTURE.md
copy docker/superset-websocket/{config.json => config.example.json} (100%)
delete mode 100644 docs/developer_portal/api/frontend.md
delete mode 100644 docs/developer_portal/architecture/overview.md
delete mode 100644 docs/developer_portal/capabilities/common-capabilities.md
delete mode 100644 docs/developer_portal/capabilities/extending-workbench.md
delete mode 100644 docs/developer_portal/capabilities/overview.md
delete mode 100644 docs/developer_portal/capabilities/theming.md
delete mode 100644 docs/developer_portal/cli/overview.md
delete mode 100644 docs/developer_portal/coding-guidelines/overview.md
delete mode 100644 docs/developer_portal/extensions/architectural-principles.md
create mode 100644 docs/developer_portal/extensions/architecture.md
delete mode 100644 docs/developer_portal/extensions/built-in-features.md
delete mode 100644 docs/developer_portal/extensions/dynamic-module-loading.md
delete mode 100644 docs/developer_portal/extensions/high-level-architecture.md
delete mode 100644 docs/developer_portal/extensions/lifecycle-management.md
delete mode 100644 docs/developer_portal/extensions/proof-of-concept.md
create mode 100644 docs/developer_portal/extensions/quick-start.md
delete mode 100644 docs/developer_portal/extensions/versioning.md
delete mode 100644 docs/developer_portal/guides/command-palette.md
delete mode 100644 docs/developer_portal/guides/custom-editors.md
delete mode 100644 docs/developer_portal/guides/overview.md
delete mode 100644 docs/developer_portal/guides/virtual-documents.md
delete mode 100644 docs/developer_portal/guides/webviews.md
delete mode 100644 docs/developer_portal/references/activation-events.md
delete mode 100644 docs/developer_portal/references/api.md
delete mode 100644 docs/developer_portal/references/contribution-points.md
delete mode 100644 docs/developer_portal/references/manifest.md
delete mode 100644 docs/developer_portal/references/overview.md
delete mode 100644 docs/developer_portal/ux/accessibility.md
delete mode 100644 docs/developer_portal/ux/best-practices.md
delete mode 100644 docs/developer_portal/ux/design-principles.md
delete mode 100644 docs/developer_portal/ux/overview.md
delete mode 100644 docs/developer_portal/viz-plugins/controls.md
delete mode 100644 docs/developer_portal/viz-plugins/creating-viz-plugin.md
delete mode 100644 docs/developer_portal/viz-plugins/overview.md
delete mode 100644 docs/developer_portal/viz-plugins/transforming-data.md
copy scripts/{eslint.sh => check-custom-rules.sh} (66%)
copy scripts/{eslint.sh => oxlint.sh} (61%)
create mode 100644 superset-frontend/.eslintrc.minimal.js
create mode 100644 superset-frontend/.swcrc
create mode 100644 superset-frontend/LINTING.md
create mode 100644 superset-frontend/oxlint.json
rename superset-frontend/packages/superset-ui-demo/.storybook/{themeDecorator.js => themeDecorator.jsx} (68%)
create mode 100755 superset-frontend/scripts/check-custom-rules.js
create mode 100644 superset-frontend/scripts/oxlint-metrics-uploader.js
copy superset-frontend/src/components/{ImportModal => DatabaseSelector}/styles.ts (74%)
create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FiltersConfigModal/FiltersConfigForm/DatasetSelect.test.tsx
rename superset-frontend/src/utils/{downloadAsImage.ts => downloadAsImage.tsx} (94%)
create mode 100644 superset/mcp_service/CLAUDE.md
create mode 100644 superset/mcp_service/chart/chart_utils.py
create mode 100644 superset/mcp_service/chart/preview_utils.py
copy superset/mcp_service/chart/{tool => prompts}/__init__.py (84%)
create mode 100644 superset/mcp_service/chart/prompts/create_chart_guided.py
copy superset/mcp_service/chart/{tool => resources}/__init__.py (84%)
create mode 100644 superset/mcp_service/chart/resources/chart_configs.py
create mode 100644 superset/mcp_service/chart/tool/generate_chart.py
copy superset/mcp_service/chart/tool/{get_chart_info.py => get_chart_available_filters.py} (53%)
create mode 100644 superset/mcp_service/chart/tool/get_chart_data.py
create mode 100644 superset/mcp_service/chart/tool/get_chart_preview.py
create mode 100644 superset/mcp_service/chart/tool/update_chart.py
create mode 100644 superset/mcp_service/chart/tool/update_chart_preview.py
copy superset/mcp_service/{utils => chart/validation}/__init__.py (76%)
create mode 100644 superset/mcp_service/chart/validation/dataset_validator.py
create mode 100644 superset/mcp_service/chart/validation/pipeline.py
create mode 100644 superset/mcp_service/chart/validation/runtime/__init__.py
create mode 100644 superset/mcp_service/chart/validation/runtime/cardinality_validator.py
create mode 100644 superset/mcp_service/chart/validation/runtime/chart_type_suggester.py
create mode 100644 superset/mcp_service/chart/validation/runtime/format_validator.py
create mode 100644 superset/mcp_service/chart/validation/schema_validator.py
rename superset/mcp_service/{system => commands}/__init__.py (100%)
copy superset/{databases/types.py => mcp_service/commands/create_form_data.py} (62%)
create mode 100644 superset/mcp_service/common/error_schemas.py
copy superset/mcp_service/{chart/tool => dashboard/prompts}/__init__.py (84%)
copy superset/mcp_service/{chart/tool => dashboard/resources}/__init__.py (84%)
create mode 100644 superset/mcp_service/dashboard/schemas.py
copy superset/mcp_service/{chart => dashboard}/tool/__init__.py (63%)
create mode 100644 superset/mcp_service/dashboard/tool/add_chart_to_existing_dashboard.py
create mode 100644 superset/mcp_service/dashboard/tool/generate_dashboard.py
copy superset/{commands/chart/data/create_async_job_command.py => mcp_service/dashboard/tool/get_dashboard_available_filters.py} (50%)
create mode 100644 superset/mcp_service/dashboard/tool/get_dashboard_info.py
create mode 100644 superset/mcp_service/dashboard/tool/list_dashboards.py
copy superset/mcp_service/{chart/tool => dataset/prompts}/__init__.py (85%)
copy superset/mcp_service/{chart/tool => dataset/resources}/__init__.py (84%)
create mode 100644 superset/mcp_service/dataset/schemas.py
copy superset/mcp_service/{chart => dataset}/tool/__init__.py (76%)
copy superset/{commands/chart/data/create_async_job_command.py => mcp_service/dataset/tool/get_dataset_available_filters.py} (51%)
create mode 100644 superset/mcp_service/dataset/tool/get_dataset_info.py
create mode 100644 superset/mcp_service/dataset/tool/list_datasets.py
copy superset/mcp_service/{system/tool => explore}/__init__.py (95%)
copy superset/mcp_service/{common => explore/tool}/__init__.py (78%)
create mode 100644 superset/mcp_service/explore/tool/generate_explore_link.py
copy superset/mcp_service/{common => screenshot}/__init__.py (64%)
create mode 100644 superset/mcp_service/screenshot/pooled_screenshot.py
create mode 100644 superset/mcp_service/screenshot/webdriver_config.py
create mode 100644 superset/mcp_service/screenshot/webdriver_pool.py
copy {superset-core/src/superset_core => superset/mcp_service/sql_lab}/__init__.py (100%)
create mode 100644 superset/mcp_service/sql_lab/execute_sql_core.py
create mode 100644 superset/mcp_service/sql_lab/schemas.py
create mode 100644 superset/mcp_service/sql_lab/sql_lab_utils.py
copy superset/mcp_service/{common => sql_lab/tool}/__init__.py (76%)
create mode 100644 superset/mcp_service/sql_lab/tool/execute_sql.py
create mode 100644 superset/mcp_service/sql_lab/tool/open_sql_lab_with_context.py
copy superset/mcp_service/{chart/tool => system/prompts}/__init__.py (85%)
create mode 100644 superset/mcp_service/system/prompts/quickstart.py
copy superset/mcp_service/{chart/tool => system/resources}/__init__.py (84%)
create mode 100644 superset/mcp_service/system/resources/instance_metadata.py
create mode 100644 superset/mcp_service/system/tool/get_superset_instance_info.py
create mode 100644 superset/mcp_service/utils/cache_utils.py
create mode 100644 superset/mcp_service/utils/error_builder.py
create mode 100644 superset/mcp_service/utils/permissions_utils.py
create mode 100644 superset/mcp_service/utils/retry_utils.py
create mode 100644 superset/mcp_service/utils/url_utils.py
copy {superset-core/src/superset_core => tests/unit_tests/commands/explore}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/commands/explore/form_data}/__init__.py (100%)
create mode 100644 tests/unit_tests/commands/explore/form_data/test_create.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_schemas.py
create mode 100644 tests/unit_tests/mcp_service/chart/test_chart_utils.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_generate_chart.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_get_chart_preview.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_update_chart.py
create mode 100644 tests/unit_tests/mcp_service/chart/tool/test_update_chart_preview.py
copy docs/static/.asf.yaml => tests/unit_tests/mcp_service/conftest.py (85%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dashboard}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dashboard/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_generation.py
create mode 100644 tests/unit_tests/mcp_service/dashboard/tool/test_dashboard_tools.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dataset}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/dataset/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/dataset/tool/test_dataset_tools.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/explore}/__init__.py (100%)
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/explore/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/explore/tool/test_generate_explore_link.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/sql_lab}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/sql_lab/test_execute_sql_helper.py
copy {superset-core/src/superset_core => tests/unit_tests/mcp_service/sql_lab/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/sql_lab/tool/test_execute_sql.py