
    i                    z    d dl mZ d dlZd dlZd dlmZ ddlmZ ddlm	Z	 dd	Z
ddZedk    r e             dS dS )    )annotationsN)Path   )MemoryEngine)MemoryServicereturnargparse.ArgumentParserc                    t          j        d          } |                     dd           |                     dd          }|                    d	           |                    d
          }|                    d           |                    d           |                    d           |                    d          }|                    d           |                    d           |                    d           |                    d           |                    d          }|                    d           |                    d           |                    d           |                    d           |                    d          }|                    d           |                    d          }|                    d           |                    d           |                    d           |                    dd           |                    d          }|                    d           |                    d           |                    d           |                    d          }|                    d t
          !           |                    d"          }	|	                    d t
          !           |	                    d#           |                    d$          }
|
                    d%t
          d&'           |                    d(          }|                    d)           |                    d*d+,           |                    d           |                    d-           |                    d.           |                    d/d01           |                    d2          }|                    d3           |                    d4           |                    d5           |                    d6           |                    d7          }|                    d8d9,           |                    d:          }|                    d;           |                    d<          }|                    d=d>           |                    d?           |                    d.           |                    d@           |                    d           |                    d-           |                    dA           |                    dB           |                    dC           |                    dD           |                    dE           |                    d           |                    d           |                    dFdGg H           |                    d t
          dI'           |                    dJ          }|                    dK           |                    dL           |                    dM           |                    dN          }|                    dO           | S )PNzshared-agent-memory)progz--dbzshared-agent-memory.sqlite3)defaultcommandT)destrequiredinit-dbcreate-project
project_idnamez--descriptioncreate-reporepo_idz--project-idz--pathupsert-profile-facttitlecontentz--source-refz--evidence-refingestpayload_jsoncapture-conversation
source_refscopez--capture-modemanual_importcapture-sessionprocess-pendingz--limit)typemaintenance-tickz--job-idmaintenance-statusz--runs
   )r!   r   searchqueryz--scopes*)nargsz	--repo-idz--typez--include-inbox
store_true)actioncontextz	--projectz--repoz--agentz--taskconsolidate
memory_ids+explain
identifierlist-memoriesz--statusactivez--scopez	--subtypez--run-idz	--task-idz--origin-agentz--urlz--domainz
--metadataappend)r*   r   2   task-bundletask_idaudit-v2
migrate-v2exportz--output)argparseArgumentParseradd_argumentadd_subparsers
add_parserint)parser
subparsersprojectrepoprofiler   capturesessionprocessmaintenance_tickmaintenance_statusr%   r+   r,   r/   list_memoriestask_bundler9   s                     ;/Users/sebas/agents-database/src/shared_agent_memory/cli.pybuild_parserrM      s   $*?@@@F
(EFFF&&I&EEJ)$$$##$455G&&&   )))  //Di   fn%%%h##$9::G!!!###((()***""8,,F
'''##$:;;G&&&!!!###)?CCC##$566G&&&!!!#####$566G---!,,-?@@!!)#!666!!*---#../CDD##H3#CCC""8,,F
   

#...
'''
$$$
!!!
),???##I..G%%%"""###"""''66K\555##I..G&&&))/::Mz8<<<y)))x((({+++~...{+++z***{+++/000w'''z***~.../000|HbIIIysB???''66KY'''*%%%,'''""8,,F

###M    Nonec                 v   t                      } |                                 }t          |j                  }t	          |          }|j        dk    rYt          t          j        t          t          |j                                                            ddd                     d S |j        dk    rR|                    |j        |j        |j                   t          t          j        d|j        id                     d S |j        dk    rX|                    |j        |j        |j        |j                   t          t          j        d	|j        id                     d S |j        d
k    rOt          t          j        |                    |j        |j        |j        |j                  d                     d S |j        dk    rOt          t          j        |                    t          j        |j                            d                     d S |j        dk    rPt          t          j        |                    |j        |j        |j        |j                  d                     d S |j        dk    rIt          t          j        |                    |j        |j        |j                  d                     d S |j        dk    r=t          t          j        |                    |j                   d                     d S |j        dk    rDt          t          j        |!                    |j         |j"                  d                     d S |j        dk    rSt          t          j        |#                                |$                    |j%                  dd                     d S |j        dk    r|d |j        |j        |j&        d'                                D             }t          t          j        |(                    |j)        |j*        ||j+                  d                     d S |j        dk    rOt          t          j        |,                    |j-        |j.        |j/        |j0                  d                     d S |j        dk    r=t          t          j        |1                    |j2                  d                     d S |j        dk    r=t          t          j        |3                    |j4                  d                     d S |j        dk    ri }|j5        D ]6}|6                    d          \  }}}	|r|sto          d|           |	||<   7t          t          j        |8                    |j9        |j        |j&        |j:        |j        |j        |j;        |j<        |j=        |j>        |j?        |j        |j        |pd |j                   d                     d S |j        d k    r=t          t          j        |@                    |j<                  d                     d S |j        d!k    r7t          t          j        |A                                d                     d S |j        d"k    r7t          t          j        |B                                d                     d S |j        d#k    r|C                                }
|jD        rt          |jD                  E                    t          j        |
d          d$%           t          t          j        d&t          t          |jD                                                            id                     d S t          t          j        |
d                     d S d S )'Nr   initialized)dbstatus   )indentr   r   r   r   r   r   r   )capture_moder   r    r"   )limitjob_idr#   )rW   )jobsrunsr%   c                    i | ]
\  }}|||S  r\   ).0keyvalues      rL   
<dictcomp>zmain.<locals>.<dictcomp>   s6     
 
 
U
 

 
 
rN   )r   r   r!   )include_inboxr+   r,   r/   r1   =zInvalid metadata filter: )rS   r   memory_typesubtyper   r   run_idr6   origin_agenturldomainr   evidence_refmetadatarW   r5   r7   r8   r9   zutf-8)encodingoutput)FrM   
parse_argsr   rR   r   r   printjsondumpsstrr   resolvecreate_projectr   r   descriptioncreate_repor   pathupsert_profile_factr   r   ri   r   r   loadsr   capture_conversationr   rV   capture_sessionprocess_pendingrW   run_due_maintenancerX   list_maintenance_jobslist_maintenance_runsrZ   r!   itemsr%   r&   scopesra   context_forrB   rC   agenttaskr,   r-   r/   r0   rj   	partition
ValueErrorrJ   rS   rd   re   r6   rf   rg   rh   rK   audit_v2
migrate_v2r9   rl   
write_text)r@   argsserviceenginefiltersrj   pairr^   _r_   payloads              rL   mainr   m   s   ^^FDDG$$G'""F|y  djDMM$9$9$;$; < <VV_`aaabbbbb	)	)	)t	4;KLLLdj,8CCCDDDDD		&	&DL$)T_diPPPdj)T\21===>>>>>	.	.	.J++DJdFWY]Yhii  	
 	
 	
 	
 	
 
	!	!dj
43D(E(EFFqQQQRRRRR	/	/	/J,,T_dj$,eiev,ww  	
 	
 	
 	
 	
 
*	*	*dj00$*dl[[defffggggg	*	*	*dj//
;;AFFFGGGGG	+	+	+dj33$*T[3YYbcdddeeeee	-	-	-J 6688'B_B_fjfoB_BpBpqq  	
 	
 	
 	
 	
 
	!	!
 
 #o<	  egg
 
 
 	dj
DKX\Xjkktuvvvwwwww		"	"dj,,T\49djRVR[\\efggghhhhh		&	&dj,,T_==aHHHIIIII		"	"dj99!DDDEEEEE		(	(M 	" 	"D NN3//MCE Ea E !CT!C!CDDD!HSMMJ%%;* $	 L# L; L!%!2;#!%!2%-* &  " %  	
 	
 	
 	
 	
, 
	&	&dj,,T\::1EEEFFFFF		#	#dj))++A66677777		%	%dj++--a88899999		!	!..""; 	1((GA)F)F)FQX(YYY$*hD,=,=,E,E,G,G(H(HIRSTTTUUUUU$*WQ///00000 
"	!rN   __main__)r   r	   )r   rO   )
__future__r   r:   ro   pathlibr   r   r   r   r   rM   r   __name__r\   rN   rL   <module>r      s    " " " " " "                     " " " " " "_ _ _ _Df1 f1 f1 f1R zDFFFFF rN   