mirror of
https://github.com/cpacker/MemGPT.git
synced 2025-06-03 04:30:22 +00:00

Co-authored-by: Matthew Zhou <mattzh1314@gmail.com> Co-authored-by: Charles Packer <packercharles@gmail.com>
23 lines
947 B
Python
23 lines
947 B
Python
from logging import Logger
|
|
from typing import Optional
|
|
|
|
from letta.schemas.user import User
|
|
from letta.services.sandbox_config_manager import SandboxConfigManager
|
|
from letta.settings import tool_settings
|
|
|
|
|
|
def get_composio_api_key(actor: User, logger: Optional[Logger] = None) -> Optional[str]:
|
|
api_keys = SandboxConfigManager().list_sandbox_env_vars_by_key(key="COMPOSIO_API_KEY", actor=actor)
|
|
if not api_keys:
|
|
if logger:
|
|
logger.debug(f"No API keys found for Composio. Defaulting to the environment variable...")
|
|
if tool_settings.composio_api_key:
|
|
return tool_settings.composio_api_key
|
|
else:
|
|
return None
|
|
else:
|
|
# TODO: Add more protections around this
|
|
# Ideally, not tied to a specific sandbox, but for now we just get the first one
|
|
# Theoretically possible for someone to have different composio api keys per sandbox
|
|
return api_keys[0].value
|