This is an automated email from the ASF dual-hosted git repository.

liuhongyu pushed a change to branch feat/github_ci
in repository https://gitbox.apache.org/repos/asf/shenyu.git


    from 447aebf712 Merge branch 'master' into feat/github_ci
     add 602123b4c7 fix admin : modify addProxySelector function of the admin 
application is missing the namespace_id (#6046)
     add f69767e4d7 [fix] ai request transformer plugin (#6047)
     add fe7545c7bc Bump org.apache.zookeeper:zookeeper from 3.9.2 to 3.9.3 
(#6042)
     add b38315977f [fix] fix application.xml (#6048)
     add e2cb6f3abc [type:feat] mcp server plugin (#5999)
     add e40e30cd2d Bump org.apache.commons:commons-lang3 from 3.12.0 to 3.18.0 
(#6052)
     add 13c70320e7 [feat] optimize aiTokenLimiterPlugin for streaming tokens 
(#6055)
     add 2627a12519 [fix] fix config import (#6051)
     add aca751ae9a [type:feature]  Add Swagger Import Functionality to ShenYu 
Admin (#6050)
     add 7de2558788 [feat] mcp streamable http (#6061)
     add 8f65ce0947 feat: add other infra module template (#6067)
     add 0eaec1e63a feat(ut): add ai plugin proxy unit test (#6070)
     add 9c8b78f782 chore: delete useless empty paths (#6066)
     add d782a64e87 e2e: comment for now (#6073)
     add 319ca4fd9f feat(ut): add ai plugin unit test (#6069)
     add d074596153 Update application.yml (#6064)
     add 4f9e69c54f feat(ut): add ai prompt (#6075)
     add 7c1e43bf6f feat: add shenyu-common utils unit test (#6077)
     add 85307386b9 feat(ut): add ai plugin unit test (#6078)
     add 15278cf6e6 [feat] add aiRequestTransformer config based on rule sql 
(#6053)
     add 0933a2c450 feat: add diruptor unit test (#6079)
     add 1b245d325d feat: extracted public data entities (#6084)
     add bbd14bbda8 refactor(infra): Refactor ShenYu-Infra module  (#6082)
     add ff204b8ebf fix: correct logic in local key validation in 
LocalDispatcherFilter (#6086)
     add 77f925def4 [fix] resource leak risk (#6085)
     add 9c0124ccf5 feat(ut): update infra nacos module unit test (#6089)
     add df133fc950 fix: correct logic in local key validation in 
LocalDispatcherFilter (#6088)
     add e00098b2bf feat: add infra-etcd unit test (#6087)
     add b829f1606a fix: resolve duplicate header issue for JWT values with dot 
notation (#6092)
     add 7d971dc52a [feat]: add ai response transformer (#6095)
     add 717cbe9f73 [test] add RoundRobinLoadBalancer tests for selection logic 
and distribution (#6093)
     add ee69057112 chore(deps): bump io.grpc:grpc-protobuf (#6100)
     add d233ab4d45 fix: fix vulnerability (#6099)
     add 0a2b9f5eef improve the function of dubbo plugin configuration based on 
selector, add registry config. (#6096)
     add e77f1f037c chore: update LICENSE and pom.xml to reflect new 
dependencies and versions (#6104)
     add c81ad832f0 sync dashboard (#6106)
     add 781e7222fe feat(ut): add some tests (#6105)
     add 69cd1d5721 [type: release] 2.7.0.2 release (#6111)
     add caf382db58 fix:NacosConfig Test error (#6116)
     add 36d9fd2313 fix:MCP server plugin requestConfig too long (#6115)
     add 9e8576a2ae fix: fix redisReteLimter type cast error, for #6103 (#6120)
     add eaa2f9503d fix:EtcdInstanceRegisterRepositoryTest run error (#6127)
     add 0184d4b658 Update comment to English in pom.xml (#6128)
     add cde3f548f7 fix:ShenyuBootstrapApplication run failed when using Nacos 
data sync (#6124)
     add 1f595adefa fix: increase default timeout and improve error handling in 
MCP tools (#6131)
     add c25dc204c3 fix: replace deprecated Base64 class with java.util.Base64  
(#6132)
     add 07453a26d2 sync dashboard (#6133)
     add e624a19aae 修复nacos数据同步方式,删除选择器后,缓存未被正确删除的问题 (#6140)
     add e4177b6c0e feat(ut): add shenyu-registry-api unit test (#6135)
     add d2705ef19d feat:refactor registry reserved keyword fields (#6139)
     add 161625cd7e feat: add sync data api unit test (#6142)
     add 7a36aab29e chore: update chinese comment to english and add license 
(#6146)
     add f6a09ec9fb feat:refactor selector reserved keyword fields (#6141)
     add fce9c8f014 chore: translate zh to en (#6149)
     add cf0bbba7d6 [type:optimize] Optimize instance comparison logic in 
EurekaInstanceRegisterRepository (#6154)
     add da78f467d9 [feat] refactor rule reserved keyword fields (#6147)
     add 1f913296a7 chore: translate zh to en (#6151)
     add 1b9492bf26 [type:optimize] Optimize instance comparison logic in 
NacosInstanceRegisterRepository (#6153)
     add 5e90930a33 feat: Add more friendly prompt information to facilitate 
debugging (#6157)
     add 9234be312b test: add more test for FallbackShenyuClientRegisterService 
(#6155)
     add 89bbacd7de feat: adaptor other db for tag and appAuth (#6152)
     add 164ad63538 feat:mcpServer support object and array param. (#6150)
     add aed85167c2 feat:sync dashboard (#6160)
     add 21d66345d8 [fix] Modify the test data of the sample test 
MotanPluginTest (#6164)
     add 6632d5e170 [fix] fix data sync bug (#6165)
     add 3e7df1cea3 [feat] motan plugin config based on selector (#6058)
     add 84060e37df chore: fix typo (#6172)
     add 67bde62990 fix (#6170)
     add b44103919b chore: add new line (#6171)
     add 449832413d fix:AiResponseTransformerPluginTest run error (#6169)
     add feadbd2215 feat:refactor reserved keyword fields for discovery 
upstream (#6167)
     add 812e0b9478 [type:fix] fix oracle schema.sql (#6162)
     add e6e87ec1ee [feat]Gateway and client status management (#6057)
     add 4cc679efec [feat]: shenyu mcp plugin auto register (#6163)
     add ab1d57a591 [feat] cache plugin config based on selector (#6068)
     add 16736b3e9c feat: Ai Proxy enhanced with SpringAI & Fallback & Proxy 
apikey (#6145)
     add cdf637acbd [type:fix] fix init sql (#6176)
     add e765dbf81f fix some bug (#6180)
     add 44995b73bb feat: ai proxy replace old with enhanced (#6174)
     add df1389f3f0 fix shenyu-registry-nacos : modify nacos instance check. 
(#6178)
     add 5c591f12eb fix doSelectMaster (#6185)
     add ab3b52bc4a fix: fix shenyu-sync-data-http sync password error (#6181)
     add 51a8a95134 sync dashboard (#6186)
     add 5543b938a8 fix: the "name" field of TagVO has been changed (#6190)
     add 8d0c4e9b75 feat: adapt other db for discovery sql fields (#6166)
     add f8141dbe6a chore(deps): bump org.apache.zookeeper:zookeeper from 3.9.3 
to 3.9.4 (#6183)
     add a09cfb270c [type:feat]add unit test (#6182)
     add aeba1f3cbf [feat] loggingRabbitMQ plugin config based on selector 
(#6059)
     add 0af754d949 [feat] sofa plugin config based on selector (#6062)
     add dd57fb78da [feat]:loggingKafka plugin config based on selector (#6074)
     add 2a4a7fb621 [type:optimize] Optimize LogCollectUtils (#6191)
     add 555f9b456f [type:feat]Change bootstrap heartbeat reporting (#6187)
     add fc8c796b97 [type:feat]HTTP and WebSocket synchronous mode supports 
heartbeat detection (#6179)
     add d0994fa94d feat: add shenyu-register-client-api unit test (#6192)
     add 47c65b92eb Merge branch 'master' into feat/github_ci

No new revisions were added by this update.

Summary of changes:
 .github/filters.yml                                |   2 +-
 .github/workflows/e2e-k8s.yml                      |  12 +-
 .github/workflows/integrated-test.yml              |   2 +-
 .gitpod.Dockerfile                                 |  19 +
 .gitpod.yml                                        |  19 +
 .idea/vcs.xml                                      |  35 +-
 changelog.sh                                       |  46 +-
 db/init/mysql/schema.sql                           | 212 ++++-
 db/init/ob/schema.sql                              | 206 ++++-
 db/init/og/create-table.sql                        | 287 ++++--
 db/init/oracle/schema.sql                          | 520 +++++++++--
 db/init/pg/create-table.sql                        | 287 ++++--
 db/upgrade/2.4.1-upgrade-2.4.2-mysql.sql           |   2 +-
 db/upgrade/2.4.2-upgrade-2.4.3-mysql.sql           |   2 +-
 db/upgrade/2.6.1-upgrade-2.7.0-mysql.sql           |   2 +-
 db/upgrade/2.6.1-upgrade-2.7.0-pg.sql              |   2 +-
 db/upgrade/2.7.0-upgrade-2.7.1-mysql.sql           | 130 ++-
 db/upgrade/2.7.0-upgrade-2.7.1-ob.sql              | 127 ++-
 db/upgrade/2.7.0-upgrade-2.7.1-og.sql              | 137 ++-
 db/upgrade/2.7.0-upgrade-2.7.1-oracle.sql          | 236 ++++-
 db/upgrade/2.7.0-upgrade-2.7.1-pg.sql              | 135 ++-
 pom.xml                                            |  24 +-
 shenyu-admin-listener/pom.xml                      |   3 +-
 .../shenyu-admin-listener-api/pom.xml              |   2 +-
 .../shenyu/admin/listener/DataChangedListener.java |  10 +
 .../shenyu-admin-listener-apollo/pom.xml           |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../shenyu-admin-listener-consul/pom.xml           |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../shenyu-admin-listener-etcd/pom.xml             |  15 +-
 .../shenyu/admin/config/EtcdSyncConfiguration.java |  32 +-
 .../admin/config/properties/EtcdProperties.java    | 107 ---
 .../shenyu/admin/listener/etcd/EtcdClient.java     | 108 ---
 .../admin/listener/etcd/EtcdDataChangedInit.java   |   1 +
 .../listener/etcd/EtcdDataDataChangedListener.java |   1 +
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../admin/config/EtcdSyncConfigurationTest.java    |   2 +-
 .../config/properties/EtcdPropertiesTest.java      |  40 -
 .../shenyu/admin/listener/etcd/EtcdClientTest.java |  92 --
 .../listener/etcd/EtcdDataChangedInitTest.java     |   1 +
 .../etcd/EtcdDataDataChangedListenerTest.java      |   1 +
 .../shenyu-admin-listener-nacos/pom.xml            |   7 +-
 .../admin/config/NacosSyncConfiguration.java       |  35 +-
 .../admin/config/properties/NacosProperties.java   | 251 ------
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../admin/config/NacosSyncConfigurationTest.java   |  36 +-
 .../properties/AbstractConfigurationTest.java      |  69 --
 .../config/properties/NacosPropertiesTest.java     |  75 --
 .../shenyu-admin-listener-polaris/pom.xml          |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../shenyu-admin-listener-zookeeper/pom.xml        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 shenyu-admin/pom.xml                               |   4 +-
 .../http-debug-registry-config-controller-api.http |  79 ++
 .../shenyu/admin/config/ClusterConfiguration.java  |   4 +
 .../admin/config/HttpUtilsConfiguration.java       |  20 +-
 .../admin/config/KubernetesConfiguration.java      |   4 +-
 .../admin/config/ShenyuAdminConfiguration.java     |   7 +
 .../admin/config/StandaloneConfiguration.java      |   6 +-
 .../admin/controller/AiProxyApiKeyController.java  | 216 +++++
 .../shenyu/admin/controller/ApiController.java     |   4 +-
 .../controller/ConfigsExportImportController.java  |   4 +-
 .../admin/controller/DashboardUserController.java  |   4 +-
 .../admin/controller/DiscoveryController.java      |   2 +-
 .../controller/DiscoveryUpstreamController.java    |   2 +-
 .../admin/controller/InstanceController.java       |  63 +-
 .../shenyu/admin/controller/PluginController.java  |   4 +-
 .../admin/controller/PluginHandleController.java   |   4 +-
 .../admin/controller/ProxySelectorController.java  |   2 +-
 ...paceController.java => RegistryController.java} |  88 +-
 .../admin/controller/ResourceController.java       |   4 +-
 .../shenyu/admin/controller/RoleController.java    |   4 +-
 .../shenyu/admin/controller/RuleController.java    |   4 +-
 .../admin/controller/SelectorController.java       |   4 +-
 .../ShenyuClientHttpRegistryController.java        |  17 +
 .../admin/controller/ShenyuDictController.java     |   2 +-
 .../admin/controller/SwaggerImportController.java  |  91 ++
 .../shenyu/admin/controller/TagController.java     |   2 +-
 .../discovery/AbstractDiscoveryProcessor.java      |   8 +-
 .../DiscoveryDataChangedEventSyncListener.java     |   2 +-
 .../listener/DataChangedEventListener.java         |   2 +-
 .../RegisterClientServerDisruptorPublisher.java    |   2 +
 ...ava => McpToolsRegisterExecutorSubscriber.java} |  32 +-
 .../subscriber/URIRegisterExecutorSubscriber.java  |   2 +-
 .../listener/AbstractDataChangedListener.java      |  23 +
 .../AiProxySelectorResolverInvalidator.java        | 115 +++
 .../admin/listener/DataChangedEventDispatcher.java |  22 +-
 .../http/HttpLongPollingDataChangedListener.java   |  21 +
 .../listener/websocket/WebsocketCollector.java     |  62 +-
 .../listener/websocket/WebsocketConfigurator.java  |   1 +
 .../websocket/WebsocketDataChangedListener.java    | 177 +++-
 .../listener/websocket/WebsocketListener.java      |   5 +
 .../shenyu/admin/mapper/AiProxyApiKeyMapper.java   |  76 ++
 .../apache/shenyu/admin/mapper/AppAuthMapper.java  |   3 +-
 .../admin/mapper/DiscoveryUpstreamMapper.java      |  16 +-
 .../apache/shenyu/admin/mapper/RegistryMapper.java | 132 +++
 .../org/apache/shenyu/admin/mapper/RuleMapper.java |   3 +-
 .../apache/shenyu/admin/mapper/SelectorMapper.java |   3 +-
 .../mode/cluster/service/ShenyuClusterService.java |  13 +-
 .../mode/standalone/ShenyuStandaloneService.java   |  11 +-
 .../apache/shenyu/admin/model/dto/BatchIdsDTO.java |  39 +-
 .../admin/model/dto/DiscoveryUpstreamDTO.java      |  12 +-
 .../NamespaceVO.java => dto/ProxyApiKeyDTO.java}   | 103 +--
 .../admin/model/dto/ProxySelectorAddDTO.java       |   8 +-
 .../apache/shenyu/admin/model/dto/RegistryDTO.java | 199 ++++
 .../admin/model/dto/SwaggerImportRequest.java      |  70 ++
 .../org/apache/shenyu/admin/model/dto/TagDTO.java  |  17 +-
 .../shenyu/admin/model/entity/DiscoveryDO.java     |  93 +-
 .../admin/model/entity/DiscoveryUpstreamDO.java    |  38 +-
 .../shenyu/admin/model/entity/InstanceInfoDO.java  |  67 +-
 .../shenyu/admin/model/entity/ProxyApiKeyDO.java   | 106 +++
 .../shenyu/admin/model/entity/RegistryDO.java      | 352 ++++++++
 .../apache/shenyu/admin/model/entity/RuleDO.java   |  84 +-
 .../shenyu/admin/model/entity/SelectorDO.java      | 122 +--
 .../apache/shenyu/admin/model/entity/TagDO.java    |  43 +-
 .../event/instance/InstanceInfoReportEvent.java    | 301 +++++++
 .../model/event/role/BatchRoleDeletedEvent.java    |   2 -
 .../admin/model/event/role/RoleChangedEvent.java   |   1 -
 .../admin/model/event/role/RoleCreatedEvent.java   |   3 +-
 .../model/event/rule/BatchRuleDeletedEvent.java    |   2 +-
 .../admin/model/event/rule/RuleChangedEvent.java   |  12 +-
 .../event/selector/BatchSelectorDeletedEvent.java  |   2 +-
 .../model/event/selector/SelectorChangedEvent.java |  16 +-
 .../{MetaDataQuery.java => ProxyApiKeyQuery.java}  |  99 +-
 .../{NamespaceQuery.java => RegistryQuery.java}    |  80 +-
 .../apache/shenyu/admin/model/query/TagQuery.java  |  16 +-
 .../admin/model/vo/DataPermissionPageVO.java       |   4 +-
 .../apache/shenyu/admin/model/vo/DiscoveryVO.java  |  35 +-
 ...ocItemVO.java => InstanceDataVisualLineVO.java} |  62 +-
 .../admin/model/vo/InstanceDataVisualVO.java       | 112 +++
 .../shenyu/admin/model/vo/InstanceInfoVO.java      |  48 +-
 .../vo/{NamespaceVO.java => ProxyApiKeyVO.java}    | 121 ++-
 .../apache/shenyu/admin/model/vo/RegistryVO.java   | 212 +++++
 .../org/apache/shenyu/admin/model/vo/RuleVO.java   |   2 +-
 .../apache/shenyu/admin/model/vo/SelectorVO.java   |   6 +-
 .../org/apache/shenyu/admin/model/vo/TagVO.java    |   5 +-
 .../monitor/subject/cache/ScaleRuleCache.java      |   2 +-
 .../scale/scaler/dynamic/TaskSchedulerManager.java |   2 +-
 .../shenyu/admin/service/AiProxyApiKeyService.java | 100 +++
 ...tService.java => AiProxyConnectionService.java} |  16 +-
 .../shenyu/admin/service/InstanceInfoService.java  |  11 +-
 ...{NamespaceService.java => RegistryService.java} |  48 +-
 ...rdLogService.java => SwaggerImportService.java} |  27 +-
 .../service/impl/AiProxyApiKeyServiceImpl.java     | 288 ++++++
 .../service/impl/AiProxyConnectionServiceImpl.java |  94 ++
 .../admin/service/impl/AppAuthServiceImpl.java     |   3 +-
 .../admin/service/impl/DiscoveryServiceImpl.java   |  36 +-
 .../service/impl/DiscoveryUpstreamServiceImpl.java |  12 +-
 .../admin/service/impl/InstanceCheckService.java   | 262 ++++++
 .../service/impl/InstanceInfoServiceImpl.java      |  33 +-
 .../admin/service/impl/PluginServiceImpl.java      |  11 +-
 .../service/impl/ProxySelectorServiceImpl.java     |  20 +-
 .../admin/service/impl/RegistryServiceImpl.java    | 134 +++
 .../shenyu/admin/service/impl/RuleServiceImpl.java |   7 +-
 .../admin/service/impl/SelectorServiceImpl.java    |  36 +-
 .../service/impl/SwaggerImportServiceImpl.java     | 151 ++++
 .../admin/service/impl/SyncDataServiceImpl.java    |  19 +-
 .../shenyu/admin/service/impl/TagServiceImpl.java  |  23 +-
 .../admin/service/impl/UpstreamCheckService.java   |   4 +-
 .../service/manager/impl/SwaggerDocParser.java     | 223 ++++-
 ....java => InstanceInfoReportEventPublisher.java} |  25 +-
 .../AbstractShenyuClientRegisterServiceImpl.java   |  30 +-
 .../FallbackShenyuClientRegisterService.java       |  31 +-
 .../ShenyuClientRegisterDivideServiceImpl.java     |   2 +-
 .../ShenyuClientRegisterGrpcServiceImpl.java       |   2 +-
 .../ShenyuClientRegisterMcpServiceImpl.java        | 129 +++
 .../ShenyuClientRegisterWebSocketServiceImpl.java  |   2 +-
 .../service/support/AiProxyRealKeyResolver.java    | 194 ++++
 .../shenyu/admin/spring/LocalDataSourceLoader.java |  49 +-
 .../shenyu/admin/transfer/DiscoveryTransfer.java   |  24 +-
 .../shenyu/admin/transfer/ProxyApiKeyTransfer.java |  77 ++
 ...amespaceTransfer.java => RegistryTransfer.java} |  26 +-
 .../shenyu/admin/utils/UrlSecurityUtils.java       | 217 +++++
 .../src/main/resources/application-mysql.yml       |   2 +-
 shenyu-admin/src/main/resources/application.yml    |   2 +-
 .../resources/mappers/ai-proxy-api-key-sqlmap.xml  | 228 +++++
 .../resources/mappers/api-rule-relation-sqlmap.xml |   2 +-
 .../src/main/resources/mappers/api-sqlmap.xml      |   2 +-
 .../src/main/resources/mappers/detail-sqlmap.xml   |   2 +-
 .../main/resources/mappers/discovery-sqlmap.xml    |  78 +-
 .../mappers/discovery-upstream-sqlmap.xml          |  52 +-
 .../src/main/resources/mappers/field-sqlmap.xml    |   2 +-
 .../src/main/resources/mappers/model-sqlmap.xml    |   2 +-
 .../src/main/resources/mappers/registry-sqlmap.xml | 267 ++++++
 .../src/main/resources/mappers/rule-sqlmap.xml     |  60 +-
 .../resources/mappers/scale-history-sqlmap.xml     |   2 +-
 .../src/main/resources/mappers/selector-sqlmap.xml |  88 +-
 .../src/main/resources/mappers/tag-sqlmap.xml      |  35 +-
 .../src/main/resources/sql-script/h2/schema.sql    | 172 +++-
 .../{index.2a428c0d.css => index.7892d888.css}     |   4 +-
 .../src/main/resources/static/index.a6d776d6.js    |   1 +
 .../src/main/resources/static/index.db384a79.js    |   1 -
 shenyu-admin/src/main/resources/static/index.html  |   4 +-
 .../admin/controller/InstanceControllerTest.java   | 145 +++
 .../shenyu/admin/controller/TagControllerTest.java |   7 +-
 .../discovery/DefaultDiscoveryProcessorTest.java   |   2 +-
 .../discovery/DiscoveryProcessorHolderTest.java    |   6 +-
 .../listener/AbstractDataChangedListenerTest.java  |   7 +
 .../HttpLongPollingDataChangedListenerTest.java    |   2 +
 .../admin/mapper/DiscoveryUpstreamMapperTest.java  |   4 +-
 .../admin/mapper/InstanceInfoMapperTest.java       | 150 ++++
 .../admin/mapper/NamespacePluginRelMapperTest.java |   2 +-
 .../apache/shenyu/admin/mapper/RuleMapperTest.java |   6 +-
 .../shenyu/admin/mapper/SelectorMapperTest.java    |  14 +-
 .../apache/shenyu/admin/mapper/TagMapperTest.java  |  15 +-
 .../instance/InstanceInfoReportEventTest.java      |  36 +-
 .../selector/BatchSelectorDeletedEventTest.java    |   2 +-
 .../event/selector/SelectorChangedEventTest.java   |  17 +-
 .../model/query/InstanceQueryConditionTest.java    |  27 +-
 .../model/vo/InstanceDataVisualLineVOTest.java     |  20 +-
 .../admin/model/vo/InstanceDataVisualVOTest.java   |  49 +
 .../InstanceInfoVOTest.java}                       |  53 +-
 .../admin/service/AlertDispatchServiceTest.java    | 526 +++++++++++
 .../service/DiscoveryUpstreamServiceTest.java      |  12 +-
 .../admin/service/InstanceInfoServiceTest.java     | 133 +++
 .../shenyu/admin/service/PluginServiceTest.java    |   5 +-
 .../shenyu/admin/service/SelectorServiceTest.java  |   2 +-
 ...ImplTest.java => SwaggerImportServiceTest.java} |  48 +-
 .../shenyu/admin/service/SyncDataServiceTest.java  |   7 +
 .../shenyu/admin/service/TagServiceTest.java       |  17 +-
 .../admin/service/UpstreamCheckServiceTest.java    |   8 +-
 .../service/impl/AiProxyApiKeyServiceImplTest.java | 181 ++++
 .../service/impl/InstanceCheckServiceTest.java     | 179 ++++
 .../InstanceInfoReportEventPublisherTest.java      |  41 +-
 .../FallbackShenyuClientRegisterServiceTest.java   |  41 +
 shenyu-alert/pom.xml                               |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 shenyu-bootstrap/pom.xml                           |  23 +-
 .../src/main/resources/application.yml             |   6 +
 shenyu-client/pom.xml                              |   3 +-
 .../shenyu-client-api-docs-annotations/pom.xml     |   2 +-
 shenyu-client/shenyu-client-autoconfig/pom.xml     |   2 +-
 shenyu-client/shenyu-client-core/pom.xml           |  22 +-
 .../ShenyuClientRegisterEventPublisher.java        |   2 +
 ...java => ShenyuClientMcpExecutorSubscriber.java} |  18 +-
 .../ShenyuClientURIExecutorSubscriber.java         |   4 +-
 shenyu-client/shenyu-client-dubbo/pom.xml          |   2 +-
 .../shenyu-client-apache-dubbo/pom.xml             |   2 +-
 .../shenyu-client-dubbo-common/pom.xml             |   2 +-
 shenyu-client/shenyu-client-grpc/pom.xml           |   2 +-
 shenyu-client/shenyu-client-http/pom.xml           |   2 +-
 .../shenyu-client-springmvc/pom.xml                |   2 +-
 .../pom.xml                                        |  16 +-
 .../shenyu-client-mcp-common}/pom.xml              |  29 +-
 .../mcp/common/annotation/ShenyuMcpHeader.java     |  23 +-
 .../common/annotation/ShenyuMcpRequestConfig.java  |  26 +-
 .../mcp/common/annotation/ShenyuMcpTool.java}      |  43 +-
 .../mcp/common/annotation/ShenyuMcpToolParam.java  |  16 +-
 .../mcp/common/constants/OpenApiConstants.java     | 124 +++
 .../common/constants/RequestTemplateConstants.java |  37 +-
 .../constants/ShenyuToolConfigConstants.java       |  38 +-
 .../client/mcp/generator/McpOpenApiGenerator.java  |  90 ++
 .../mcp/generator/McpRequestConfigGenerator.java   |  77 ++
 .../generator/McpToolsRegisterDTOGenerator.java    |  59 ++
 .../client/mcp/utils/OpenApiConvertorUtil.java     |  84 ++
 .../shenyu-client-mcp-register}/pom.xml            |  12 +-
 .../shenyu/client/mcp/McpServiceEventListener.java | 284 ++++++
 shenyu-client/shenyu-client-motan/pom.xml          |   2 +-
 shenyu-client/shenyu-client-sofa/pom.xml           |   2 +-
 shenyu-client/shenyu-client-tars/pom.xml           |   2 +-
 shenyu-client/shenyu-client-websocket/pom.xml      |   2 +-
 .../shenyu-client-spring-websocket/pom.xml         |   2 +-
 shenyu-common/pom.xml                              |   2 +-
 .../apache/shenyu/common/config/ShenyuConfig.java  |  76 ++
 .../apache/shenyu/common/constant/Constants.java   | 408 +++++----
 ...peConstants.java => ShenyuModuleConstants.java} |  18 +-
 .../apache/shenyu/common/dto/ProxyApiKeyData.java  | 176 ++++
 ...onfig.java => AiResponseTransformerConfig.java} |   8 +-
 .../common/dto/convert/rule/AiProxyHandle.java     | 339 ++++++-
 .../AiResponseTransformerHandle.java}              |  22 +-
 .../common/dto/convert/selector/CacheUpstream.java | 509 +++++++++++
 .../{TarsUpstream.java => MotanUpstream.java}      | 147 ++-
 .../{DubboUpstream.java => SofaUpstream.java}      | 145 +--
 .../shenyu/common/enums/ConfigGroupEnum.java       |   8 +-
 .../{WafEnum.java => InstanceStatusEnum.java}      |  44 +-
 .../org/apache/shenyu/common/enums/PluginEnum.java |  12 +-
 .../apache/shenyu/common/enums/RpcTypeEnum.java    |   7 +-
 .../{HttpSchemeEnum.java => SwaggerVersion.java}   |  39 +-
 .../shenyu/common/timer/AbstractRetryTask.java     |   4 +-
 .../org/apache/shenyu/common/utils/JsonUtils.java  |   4 +-
 .../shenyu/common/utils/PluginNameAdapter.java     |   2 +
 .../shenyu/common/utils/SystemInfoUtils.java       |  37 +-
 .../shenyu/common/timer/TimerTaskListTest.java     | 116 +++
 .../apache/shenyu/common/utils/AesUtilsTest.java   |  88 ++
 .../shenyu/common/utils/NamespaceIDUtilsTest.java  |  49 +
 .../shenyu/common/utils/PluginNameAdapterTest.java |   3 +-
 .../org.apache.shenyu.common.utils.SpiInterface    |   2 +-
 shenyu-disruptor/pom.xml                           |   2 +-
 .../{event/DataEvent.java => common/Data.java}     |   9 +-
 .../disruptor/consumer/QueueConsumerExecutor.java  |  22 +-
 .../apache/shenyu/disruptor/event/DataEvent.java   |  22 +-
 .../disruptor/DisruptorProviderManagerTest.java    |   4 +-
 .../disruptor/consumer/QueueConsumerTest.java      | 112 +++
 .../disruptor/provider/DisruptorProviderTest.java  | 109 +++
 .../thread/DisruptorThreadFactoryTest.java         |   4 +-
 shenyu-dist/pom.xml                                |   2 +-
 shenyu-dist/shenyu-admin-dist/pom.xml              |   2 +-
 .../src/main/release-docs/LICENSE                  |   4 +
 .../src/main/resources/logback.xml                 |   2 +-
 shenyu-dist/shenyu-bootstrap-dist/pom.xml          |   2 +-
 .../src/main/release-docs/LICENSE                  |  32 +-
 .../src/main/resources/logback.xml                 |   2 +-
 shenyu-dist/shenyu-docker-compose-dist/pom.xml     |   2 +-
 shenyu-dist/shenyu-src-dist/pom.xml                |   2 +-
 shenyu-e2e/pom.xml                                 |   2 +-
 .../compose/storage/shenyu-storage-h2.yml          |   2 +-
 .../compose/storage/shenyu-storage-mysql.yml       |   2 +-
 .../compose/storage/shenyu-storage-opengauss.yml   |   2 +-
 .../compose/storage/shenyu-storage-postgres.yml    |   2 +-
 .../shenyu-e2e-case/compose/sync/shenyu-nacos.yml  |   2 +-
 .../compose/sync/shenyu-sync-etcd-eureka.yml       |   2 +-
 .../compose/sync/shenyu-sync-etcd.yml              |   2 +-
 .../compose/sync/shenyu-sync-http-eureka.yml       |   2 +-
 .../compose/sync/shenyu-sync-http.yml              |   2 +-
 .../sync/shenyu-sync-websocket-cluster-jdbc.yml    |   2 +-
 .../shenyu-sync-websocket-cluster-zookeeper.yml    |   2 +-
 .../compose/sync/shenyu-sync-websocket-eureka.yml  |   2 +-
 .../compose/sync/shenyu-sync-websocket.yml         |   2 +-
 .../compose/sync/shenyu-sync-zookeeper-eureka.yml  |   2 +-
 .../compose/sync/shenyu-sync-zookeeper.yml         |   2 +-
 .../k8s/script/init/opengauss_container_init.sh    |   2 +-
 .../k8s/script/init/postgres_container_init.sh     |   2 +-
 .../k8s/script/storage/storage_init_opengauss.sh   |   2 +-
 .../k8s/script/storage/storage_init_postgres.sh    |   2 +-
 shenyu-e2e/shenyu-e2e-case/k8s/shenyu-mysql.yml    |   2 +-
 shenyu-e2e/shenyu-e2e-case/k8s/shenyu-nacos.yml    |   2 +-
 .../shenyu-e2e-case/k8s/shenyu-opengauss.yml       |   2 +-
 shenyu-e2e/shenyu-e2e-case/k8s/shenyu-postgres.yml |   2 +-
 shenyu-e2e/shenyu-e2e-case/pom.xml                 |   2 +-
 .../shenyu-e2e-case-apache-dubbo/pom.xml           |   2 +-
 .../k8s/shenyu-cluster-jdbc.yml                    |   2 +-
 .../k8s/shenyu-cluster-zookeeper.yml               |   2 +-
 .../shenyu-e2e-case-cluster/pom.xml                |   2 +-
 .../shenyu-e2e-case/shenyu-e2e-case-grpc/pom.xml   |   2 +-
 .../compose/shenyu-rocketmq-compose.yml            |   2 +-
 .../shenyu-e2e-case-http/k8s/shenyu-rocketmq.yml   |   2 +-
 .../e2e/testcase/http/DividePluginCases.java       |   2 +-
 .../compose/script/e2e-logging-kafka-compose.sh    |   2 +-
 .../compose/shenyu-kafka-compose.yml               |   2 +-
 .../k8s/shenyu-kafka.yml                           |   2 +-
 .../testcase/logging/kafka/DividePluginCases.java  |  16 +-
 .../compose/shenyu-rocketmq-compose.yml            |   2 +-
 .../k8s/shenyu-kafka.yml                           |   2 +-
 .../shenyu-e2e-case/shenyu-e2e-case-motan/pom.xml  |   2 +-
 .../shenyu-e2e-case/shenyu-e2e-case-sofa/pom.xml   |   2 +-
 .../k8s/shenyu-examples-eureka.yml                 |   2 +-
 .../shenyu-e2e-case-spring-cloud/pom.xml           |   2 +-
 .../compose/script/e2e-h2-compose.sh               |   2 +-
 .../compose/script/e2e-mysql-compose.sh            |   2 +-
 .../compose/script/e2e-opengauss-compose.sh        |   2 +-
 .../compose/script/e2e-postgres-compose.sh         |   2 +-
 .../k8s/shenyu-app-service-h2.yml                  |   2 +-
 .../k8s/shenyu-app-service-mysql.yml               |   2 +-
 .../k8s/shenyu-app-service-opengauss.yml           |   2 +-
 .../k8s/shenyu-app-service-postgres.yml            |   2 +-
 .../k8s/shenyu-deployment-h2.yml                   |   2 +-
 .../shenyu-e2e-case-websocket/pom.xml              |   2 +-
 .../testcase/websocket/WebSocketPluginCases.java   |   3 +-
 .../testcase/websocket/WebSocketPluginTest.java    |   1 -
 shenyu-e2e/shenyu-e2e-client/pom.xml               |   2 +-
 shenyu-e2e/shenyu-e2e-common/pom.xml               |   2 +-
 shenyu-e2e/shenyu-e2e-engine/pom.xml               |   2 +-
 shenyu-examples/pom.xml                            |   3 +-
 shenyu-examples/shenyu-examples-common/pom.xml     |   2 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 shenyu-examples/shenyu-examples-dubbo/pom.xml      |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/application.yml             |   2 +-
 .../src/main/resources/shenyu.xml                  |   2 +-
 .../shenyu-examples-apache-dubbo-service/pom.xml   |   2 +-
 .../shenyu-examples-dubbo-api/pom.xml              |   2 +-
 shenyu-examples/shenyu-examples-eureka/pom.xml     |   2 +-
 shenyu-examples/shenyu-examples-grpc/pom.xml       |   2 +-
 .../src/main/resources/proto/stream.proto          |   2 +-
 .../shenyu-examples-http-swagger3/pom.xml          |   2 +-
 .../shenyu-examples-http/k8s/shenyu-deployment.yml |   2 +-
 .../shenyu-examples-http/k8s/shenyu-service.yml    |   2 +-
 shenyu-examples/shenyu-examples-http/pom.xml       |   2 +-
 .../src/main/resources/application.yml             |   1 -
 shenyu-examples/shenyu-examples-https/pom.xml      |   2 +-
 .../src/main/resources/keystore.p12                | Bin 2729 -> 2730 bytes
 .../pom.xml                                        |  27 +-
 .../apache/shenyu/ShenyuTestMcpApplication.java}   |   8 +-
 .../apache/shenyu/controller/OrderController.java  | 110 +++
 .../main/java/org/apache/shenyu}/dto/OrderDTO.java |   2 +-
 .../src/main/resources/application.yml             |  19 +-
 shenyu-examples/shenyu-examples-motan/pom.xml      |   2 +-
 .../shenyu-examples-motan-api/pom.xml              |   2 +-
 .../shenyu-examples-motan-service/pom.xml          |   2 +-
 shenyu-examples/shenyu-examples-plugin/pom.xml     |   2 +-
 shenyu-examples/shenyu-examples-sdk/pom.xml        |   2 +-
 .../shenyu-examples-sdk-dubbo/pom.xml              |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/application.yml             |   2 +-
 .../src/main/resources/shenyu.xml                  |   2 +-
 .../shenyu-examples-sdk-feign/pom.xml              |   2 +-
 .../shenyu-examples-sdk-grpc/pom.xml               |   2 +-
 .../shenyu-examples-sdk-grpc-consumer/pom.xml      |   2 +-
 .../shenyu-examples-sdk-grpc-provider/pom.xml      |   2 +-
 .../shenyu-examples-sdk-http/pom.xml               |   2 +-
 .../shenyu-examples-sdk-springcloud/pom.xml        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 shenyu-examples/shenyu-examples-sofa/pom.xml       |   2 +-
 .../shenyu-examples-sofa-api/pom.xml               |   2 +-
 .../shenyu-examples-sofa-service/pom.xml           |   4 +-
 .../shenyu-examples-springcloud/pom.xml            |   2 +-
 .../shenyu-examples-springmvc-tomcat/pom.xml       |   2 +-
 .../src/main/http/http-test-api-local.http         |   2 +-
 .../src/main/http/http-test-api.http               |   2 +-
 .../src/main/resources/context/shenyu.xml          |   2 +-
 .../src/main/resources/spring-mvc.xml              |   2 +-
 shenyu-examples/shenyu-examples-springmvc/pom.xml  |   2 +-
 .../src/main/http/http-test-api-local.http         |   2 +-
 .../src/main/http/http-test-api.http               |   2 +-
 .../src/main/resources/application.yml             |   2 +-
 shenyu-examples/shenyu-examples-tars/README.md     |   2 +-
 shenyu-examples/shenyu-examples-tars/pom.xml       |   2 +-
 .../src/main/resources/application.yml             |   2 +-
 shenyu-examples/shenyu-examples-websocket/pom.xml  |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/application.yml             |   2 +-
 .../shenyu-example-spring-native-websocket/pom.xml |   2 +-
 .../pom.xml                                        |   2 +-
 shenyu-infra/pom.xml                               |   6 +-
 .../shenyu-infra-common}/pom.xml                   |  27 +-
 .../apache/shenyu/infra/common/InfraConstants.java |  23 +-
 .../shenyu/infra/common/InfraParentProperties.java |  14 +-
 .../shenyu-infra-etcd}/pom.xml                     |  42 +-
 .../infra/etcd/autoconfig/ConditionOnSyncEtcd.java |  16 +-
 .../infra/etcd/autoconfig/EtcdConfiguration.java   |  44 +-
 .../infra/etcd/autoconfig/EtcdProperties.java      |  50 ++
 .../shenyu/infra/etcd/client}/EtcdClient.java      | 198 +++-
 .../shenyu/infra/etcd/config}/EtcdConfig.java      |  61 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../infra/etcd/autoconfig/EtcdPropertiesTest.java  |  53 ++
 .../shenyu/infra/etcd/client}/EtcdClientTest.java  |  20 +-
 .../shenyu-infra-nacos}/pom.xml                    |   9 +-
 .../nacos/autoconfig/ConditionOnSyncNacos.java     |  13 +-
 .../infra/nacos/autoconfig/NacosProperties.java    |  48 +
 .../shenyu/infra}/nacos/config/NacosACMConfig.java |  64 +-
 .../shenyu/infra}/nacos/config/NacosConfig.java    |  74 +-
 .../nacos/autoconfig/NacosPropertiesTest.java      |  28 +-
 .../infra}/nacos/config/NacosACMConfigTest.java    |  45 +-
 .../infra}/nacos/config/NacosConfigTest.java       |  36 +-
 shenyu-infra/shenyu-infra-redis/pom.xml            |  26 +-
 .../shenyu/infra}/redis/RedisConfigProperties.java |   2 +-
 .../infra}/redis/RedisConnectionFactory.java       |   2 +-
 .../infra/redis}/ShenyuReactiveRedisTemplate.java  |   2 +-
 .../infra/redis}/ShenyuReactiveScriptExecutor.java |   2 +-
 .../redis/serializer/ByteArrayRedisSerializer.java |   2 +-
 .../ShenyuRedisSerializationContext.java           |   2 +-
 .../infra}/redis/RedisConfigPropertiesTest.java    |   2 +-
 .../infra}/redis/RedisConnectionFactoryTest.java   |   6 +-
 .../redis/ShenyuRedisSerializationContextTest.java |   4 +-
 .../pom.xml                                        |   4 +-
 .../java/org/apache/shenyu/infra/x/XConfig.java}   |   4 +-
 .../java/org/apache/shenyu/infra/x/XTests.java     |   4 +-
 .../pom.xml                                        |   4 +-
 .../shenyu/infra}/zookeeper/ZookeeperConfig.java   |   3 +-
 .../shenyu/infra/zookeeper/ZookeeperTests.java     |   4 +-
 shenyu-integrated-test/pom.xml                     |   4 +-
 .../shenyu-integrated-test-apache-dubbo/pom.xml    |   2 +-
 .../shenyu-integrated-test-combination/pom.xml     |   2 +-
 .../shenyu-integrated-test-common/pom.xml          |   2 +-
 .../shenyu-integrated-test-grpc/pom.xml            |   2 +-
 .../shenyu-integrated-test-http/config/broker.conf |   2 +-
 .../shenyu-integrated-test-http/pom.xml            |   2 +-
 .../shenyu-integrated-test-https/pom.xml           |   2 +-
 .../script/services.list                           |   2 +-
 .../src/main/resources/keystore.p12                | Bin 2729 -> 2730 bytes
 .../deploy/kind-config.yaml                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../deploy/kind-config.yaml                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../deploy/kind-config.yaml                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../deploy/kind-config.yaml                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../deploy/kind-config.yaml                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../script/build_k8s_cluster.sh                    |   2 +-
 .../deploy/kind-config.yaml                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-integrated-test-motan/pom.xml           |   2 +-
 .../script/services.list                           |   2 +-
 .../integrated/test/motan/MotanPluginTest.java     |   2 +-
 .../shenyu-integrated-test-rewrite/pom.xml         |   2 +-
 .../pom.xml                                        |   2 +-
 .../docker-compose.yml                             |   2 +-
 .../shenyu-integrated-test-sdk-http/pom.xml        |   2 +-
 .../shenyu-integrated-test-sofa/pom.xml            |   2 +-
 .../shenyu-integrated-test-spring-cloud/pom.xml    |   2 +-
 .../shenyu-integrated-test-upload-plugin/pom.xml   |   2 +-
 .../shenyu-custom-plugin/pom.xml                   |   2 +-
 .../shenyu-integrated-test-admin/pom.xml           |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-integrated-test-websocket/pom.xml       |   2 +-
 shenyu-kubernetes-controller/pom.xml               |   2 +-
 shenyu-loadbalancer/pom.xml                        |   2 +-
 ...org.apache.shenyu.loadbalancer.spi.LoadBalancer |   2 +-
 .../spi/RoundRobinLoadBalanceTest.java             |  29 +-
 shenyu-plugin/pom.xml                              |   3 +-
 shenyu-plugin/shenyu-plugin-ai/pom.xml             |  11 +-
 .../shenyu-plugin-ai-common/pom.xml                |   2 +-
 .../plugin/ai/common/config/AiCommonConfig.java    |  53 +-
 .../spring/ai/factory/OpenAiModelFactory.java      |   2 +-
 .../shenyu/plugin/ai/common/strategy/AiModel.java  |  54 --
 .../plugin/ai/common/strategy/AiModelFactory.java  |  47 -
 .../ai/common/strategy/FallbackStrategy.java       |  49 +
 .../strategy/SimpleModelFallbackStrategy.java      |  68 ++
 .../plugin/ai/common/strategy/openai/OpenAI.java   | 107 ---
 .../ai/common/utils/ResponseBodyCaptureUtils.java} |  25 +-
 .../ai/factory/DeepSeekModelFactoryTest.java       |  67 ++
 .../spring/ai/factory/OpenAiModelFactoryTest.java  |  67 ++
 .../ai/registry/AiModelFactoryRegistryTest.java    |  66 ++
 .../utils/ResponseBodyCaptureUtilsTest.java}       |  30 +-
 .../shenyu-plugin-ai-prompt/pom.xml                |   2 +-
 .../plugin/ai/prompt/AiPromptPluginTest.java}      |  34 +-
 .../handler/AiPromptPluginDataHandlerTest.java     |  88 ++
 .../pom.xml                                        |  34 +-
 .../plugin/ai/proxy/enhanced/AiProxyPlugin.java    | 272 ++++++
 .../proxy/enhanced/cache/AiProxyApiKeyCache.java   | 133 +++
 .../ai/proxy/enhanced/cache/ChatClientCache.java   |  88 ++
 .../enhanced}/handler/AiProxyPluginHandler.java    |  57 +-
 .../enhanced/service/AiProxyConfigService.java     | 124 +++
 .../enhanced/service/AiProxyExecutorService.java   | 116 +++
 .../CommonAiProxyApiKeyDataSubscriber.java         |  59 ++
 .../ai/proxy/enhanced/AiProxyPluginTest.java       | 339 +++++++
 .../enhanced/cache/AiProxyApiKeyCacheTest.java     |  73 ++
 .../enhanced/service/AiProxyConfigServiceTest.java | 146 +++
 .../service/AiProxyExecutorServiceTest.java        | 143 +++
 .../CommonAiProxyApiKeyDataSubscriberTest.java     | 208 +++++
 .../shenyu/plugin/ai/proxy/AiProxyPlugin.java      | 127 ---
 .../shenyu-plugin-ai-request-transformer/pom.xml   |   2 +-
 .../request/AiRequestTransformerPlugin.java        |  23 +-
 .../transformer/request/cache/ChatClientCache.java |   5 +-
 .../handler/AiRequestTransformerPluginHandler.java |   1 -
 .../request/AiRequestTransformerPluginTest.java    | 133 +++
 .../request/cache/ChatClientCacheTest.java         |  83 ++
 .../AiRequestTransformerPluginHandlerTest.java     |  99 ++
 .../template/AiRequestTransformerTemplateTest.java | 124 +++
 .../pom.xml                                        |   6 +-
 .../response/AiResponseTransformerPlugin.java      | 407 +++++++++
 .../response}/cache/ChatClientCache.java           |   9 +-
 .../AiResponseTransformerPluginHandler.java        | 118 +++
 .../template/AiResponseTransformerTemplate.java}   |  75 +-
 .../response/AiResponseTransformerPluginTest.java  | 239 +++++
 .../AiResponseTransformerPluginHandlerTest.java    | 308 +++++++
 .../AiResponseTransformerTemplateTest.java         | 384 ++++++++
 .../shenyu-plugin-ai-token-limiter/pom.xml         |  18 +-
 .../ai/token/limiter/AiTokenLimiterPlugin.java     | 139 ++-
 .../handler/AiTokenLimiterPluginHandler.java       |   8 +-
 .../token/limiter/redis/RedisConfigProperties.java | 259 ------
 .../limiter/redis/RedisConnectionFactory.java      | 135 ---
 .../limiter/redis/ShenyuReactiveRedisTemplate.java |  53 --
 .../redis/ShenyuReactiveScriptExecutor.java        |  73 --
 .../redis/serializer/ByteArrayRedisSerializer.java |  40 -
 .../ShenyuRedisSerializationContext.java           |  56 --
 shenyu-plugin/shenyu-plugin-api/pom.xml            |   2 +-
 shenyu-plugin/shenyu-plugin-base/pom.xml           |   2 +-
 .../base/cache/CommonPluginDataSubscriber.java     |  29 +-
 .../plugin/base/utils/ServerWebExchangeUtils.java  |   2 +-
 ...shenyu.plugin.base.condition.data.ParameterData |   2 +-
 shenyu-plugin/shenyu-plugin-cache/pom.xml          |   2 +-
 .../shenyu-plugin-cache-handler/pom.xml            |   2 +-
 .../apache/shenyu/plugin/cache/CachePlugin.java    |  39 +-
 .../plugin/cache/cache/ApplicationConfigCache.java | 130 +++
 .../cache/handler/CachePluginDataHandler.java      |   9 +
 .../plugin/cache/ApplicationConfigCacheTest.java   |  93 ++
 .../plugin/cache/CachePluginDataHandlerTest.java   |   2 +-
 .../shenyu/plugin/cache/CachePluginTest.java       |  10 +-
 .../shenyu-plugin-cache-memory/pom.xml             |   2 +-
 .../org.apache.shenyu.plugin.cache.ICacheBuilder   |   2 +-
 .../shenyu-plugin-cache-redis/pom.xml              |  16 +-
 .../shenyu/plugin/cache/redis/RedisCache.java      |   4 +-
 .../plugin/cache/redis/RedisCacheBuilder.java      |   1 +
 .../shenyu/plugin/cache/redis/RedisCacheTest.java  |   1 +
 .../shenyu-plugin-cache-spi/pom.xml                |   2 +-
 shenyu-plugin/shenyu-plugin-context-path/pom.xml   |   2 +-
 .../shenyu-plugin-fault-tolerance/pom.xml          |   2 +-
 .../shenyu-plugin-hystrix/pom.xml                  |   2 +-
 .../shenyu-plugin-ratelimiter/pom.xml              |   2 +-
 .../ratelimiter/executor/RedisRateLimiter.java     |   4 +-
 .../handler/RateLimiterPluginDataHandler.java      |   7 +-
 .../scripts/concurrent_request_rate_limiter.lua    |   2 +-
 .../scripts/request_leaky_rate_limiter.lua         |   2 +-
 ...ugin.ratelimiter.algorithm.RateLimiterAlgorithm |   2 +-
 ...gin.ratelimiter.resolver.RateLimiterKeyResolver |   2 +-
 .../executor/RedisRateLimiterScriptsTest.java      |   2 +-
 .../handler/RateLimiterPluginDataHandlerTest.java  |   4 +-
 .../shenyu-plugin-resilience4j/pom.xml             |   2 +-
 .../shenyu-plugin-sentinel/pom.xml                 |   2 +-
 shenyu-plugin/shenyu-plugin-global/pom.xml         |   2 +-
 shenyu-plugin/shenyu-plugin-httpclient/pom.xml     |   2 +-
 .../ExponentialRetryBackoffStrategy.java           |   8 +-
 shenyu-plugin/shenyu-plugin-logging/pom.xml        |   2 +-
 .../shenyu-plugin-logging-aliyun-sls/pom.xml       |   2 +-
 .../shenyu-plugin-logging-clickhouse/pom.xml       |   2 +-
 .../shenyu-plugin-logging-common/pom.xml           |   2 +-
 .../logging/common/AbstractLoggingPlugin.java      |   1 +
 .../common/collector/AbstractLogCollector.java     | 106 ++-
 .../logging/common/collector/LogCollector.java     |   1 +
 .../logging/common/utils/LogCollectUtils.java      |   6 +-
 .../shenyu-plugin-logging-console/pom.xml          |   2 +-
 .../shenyu-plugin-logging-desensitize-api/pom.xml  |   2 +-
 ...gging.desensitize.api.spi.ShenyuDataDesensitize |   2 +-
 .../shenyu-plugin-logging-elasticsearch/pom.xml    |   2 +-
 .../shenyu-plugin-logging-huawei-lts/pom.xml       |   2 +-
 .../shenyu-plugin-logging-kafka/pom.xml            |   2 +-
 .../logging/kafka/cache/KafkaClientCache.java      | 122 +++
 .../logging/kafka/collector/KafkaLogCollector.java |  17 +
 .../kafka/config/KafkaLogCollectConfig.java        | 163 ++++
 .../handler/LoggingKafkaPluginDataHandler.java     |  62 ++
 .../logging/kafka/cache/KafkaClientCacheTest.java  |  67 ++
 .../kafka/collector/KafkaLogCollectorTest.java     |  27 +
 .../handler/LoggingKafkaPluginDataHandlerTest.java |   2 +-
 .../shenyu-plugin-logging-pulsar/pom.xml           |   2 +-
 .../shenyu-plugin-logging-rabbitmq/pom.xml         |   2 +-
 .../rabbitmq/cache/RabbitmqClientCache.java        | 150 ++++
 .../rabbitmq/config/RabbitmqLogCollectConfig.java  | 319 +++++++
 .../rabbitmq/conllector/RabbitmqLogCollector.java  |  17 +
 .../handler/LoggingRabbitmqPluginDataHandler.java  |  62 ++
 .../rabbitmq/cache/RabbitmqClientCacheTest.java    |  76 ++
 .../collector/RabbitmqLogCollectorTest.java        |  35 +
 .../config/RabbitmqLogCollectConfigTest.java       |   8 +-
 .../LoggingRabbitmqPluginDataHandlerTest.java      |  29 +
 .../shenyu-plugin-logging-rocketmq/pom.xml         |   2 +-
 .../shenyu-plugin-logging-tencent-cls/pom.xml      |   2 +-
 .../shenyu-plugin-mcp-server/MCP_TOOL_EXAMPLES.md  | 492 ++++++++++
 .../MCP_TOOL_EXAMPLES_EN.md                        | 499 +++++++++++
 .../shenyu-plugin-mcp-server}/pom.xml              |  75 +-
 .../shenyu/plugin/mcp/server/McpServerPlugin.java  | 644 +++++++++++++
 .../mcp/server/callback/ShenyuToolCallback.java    | 687 ++++++++++++++
 .../server/definition/ShenyuToolDefinition.java    | 110 +++
 .../server/handler/McpServerPluginDataHandler.java | 169 ++++
 .../mcp/server/holder/ShenyuMcpExchangeHolder.java |  40 +-
 .../mcp/server/manager/ShenyuMcpServerManager.java | 636 +++++++++++++
 .../mcp/server/model/McpServerToolParameter.java   | 191 ++++
 .../plugin/mcp/server/model/ShenyuMcpServer.java   |  88 +-
 .../mcp/server/model/ShenyuMcpServerTool.java      | 163 ++++
 .../mcp/server/request/BodyWriterExchange.java     | 114 +++
 .../mcp/server/request/ParameterFormatter.java     |  60 ++
 .../plugin/mcp/server/request/RequestConfig.java   |  81 ++
 .../mcp/server/request/RequestConfigHelper.java    | 248 +++++
 .../NonCommittingMcpResponseDecorator.java         | 276 ++++++
 .../response/ShenyuMcpResponseDecorator.java       | 135 +++
 .../mcp/server/session/McpSessionHelper.java       | 104 +++
 .../server/transport/MessageHandlingResult.java    |  99 ++
 .../ShenyuSseServerTransportProvider.java          | 580 ++++++++++++
 ...henyuStreamableHttpServerTransportProvider.java | 996 +++++++++++++++++++++
 .../mcp/server/transport/SseEventFormatter.java    |  91 ++
 .../transport/StreamableHttpProviderBuilder.java   |  81 ++
 .../plugin/mcp/server/utils/JsonSchemaUtil.java    | 135 +++
 .../mcp/server/McpServerPluginIntegrationTest.java | 242 +++++
 .../plugin/mcp/server/McpServerPluginTest.java     | 151 ++++
 .../server/callback/ShenyuToolCallbackTest.java    | 214 +++++
 .../handler/McpServerPluginDataHandlerTest.java    | 204 +++++
 .../server/manager/ShenyuMcpServerManagerTest.java | 173 ++++
 .../server/request/RequestConfigHelperTest.java    | 198 ++++
 .../mcp/server/utils/JsonSchemaUtilTest.java       | 302 +++++++
 .../src/test/resources/application-test.yml        |  19 +-
 shenyu-plugin/shenyu-plugin-metrics/pom.xml        |   2 +-
 shenyu-plugin/shenyu-plugin-mock/pom.xml           |   2 +-
 .../shenyu-plugin-modify-response/pom.xml          |   2 +-
 shenyu-plugin/shenyu-plugin-param-mapping/pom.xml  |   2 +-
 .../param/mapping/strategy/FormDataOperator.java   |  33 +-
 .../param/mapping/strategy/JsonOperator.java       |  48 +-
 shenyu-plugin/shenyu-plugin-proxy/pom.xml          |   2 +-
 .../shenyu-plugin-divide/pom.xml                   |   2 +-
 .../shenyu-plugin-proxy/shenyu-plugin-mqtt/pom.xml |   2 +-
 .../shenyu-plugin-proxy/shenyu-plugin-rpc/pom.xml  |   2 +-
 .../shenyu-plugin-rpc/shenyu-plugin-dubbo/pom.xml  |   2 +-
 .../shenyu-plugin-apache-dubbo/pom.xml             |   2 +-
 .../org.apache.dubbo.common.threadpool.ThreadPool  |   2 +-
 .../dubbo/org.apache.dubbo.rpc.cluster.LoadBalance |   2 +-
 .../shenyu-plugin-dubbo-common/pom.xml             |   2 +-
 .../shenyu-plugin-general-context/pom.xml          |   2 +-
 .../shenyu-plugin-rpc/shenyu-plugin-grpc/pom.xml   |   2 +-
 .../shenyu-plugin-rpc/shenyu-plugin-motan/pom.xml  |   2 +-
 .../apache/shenyu/plugin/motan/MotanPlugin.java    |   2 +-
 .../plugin/motan/cache/ApplicationConfigCache.java | 162 +++-
 .../plugin/motan/handler/MotanMetaDataHandler.java |   3 +-
 .../motan/handler/MotanPluginDataHandler.java      |  23 +
 .../plugin/motan/proxy/MotanProxyService.java      |  36 +-
 .../shenyu/plugin/motan/MotanPluginTest.java       |   2 +-
 .../plugin/motan/proxy/MotanProxyServiceTest.java  |  99 ++
 .../shenyu-plugin-rpc/shenyu-plugin-sofa/pom.xml   |   2 +-
 .../org/apache/shenyu/plugin/sofa/SofaPlugin.java  |   2 +-
 .../plugin/sofa/cache/ApplicationConfigCache.java  | 221 ++++-
 .../plugin/sofa/handler/SofaMetaDataHandler.java   |   4 +-
 .../plugin/sofa/handler/SofaPluginDataHandler.java |  21 +
 .../shenyu/plugin/sofa/proxy/SofaProxyService.java |  42 +-
 .../apache/shenyu/plugin/sofa/SofaPluginTest.java  |   4 +-
 .../sofa/cache/ApplicationConfigCacheTest.java     |  97 ++
 .../plugin/sofa/proxy/SofaProxyServiceTest.java    |  63 +-
 .../shenyu-plugin-rpc/shenyu-plugin-tars/pom.xml   |   2 +-
 .../shenyu-plugin-transform/pom.xml                |   2 +-
 .../shenyu-plugin-proxy/shenyu-plugin-tcp/pom.xml  |   2 +-
 .../shenyu-plugin-websocket/pom.xml                |   2 +-
 shenyu-plugin/shenyu-plugin-redirect/pom.xml       |   2 +-
 shenyu-plugin/shenyu-plugin-request/pom.xml        |   2 +-
 shenyu-plugin/shenyu-plugin-response/pom.xml       |   2 +-
 shenyu-plugin/shenyu-plugin-rewrite/pom.xml        |   2 +-
 shenyu-plugin/shenyu-plugin-security/pom.xml       |   2 +-
 .../shenyu-plugin-basic-auth/pom.xml               |   2 +-
 .../shenyu-plugin-casdoor/pom.xml                  |   2 +-
 .../shenyu-plugin-cryptor/pom.xml                  |   2 +-
 ....shenyu.plugin.cryptor.strategy.CryptorStrategy |   2 +-
 .../shenyu-plugin-jwt/pom.xml                      |   2 +-
 .../jwt/strategy/DefaultJwtConvertStrategy.java    |   3 +-
 .../strategy/DefaultJwtPayloadParseStrategy.java   |   2 +-
 ...e.shenyu.plugin.jwt.strategy.JwtConvertStrategy |   2 +-
 ...nyu.plugin.jwt.strategy.JwtPayloadParseStrategy |   2 +-
 .../strategy/DefaultJwtConvertStrategyTest.java    |  77 ++
 ...e.shenyu.plugin.jwt.strategy.JwtConvertStrategy |   2 +-
 .../shenyu-plugin-key-auth/pom.xml                 |   2 +-
 .../shenyu-plugin-oauth2/pom.xml                   |   2 +-
 .../shenyu-plugin-sign/pom.xml                     |   2 +-
 shenyu-plugin/shenyu-plugin-uri/pom.xml            |   2 +-
 shenyu-plugin/shenyu-plugin-waf/pom.xml            |   2 +-
 shenyu-plugin/shenyu-plugin-wasm-api/pom.xml       |   2 +-
 ....api.AbstractWasmPluginTest$RustWasmPlugin.wasm | Bin 1984076 -> 1984077 
bytes
 shenyu-plugin/shenyu-plugin-wasm-base/pom.xml      |   2 +-
 ...tShenyuWasmPluginTest$TestShenyuWasmPlugin.wasm | Bin 1679614 -> 1679615 
bytes
 ...HandlerTest$TestWasmPluginDiscoveryHandler.wasm | Bin 1984165 -> 1984166 
bytes
 ...etaDataHandlerTest$TestWasmMetaDataHandler.wasm | Bin 1679923 -> 1679924 
bytes
 ...nDataHandlerTest$TestWasmPluginDataHandler.wasm | Bin 1680549 -> 1680550 
bytes
 .../src/test/rust-discovery-handler/Cargo.toml     |   2 +-
 .../src/test/rust-discovery-handler/README.md      |   2 +-
 .../src/test/rust-discovery-handler/src/lib.rs     |   2 +-
 .../src/test/rust-meta-data-handler/README.md      |   2 +-
 .../src/test/rust-plugin-data-handler/README.md    |   2 +-
 shenyu-protocol/pom.xml                            |   2 +-
 shenyu-protocol/shenyu-protocol-grpc/pom.xml       |   2 +-
 shenyu-protocol/shenyu-protocol-mqtt/pom.xml       |   2 +-
 shenyu-protocol/shenyu-protocol-tcp/pom.xml        |   2 +-
 shenyu-register-center/pom.xml                     |   3 +-
 .../shenyu-register-client-beat}/pom.xml           |  16 +-
 .../register/client/beat/HeartbeatListener.java    | 145 +++
 .../beat/ShenyuBootstrapHeartBeatConfig.java}      |  36 +-
 .../shenyu-register-client/pom.xml                 |   2 +-
 .../shenyu-register-client-api/pom.xml             |  19 +-
 .../client/api/FailbackRegistryRepository.java     |  37 +
 .../client/api/ShenyuClientRegisterRepository.java |  18 +
 .../client/api/FailbackRegistryRepositoryTest.java | 274 ++++++
 .../client/api/retry/FailureRegistryTaskTest.java  | 165 ++++
 .../shenyu-register-client-http/pom.xml            |   2 +-
 .../client/http/HttpClientRegisterRepository.java  |  14 +-
 .../shenyu-register-common/pom.xml                 |   2 +-
 .../register/common/dto/InstanceBeatInfoDTO.java   |  85 +-
 .../register/common/dto/McpToolsRegisterDTO.java   |  48 +-
 .../shenyu/register/common/dto/URIRegisterDTO.java | 114 ++-
 .../shenyu/register/common/type/DataType.java      |   5 +
 shenyu-registry/pom.xml                            |   2 +-
 shenyu-registry/shenyu-registry-api/pom.xml        |  11 +-
 .../registry/api/config/RegisterConfigTest.java    | 105 +++
 .../api/path/InstancePathConstantsTest.java        |  49 +
 shenyu-registry/shenyu-registry-apollo/pom.xml     |   2 +-
 ...u.registry.api.ShenyuInstanceRegisterRepository |   2 +-
 shenyu-registry/shenyu-registry-consul/pom.xml     |   2 +-
 ...u.registry.api.ShenyuInstanceRegisterRepository |   2 +-
 shenyu-registry/shenyu-registry-core/pom.xml       |   2 +-
 shenyu-registry/shenyu-registry-etcd/pom.xml       |  24 +-
 .../apache/shenyu/registry/etcd/EtcdClient.java    | 165 ----
 .../etcd/EtcdInstanceRegisterRepository.java       |  11 +-
 .../shenyu/registry/etcd/EtcdClientTest.java       |  11 +-
 .../etcd/EtcdInstanceRegisterRepositoryTest.java   |   2 +
 shenyu-registry/shenyu-registry-eureka/pom.xml     |   2 +-
 .../eureka/EurekaInstanceRegisterRepository.java   |   5 +-
 shenyu-registry/shenyu-registry-kubernetes/pom.xml |   2 +-
 shenyu-registry/shenyu-registry-nacos/pom.xml      |   8 +-
 .../nacos/NacosInstanceRegisterRepository.java     |  18 +-
 shenyu-registry/shenyu-registry-polaris/pom.xml    |   2 +-
 shenyu-registry/shenyu-registry-zookeeper/pom.xml  |   2 +-
 shenyu-sdk/pom.xml                                 |   2 +-
 shenyu-sdk/shenyu-sdk-core/pom.xml                 |   2 +-
 shenyu-sdk/shenyu-sdk-feign/pom.xml                |   2 +-
 shenyu-sdk/shenyu-sdk-httpclient/pom.xml           |   2 +-
 ...g.apache.shenyu.sdk.core.client.ShenyuSdkClient |   2 +-
 shenyu-sdk/shenyu-sdk-okhttp/pom.xml               |   2 +-
 ...g.apache.shenyu.sdk.core.client.ShenyuSdkClient |   2 +-
 shenyu-sdk/shenyu-sdk-spring/pom.xml               |   2 +-
 shenyu-spi/pom.xml                                 |   2 +-
 .../shenyu/org.apache.shenyu.spi.fixture.EmptySPI  |   2 +-
 shenyu-spring-boot-starter/pom.xml                 |   2 +-
 .../shenyu-spring-boot-starter-client/pom.xml      |   4 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |  28 +-
 .../beat/HeartbeatListenerConfiguration.java       |  61 ++
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-client-grpc/pom.xml |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   8 +-
 .../client/mcp/ShenyuMcpClientConfiguration.java}  |  22 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-client-sofa/pom.xml |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../shenyu-spring-boot-starter-client-tars/pom.xml |   2 +-
 .../shenyu-spring-boot-starter-gateway/pom.xml     |   2 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 .../shenyu-spring-boot-starter-k8s/pom.xml         |   2 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 .../shenyu-spring-boot-starter-plugin/pom.xml      |   5 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   5 +-
 .../ai/proxy/AiProxyPluginConfiguration.java       | 111 ++-
 .../pom.xml                                        |   4 +-
 .../AiRequestTransformerPluginConfiguration.java   |   4 +-
 .../pom.xml                                        |   9 +-
 .../AiResponseTransformerPluginConfiguration.java} |  32 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-plugin-grpc/pom.xml |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-plugin-jwt/pom.xml  |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   6 +-
 .../mcp/server/McpServerPluginConfiguration.java   |  87 ++
 .../src/main/resources/META-INF/spring.factories   |  37 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-plugin-mock/pom.xml |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-plugin-mqtt/pom.xml |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../src/main/resources/META-INF/spring.factories   |   2 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-plugin-sign/pom.xml |   2 +-
 .../shenyu-spring-boot-starter-plugin-sofa/pom.xml |   2 +-
 .../shenyu-spring-boot-starter-plugin-tars/pom.xml |   2 +-
 .../shenyu-spring-boot-starter-plugin-tcp/pom.xml  |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-plugin-uri/pom.xml  |   2 +-
 .../shenyu-spring-boot-starter-plugin-waf/pom.xml  |   2 +-
 .../pom.xml                                        |   2 +-
 .../shenyu-spring-boot-starter-registry/pom.xml    |   2 +-
 .../src/main/resources/META-INF/spring.provides    |   2 +-
 .../shenyu-spring-boot-starter-sdk-feign/pom.xml   |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../shenyu-spring-boot-starter-sdk/pom.xml         |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   3 +-
 .../sync/data/etcd/EtcdSyncDataConfiguration.java  |  30 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../sync/data/http/HttpSyncDataConfiguration.java  |   4 +
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../resources/mock_configs_fetch_response.json     |   2 +-
 .../pom.xml                                        |   2 +-
 .../data/nacos/NacosSyncDataConfiguration.java     |  24 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../data/nacos/NacosSyncDataConfigurationTest.java |   8 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 .../websocket/WebsocketSyncDataConfiguration.java  |  37 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 .../pom.xml                                        |   2 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |   2 +-
 shenyu-sync-data-center/pom.xml                    |   2 +-
 .../shenyu-sync-data-api/pom.xml                   |   2 +-
 ...riber.java => AiProxyApiKeyDataSubscriber.java} |  22 +-
 .../data/core/AbstractNodeDataSyncService.java     |   4 +-
 .../data/core/AbstractNodeDataSyncServiceTest.java | 160 ++++
 .../data/core/AbstractPathDataSyncServiceTest.java | 119 +++
 .../shenyu-sync-data-apollo/pom.xml                |   2 +-
 .../shenyu-sync-data-consul/pom.xml                |   2 +-
 .../shenyu-sync-data-etcd/pom.xml                  |  22 +-
 .../shenyu/sync/data/etcd/EtcdSyncDataService.java |   2 +
 .../shenyu/sync/data/etcd/EtcdClientTest.java      | 209 -----
 .../sync/data/etcd/EtcdSyncDataServiceTest.java    |   1 +
 .../shenyu-sync-data-http/pom.xml                  |   2 +-
 .../shenyu/sync/data/http/AccessTokenManager.java  |  21 +-
 .../shenyu/sync/data/http/HttpSyncDataService.java |  19 +-
 ...aRefresh.java => AiProxyApiKeyDataRefresh.java} |  60 +-
 .../sync/data/http/refresh/DataRefreshFactory.java |  10 +-
 .../sync/data/http/AccessTokenManagerFixTest.java  |  66 ++
 .../sync/data/http/AccessTokenManagerTest.java     | 180 ++++
 .../sync/data/http/HttpSyncDataServiceTest.java    |   5 +-
 .../src/test/resources/logback.xml                 |   2 +-
 .../shenyu-sync-data-nacos/pom.xml                 |   8 +-
 .../shenyu-sync-data-polaris/pom.xml               |   2 +-
 .../shenyu-sync-data-websocket/pom.xml             |   9 +-
 .../data/websocket/WebsocketSyncDataService.java   |  81 +-
 .../websocket/client/ShenyuWebsocketClient.java    |  53 +-
 .../handler/AiProxyApiKeyDataHandler.java          |  86 ++
 .../websocket/handler/WebsocketDataHandler.java    |   5 +-
 .../handler/WebsocketDataHandlerTest.java          |  10 +-
 .../shenyu-sync-data-zookeeper/pom.xml             |   2 +-
 shenyu-web/pom.xml                                 |   2 +-
 .../apache/shenyu/web/filter/FileSizeFilter.java   |  20 +-
 .../shenyu/web/filter/LocalDispatcherFilter.java   |   2 +-
 .../RestTemplateConfigurationTest.java             |   2 +-
 .../web/endpoint/ShenyuControllerEndpointTest.java |   2 +-
 .../web/filter/CollapseSlashesFilterTest.java      |   2 +-
 .../loader/ShenyuPluginClassLoaderHolderTest.java  |   2 +-
 955 files changed, 31382 insertions(+), 6028 deletions(-)
 delete mode 100644 
shenyu-admin-listener/shenyu-admin-listener-etcd/src/main/java/org/apache/shenyu/admin/config/properties/EtcdProperties.java
 delete mode 100644 
shenyu-admin-listener/shenyu-admin-listener-etcd/src/main/java/org/apache/shenyu/admin/listener/etcd/EtcdClient.java
 delete mode 100644 
shenyu-admin-listener/shenyu-admin-listener-etcd/src/test/java/org/apache/shenyu/admin/config/properties/EtcdPropertiesTest.java
 delete mode 100644 
shenyu-admin-listener/shenyu-admin-listener-etcd/src/test/java/org/apache/shenyu/admin/listener/etcd/EtcdClientTest.java
 delete mode 100644 
shenyu-admin-listener/shenyu-admin-listener-nacos/src/main/java/org/apache/shenyu/admin/config/properties/NacosProperties.java
 delete mode 100644 
shenyu-admin-listener/shenyu-admin-listener-nacos/src/test/java/org/apache/shenyu/admin/config/properties/AbstractConfigurationTest.java
 delete mode 100644 
shenyu-admin-listener/shenyu-admin-listener-nacos/src/test/java/org/apache/shenyu/admin/config/properties/NacosPropertiesTest.java
 create mode 100644 
shenyu-admin/src/http/http-debug-registry-config-controller-api.http
 copy 
shenyu-examples/shenyu-examples-sdk/shenyu-examples-sdk-feign/src/main/java/org/apache/shenyu/examples/sdk/feign/config/SdkConfig.java
 => 
shenyu-admin/src/main/java/org/apache/shenyu/admin/config/HttpUtilsConfiguration.java
 (70%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/AiProxyApiKeyController.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/{NamespaceController.java
 => RegistryController.java} (59%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/SwaggerImportController.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/disruptor/subscriber/{MetadataExecutorSubscriber.java
 => McpToolsRegisterExecutorSubscriber.java} (58%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AiProxySelectorResolverInvalidator.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/AiProxyApiKeyMapper.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/mapper/RegistryMapper.java
 copy 
shenyu-e2e/shenyu-e2e-common/src/main/java/org/apache/shenyu/e2e/model/data/NamespaceSyncData.java
 => 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/dto/BatchIdsDTO.java 
(61%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/{vo/NamespaceVO.java 
=> dto/ProxyApiKeyDTO.java} (59%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/dto/RegistryDTO.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/dto/SwaggerImportRequest.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/entity/ProxyApiKeyDO.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/entity/RegistryDO.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/event/instance/InstanceInfoReportEvent.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/{MetaDataQuery.java
 => ProxyApiKeyQuery.java} (54%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/{NamespaceQuery.java
 => RegistryQuery.java} (57%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/{MenuDocItemVO.java 
=> InstanceDataVisualLineVO.java} (66%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/InstanceDataVisualVO.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/{NamespaceVO.java 
=> ProxyApiKeyVO.java} (51%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/vo/RegistryVO.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/AiProxyApiKeyService.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/{SecretService.java 
=> AiProxyConnectionService.java} (78%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/{NamespaceService.java
 => RegistryService.java} (55%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/{OperationRecordLogService.java
 => SwaggerImportService.java} (64%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AiProxyApiKeyServiceImpl.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AiProxyConnectionServiceImpl.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/InstanceCheckService.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/RegistryServiceImpl.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/SwaggerImportServiceImpl.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/publish/{NamespaceEventPublisher.java
 => InstanceInfoReportEventPublisher.java} (69%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/register/ShenyuClientRegisterMcpServiceImpl.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/support/AiProxyRealKeyResolver.java
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/ProxyApiKeyTransfer.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/{NamespaceTransfer.java
 => RegistryTransfer.java} (60%)
 create mode 100644 
shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/UrlSecurityUtils.java
 create mode 100644 
shenyu-admin/src/main/resources/mappers/ai-proxy-api-key-sqlmap.xml
 create mode 100644 shenyu-admin/src/main/resources/mappers/registry-sqlmap.xml
 rename shenyu-admin/src/main/resources/static/{index.2a428c0d.css => 
index.7892d888.css} (76%)
 create mode 100644 shenyu-admin/src/main/resources/static/index.a6d776d6.js
 delete mode 100644 shenyu-admin/src/main/resources/static/index.db384a79.js
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/controller/InstanceControllerTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/InstanceInfoMapperTest.java
 copy 
shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/RuleHandleTest.java
 => 
shenyu-admin/src/test/java/org/apache/shenyu/admin/model/event/instance/InstanceInfoReportEventTest.java
 (54%)
 copy 
shenyu-common/src/test/java/org/apache/shenyu/common/enums/RetryEnumTest.java 
=> 
shenyu-admin/src/test/java/org/apache/shenyu/admin/model/query/InstanceQueryConditionTest.java
 (64%)
 copy 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/SingletonTest.java 
=> 
shenyu-admin/src/test/java/org/apache/shenyu/admin/model/vo/InstanceDataVisualLineVOTest.java
 (63%)
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/model/vo/InstanceDataVisualVOTest.java
 copy 
shenyu-admin/src/test/java/org/apache/shenyu/admin/model/{event/role/RoleCreatedEventTest.java
 => vo/InstanceInfoVOTest.java} (50%)
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/AlertDispatchServiceTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/InstanceInfoServiceTest.java
 copy 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/{manager/impl/SwaggerDocManagerImplTest.java
 => SwaggerImportServiceTest.java} (52%)
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/impl/AiProxyApiKeyServiceImplTest.java
 create mode 100644 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/impl/InstanceCheckServiceTest.java
 copy 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/ThreadUtilsTest.java 
=> 
shenyu-admin/src/test/java/org/apache/shenyu/admin/service/publish/InstanceInfoReportEventPublisherTest.java
 (52%)
 copy 
shenyu-client/shenyu-client-core/src/main/java/org/apache/shenyu/client/core/disruptor/subcriber/{ShenyuClientApiDocExecutorSubscriber.java
 => ShenyuClientMcpExecutorSubscriber.java} (77%)
 copy shenyu-client/{shenyu-client-autoconfig => shenyu-client-mcp}/pom.xml 
(84%)
 copy {shenyu-admin-listener/shenyu-admin-listener-consul => 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common}/pom.xml (76%)
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/TrieEventEnum.java 
=> 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/annotation/ShenyuMcpHeader.java
 (76%)
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/PluginHandlerEventEnum.java
 => 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/annotation/ShenyuMcpRequestConfig.java
 (73%)
 copy 
shenyu-client/{shenyu-client-http/shenyu-client-springmvc/src/main/java/org/apache/shenyu/client/springmvc/annotation/ShenyuSpringMvcClient.java
 => 
shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/annotation/ShenyuMcpTool.java}
 (71%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/aspect/annotation/DataPermission.java
 => 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/annotation/ShenyuMcpToolParam.java
 (78%)
 create mode 100644 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/constants/OpenApiConstants.java
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/ApiStateEnum.java => 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/constants/RequestTemplateConstants.java
 (62%)
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/ApiStateEnum.java => 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/common/constants/ShenyuToolConfigConstants.java
 (64%)
 create mode 100644 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/generator/McpOpenApiGenerator.java
 create mode 100644 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/generator/McpRequestConfigGenerator.java
 create mode 100644 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/generator/McpToolsRegisterDTOGenerator.java
 create mode 100644 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-common/src/main/java/org/apache/shenyu/client/mcp/utils/OpenApiConvertorUtil.java
 copy 
{shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-general-context
 => shenyu-client/shenyu-client-mcp/shenyu-client-mcp-register}/pom.xml (86%)
 create mode 100644 
shenyu-client/shenyu-client-mcp/shenyu-client-mcp-register/src/main/java/org/apache/shenyu/client/mcp/McpServiceEventListener.java
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/constant/{ResourceTypeConstants.java
 => ShenyuModuleConstants.java} (80%)
 create mode 100644 
shenyu-common/src/main/java/org/apache/shenyu/common/dto/ProxyApiKeyData.java
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/{AiRequestTransformerConfig.java
 => AiResponseTransformerConfig.java} (94%)
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/{plugin/AiRequestTransformerConfig.java
 => rule/AiResponseTransformerHandle.java} (87%)
 create mode 100644 
shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/CacheUpstream.java
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/{TarsUpstream.java
 => MotanUpstream.java} (61%)
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/selector/{DubboUpstream.java
 => SofaUpstream.java} (72%)
 copy shenyu-common/src/main/java/org/apache/shenyu/common/enums/{WafEnum.java 
=> InstanceStatusEnum.java} (70%)
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/enums/{HttpSchemeEnum.java 
=> SwaggerVersion.java} (70%)
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/timer/TimerTaskListTest.java
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/AesUtilsTest.java
 create mode 100644 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/NamespaceIDUtilsTest.java
 copy 
shenyu-disruptor/src/main/java/org/apache/shenyu/disruptor/{event/DataEvent.java
 => common/Data.java} (89%)
 rename 
shenyu-infra/shenyu-infra-redis/src/test/java/org/apache/shenyu/infra/redis/RedisPropertiesTest.java
 => 
shenyu-disruptor/src/test/java/org/apache/shenyu/disruptor/DisruptorProviderManagerTest.java
 (91%)
 create mode 100644 
shenyu-disruptor/src/test/java/org/apache/shenyu/disruptor/consumer/QueueConsumerTest.java
 create mode 100644 
shenyu-disruptor/src/test/java/org/apache/shenyu/disruptor/provider/DisruptorProviderTest.java
 copy 
shenyu-e2e/shenyu-e2e-common/src/main/java/org/apache/shenyu/e2e/model/handle/PluginHandle.java
 => 
shenyu-disruptor/src/test/java/org/apache/shenyu/disruptor/thread/DisruptorThreadFactoryTest.java
 (91%)
 copy shenyu-examples/{shenyu-examples-springmvc-tomcat => 
shenyu-examples-mcp}/pom.xml (79%)
 copy 
shenyu-examples/{shenyu-examples-grpc/src/main/java/org/apache/shenyu/examples/grpc/ShenyuTestGrpcApplication.java
 => 
shenyu-examples-mcp/src/main/java/org/apache/shenyu/ShenyuTestMcpApplication.java}
 (85%)
 create mode 100644 
shenyu-examples/shenyu-examples-mcp/src/main/java/org/apache/shenyu/controller/OrderController.java
 copy 
shenyu-examples/{shenyu-examples-http/src/main/java/org/apache/shenyu/examples/http
 => shenyu-examples-mcp/src/main/java/org/apache/shenyu}/dto/OrderDTO.java (97%)
 copy 
shenyu-examples/{shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service => 
shenyu-examples-mcp}/src/main/resources/application.yml (82%)
 copy {shenyu-client/shenyu-client-autoconfig => 
shenyu-infra/shenyu-infra-common}/pom.xml (81%)
 copy 
shenyu-common/src/main/java/org/apache/shenyu/common/concurrent/DiscardPolicy.java
 => 
shenyu-infra/shenyu-infra-common/src/main/java/org/apache/shenyu/infra/common/InfraConstants.java
 (71%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/service/configs/ConfigsExportImportHandler.java
 => 
shenyu-infra/shenyu-infra-common/src/main/java/org/apache/shenyu/infra/common/InfraParentProperties.java
 (71%)
 copy {shenyu-registry/shenyu-registry-etcd => 
shenyu-infra/shenyu-infra-etcd}/pom.xml (78%)
 copy 
shenyu-protocol/shenyu-protocol-mqtt/src/main/java/org/apache/shenyu/protocol/mqtt/annotation/Primary.java
 => 
shenyu-infra/shenyu-infra-etcd/src/main/java/org/apache/shenyu/infra/etcd/autoconfig/ConditionOnSyncEtcd.java
 (77%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/config/HttpLongPollingSyncConfiguration.java
 => 
shenyu-infra/shenyu-infra-etcd/src/main/java/org/apache/shenyu/infra/etcd/autoconfig/EtcdConfiguration.java
 (55%)
 create mode 100644 
shenyu-infra/shenyu-infra-etcd/src/main/java/org/apache/shenyu/infra/etcd/autoconfig/EtcdProperties.java
 rename 
{shenyu-sync-data-center/shenyu-sync-data-etcd/src/main/java/org/apache/shenyu/sync/data/etcd
 => 
shenyu-infra/shenyu-infra-etcd/src/main/java/org/apache/shenyu/infra/etcd/client}/EtcdClient.java
 (60%)
 rename 
{shenyu-spring-boot-starter/shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-etcd/src/main/java/org/apache/shenyu/springboot/sync/data/etcd
 => 
shenyu-infra/shenyu-infra-etcd/src/main/java/org/apache/shenyu/infra/etcd/config}/EtcdConfig.java
 (65%)
 copy {shenyu-admin-listener/shenyu-admin-listener-consul => 
shenyu-infra/shenyu-infra-etcd}/src/main/resources/META-INF/spring.factories 
(93%)
 copy {shenyu-admin-listener/shenyu-admin-listener-apollo => 
shenyu-infra/shenyu-infra-etcd}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 (93%)
 create mode 100644 
shenyu-infra/shenyu-infra-etcd/src/test/java/org/apache/shenyu/infra/etcd/autoconfig/EtcdPropertiesTest.java
 copy 
{shenyu-registry/shenyu-registry-etcd/src/test/java/org/apache/shenyu/registry/etcd
 => 
shenyu-infra/shenyu-infra-etcd/src/test/java/org/apache/shenyu/infra/etcd/client}/EtcdClientTest.java
 (86%)
 copy {shenyu-registry/shenyu-registry-nacos => 
shenyu-infra/shenyu-infra-nacos}/pom.xml (88%)
 copy 
shenyu-examples/shenyu-examples-common/src/main/java/org/apache/shenyu/examples/common/aop/Log.java
 => 
shenyu-infra/shenyu-infra-nacos/src/main/java/org/apache/shenyu/infra/nacos/autoconfig/ConditionOnSyncNacos.java
 (76%)
 create mode 100644 
shenyu-infra/shenyu-infra-nacos/src/main/java/org/apache/shenyu/infra/nacos/autoconfig/NacosProperties.java
 rename 
{shenyu-sync-data-center/shenyu-sync-data-nacos/src/main/java/org/apache/shenyu/sync/data
 => 
shenyu-infra/shenyu-infra-nacos/src/main/java/org/apache/shenyu/infra}/nacos/config/NacosACMConfig.java
 (71%)
 rename 
{shenyu-sync-data-center/shenyu-sync-data-nacos/src/main/java/org/apache/shenyu/sync/data
 => 
shenyu-infra/shenyu-infra-nacos/src/main/java/org/apache/shenyu/infra}/nacos/config/NacosConfig.java
 (70%)
 copy 
shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/RuleHandleTest.java
 => 
shenyu-infra/shenyu-infra-nacos/src/test/java/org/apache/shenyu/infra/nacos/autoconfig/NacosPropertiesTest.java
 (59%)
 rename 
{shenyu-sync-data-center/shenyu-sync-data-nacos/src/test/java/org/apache/shenyu/sync/data
 => 
shenyu-infra/shenyu-infra-nacos/src/test/java/org/apache/shenyu/infra}/nacos/config/NacosACMConfigTest.java
 (74%)
 rename 
{shenyu-sync-data-center/shenyu-sync-data-nacos/src/test/java/org/apache/shenyu/sync/data
 => 
shenyu-infra/shenyu-infra-nacos/src/test/java/org/apache/shenyu/infra}/nacos/config/NacosConfigTest.java
 (78%)
 rename 
{shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-redis/src/main/java/org/apache/shenyu/plugin/cache
 => 
shenyu-infra/shenyu-infra-redis/src/main/java/org/apache/shenyu/infra}/redis/RedisConfigProperties.java
 (99%)
 rename 
{shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-redis/src/main/java/org/apache/shenyu/plugin/cache
 => 
shenyu-infra/shenyu-infra-redis/src/main/java/org/apache/shenyu/infra}/redis/RedisConnectionFactory.java
 (99%)
 rename 
{shenyu-plugin/shenyu-plugin-fault-tolerance/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/handler
 => 
shenyu-infra/shenyu-infra-redis/src/main/java/org/apache/shenyu/infra/redis}/ShenyuReactiveRedisTemplate.java
 (97%)
 rename 
{shenyu-plugin/shenyu-plugin-fault-tolerance/shenyu-plugin-ratelimiter/src/main/java/org/apache/shenyu/plugin/ratelimiter/handler
 => 
shenyu-infra/shenyu-infra-redis/src/main/java/org/apache/shenyu/infra/redis}/ShenyuReactiveScriptExecutor.java
 (98%)
 rename 
{shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-redis/src/main/java/org/apache/shenyu/plugin/cache
 => 
shenyu-infra/shenyu-infra-redis/src/main/java/org/apache/shenyu/infra}/redis/serializer/ByteArrayRedisSerializer.java
 (96%)
 rename 
{shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-redis/src/main/java/org/apache/shenyu/plugin/cache
 => 
shenyu-infra/shenyu-infra-redis/src/main/java/org/apache/shenyu/infra}/redis/serializer/ShenyuRedisSerializationContext.java
 (97%)
 rename 
{shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-redis/src/test/java/org/apache/shenyu/plugin/cache
 => 
shenyu-infra/shenyu-infra-redis/src/test/java/org/apache/shenyu/infra}/redis/RedisConfigPropertiesTest.java
 (98%)
 rename 
{shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-redis/src/test/java/org/apache/shenyu/plugin/cache
 => 
shenyu-infra/shenyu-infra-redis/src/test/java/org/apache/shenyu/infra}/redis/RedisConnectionFactoryTest.java
 (92%)
 rename 
{shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-redis/src/test/java/org/apache/shenyu/plugin/cache
 => 
shenyu-infra/shenyu-infra-redis/src/test/java/org/apache/shenyu/infra}/redis/ShenyuRedisSerializationContextTest.java
 (89%)
 copy shenyu-infra/{shenyu-infra-redis => shenyu-infra-x-module}/pom.xml (92%)
 rename 
shenyu-infra/{shenyu-infra-redis/src/main/java/org/apache/shenyu/infra/redis/RedisProperties.java
 => shenyu-infra-x-module/src/main/java/org/apache/shenyu/infra/x/XConfig.java} 
(92%)
 copy shenyu-spi/src/test/java/org/apache/shenyu/spi/fixture/NopSPI.java => 
shenyu-infra/shenyu-infra-x-module/src/test/java/org/apache/shenyu/infra/x/XTests.java
 (92%)
 copy shenyu-infra/{shenyu-infra-redis => shenyu-infra-zookeeper}/pom.xml (92%)
 copy 
{shenyu-sync-data-center/shenyu-sync-data-zookeeper/src/main/java/org/apache/shenyu/sync/data
 => 
shenyu-infra/shenyu-infra-zookeeper/src/main/java/org/apache/shenyu/infra}/zookeeper/ZookeeperConfig.java
 (99%)
 copy shenyu-spi/src/test/java/org/apache/shenyu/spi/fixture/NopSPI.java => 
shenyu-infra/shenyu-infra-zookeeper/src/test/java/org/apache/shenyu/infra/zookeeper/ZookeeperTests.java
 (91%)
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/strategy/AiModel.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/strategy/AiModelFactory.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/strategy/FallbackStrategy.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/strategy/SimpleModelFallbackStrategy.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/strategy/openai/OpenAI.java
 copy 
shenyu-plugin/{shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/condition/data/ParameterData.java
 => 
shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/utils/ResponseBodyCaptureUtils.java}
 (62%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/test/java/org/apache/shenyu/plugin/ai/common/spring/ai/factory/DeepSeekModelFactoryTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/test/java/org/apache/shenyu/plugin/ai/common/spring/ai/factory/OpenAiModelFactoryTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/test/java/org/apache/shenyu/plugin/ai/common/spring/ai/registry/AiModelFactoryRegistryTest.java
 copy 
shenyu-plugin/{shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/resolver/ShenyuResolverHelperTest.java
 => 
shenyu-plugin-ai/shenyu-plugin-ai-common/src/test/java/org/apache/shenyu/plugin/ai/common/utils/ResponseBodyCaptureUtilsTest.java}
 (62%)
 copy 
shenyu-plugin/{shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-grpc/src/test/java/org/apache/shenyu/plugin/grpc/resolver/ShenyuNameResolverProviderTest.java
 => 
shenyu-plugin-ai/shenyu-plugin-ai-prompt/src/test/java/org/apache/shenyu/plugin/ai/prompt/AiPromptPluginTest.java}
 (62%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-prompt/src/test/java/org/apache/shenyu/plugin/ai/prompt/handler/AiPromptPluginDataHandlerTest.java
 rename shenyu-plugin/shenyu-plugin-ai/{shenyu-plugin-ai-proxy => 
shenyu-plugin-ai-proxy-enhanced}/pom.xml (61%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/AiProxyPlugin.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/cache/AiProxyApiKeyCache.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/cache/ChatClientCache.java
 rename 
shenyu-plugin/shenyu-plugin-ai/{shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy
 => 
shenyu-plugin-ai-proxy-enhanced/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced}/handler/AiProxyPluginHandler.java
 (54%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyConfigService.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyExecutorService.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/main/java/org/apache/shenyu/plugin/ai/proxy/enhanced/subscriber/CommonAiProxyApiKeyDataSubscriber.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/AiProxyPluginTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/cache/AiProxyApiKeyCacheTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyConfigServiceTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/service/AiProxyExecutorServiceTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy-enhanced/src/test/java/org/apache/shenyu/plugin/ai/proxy/enhanced/subscriber/CommonAiProxyApiKeyDataSubscriberTest.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-proxy/src/main/java/org/apache/shenyu/plugin/ai/proxy/AiProxyPlugin.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/test/java/org/apache/shenyu/plugin/ai/transformer/request/AiRequestTransformerPluginTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/test/java/org/apache/shenyu/plugin/ai/transformer/request/cache/ChatClientCacheTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/test/java/org/apache/shenyu/plugin/ai/transformer/request/handler/AiRequestTransformerPluginHandlerTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/test/java/org/apache/shenyu/plugin/ai/transformer/request/template/AiRequestTransformerTemplateTest.java
 copy shenyu-plugin/shenyu-plugin-ai/{shenyu-plugin-ai-request-transformer => 
shenyu-plugin-ai-response-transformer}/pom.xml (93%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-response-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/response/AiResponseTransformerPlugin.java
 copy 
shenyu-plugin/shenyu-plugin-ai/{shenyu-plugin-ai-request-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/request
 => 
shenyu-plugin-ai-response-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/response}/cache/ChatClientCache.java
 (94%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-response-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/response/handler/AiResponseTransformerPluginHandler.java
 copy 
shenyu-plugin/shenyu-plugin-ai/{shenyu-plugin-ai-request-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/request/template/AiRequestTransformerTemplate.java
 => 
shenyu-plugin-ai-response-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/response/template/AiResponseTransformerTemplate.java}
 (69%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-response-transformer/src/test/java/org/apache/shenyu/plugin/ai/transformer/response/AiResponseTransformerPluginTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-response-transformer/src/test/java/org/apache/shenyu/plugin/ai/transformer/response/handler/AiResponseTransformerPluginHandlerTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-response-transformer/src/test/java/org/apache/shenyu/plugin/ai/transformer/response/template/AiResponseTransformerTemplateTest.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-token-limiter/src/main/java/org/apache/shenyu/plugin/ai/token/limiter/redis/RedisConfigProperties.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-token-limiter/src/main/java/org/apache/shenyu/plugin/ai/token/limiter/redis/RedisConnectionFactory.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-token-limiter/src/main/java/org/apache/shenyu/plugin/ai/token/limiter/redis/ShenyuReactiveRedisTemplate.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-token-limiter/src/main/java/org/apache/shenyu/plugin/ai/token/limiter/redis/ShenyuReactiveScriptExecutor.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-token-limiter/src/main/java/org/apache/shenyu/plugin/ai/token/limiter/redis/serializer/ByteArrayRedisSerializer.java
 delete mode 100644 
shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-token-limiter/src/main/java/org/apache/shenyu/plugin/ai/token/limiter/redis/serializer/ShenyuRedisSerializationContext.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/main/java/org/apache/shenyu/plugin/cache/cache/ApplicationConfigCache.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/test/java/org/apache/shenyu/plugin/cache/ApplicationConfigCacheTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-kafka/src/main/java/org/apache/shenyu/plugin/logging/kafka/cache/KafkaClientCache.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-kafka/src/test/java/org/apache/shenyu/plugin/logging/kafka/cache/KafkaClientCacheTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rabbitmq/src/main/java/org/apache/shenyu/plugin/logging/rabbitmq/cache/RabbitmqClientCache.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-rabbitmq/src/test/java/org/apache/shenyu/plugin/logging/rabbitmq/cache/RabbitmqClientCacheTest.java
 create mode 100644 shenyu-plugin/shenyu-plugin-mcp-server/MCP_TOOL_EXAMPLES.md
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/MCP_TOOL_EXAMPLES_EN.md
 copy {shenyu-client/shenyu-client-core => 
shenyu-plugin/shenyu-plugin-mcp-server}/pom.xml (59%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/McpServerPlugin.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/callback/ShenyuToolCallback.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/definition/ShenyuToolDefinition.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/handler/McpServerPluginDataHandler.java
 copy 
shenyu-sdk/shenyu-sdk-core/src/main/java/org/apache/shenyu/sdk/core/client/ShenyuSdkClientFactory.java
 => 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/holder/ShenyuMcpExchangeHolder.java
 (57%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/manager/ShenyuMcpServerManager.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/model/McpServerToolParameter.java
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/dto/AuthPathApplyDTO.java
 => 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/model/ShenyuMcpServer.java
 (50%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/model/ShenyuMcpServerTool.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/request/BodyWriterExchange.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/request/ParameterFormatter.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/request/RequestConfig.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/request/RequestConfigHelper.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/response/NonCommittingMcpResponseDecorator.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/response/ShenyuMcpResponseDecorator.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/session/McpSessionHelper.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/transport/MessageHandlingResult.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/transport/ShenyuSseServerTransportProvider.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/transport/ShenyuStreamableHttpServerTransportProvider.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/transport/SseEventFormatter.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/transport/StreamableHttpProviderBuilder.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/main/java/org/apache/shenyu/plugin/mcp/server/utils/JsonSchemaUtil.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/java/org/apache/shenyu/plugin/mcp/server/McpServerPluginIntegrationTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/java/org/apache/shenyu/plugin/mcp/server/McpServerPluginTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/java/org/apache/shenyu/plugin/mcp/server/callback/ShenyuToolCallbackTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/java/org/apache/shenyu/plugin/mcp/server/handler/McpServerPluginDataHandlerTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/java/org/apache/shenyu/plugin/mcp/server/manager/ShenyuMcpServerManagerTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/java/org/apache/shenyu/plugin/mcp/server/request/RequestConfigHelperTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/java/org/apache/shenyu/plugin/mcp/server/utils/JsonSchemaUtilTest.java
 copy 
shenyu-examples/shenyu-examples-dubbo/shenyu-examples-apache-dubbo-service-xml/src/main/resources/application.yml
 => 
shenyu-plugin/shenyu-plugin-mcp-server/src/test/resources/application-test.yml 
(79%)
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-motan/src/test/java/org/apache/shenyu/plugin/motan/proxy/MotanProxyServiceTest.java
 create mode 100644 
shenyu-plugin/shenyu-plugin-proxy/shenyu-plugin-rpc/shenyu-plugin-sofa/src/test/java/org/apache/shenyu/plugin/sofa/cache/ApplicationConfigCacheTest.java
 copy {shenyu-examples/shenyu-examples-plugin => 
shenyu-register-center/shenyu-register-client-beat}/pom.xml (79%)
 create mode 100644 
shenyu-register-center/shenyu-register-client-beat/src/main/java/org/apache/shenyu/register/client/beat/HeartbeatListener.java
 copy 
shenyu-register-center/{shenyu-register-common/src/main/java/org/apache/shenyu/register/common/config/ShenyuRegisterCenterConfig.java
 => 
shenyu-register-client-beat/src/main/java/org/apache/shenyu/register/client/beat/ShenyuBootstrapHeartBeatConfig.java}
 (66%)
 create mode 100644 
shenyu-register-center/shenyu-register-client/shenyu-register-client-api/src/test/java/org/apache/shenyu/register/client/api/FailbackRegistryRepositoryTest.java
 create mode 100644 
shenyu-register-center/shenyu-register-client/shenyu-register-client-api/src/test/java/org/apache/shenyu/register/client/api/retry/FailureRegistryTaskTest.java
 rename 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/dto/InstanceInfoDTO.java
 => 
shenyu-register-center/shenyu-register-common/src/main/java/org/apache/shenyu/register/common/dto/InstanceBeatInfoDTO.java
 (58%)
 copy 
shenyu-admin/src/main/java/org/apache/shenyu/admin/model/query/NamespacePluginQueryCondition.java
 => 
shenyu-register-center/shenyu-register-common/src/main/java/org/apache/shenyu/register/common/dto/McpToolsRegisterDTO.java
 (54%)
 create mode 100644 
shenyu-registry/shenyu-registry-api/src/test/java/org/apache/shenyu/registry/api/config/RegisterConfigTest.java
 create mode 100644 
shenyu-registry/shenyu-registry-api/src/test/java/org/apache/shenyu/registry/api/path/InstancePathConstantsTest.java
 delete mode 100644 
shenyu-registry/shenyu-registry-etcd/src/main/java/org/apache/shenyu/registry/etcd/EtcdClient.java
 copy {shenyu-examples/shenyu-examples-springmvc-tomcat => 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-beat}/pom.xml
 (70%)
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-beat/src/main/java/org/apache/shenyu/register/client/beat/HeartbeatListenerConfiguration.java
 copy 
shenyu-spring-boot-starter/{shenyu-spring-boot-starter-sync-data-center/shenyu-spring-boot-starter-sync-data-etcd
 => 
shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-beat}/src/main/resources/META-INF/spring.factories
 (93%)
 copy {shenyu-admin-listener/shenyu-admin-listener-apollo => 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/shenyu-spring-boot-starter-client-beat}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 (91%)
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/{shenyu-spring-boot-starter-client-tars
 => shenyu-spring-boot-starter-client-mcp}/pom.xml (90%)
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-client/{shenyu-spring-boot-starter-client-apache-dubbo/src/main/java/org/apache/shenyu/springboot/starter/client/apache/dubbo/ShenyuApacheDubboClientConfiguration.java
 => 
shenyu-spring-boot-starter-client-mcp/src/main/java/org/apache/shenyu/springboot/starter/client/mcp/ShenyuMcpClientConfiguration.java}
 (71%)
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/{shenyu-spring-boot-starter-plugin-ratelimiter
 => shenyu-spring-boot-starter-plugin-ai-response-transformer}/pom.xml (87%)
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/{shenyu-spring-boot-starter-plugin-ai-request-transformer/src/main/java/org/apache/shenyu/springboot/starter/plugin/ai/transformer/request/AiRequestTransformerPluginConfiguration.java
 => 
shenyu-spring-boot-starter-plugin-ai-response-transformer/src/main/java/org/apache/shenyu/springboot/starter/plugin/ai/transformer/response/AiResponseTransformerPluginConfiguration.java}
 (69%)
 copy {shenyu-admin-listener/shenyu-admin-listener-consul => 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-ai-response-transformer}/src/main/resources/META-INF/spring.factories
 (88%)
 copy {shenyu-admin-listener/shenyu-admin-listener-etcd => 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-ai-response-transformer}/src/main/resources/META-INF/spring.provides
 (92%)
 copy {shenyu-admin-listener/shenyu-admin-listener-apollo => 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-ai-response-transformer}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 (87%)
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/{shenyu-spring-boot-starter-plugin-httpclient
 => shenyu-spring-boot-starter-plugin-mcp-server}/pom.xml (89%)
 create mode 100644 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-mcp-server/src/main/java/org/apache/shenyu/springboot/starter/plugin/mcp/server/McpServerPluginConfiguration.java
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/{shenyu-spring-boot-starter-plugin-basic-auth
 => 
shenyu-spring-boot-starter-plugin-mcp-server}/src/main/resources/META-INF/spring.factories
 (91%)
 mode change 100755 => 100644
 copy {shenyu-admin-listener/shenyu-admin-listener-etcd => 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-mcp-server}/src/main/resources/META-INF/spring.provides
 (93%)
 copy 
shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/{shenyu-spring-boot-starter-plugin-basic-auth
 => 
shenyu-spring-boot-starter-plugin-mcp-server}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 (92%)
 copy 
shenyu-sync-data-center/shenyu-sync-data-api/src/main/java/org/apache/shenyu/sync/data/api/{MetaDataSubscriber.java
 => AiProxyApiKeyDataSubscriber.java} (75%)
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-api/src/test/java/org/apache/shenyu/sync/data/core/AbstractNodeDataSyncServiceTest.java
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-api/src/test/java/org/apache/shenyu/sync/data/core/AbstractPathDataSyncServiceTest.java
 delete mode 100644 
shenyu-sync-data-center/shenyu-sync-data-etcd/src/test/java/org/apache/shenyu/sync/data/etcd/EtcdClientTest.java
 copy 
shenyu-sync-data-center/shenyu-sync-data-http/src/main/java/org/apache/shenyu/sync/data/http/refresh/{DiscoveryUpstreamDataRefresh.java
 => AiProxyApiKeyDataRefresh.java} (50%)
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-http/src/test/java/org/apache/shenyu/sync/data/http/AccessTokenManagerFixTest.java
 create mode 100644 
shenyu-sync-data-center/shenyu-sync-data-websocket/src/main/java/org/apache/shenyu/plugin/sync/data/websocket/handler/AiProxyApiKeyDataHandler.java

Reply via email to