Navya-Sree's picture
Create src/rragent/agents/parser_agent.py
0ece81f verified
raw
history blame contribute delete
867 Bytes
from rragent.schema import TraceEvent
from rragent.utils.text import normalize_text, split_requirements, redact_sensitive
def parse_jd_and_resumes(jd_text: str, candidates: list[dict]):
jd_clean = normalize_text(jd_text)
jd_items = split_requirements(jd_clean)
cand_struct = []
for c in candidates:
raw = c["raw_text"]
redacted = redact_sensitive(raw)
cand_struct.append({
"candidate_id": c["candidate_id"],
"text": normalize_text(redacted)
})
jd_struct = {"raw": jd_clean, "items": jd_items}
ev = TraceEvent(
step="1",
agent="ParserAgent",
status="ok",
summary=f"Parsed JD into {len(jd_items)} requirement items; normalized + redacted {len(cand_struct)} resumes.",
details="\n".join(jd_items[:12])
)
return jd_struct, cand_struct, ev