# This file was auto-generated by Fern from our API Definition. import typing from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ..core.request_options import RequestOptions from ..types.improve_prompt_response import ImprovePromptResponse from .raw_client import AsyncRawPromptsClient, RawPromptsClient # this is used as the default value for optional parameters OMIT = typing.cast(typing.Any, ...) class PromptsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._raw_client = RawPromptsClient(client_wrapper=client_wrapper) @property def with_raw_response(self) -> RawPromptsClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- RawPromptsClient """ return self._raw_client def improve_prompt( self, *, use_case: str, prompt: str, context: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> ImprovePromptResponse: """ Improve a prompt based on a specific use-case Parameters ---------- use_case : str The use-case for prompt improvement prompt : str The original prompt to improve context : typing.Optional[str] Additional context about the user's needs request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- ImprovePromptResponse Successful Response Examples -------- from skyvern import Skyvern client = Skyvern( api_key="YOUR_API_KEY", ) client.prompts.improve_prompt( use_case="use-case", prompt="prompt", ) """ _response = self._raw_client.improve_prompt( use_case=use_case, prompt=prompt, context=context, request_options=request_options ) return _response.data class AsyncPromptsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._raw_client = AsyncRawPromptsClient(client_wrapper=client_wrapper) @property def with_raw_response(self) -> AsyncRawPromptsClient: """ Retrieves a raw implementation of this client that returns raw responses. Returns ------- AsyncRawPromptsClient """ return self._raw_client async def improve_prompt( self, *, use_case: str, prompt: str, context: typing.Optional[str] = OMIT, request_options: typing.Optional[RequestOptions] = None, ) -> ImprovePromptResponse: """ Improve a prompt based on a specific use-case Parameters ---------- use_case : str The use-case for prompt improvement prompt : str The original prompt to improve context : typing.Optional[str] Additional context about the user's needs request_options : typing.Optional[RequestOptions] Request-specific configuration. Returns ------- ImprovePromptResponse Successful Response Examples -------- import asyncio from skyvern import AsyncSkyvern client = AsyncSkyvern( api_key="YOUR_API_KEY", ) async def main() -> None: await client.prompts.improve_prompt( use_case="use-case", prompt="prompt", ) asyncio.run(main()) """ _response = await self._raw_client.improve_prompt( use_case=use_case, prompt=prompt, context=context, request_options=request_options ) return _response.data