This is an automated email from the ASF dual-hosted git repository.
jli pushed a change to branch showtime-master
in repository https://gitbox.apache.org/repos/asf/superset.git
omit e91b50d5470 chore: fix spacing in AGENTS.md
add 27197faba97 fix(matrixify): Matrixify to not override slice id (#38515)
add a9def2fc152 fix: support nested function calls in cache_key_wrapper
(#38569)
add 09e9c6a522e fix(embedded): prevent double RLS application in virtual
datasets (#37395)
add 7943af359c2 feat(mcp): implement RBAC permission checking for MCP
tools (#38407)
add 65e21cf13c4 docs: move MCP deployment guide to admin docs, add
user-facing AI guide (#38585)
add 7f476a79b3e fix: add embedded box sizing rule for layout (#38351)
add 95f61bd223e fix: add parent_slice_id for multilayer charts to embed
(#38243)
add d4f1f8db001 fix(mcp): extract role names as strings in UserInfo
serialization (#38612)
add 4a9db243a17 chore(deps): bump caniuse-lite from 1.0.30001777 to
1.0.30001778 in /docs (#38593)
add 83955e87acc refactor(mcp): use serialize_user_object in
get_instance_info (#38613)
add 0b8df8d3f2f build(deps): update `geostyler-*` deps to latest major
versions (#38151)
add fc156d0014b fix(mcp): replace uuid with url and changed_on_humanized
in default list columns (#38566)
add 56d6bb19136 feat(auth): add SAML login support to frontend (#38606)
add d91b96814e0 fix(mcp): Improve validation errors and field aliases to
reduce failed LLM tool calls (#38625)
add 9516d1a306d fix(explore/dashboard): fix CSV/Excel downloads for legacy
chart types (#38513)
add 32a64d02c74 fix(deckgl): polygon chart not rendering when boundary
column contains nested geometry JSON (#38595)
add af5e05db2e4 fix(mcp): Support form_data_key without chart identifier
for unsaved charts (#38628)
add f458e2d484f feat(mcp): add extra_form_data param to get_chart_data for
dashboard filters (#38531)
add d5cf77cd60b fix(mcp): fix crashes in list tools, dataset info, chart
preview, and add owner/favorite filters (#38277)
add f5383263bc7 fix(extensions): fix gitignore template and bump version
(#38614)
add 18673369076 fix(editor): implement missing methods, fix cursor
position clearing (#38603)
add f6106cd26f1 fix(timeshiftcolor): Time shift color to match the
original color (#38473)
add ca2d26a1e2f fix(ag-grid-table): fix AND filter conditions not applied
(#38369)
add ba7271b4d89 fix(world-map): add fallback fill color when colorFn
returns null (#38602)
add ba7d7dcec0d chore(deps): bump react-syntax-highlighter from 16.1.0 to
16.1.1 in /superset-frontend (#38619)
add 242636b36b1 chore(deps): bump baseline-browser-mapping from 2.10.0 to
2.10.7 in /docs (#38622)
add f4a57a13bc9 chore(deps): bump dompurify from 3.3.2 to 3.3.3 in
/superset-frontend (#38592)
add b6c3b3ef46d fix(mcp): return all statement results for multi-statement
SQL queries (#38388)
add 97a66f7a647 feat(mcp): add BM25 tool search transform to reduce
initial context size (#38562)
add e8061a9c2b4 style(metadata-bar): use bold font weight for metadata bar
title (#38608)
add 6e7d6a85b45 fix(ag-grid-table): fix failing buildQuery test
expectation (#38636)
add ed622e254a4 feat(matrixify): Revamp control panel (#38519)
add a3fca6d132c chore: fix spacing in AGENTS.md
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 (e91b50d5470)
\
N -- N -- N refs/heads/showtime-master (a3fca6d132c)
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:
.../configuration/mcp-server.mdx} | 15 +-
docs/developer_docs/sidebars.js | 1 -
.../docs/using-superset/using-ai-with-superset.mdx | 245 ++++++++
docs/package.json | 4 +-
docs/yarn.lock | 16 +-
pyproject.toml | 2 +-
requirements/base.txt | 2 +-
requirements/development.txt | 63 +-
superset-core/src/superset_core/mcp/decorators.py | 22 +-
superset-extensions-cli/pyproject.toml | 2 +-
.../src/superset_extensions_cli/cli.py | 2 +-
.../templates/{.gitignore.j2 => gitignore.j2} | 0
superset-frontend/jest.config.js | 2 +-
superset-frontend/package-lock.json | 635 +++++++--------------
superset-frontend/package.json | 8 +-
.../packages/superset-core/src/editors/index.ts | 43 ++
.../packages/superset-core/src/sqlLab/index.ts | 16 +
.../src/operators/utils/timeOffset.ts | 12 +-
.../src/sections/matrixify.tsx | 42 +-
.../src/shared-controls/matrixifyControls.tsx | 114 ++--
.../test/operators/utils/timeOffset.test.ts | 92 ++-
.../packages/superset-ui-core/package.json | 2 +-
.../Matrixify/MatrixifyGridGenerator.test.ts | 20 +
.../components/Matrixify/MatrixifyGridGenerator.ts | 2 +-
.../Matrixify/MatrixifyGridRenderer.test.tsx | 56 +-
.../components/Matrixify/MatrixifyGridRenderer.tsx | 6 +-
.../src/chart/types/matrixify.test.ts | 57 +-
.../superset-ui-core/src/chart/types/matrixify.ts | 80 +--
.../src/components/MetadataBar/ContentConfig.tsx | 2 +-
.../legacy-plugin-chart-world-map/src/WorldMap.ts | 14 +-
.../test/WorldMap.test.ts | 53 ++
.../src/Multi/Multi.test.tsx | 137 +++++
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 2 +
.../src/layers/Polygon/transformProps.test.ts | 120 ++++
.../src/layers/Polygon/transformProps.ts | 4 +
.../plugins/legacy-preset-chart-nvd3/package.json | 2 +-
.../src/AgGridTableChart.tsx | 3 +
.../plugin-chart-ag-grid-table/src/buildQuery.ts | 80 ++-
.../src/transformProps.ts | 38 +-
.../plugin-chart-ag-grid-table/src/types.ts | 1 +
.../test/buildQuery.test.ts | 254 +++++++++
.../plugins/plugin-chart-cartodiagram/package.json | 8 +-
.../test/util/layerUtil.test.ts | 7 +-
.../src/Timeseries/transformProps.ts | 17 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 6 +-
.../src/components/Chart/ChartRenderer.test.tsx | 22 +-
.../src/components/Chart/ChartRenderer.tsx | 6 +-
.../Chart/DrillBy/DrillBySubmenu.test.tsx | 4 +-
.../components/Chart/DrillBy/DrillBySubmenu.tsx | 6 +-
.../src/components/Chart/chartReducers.test.ts | 45 +-
.../src/core/editors/AceEditorProvider.tsx | 41 +-
superset-frontend/src/core/sqlLab/index.ts | 7 +
superset-frontend/src/embedded/index.tsx | 12 +
.../components/ControlPanelsContainer.test.tsx | 9 +-
.../explore/components/ControlPanelsContainer.tsx | 7 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 2 +-
.../explore/components/ExploreChartPanel/index.tsx | 10 +-
.../LayerConfigsControl/GeoStylerWrapper.tsx | 1 +
.../controls/MatrixifyDimensionControl.tsx | 74 ++-
.../explore/components/controls/SwitchControl.tsx | 65 +++
.../components/controls/VerticalRadioControl.tsx | 104 ++++
.../src/explore/components/controls/index.ts | 4 +
.../useExploreAdditionalActionsMenu/index.tsx | 24 +-
.../src/explore/controlPanels/sections.tsx | 86 +--
.../src/explore/exploreUtils/exportChart.test.ts | 104 +++-
.../src/explore/exploreUtils/getExploreUrl.test.ts | 31 +
.../exploreUtils/getLegacyEndpointType.test.ts | 6 +
.../src/explore/exploreUtils/index.ts | 32 +-
.../src/pages/ChartList/ChartList.testHelpers.tsx | 2 +-
superset-frontend/src/pages/Login/Login.test.tsx | 46 +-
superset-frontend/src/pages/Login/index.tsx | 4 +-
superset-frontend/webpack.config.js | 2 +-
superset/config.py | 1 +
superset/connectors/sqla/models.py | 12 +-
superset/core/mcp/core_mcp_injection.py | 24 +-
superset/daos/chart.py | 4 +-
superset/daos/dashboard.py | 59 +-
superset/daos/dataset.py | 11 +
superset/jinja_context.py | 14 +-
superset/mcp_service/app.py | 4 +-
superset/mcp_service/auth.py | 136 ++++-
superset/mcp_service/chart/chart_utils.py | 8 +
superset/mcp_service/chart/preview_utils.py | 17 +-
superset/mcp_service/chart/schemas.py | 424 ++++++--------
superset/mcp_service/chart/tool/generate_chart.py | 19 +-
superset/mcp_service/chart/tool/get_chart_data.py | 312 ++++++++--
superset/mcp_service/chart/tool/get_chart_info.py | 113 +++-
.../mcp_service/chart/tool/get_chart_preview.py | 144 ++++-
superset/mcp_service/chart/tool/list_charts.py | 8 +-
superset/mcp_service/chart/tool/update_chart.py | 3 +-
.../mcp_service/chart/tool/update_chart_preview.py | 3 +-
superset/mcp_service/common/cache_schemas.py | 35 +-
superset/mcp_service/common/schema_discovery.py | 22 +-
superset/mcp_service/dashboard/schemas.py | 137 +++--
.../tool/add_chart_to_existing_dashboard.py | 8 +-
.../dashboard/tool/generate_dashboard.py | 9 +-
.../dashboard/tool/get_dashboard_info.py | 2 +-
.../mcp_service/dashboard/tool/list_dashboards.py | 8 +-
superset/mcp_service/dataset/schemas.py | 31 +-
.../mcp_service/dataset/tool/get_dataset_info.py | 2 +-
superset/mcp_service/dataset/tool/list_datasets.py | 7 +-
.../explore/tool/generate_explore_link.py | 2 +-
superset/mcp_service/flask_singleton.py | 70 +--
superset/mcp_service/mcp_config.py | 39 ++
superset/mcp_service/mcp_core.py | 7 +-
superset/mcp_service/server.py | 141 ++++-
superset/mcp_service/sql_lab/schemas.py | 54 +-
superset/mcp_service/sql_lab/tool/execute_sql.py | 78 ++-
.../sql_lab/tool/open_sql_lab_with_context.py | 10 +-
superset/mcp_service/system/schemas.py | 125 ++--
superset/mcp_service/system/system_utils.py | 4 +-
.../mcp_service/system/tool/get_instance_info.py | 21 +-
superset/mcp_service/system/tool/health_check.py | 4 +
superset/mcp_service/utils/schema_utils.py | 20 +-
superset/models/helpers.py | 1 +
superset/security/manager.py | 58 +-
superset/utils/rls.py | 14 +-
superset/views/base.py | 16 +-
superset/views/core.py | 44 +-
tests/unit_tests/jinja_context_test.py | 21 +
.../mcp_service/chart/tool/test_list_charts.py | 12 +-
tests/unit_tests/mcp_service/conftest.py | 19 +-
.../dashboard/tool/test_dashboard_generation.py | 39 +-
.../dashboard/tool/test_dashboard_tools.py | 19 +-
.../mcp_service/dataset/tool/test_dataset_tools.py | 25 +-
.../mcp_service/sql_lab/tool/test_execute_sql.py | 146 +++++
.../system/test_serialize_user_object.py | 167 ++++++
.../system/tool/test_get_current_user.py | 3 +-
.../mcp_service/system/tool/test_get_schema.py | 47 +-
.../mcp_service/system/tool/test_mcp_core.py | 5 +-
tests/unit_tests/mcp_service/test_auth_rbac.py | 225 ++++++++
.../mcp_service/test_mcp_tool_registration.py | 25 +-
.../mcp_service/test_tool_search_transform.py | 173 ++++++
.../mcp_service/utils/test_schema_utils.py | 16 +-
.../models/test_double_rls_virtual_dataset.py | 286 ++++++++++
tests/unit_tests/security/guest_rls_test.py | 298 ++++++++++
tests/unit_tests/security/manager_test.py | 114 ++++
tests/unit_tests/sql_lab_test.py | 3 +
tests/unit_tests/views/test_bootstrap_auth.py | 135 +++++
139 files changed, 5518 insertions(+), 1610 deletions(-)
rename docs/{developer_docs/extensions/mcp-server.md =>
admin_docs/configuration/mcp-server.mdx} (96%)
create mode 100644 docs/docs/using-superset/using-ai-with-superset.mdx
rename
superset-extensions-cli/src/superset_extensions_cli/templates/{.gitignore.j2 =>
gitignore.j2} (100%)
create mode 100644
superset-frontend/src/explore/components/controls/SwitchControl.tsx
create mode 100644
superset-frontend/src/explore/components/controls/VerticalRadioControl.tsx
create mode 100644
tests/unit_tests/mcp_service/system/test_serialize_user_object.py
create mode 100644 tests/unit_tests/mcp_service/test_auth_rbac.py
create mode 100644 tests/unit_tests/mcp_service/test_tool_search_transform.py
create mode 100644 tests/unit_tests/models/test_double_rls_virtual_dataset.py
create mode 100644 tests/unit_tests/security/guest_rls_test.py
create mode 100644 tests/unit_tests/views/test_bootstrap_auth.py