
    -j[                        d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZmZmZmZ d dlmZ d dlmZ dd	Z e       Zy
)    )annotations)FastAPI)CORSMiddleware)__version__)load_runtime_config)ActivityEventApprovalItemModuleRegistryEntryOverviewResponseRedactionPolicy
ReportLinkutcnowget_module_registry)OverviewServicec                 z   t               } t        dt        d      }| j                  dk(  r'|j	                  t
        | j                  dddgdg	       |j                  d
      dd       }|j                  dt        t                 dd       }|j                  dt              dd       }|j                  dt        t                 dd       }|j                  dt        t                 dd       }|j                  dt        t                 dd       }|j                  dt              dd       }|S ) NzJARVIS API Gatewayz<Mock-only API Gateway skeleton for JARVIS Command Dashboard.)titleversiondescriptiondevelopmentFGETOPTIONS*)allow_originsallow_credentialsallow_methodsallow_headersz/api/healthzc            	         t               } ddt        | j                  d| j                  dt	               j                         dS )Nokzjarvis-api-gatewaydisabledzjarvis.overview.v1)statusservicer   	demo_modedomain_accessenvironmentcontract_versiongenerated_at)r   r   jarvis_demo_mode
jarvis_envr   	isoformat)currents    C/home/agent/projects/Jarvis/apps/api-gateway/jarvis_gateway/main.pyhealthzzcreate_app.<locals>.healthz   sC    %'+" 11'"-- 4"H..0	
 		
    z/api/modules)response_modelc                     t               S Nr    r.   r,   moduleszcreate_app.<locals>.modules+   s    "$$r.   z/api/overviewc                 F    t        j                         j                         S r1   )r   mockbuild_overviewr2   r.   r,   overviewzcreate_app.<locals>.overview/   s    ##%4466r.   z/api/activityc                 Z    t        j                         j                         j                  S r1   )r   r5   r6   activityr2   r.   r,   r9   zcreate_app.<locals>.activity3   s     ##%446???r.   z/api/approvalsc                 Z    t        j                         j                         j                  S r1   )r   r5   r6   	approvalsr2   r.   r,   r;   zcreate_app.<locals>.approvals7   s     ##%446@@@r.   z/api/reportsc                 Z    t        j                         j                         j                  S r1   )r   r5   r6   reportsr2   r.   r,   r=   zcreate_app.<locals>.reports;   s     ##%446>>>r.   z/api/redaction-policyc                 (    t        ddddgdgd      S )NsummaryFz%see docs/security/forbidden-fields.mdT)default_display_policyallow_exact_finance_valuesallow_health_detail_linksforbidden_fieldslog_forbidden_fieldsr#   )r   r2   r.   r,   redaction_policyz$create_app.<locals>.redaction_policy?   s'    #,',&+EF"I!J
 	
r.   )returnzdict[str, object])rF   zlist[ModuleRegistryEntry])rF   r   )rF   zlist[ActivityEvent])rF   zlist[ApprovalItem])rF   zlist[ReportLink])rF   r   )r   r   r   r)   add_middlewarer   jarvis_dev_cors_originsgetlistr
   r   r   r	   r   r   )	configapplicationr-   r3   r7   r9   r;   r=   rE   s	            r,   
create_apprM      si    "F"RK
 M)"" 88# ),% 	# 	
 __^$
 %
 __^D9L4M_N% O% ___5E_F7 G7 ___T-5H_I@ J@ __%d<6H_IA JA __^D4D_E? F? __,__M
 N
 r.   N)rF   r   )
__future__r   fastapir   fastapi.middleware.corsr   jarvis_gatewayr   jarvis_gateway.configr   jarvis_gateway.contractsr   r	   r
   r   r   r   r   jarvis_gateway.registryr   (jarvis_gateway.services.overview_servicer   rM   appr2   r.   r,   <module>rW      s;    "  2 & 5 M  M  M 7 D=@ lr.   