Folder support, Custom theme support, Boiler Plate Code support
This commit is contained in:
+24
-6
@@ -21,10 +21,17 @@ class MentorClient:
|
||||
self.config = config
|
||||
|
||||
async def get_guidance_async(
|
||||
self, challenge: object, user_code: str, user_question: str = ""
|
||||
self,
|
||||
challenge: object,
|
||||
user_code: str = "",
|
||||
user_question: str = "",
|
||||
files: Optional[Dict[str, str]] = None,
|
||||
active_file: Optional[str] = None,
|
||||
) -> Dict[str, Any]:
|
||||
"""Fetch mentor guidance asynchronously from the configured LLM endpoint."""
|
||||
prompt = get_mentor_prompt(challenge, user_code, user_question=user_question)
|
||||
prompt = get_mentor_prompt(
|
||||
challenge, user_code, user_question=user_question, files=files, active_file=active_file
|
||||
)
|
||||
endpoint = get_chat_completions_url(self.config.llm_base_url)
|
||||
|
||||
user_content = (
|
||||
@@ -92,7 +99,12 @@ class MentorClient:
|
||||
}
|
||||
|
||||
def get_guidance(
|
||||
self, challenge: object, user_code: str, user_question: str = ""
|
||||
self,
|
||||
challenge: object,
|
||||
user_code: str = "",
|
||||
user_question: str = "",
|
||||
files: Optional[Dict[str, str]] = None,
|
||||
active_file: Optional[str] = None,
|
||||
) -> Dict[str, Any]:
|
||||
"""Synchronous wrapper for fetching mentor guidance."""
|
||||
import asyncio
|
||||
@@ -103,15 +115,21 @@ class MentorClient:
|
||||
import nest_asyncio
|
||||
nest_asyncio.apply()
|
||||
return loop.run_until_complete(
|
||||
self.get_guidance_async(challenge, user_code, user_question=user_question)
|
||||
self.get_guidance_async(
|
||||
challenge, user_code, user_question=user_question, files=files, active_file=active_file
|
||||
)
|
||||
)
|
||||
else:
|
||||
return asyncio.run(
|
||||
self.get_guidance_async(challenge, user_code, user_question=user_question)
|
||||
self.get_guidance_async(
|
||||
challenge, user_code, user_question=user_question, files=files, active_file=active_file
|
||||
)
|
||||
)
|
||||
except Exception:
|
||||
return asyncio.run(
|
||||
self.get_guidance_async(challenge, user_code, user_question=user_question)
|
||||
self.get_guidance_async(
|
||||
challenge, user_code, user_question=user_question, files=files, active_file=active_file
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user