"""Job posting harvester (v1 placeholder -> JSearch/Adzuna in production).""" from __future__ import annotations from ..types import RawSignal from . import account_fixture def harvest(account: dict) -> list[RawSignal]: out: list[RawSignal] = [] for item in account_fixture(account["accountId"]).get("jobs", []): count = item.get("count", 1) prefix = f"[{count} openings] " if count > 1 else "" out.append( RawSignal( account_id=account["accountId"], source="jobs", signal_type="hiring_surge" if count > 1 else "job_posting", content=f"{prefix}{item['title']}: {item['content']}", published_at=item["publishedAt"], url=item["url"], extra={"title": item["title"], "count": count}, ) ) return out