PMCP-AgenticProjectManager / pmcp /nodes /human_resume_node.py
GerlandoRex's picture
add(agents): loggers + system prompt in base agent + filtering AI Messages in human resume
cb09459
from typing import List, Optional
from pmcp.agents.agent_base import AgentBlueprint
from langchain_core.tools import BaseTool
from langchain_core.messages import HumanMessage
from langchain_openai import ChatOpenAI
from langgraph.types import Command
from pmcp.models.resume_trigger import ResumeTrigger
from loguru import logger
SYSTEM_PROMPT = """
You are a Human Resumer Agent responsible for understading the user indication on whether to procede or not with an action.
You have to identify:
- if the user express some changes or confirm directly
- which changes the user wants to apply
"""
class HumanResumeNode:
def __init__(self, llm: ChatOpenAI, tools: Optional[List[BaseTool]] = None):
self.agent = AgentBlueprint(
agent_name="HUMAN_REVIEWER_AGENT",
description="The agent asks for human confirmation",
tools=tools,
system_prompt=SYSTEM_PROMPT.strip(),
llm=llm,
)
def call_human_interrupt_agent(self, user_message: str):
logger.info("Human resumer agent...")
response = self.agent.call_agent_structured(
[
HumanMessage(content=user_message),
],
clazz=ResumeTrigger,
)
return Command(resume=response)