You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2026/05/30 02:17:07 UTC
(superset) branch amin/mcp-action-log-tasks updated (89b5644f9c8 -> 18a7defdb03)
This is an automated email from the ASF dual-hosted git repository.
aminghadersohi pushed a change to branch amin/mcp-action-log-tasks
in repository https://gitbox.apache.org/repos/asf/superset.git
omit 89b5644f9c8 ci: trigger Python-Integration workflow
omit bd830176d6e Merge branch 'master' into amin/mcp-action-log-tasks
omit 7d90fd851dd test(mcp): add missing assertions for filter values and closing UNTRUSTED-CONTENT delimiter
omit ce47d0ef678 fix(mcp): sanitize task metadata in MCP output
omit f206b04976e fix(mcp): serialize action-log json as UNTRUSTED-CONTENT string, fix inline imports
omit c8a69dc36a0 fix(mcp): revert wrap_dict_keys, align task sort columns, clarify get_schema scope
omit d7f9aa84382 fix(mcp): wrap user-controlled JSON keys in UNTRUSTED-CONTENT for action-log
omit 32b7c2aa872 fix(mcp): sanitize action-log json payload before placing in LLM context
omit d9045675809 fix(mcp): sanitize action-log json payload before placing in LLM context
omit 1fd7ecf4a67 fix(mcp): handle Z suffix in dttm filter parser for Python 3.10 compat
omit eeb4f0fe603 fix(mcp): normalize dttm filter strings and add action-log/task tool docs
omit 8a84b91f89e fix(mcp): use feature_flag_manager for GLOBAL_TASK_FRAMEWORK guard in app.py
omit e3ba2d170e9 docs(mcp): correct action log tool docstrings to reflect actual RBAC permissions
omit 946bb37adb1 fix(mcp): add config guards and fix dttm filter type for action/task tools
omit 28461c7591d fix(mcp): normalize naive datetimes to UTC and strengthen task tool tests
omit d5b95daa6b2 ci: trigger CI for fix
omit b6566312a75 fix(mcp): use ActionLogFilter for injected default dttm filter
omit 293707123c7 fix(mcp): add task_key/task_name to TaskInfo and strengthen test coverage
omit f75e448ffe2 fix(mcp): field filtering and search for action-log and task list tools
omit 58bbbd78496 fix(mcp): convert dttm cutoff to ISO string so filters_applied validates
omit 5f06929cf88 feat(mcp): add list and get tools for action log and tasks
add b2320820b4a feat(core): SoftDeleteMixin and restore infrastructure (#39977)
add 8f88bbcc796 chore(deps-dev): bump @swc/core from 1.15.33 to 1.15.40 in /superset-frontend (#40519)
add 63ae80ab623 chore(deps-dev): bump baseline-browser-mapping from 2.10.31 to 2.10.32 in /superset-frontend (#40518)
add e1948c87c6d chore(deps-dev): bump webpack-sources from 3.4.1 to 3.5.0 in /superset-frontend (#40517)
add cf9ee99b5ae chore(deps-dev): bump eslint-plugin-react-you-might-not-need-an-effect from 0.10.1 to 0.10.2 in /superset-frontend (#40516)
add 61cb0aeae74 chore(deps): bump @swc/core from 1.15.33 to 1.15.40 in /docs (#40515)
add c3bda6baea9 chore(deps): bump fs-extra from 11.3.2 to 11.3.5 in /superset-frontend (#40487)
add ead21d9789d chore(deps): bump react-syntax-highlighter from 16.1.0 to 16.1.1 in /superset-frontend (#40486)
add 661ff31c6d5 chore(deps): bump yeoman-generator from 8.1.2 to 8.2.2 in /superset-frontend (#40485)
add 63e3a18e8f4 chore(deps): bump baseline-browser-mapping from 2.10.31 to 2.10.32 in /docs (#40484)
add ae5823fb9c2 chore(deps-dev): bump tmp from 0.2.5 to 0.2.7 in /superset-frontend (#40480)
add e73d2d0bf60 chore(deps): bump tmp from 0.2.4 to 0.2.7 in /superset-frontend/cypress-base (#40476)
add 53e2793bc3c fix: coerce out-of-bounds nanosecond timestamps to NaT instead of raising (#40127)
add f614863ed78 feat(mcp): add list and get tools for annotation layers and annotations (#40342)
add d3658450013 feat(mcp): add list and get tools for action log and tasks
add 4105b97e98f fix(mcp): convert dttm cutoff to ISO string so filters_applied validates
add f6f796dc27f fix(mcp): field filtering and search for action-log and task list tools
add 812792af642 fix(mcp): add task_key/task_name to TaskInfo and strengthen test coverage
add 00b0244c47a fix(mcp): use ActionLogFilter for injected default dttm filter
add 2e1f38b44ee ci: trigger CI for fix
add 45b62791db7 fix(mcp): normalize naive datetimes to UTC and strengthen task tool tests
add a9b00f073f1 fix(mcp): add config guards and fix dttm filter type for action/task tools
add abe12011f4b docs(mcp): correct action log tool docstrings to reflect actual RBAC permissions
add 586ff8fa552 fix(mcp): use feature_flag_manager for GLOBAL_TASK_FRAMEWORK guard in app.py
add 25f9e34bb64 fix(mcp): normalize dttm filter strings and add action-log/task tool docs
add 320234182c1 fix(mcp): handle Z suffix in dttm filter parser for Python 3.10 compat
add dc85aa6b928 fix(mcp): sanitize action-log json payload before placing in LLM context
add 311f5b5c3e3 fix(mcp): sanitize action-log json payload before placing in LLM context
add d01df6f0902 fix(mcp): wrap user-controlled JSON keys in UNTRUSTED-CONTENT for action-log
add 6a9310f141a fix(mcp): revert wrap_dict_keys, align task sort columns, clarify get_schema scope
add fe06e832b83 fix(mcp): serialize action-log json as UNTRUSTED-CONTENT string, fix inline imports
add bac0193f42a fix(mcp): sanitize task metadata in MCP output
add b49986d5661 test(mcp): add missing assertions for filter values and closing UNTRUSTED-CONTENT delimiter
add 18a7defdb03 ci: trigger Python-Integration workflow
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 (89b5644f9c8)
\
N -- N -- N refs/heads/amin/mcp-action-log-tasks (18a7defdb03)
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:
docs/package.json | 4 +-
docs/yarn.lock | 160 +++---
superset-frontend/cypress-base/package-lock.json | 12 +-
superset-frontend/package-lock.json | 252 ++++-----
superset-frontend/package.json | 8 +-
.../packages/generator-superset/package.json | 2 +-
.../packages/superset-ui-core/package.json | 2 +-
superset/commands/dataset/importers/v1/utils.py | 39 +-
superset/commands/importers/v1/utils.py | 47 ++
superset/commands/restore.py | 98 ++++
superset/constants.py | 1 +
superset/daos/base.py | 85 +++-
superset/daos/database.py | 7 +
superset/initialization/__init__.py | 24 +
.../mcp_service/annotation_layer}/__init__.py | 0
superset/mcp_service/annotation_layer/schemas.py | 367 +++++++++++++
.../{explore => annotation_layer}/tool/__init__.py | 17 +-
.../tool/get_annotation_layer_info.py} | 68 +--
.../tool/get_layer_annotation_info.py | 130 +++++
.../tool/list_annotation_layers.py | 123 +++++
.../tool/list_layer_annotations.py | 144 ++++++
superset/mcp_service/app.py | 12 +
superset/models/helpers.py | 260 +++++++++-
superset/result_set.py | 4 +-
superset/security/manager.py | 44 +-
superset/views/filters.py | 213 +++++++-
.../importers/v1/test_find_existing_for_import.py | 180 +++++++
.../unit_tests/commands/importers/v1/utils_test.py | 119 +++++
.../commands/test_base_restore_command.py | 187 +++++++
tests/unit_tests/daos/test_base_dao_soft_delete.py | 100 ++++
.../mcp_service/annotation_layer}/__init__.py | 0
.../mcp_service/annotation_layer/tool}/__init__.py | 0
.../tool/test_annotation_layer_tools.py | 562 ++++++++++++++++++++
tests/unit_tests/models/test_soft_delete_mixin.py | 566 +++++++++++++++++++++
tests/unit_tests/result_set_test.py | 20 +
tests/unit_tests/views/test_soft_delete_filter.py | 356 +++++++++++++
36 files changed, 3925 insertions(+), 288 deletions(-)
create mode 100644 superset/commands/restore.py
copy {superset-core/src/superset_core/common => superset/mcp_service/annotation_layer}/__init__.py (100%)
create mode 100644 superset/mcp_service/annotation_layer/schemas.py
copy superset/mcp_service/{explore => annotation_layer}/tool/__init__.py (68%)
copy superset/mcp_service/{action_log/tool/get_action_log_info.py => annotation_layer/tool/get_annotation_layer_info.py} (50%)
create mode 100644 superset/mcp_service/annotation_layer/tool/get_layer_annotation_info.py
create mode 100644 superset/mcp_service/annotation_layer/tool/list_annotation_layers.py
create mode 100644 superset/mcp_service/annotation_layer/tool/list_layer_annotations.py
create mode 100644 tests/unit_tests/commands/importers/v1/test_find_existing_for_import.py
create mode 100644 tests/unit_tests/commands/importers/v1/utils_test.py
create mode 100644 tests/unit_tests/commands/test_base_restore_command.py
create mode 100644 tests/unit_tests/daos/test_base_dao_soft_delete.py
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/annotation_layer}/__init__.py (100%)
copy {superset-core/src/superset_core/common => tests/unit_tests/mcp_service/annotation_layer/tool}/__init__.py (100%)
create mode 100644 tests/unit_tests/mcp_service/annotation_layer/tool/test_annotation_layer_tools.py
create mode 100644 tests/unit_tests/models/test_soft_delete_mixin.py
create mode 100644 tests/unit_tests/views/test_soft_delete_filter.py