tool.go 996 B

123456789101112131415161718192021222324252627282930313233343536
  1. package controllers
  2. import (
  3. "github.com/gin-gonic/gin"
  4. "github.com/langgenius/dify-plugin-daemon/internal/service"
  5. "github.com/langgenius/dify-plugin-daemon/internal/types/app"
  6. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/plugin_entities"
  7. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/requests"
  8. )
  9. func InvokeTool(config *app.Config) gin.HandlerFunc {
  10. type request = plugin_entities.InvokePluginRequest[requests.RequestInvokeTool]
  11. return func(c *gin.Context) {
  12. BindPluginDispatchRequest(
  13. c,
  14. func(itr request) {
  15. service.InvokeTool(&itr, c, config.PluginMaxExecutionTimeout)
  16. },
  17. )
  18. }
  19. }
  20. func ValidateToolCredentials(config *app.Config) gin.HandlerFunc {
  21. type request = plugin_entities.InvokePluginRequest[requests.RequestValidateToolCredentials]
  22. return func(c *gin.Context) {
  23. BindPluginDispatchRequest(
  24. c,
  25. func(itr request) {
  26. service.ValidateToolCredentials(&itr, c, config.PluginMaxExecutionTimeout)
  27. },
  28. )
  29. }
  30. }