
    ;j#
                        d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	  ed      Z
e G d d             Zdd	Zdd
ZddZddZe
fddZy)    )annotationsN)	dataclassasdict)Path)Listz2/opt/obsidian-vault/Agent-Solutions/Kundenprojektec                      e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   ddZy)CustomerProjectstr
project_idtitlestatusdescriptiontarget_customer	List[str]target_industriescustomer_problemacquisition
referenceszfloat | Nonepotential_score
confidencesource_filec                    t        |       S )N)r   )selfs    project_catalog.pyas_dictzCustomerProject.as_dict   s    d|    N)returndict)__name__
__module____qualname____annotations__r    r   r   r	   r	   
   sJ    OJK  O!!Or   r	   c                   | j                  d      si S | j                  dd      \  }}}i }|j                         D ]L  }d|vr|j                  dd      \  }}|j                         j                  d      ||j                         <   N |S )Nz---   :   ")
startswithsplit
splitlinesstrip)text_rawoutlinekeyvalues          r   _frontmatterr4      s    ??5!	

5!$IAsA
C  4d?ZZQ'
U ;;=..s3CIIK	4
 Jr   c                    dt        j                  |       d}t        j                  || t         j                  t         j                  z        }|r|j                  d      j                         S dS )Nz^## z\s*$\n(.*?)(?=^## |\Z))flagsr'    )reescapesearchMSgroupr,   )r-   headingpatternmatchs       r   _sectionrA   (   sW    bii())?@GIIgt244"$$;7E%*5;;q>!22r   c                    | r| j                         d   nd}t        j                  d|      D cg c]#  }|j                         s|j                         % c}S c c}w )Nr   r7   u   [·|,;])r+   r8   r*   r,   )r/   firstxs      r   _industriesrE   .   sD    #&CNNQBE!xx
E:H!aggiAGGIHHHs   AAc                   | j                  d      }t        |      }t        |d      }t        j                  d|      }t        j                  d|      }|r*t        |j                  d      j                  dd            nd }t        |j                  d	| j                        |j                  d
| j                        |j                  dd      t        |d      t        |d      t        t        |d            t        |d      t        |d      t        |d      ||r|j                  d      j                         ndt        |             S )Nzutf-8)encodingu!   Bewertungsmodell / Evidenzstärkez+Gesamtpotenzial:\s*\*\*(\d+(?:[,.]\d+)?)/10zKonfidenz:\s*\*\*([^*]+)\*\*r'   ,.r   r   r   r7   Projektbeschreibung	Zielkundeu   Interessant für / ZielbranchenKundenproblemzKundengewinnung / Akquisewegez/Vorhandene Demos / Referenzen / Agenten / Tools)r   r   r   r   r   r   r   r   r   r   r   r   )	read_textr4   rA   r8   r:   floatr=   replacer	   getstemrE   r,   r
   )pathr-   fmeval_sectionscore_match
conf_matchscores          r   load_projectrX   1   s   >>7>+D	d	BD"EFL))JLYK:LIJ=HE+##A&..sC89dE66,		2ffWdii(vvh#T#89 {3%ht5V&WX!$8T#BCD"ST2<:##A&,,."I r   c                n    t        | j                  d            D cg c]  }t        |       c}S c c}w )Nz*.md)sortedglobrX   )project_dirps     r   load_all_projectsr^   H   s*    %+K,<,<V,D%EFLOFFFs   2)r-   r
   r   r   )r-   r
   r>   r
   r   r
   )r/   r
   r   r   )rR   r   r   r	   )r\   r   r   zList[CustomerProject])
__future__r   r8   dataclassesr   r   pathlibr   typingr   PROJECT_DIRr	   r4   rA   rE   rX   r^   r#   r   r   <module>rd      sV    " 	 )  GH
   
3I. +6 Gr   