Files
Yeuoly 3d28e0ceed feat: Add code generation for plugin controllers and services (#301)
* feat: Add code generation for plugin controllers and services

- Introduced a code generation mechanism for plugin controllers and services, allowing for automatic generation based on defined dispatchers.
- Created new files for generated controllers, services, and templates to streamline the plugin invocation process.
- Removed outdated functions related to tool validation and runtime parameters, consolidating functionality into generated files.
- Updated dependencies in go.mod and go.sum to include necessary packages for the new code generation features.

* fix
2025-05-23 14:57:56 +08:00

168 lines
4.2 KiB
Go

// Code generated by controller generator. DO NOT EDIT.
package controllers
import (
"github.com/gin-gonic/gin"
"github.com/langgenius/dify-plugin-daemon/internal/service"
"github.com/langgenius/dify-plugin-daemon/internal/types/app"
"github.com/langgenius/dify-plugin-daemon/pkg/entities/plugin_entities"
"github.com/langgenius/dify-plugin-daemon/pkg/entities/requests"
)
func InvokeLLM(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestInvokeLLM]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.InvokeLLM(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func GetLLMNumTokens(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestGetLLMNumTokens]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.GetLLMNumTokens(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func InvokeTextEmbedding(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestInvokeTextEmbedding]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.InvokeTextEmbedding(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func GetTextEmbeddingNumTokens(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestGetTextEmbeddingNumTokens]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.GetTextEmbeddingNumTokens(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func InvokeRerank(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestInvokeRerank]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.InvokeRerank(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func InvokeTTS(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestInvokeTTS]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.InvokeTTS(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func GetTTSModelVoices(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestGetTTSModelVoices]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.GetTTSModelVoices(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func InvokeSpeech2Text(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestInvokeSpeech2Text]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.InvokeSpeech2Text(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func InvokeModeration(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestInvokeModeration]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.InvokeModeration(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func ValidateProviderCredentials(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestValidateProviderCredentials]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.ValidateProviderCredentials(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func ValidateModelCredentials(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestValidateModelCredentials]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.ValidateModelCredentials(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}
func GetAIModelSchema(config *app.Config) gin.HandlerFunc {
type request = plugin_entities.InvokePluginRequest[requests.RequestGetAIModelSchema]
return func(c *gin.Context) {
BindPluginDispatchRequest(
c,
func(itr request) {
service.GetAIModelSchema(&itr, c, config.PluginMaxExecutionTimeout)
},
)
}
}