from pathlib import Path
p=Path('/opt/struktur/social-media-agent/publish_ready.py'); s=p.read_text()
needle='''def _direct_url(value: str) -> bool:'''
helper='''def select_carousel(carousel_id: str, selected_by: str = "human", override_reason: str = "") -> dict:
    con=sqlite3.connect(CASES_DB); con.row_factory=sqlite3.Row; row=con.execute("SELECT * FROM carousels WHERE carousel_id=?",(carousel_id,)).fetchone()
    if not row: con.close(); raise ValueError("carousel not found")
    now=_now(); con.execute("UPDATE carousels SET selected_by_human=1,final_for_package=1,selected_at=?,selected_by=? WHERE carousel_id=?",(now,selected_by,carousel_id)); con.execute("UPDATE publication_packages SET media_type='carousel',media_type_reason=?,updated_at=? WHERE package_id=?",(row['media_type_reason'],now,row['package_id'])); con.commit(); con.close(); return {'carousel_id':carousel_id,'package_id':row['package_id'],'final_for_package':True}


def _direct_url(value: str):'''
assert s.count(needle)==1; s=s.replace(needle,helper); p.write_text(s); print('carousel selection helper added')
