""" This tool allows agents to interact with the Stripe API. """ from __future__ import annotations from typing import Any, Optional, Type from pydantic import BaseModel from langchain.tools import BaseTool from ..api import StripeAPI class StripeTool(BaseTool): """Tool for interacting with the Stripe API.""" stripe_api: StripeAPI method: str name: str = "" description: str = "" args_schema: Optional[Type[BaseModel]] = None def _run( self, *args: Any, **kwargs: Any, ) -> str: """Use the Stripe API to run an operation.""" return self.stripe_api.run(self.method, *args, **kwargs)