tool_service.go 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package plugin_daemon
  2. import (
  3. "github.com/langgenius/dify-plugin-daemon/internal/core/plugin_daemon/access_types"
  4. "github.com/langgenius/dify-plugin-daemon/internal/core/session_manager"
  5. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/requests"
  6. "github.com/langgenius/dify-plugin-daemon/internal/types/entities/tool_entities"
  7. "github.com/langgenius/dify-plugin-daemon/internal/utils/stream"
  8. )
  9. func InvokeTool(
  10. session *session_manager.Session,
  11. request *requests.RequestInvokeTool,
  12. ) (
  13. *stream.StreamResponse[tool_entities.ToolResponseChunk], error,
  14. ) {
  15. return genericInvokePlugin[requests.RequestInvokeTool, tool_entities.ToolResponseChunk](
  16. session,
  17. request,
  18. 128,
  19. access_types.PLUGIN_ACCESS_TYPE_TOOL,
  20. access_types.PLUGIN_ACCESS_ACTION_INVOKE_TOOL,
  21. )
  22. }
  23. func ValidateToolCredentials(
  24. session *session_manager.Session,
  25. request *requests.RequestValidateToolCredentials,
  26. ) (
  27. *stream.StreamResponse[tool_entities.ValidateCredentialsResult], error,
  28. ) {
  29. return genericInvokePlugin[requests.RequestValidateToolCredentials, tool_entities.ValidateCredentialsResult](
  30. session,
  31. request,
  32. 1,
  33. access_types.PLUGIN_ACCESS_TYPE_TOOL,
  34. access_types.PLUGIN_ACCESS_ACTION_VALIDATE_TOOL_CREDENTIALS,
  35. )
  36. }