Unverified Commit c0b82f8e authored by Yash Parmar's avatar Yash Parmar Committed by GitHub

UPDATE: Twilio tool crdential verification (#2741)

parent b75ff5fa
from typing import Any from typing import Any
from twilio.base.exceptions import TwilioRestException
from twilio.rest import Client
from core.tools.errors import ToolProviderCredentialValidationError from core.tools.errors import ToolProviderCredentialValidationError
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
...@@ -7,19 +10,20 @@ from core.tools.provider.builtin_tool_provider import BuiltinToolProviderControl ...@@ -7,19 +10,20 @@ from core.tools.provider.builtin_tool_provider import BuiltinToolProviderControl
class TwilioProvider(BuiltinToolProviderController): class TwilioProvider(BuiltinToolProviderController):
def _validate_credentials(self, credentials: dict[str, Any]) -> None: def _validate_credentials(self, credentials: dict[str, Any]) -> None:
try: try:
""" # Extract credentials
SendMessageTool().fork_tool_runtime( account_sid = credentials["account_sid"]
meta={ auth_token = credentials["auth_token"]
"credentials": credentials, from_number = credentials["from_number"]
}
).invoke( # Initialize twilio client
user_id="", client = Client(account_sid, auth_token)
tool_parameters={
"message": "Credential validation message", # fetch account
"to_number": "+14846624384", client.api.accounts(account_sid).fetch()
},
) except TwilioRestException as e:
""" raise ToolProviderCredentialValidationError(f"Twilio API error: {e.msg}") from e
pass except KeyError as e:
raise ToolProviderCredentialValidationError(f"Missing required credential: {e}") from e
except Exception as e: except Exception as e:
raise ToolProviderCredentialValidationError(str(e)) raise ToolProviderCredentialValidationError(str(e))
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment