
    iA                     `   d dl Z d dlZe j                  j                  e j                  j                  e j                  j                  e                  Zej                  j                  d e j                  j                  ed             ej                  j                  d e       d dlZd dl	m
Z
 d dlmZ d dlmZ d dlZd dlmZ d dlmZ d dlmZ d d	lmZ  ej4                  d
ddd      Z e
       Zej;                         dej<                  fd       ZejA                         d        Z!ejA                         d        Z"ejA                         d        Z#ejA                         d        Z$ejA                          ejJ                  dd       ejL                  ddd       ejL                  ddd       ejL                  dddd        ejL                  d!d"d#      fd$e'd%e'd&e'd'e'd(e'f
d)       Z(ejA                          ejJ                  d*d+       ejL                  dd,d-       ejL                  dd.d/       ejL                  ddd       ejL                  d0d1d2      fd$e'd3e'd4e'd%e'd5e'f
d6       ZejA                         d7        Z)ejA                         d8        Z*e+d9k(  r e        yy):    Nlib)Console)Panel)Table)Path)Config)tracker)memorygenesis2   ⚡ Genesis System V2: Alpha Evolve Powerhouse CLIFT)namehelpadd_completioninvoke_without_commandctxc                 2    | j                   t                yy)r   N)invoked_subcommandchat)r   s    ,/mnt/e/genesis-system/genesis_v2/cli/main.pymainr      s     % &    c                     t        dd      } | j                  dd       | j                  dd	       | j                  d
d       | j                  ddd       | j                  ddd       | j                  ddd       | j                  ddd       t        j                         }| j                  dd|d    dd       t
        j                  t        | dd             y) uD   
    🔍 Display multi-layer system health (Core, MCP, Swarm).
    zGenesis System HealthNtitlebox	Component	bold cyanstyleStatusrightjustifyzLatency/DetailsdimzCore Enginez[bold green]ONLINE[/bold green]12mszSovereign Memoryz[bold green]LIVE[/bold green]z152.53.201.221:8001/mcpz	MCP Toolsz[bold green]SYNCED[/bold green]z5/5 ShimmedzRevenue APIz"[bold green]CONNECTED[/bold green]zGHL V2zSession Costz[bold magenta]sessionz[/bold magenta]zGemini Flashcyanz&[bold cyan]MISSION CONTROL[/bold cyan]border_styler   )r   
add_columnadd_rowcost_trackerget_summaryconsoleprintr   )tablecostss     r   statusr2   %   s    
 /T:E	[4	Xw/	&e4 
MM-!BFK	MM$&EG`a	MM+@-P	MM-!ExP $$&E	MM.N53C2DO"TVdeMM%F:bcdr   c                  *   t        j                         } t        dd      }|j                  dd       |j                  ddd	
       |j	                  d| d          |j	                  d| d          t
        j                  t        |d	d             y)u)   
    💸 Track API usage and costs.
    zAPI Cost Tracker (Gemini Flash)Nr   Metricboldr   Amountr!   green)r#   r   zCurrent Sessionr&   zTotal Lifetimetotalz$[bold green]REVENUE OPS[/bold green]r(   )r,   r-   r   r*   r+   r.   r/   r   )r1   r0   s     r   costr9   ;   s    
 $$&E9tDE	XV,	Xwg>	MM#U9%56	MM"E'N3MM%G;abcr   c                     t        d      t        d      t        t              j                  j                  j                  j                  dz  dz  dz  g} d}| D ]  }|j                         s|} n |rkt	        j
                  |j                               }t        j                  d|j                  dd	              t        j                  d
|j                  dd       d       t        dd      }|j                  dd       |j                  d       |j                  di       j                         D ]5  \  }}|j                  |j                  dd      j                         |       7 t        j                  |       t        j                  d       |j                  di       j                         D ]   \  }}t        j                  d| d|        " yt        j                  d       y)u7   
    👥 Display Active Agent Teams Architecture.
    zHE:/genesis-system/KNOWLEDGE_GRAPH/entities/agent_teams_architecture.jsonzL/mnt/e/genesis-system/KNOWLEDGE_GRAPH/entities/agent_teams_architecture.jsonKNOWLEDGE_GRAPHentitieszagent_teams_architecture.jsonNz"[bold]Active Architecture:[/bold] r   Unknownz[dim]Pattern: genesis_mappingN/Az[/dim]
zAgent Rolesr   Roler   r   Description
components_ z
[bold]Model Mapping:[/bold]model_selectionz
  - [cyan]z	[/cyan]: zA[red]Agent Teams Architecture NOT FOUND in Knowledge Graph.[/red])r   __file__parentexistsjsonloads	read_textr.   r/   getr   r*   itemsr+   replacer   )possible_pathskg_pathpdatar0   roledescmodels           r   teamsrV   K   s    	WX[\X$$++225FFSVuuN G 88:G
 zz'++-.:488FI;V:WXYtxx0A5'I&J(STMt4{3'((<4::< 	@JD$MM$,,sC0668$?	@ 	e 	5688$5r:@@B 	?KD%MMJtfIeW=>	? 	YZr   c                     t         j                  d       	 t        j                  j	                  t
        ddd      } t        j                  j                  d|        ddlm	} t        j                  j	                  t
        dd      } ||	      }|j                         }|j                  d
g       }t        d |D        d      }d}d}d}	|rd|d   }	|d   }
|j                  |
dd      }|j                  dg       }t        |      }|D ]$  }|j                  d      }|s|t        |      z  }& t!        d|	       }|j#                  dd       |j#                  dd       |j%                  dd| d        |j%                  d!d"|d#d$       |j%                  d%d&       t         j                  |       y# t&        $ r|}t         j                  d'| d(       t!        d)      }|j#                  dd       |j#                  dd       |j%                  d*d+       t         j                  |       Y d}~yd}~ww xY w),uH   
    💰 Real-time audit of the CreatorDashboard Premium Pipeline.
    z>[yellow]Auditing CreatorDashboard Premium Pipeline...[/yellow]planscreatordashboardscriptsr   )load_clientconfigzcreatordashboard_ghl.env)env_path	pipelinesc              3   J   K   | ]  }d |j                  dd      v s|  yw)zCreator Partnerr    N)rL   ).0rQ   s     r   	<genexpr>zrevenue.<locals>.<genexpr>   s$     [!4EvWYIZ4ZA[s   ##Ng        z	Not Foundr   idopend   )pipeline_idr2   limitopportunitiesmonetaryValuezRevenue Snapshot: r   r4   r5   r   Valuer!   r"   zActive Partnersz[bold cyan]z[/bold cyan]zPending ROIz[bold green]$z,.2fz[/bold green]zStripe Bondingz[bold green]ACTIVE[/bold green]z[red]Revenue Audit Failed: [/red]zRevenue Snapshot: Errorr    z[red]CONNECTION ERROR[/red])r.   r/   ospathjoinroot_dirsysinsertghl_v2_clientr[   list_pipelinesrL   nextlist_opportunitieslenfloatr   r*   r+   	Exception)ghl_pathr[   r]   clientpipelines_respr^   target_pipeactive_partnerspending_roi	pipe_namepipe_id	opps_respoppsoppvalr0   es                    r   revenuer   u   s#   
 MMRS6 77<<'3EyQ8$- 77<<(4NOh/  ..0"&&{B7	[y[]ab	#F+I!$'G 11gf\_1`I=="5D!$iO .ggo.5:-K. 0<=0'2';6G|)TUm}[4Fm%TU&(IJe 3A3f=>560'2h =>es    D
F< "BF< <	IA2H<<Ilistz!Action: list, spawn, kill, attach)r   z--namez-nzkimi/kimi-2.5-flashz--modelz-m
openrouterz
--providerz-pzProvider: google, openrouterr`   z	--missionz-missactionr   rU   providermissionc                    t         j                  j                  t        dd      }t        j                  j                  d|       ddlm} ddl}| dk(  r,|j                         }|s"t        j                  t        ddd	
             yt        d      }	|	j                  dd       |	j                  dd       |	j                  d       |	j                  d       |	j                  dd       |D ]v  }
|	j                  |
d   |
j                  dd      |
d   |
d   t!        |
j                  dd            dkD  r|
j                  dd      dd dz   n|
j                  dd             x t        j                  |	       y| dk(  r|st        j                  d        y	 |j#                  ||||d!"      }
t        j                  d#| d$       t        j                  d%| d&| d'       |rt        j                  d(| d'       yy| d+k(  r]|st        j                  d,       y|j'                  |      rt        j                  d#| d-       yt        j                  d.| d/       y| d0k(  rG|st        j                  d1       yt        j                  d2| d3       |j)                  d4d5d6|g       yt        j                  d7|  d8       y# t$        $ r#}t        j                  d)| d*       Y d}~yd}~ww xY w)9uP   
    🐝 List and monitor active Gemini/Kimi swarms with tmux persistence.
    
genesis_v2corer   )swarmNr   z%[dim]No active swarms detected.[/dim]zSwarm Monitormagentar   r)   zActive Swarm Nodesrj   Namer   r   Typer$   Modelr    Missionitalicr   typeapirU   r2   r   r`   2   ...spawnz+[red]Error: --name required for spawn[/red]T)r   use_tmuxz[green]Swarm Node 'z'' spawned successfully in tmux.[/green]z[dim]Model: z | Provider: [/dim]z[dim]Mission: z[red]Spawn Failed: rl   killz*[red]Error: --name required for kill[/red]z' killed.[/green]z [red]Failed to kill Swarm Node 'z'.[/red]attachz,[red]Error: --name required for attach[/red]z[yellow]Attaching to session 'z#'... (Ctrl+B, D to detach)[/yellow]tmuxzattach-session-tz[red]Action 'z' not implemented.[/red])rm   rn   ro   rp   rq   rr   r   
subprocess
list_nodesr.   r/   r   r   r*   r+   rL   rw   
spawn_nodery   	kill_noderun)r   r   rU   r   r   
swarm_pathswarm_managerr   nodesr0   noder   s               r   r   r      s    hf=JHHOOAz",((*MM% Gmvwx 45EV;7V51W%X&Yh7 LHHVU+MN<?TV@W<X[]<]DHHY+CR058cgckckluwycz MM% 	7	MMGH	; ++D%7]a+bDMM/v5\]^MML}XJfMNwiv>? 
 
6	MMFG""4(MM/v5FGHMM<TF(KL	8	MMHI6tf<_`a 0$=> 	fX-EFG)  	;MM/s&9::	;s    A&K 	K<K77K<healthz"Action: health, save, search, listz--queryz-qz--textr   zgenesis-kinanz--groupz-gquerytextgroupc                    | dk(  rt         j                  d       t        j                         }d|v rt         j                  d|d    d       yt         j                  d       t         j                  dt	        j
                  |d	       d
       y| dk(  r|st         j                  d       yt         j                  d| d       t        j                  |||      }d|v rt         j                  d|d    d       yt         j                  d       t         j                  d|j                  dd       d
       y| dk(  r;|st         j                  d       yt         j                  d| d       t        j                  ||      }|st         j                  d       yt        d| d      }|j                  dd        |j                  d!       |j                  d"       |D ]{  }	|j                  |	j                  d#d$      |	j                  d%d&      t        |	j                  d'd(            d)kD  r|	j                  d'd(      dd) d*z   n|	j                  d'd(             } t         j                  |       y| d+k(  rt         j                  d,| d       t        j                  |      }
|
st         j                  d-       yt        d.| d      }|j                  d/d        |j                  d0       |j                  d1       |
D ]H  }|j                  |j                  d#d      |j                  d2d      |j                  d3d(      dd)        J t         j                  |       yy)4u=   
    🧠 Interact with Sovereign Memory (Graphiti MCP).
    r   z4[yellow]Checking Sovereign Memory health...[/yellow]errorz[red]Memory Offline: rl   z[green]Memory Online![/green][dim]   )indentr   savez*[red]Error: --text required for save[/red]Nz [yellow]Saving memory to group 'z'...[/yellow])group_idr   z[red]Save failed: z)[green]Memory saved successfully.[/green]z[dim]Episode ID: uuidr?   searchz-[red]Error: --query required for search[/red]z[yellow]Searching memory for: ')r   z&[dim]No matching memories found.[/dim]zMemory Search Results ()rj   Entityr   r   r   Summaryr   r=   r   Nodesummaryr`   re   r   r   z,[yellow]Fetching recent episodes for group 'z$[dim]No recent episodes found.[/dim]zRecent Episodes (r   z
Created AtSnippets
created_atbody_snippet)r.   r/   memory_bridger   rI   dumpsr   rL   r   r   r*   r+   rw   get_episodes)r   r   r   r   r   r2   resultr   r0   r   episodeseps               r   r
   r
      s    LM%%'fMM1&/1B&IJMM9;MME$**VA">!?vFG	6	MMFG8}MN##D5tDf]]/w/@GH]]FH]].vzz&%/H.IPQ	8	MMIJ7wmLM$$UU;MMBC"9% BCEX[9V$Y' HHVY/HHVV,=@)UWAX=Y\_=_DHHY+DS1E9eiememnwy{e| MM% 	6	DUG=YZ --u=]]AB"3E7! <=EV;7\*Z( FF65)FF</FF>2.t4 MM% # 
r   c            	         t        j                         } d| v r2t        j                  d       t        j                  d| d    d       y| j	                  di       }t        j                  d       t        j                  d|j	                  dd	       d
|j	                  dd       d       t        j                  d       y)u7   
    🔄 Quick health check for Sovereign Memory.
    r   z([red]Sovereign Memory Unreachable.[/red]r   r   
serverInfoz*[green]Sovereign Memory Connected![/green]z[dim]Server: r   r=   z vversion?u0   [green]Sync OK — MCP endpoint healthy.[/green]N)r   r   r.   r/   rL   )r2   server_infos     r   syncr   B  s    
 !!#F&@BfWo.f56jjr2BDkoofi&H%IKOO\egjLkKllrstHIr   c                     ddl m}   |        t        j                  d<   t        j                  t        j                  ddd             	 ddlm	} t        j                  d	d
        |       }|j                  r5|j                  j                  rt        |j                  j                        nd}t        j                  d| d       t        j                          	 	 t        j                  d      j                         }|s(|j!                         dv rt        j                  d       y|j!                         dk(  rt#                t        j                          |j!                         dk(  r t%        d       t        j                          |j!                         dk(  r"t        j                  t        ddd             |rAt        j                  d       	 |j'                  |      }t        j                  d| d       nt        j                  d!       C# t        $ r;}t        j                  d| d       t        j                  d       d}Y d}~d}~ww xY w# t        $ r#}t        j                  d| d        Y d}~pd}~ww xY w# t(        $ r t        j                  d"       Y yt*        $ r Y yw xY w)#uQ   
    💬 Interactive agent — talk naturally and get stuff done (default).
    r   )get_api_keyGOOGLE_API_KEYu  [bold cyan]⚡ GENESIS COMMAND CENTRE ⚡[/bold cyan]
[dim]Gemini 3 Flash · 18 MCP Tools · Sovereign Memory[/dim]
[dim]Type naturally. I'll handle it.[/dim]

[bold green]Ready for action.[/bold green]  [dim](type 'status' · 'memory' · 'help' · 'quit')[/dim]z#[bold white]GENESIS V2[/bold white]bright_cyanr   )create_agentz&[yellow]Initializing agent...[/yellow]rD   )endu*   [bold green]✅ Online[/bold green] [dim](z tools loaded)[/dim]z
[red]Agent init failed: rl   z/[dim]Falling back to direct model chat...[/dim]Nz[bold cyan]You:[/bold cyan] )quitexitqu   [dim]Goodbye! ⚡[/dim]r2   r
   r   r   u[  [bold]Built-in Commands:[/bold]
  [cyan]status[/cyan]  — System health check
  [cyan]memory[/cyan]  — Sovereign memory health
  [cyan]help[/cyan]    — This help
  [cyan]quit[/cyan]    — Exit

[bold]Or just type naturally:[/bold]
  "Search memory for Sunaiva pricing"
  "What tools do you have?"
  "Save this fact: Kinan uses Vapi for MVPs"Helpr$   z[dim]Thinking...[/dim]z#
[bold green]Genesis:[/bold green] 
z
[red]Error: z[/red]
zA[red]Agent not available. Use 'genesis status' to diagnose.[/red]u%   
[dim]Interrupted. Goodbye! ⚡[/dim])genesis_v2.core.configr   rm   environr.   r/   r   fitgenesis_v2.agentr   _agenttoolsrw   ry   inputstriplowerr2   r
   	chat_syncKeyboardInterruptEOFError)r   r   agent
tool_countr   
user_inputresponses          r   r   r   R  sQ   
 3#.=BJJ MM%))	E
 4" 	1>CH05ASASS++,YZ
B:,Nbcd MMO
3	 'EFLLNJ!%::78!X-!X-x !V+eC !!&   67@$z:HMM$H
RT"UV ab]   21#V<=GHd ! @MMN1#X">??@
 ! 	MMBC 		sy   B H# !%J 'J /1J !2J 4J 	J !*I* J #	I',0I""I'*	J3JJ JJ K9KK__main__),rm   rq   rn   dirnamerF   rp   rr   ro   typerrich.consoler   
rich.panelr   
rich.tabler   rI   pathlibr   r   r   genesis_v2.core.costr	   r,   genesis_v2.core.memory_bridger
   r   Typerappr.   callbackContextr   commandr2   r9   rV   r   ArgumentOptionstrr   r   r   __name__ r   r   <module>r      s   	 
 77??277??277??8+DEF 277<<%0 1 8         * 8 Aekk		=	 )emm   e e* d d '[ '[R < <| &v4WX"ell448#u||$99dK&%,,|\4Nlm%b+w?	BH# BHBHBH BH 	BH BHH  %..0TUdIt4T8T2T8T2oy$?F!F!F! F! 	F!
 F! F!P J J S Sl zE r   