async def process(state: dict) -> dict: """ This node retrieves the application definition from a given repository URL using an LLM to analyze and extract relevant information. Input: state["repository_url"]: The URL of the repository containing the application definition. Output: Returns a dictionary with the extracted application definition as an object. """ from app.agent import llm from langchain_core.messages import SystemMessage, HumanMessage try: repository_url = state.get("repository_url", "") if not repository_url: raise ValueError("Missing 'repository_url' in state.") messages = [ SystemMessage(content="You are an expert in analyzing repository contents and extracting application definitions."), HumanMessage(content=f"Retrieve the application definition from the repository at this URL: {repository_url}") ] response = await llm.ainvoke(messages) return {"application_definition": response.content, "phase": "complete"} except Exception as exc: return {"error": str(exc), "phase": "failed"}