This is an automated email from the ASF dual-hosted git repository. liuhongyu pushed a change to branch fix/fix_sync_bug in repository https://gitbox.apache.org/repos/asf/shenyu.git
from 1f3a9e4295 [fix] fix data sync bug add 1df7ac815e feat: ai-request-transformer plugin (#6033) add 29ccf7f2b9 Merge branch 'master' into fix/fix_sync_bug No new revisions were added by this update. Summary of changes: db/init/mysql/schema.sql | 30 ++- db/init/ob/schema.sql | 31 ++- db/init/og/create-table.sql | 30 +++ db/init/oracle/schema.sql | 78 +++++++ db/init/pg/create-table.sql | 30 +++ db/upgrade/2.7.0-upgrade-2.7.1-mysql.sql | 32 +++ db/upgrade/2.7.0-upgrade-2.7.1-ob.sql | 32 +++ db/upgrade/2.7.0-upgrade-2.7.1-og.sql | 32 +++ db/upgrade/2.7.0-upgrade-2.7.1-oracle.sql | 80 +++++++ db/upgrade/2.7.0-upgrade-2.7.1-pg.sql | 32 +++ pom.xml | 1 + .../src/main/resources/sql-script/h2/schema.sql | 9 + shenyu-bootstrap/pom.xml | 8 + .../convert/plugin/AiRequestTransformerConfig.java | 87 ++----- .../convert/rule/AiRequestTransformerHandle.java | 93 +++----- .../org/apache/shenyu/common/enums/PluginEnum.java | 9 +- shenyu-plugin/shenyu-plugin-ai/pom.xml | 1 + .../shenyu-plugin-ai-common/pom.xml | 19 ++ .../{strategy => spring/ai}/AiModelFactory.java | 34 ++- .../spring/ai/factory/DeepSeekModelFactory.java | 55 +++++ .../spring/ai/factory/OpenAiModelFactory.java | 55 +++++ .../ai/registry/AiModelFactoryRegistry.java} | 36 +-- .../shenyu-plugin-ai-request-transformer}/pom.xml | 11 +- .../request/AiRequestTransformerPlugin.java | 258 +++++++++++++++++++++ .../transformer/request/cache/ChatClientCache.java | 90 +++++++ .../handler/AiRequestTransformerPluginHandler.java | 99 ++++++++ .../template/AiRequestTransformerTemplate.java | 189 +++++++++++++++ .../shenyu-spring-boot-starter-plugin/pom.xml | 1 + .../pom.xml | 11 +- .../AiRequestTransformerPluginConfiguration.java | 96 ++++++++ .../src/main/resources/META-INF/spring.factories | 2 +- .../src/main/resources/META-INF/spring.provides | 2 +- ...rk.boot.autoconfigure.AutoConfiguration.imports | 2 +- 33 files changed, 1392 insertions(+), 183 deletions(-) copy shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/config/AiCommonConfig.java => shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/plugin/AiRequestTransformerConfig.java (64%) copy shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/config/AiCommonConfig.java => shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/AiRequestTransformerHandle.java (65%) copy shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/{strategy => spring/ai}/AiModelFactory.java (60%) create mode 100644 shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/spring/ai/factory/DeepSeekModelFactory.java create mode 100644 shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/spring/ai/factory/OpenAiModelFactory.java copy shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-common/src/main/java/org/apache/shenyu/plugin/ai/common/{strategy/AiModelFactory.java => spring/ai/registry/AiModelFactoryRegistry.java} (53%) copy {shenyu-loadbalancer => shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer}/pom.xml (86%) create mode 100644 shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/request/AiRequestTransformerPlugin.java create mode 100644 shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/request/cache/ChatClientCache.java create mode 100644 shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/request/handler/AiRequestTransformerPluginHandler.java create mode 100644 shenyu-plugin/shenyu-plugin-ai/shenyu-plugin-ai-request-transformer/src/main/java/org/apache/shenyu/plugin/ai/transformer/request/template/AiRequestTransformerTemplate.java copy shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/{shenyu-spring-boot-starter-plugin-basic-auth => shenyu-spring-boot-starter-plugin-ai-request-transformer}/pom.xml (90%) mode change 100755 => 100644 create mode 100644 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 copy {shenyu-admin-listener/shenyu-admin-listener-consul => shenyu-spring-boot-starter/shenyu-spring-boot-starter-plugin/shenyu-spring-boot-starter-plugin-ai-request-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-request-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-request-transformer}/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports (88%)