TjISSKJr SSKJrJrJr SSKJr SSKJ r SSK J r J r SSK Jr SSKJr SSKJr SS KJr SS KJr SS KJrJrJrJrJrJrJrJr SS K J!r! SS K"J#r# SSK$J%r% SSK&J'r' SSK(r(SSK)r)\"\'RTS9r+\+RYS5S5r-\+R]\ 5S5r/\+Ra\S/SS/S/S9 \+RcS\"SS9SS9 \+ReS5S5r3\+RiS\5S 9S!\4S"j5r6\+ReS#\S 9S$\74S%j5r8\+RiS&5S$\7S'\74S(j5r9\+ReS)5S$\74S*j5r:\+ReS+\\S 9S,5r;\+RiS+\S 9S-\4S.j5r<\+ReS\\S 9S/5r=\+ReS0\\S 9S15r>\+RiS05S2\4S3j5r?\+RiS45S5\4S6j5r@\+ReS75S85rA\+ReS9\\S 9S:5rB\+RiS95S;\4S<j5rC\+RS=5S>\74S?j5rE\+ReS@5SA5rF\+RiSB5S!\4SCj5rG\+ReSD\\S 9SE5rH\+RiSD5SF\4SGj5rI\+RSH5SI\74SJj5rJ\KSK:Xa\(R"SLSMSNSSO9 gg)P)List)FastAPIBackgroundTasks HTTPException)CORSMiddleware)RequestValidationError) JSONResponseStreamingResponse) StaticFiles)report_generator)project_service)validation_service) intel_service) ScanRequest ScanResult IntelSourceVulnerabilityStatusProjectAIAgentUser LoginRequest) agent_service) user_service) orchestrator)settingsN)titlestartupcZ# SSKnUR[R"SS95 g7f)Nr )interval_hours)asyncio create_taskrstart_periodic_refresh)r!s $T:\Proyectos\CAN_Vulnera\app\main.py startup_eventr%s!  <# UHoRT:XdMUv M g7fN)id).0vrNs r$ 'verify_vulnerability..CsD0qDDGO0s# #zVulnerability not foundverified)rA new_status)rrLrnextvulnerabilitiesrverify_vulnerabilityrA)r@rNscanvulnrXs ` r$r[r[=sl///4DEE  $ $W -D DD00Dd KD 4MNN)>>tDDJK ;;EsAlist_scans..ns1<# [R"U5 SS0$7f)NrAadded)r add_source)rs r$add_intel_sourcertsV$ g z/api/v1/intel/refreshbackground_taskscP# UR[R5 SS0$7f)NrArefresh_initiated)add_taskr refresh_intel)rs r$rrys%m99: ) **s$&z/api/v1/intel/knowledgec*# [R$7frQ)rknowledge_baserhrir$ get_knowledger~s  ' ''sz/api/v1/agentsc4# [R"5$7frQ)r get_agentsrhrir$ list_agentsrs  # # %%rkagentcT# [R"U5 SURS.$7f)Nr)rAagent_id)r add_agentrR)rs r$rrs"E"588 44s&(z/api/v1/agents/{agent_id}rc># [R"U5 SS0$7f)NrAdeleted)r delete_agent)rs r$rrsx( i  rz/healthc# SS0$7f)NrAhealthyrhrhrir$ health_checkrs i  sz/api/v1/auth/loginc# [R"URUR5nU(d [ SSS9eSUR URUR S.S.$7f)NizInvalid credentialsrKsuccess)rRusernamerole)rAuser)r authenticaterpasswordrrRr)r+rs r$loginrsU  $ $W%5%5w7G7G HD 4IJJT]]\`\e\e)f ggsA$A&z /api/v1/usersc4# [R"5$7frQ)r get_all_usersrhrir$ list_usersrs  % % ''rkrc\# [R"U5nU(d [SSS9eU$7f)Nz4Could not create user (max 10 or duplicate username)rK)radd_userr)rnew_users r$ create_userrs+$$T*H 4jkk O*,z/api/v1/users/{user_id}user_idc\# [R"U5(aSS0$[SSS9e7f)NrArrzCannot delete last userrK)r delete_userr)rs r$rrs/(()$$ C0I JJr__main__z app.main:appz0.0.0.0i@)hostportreload)Mtypingrfastapirrrfastapi.middleware.corsrfastapi.exceptionsrr;r r fastapi.staticfilesr app.services.report_generatorr app.services.project_servicer app.services.validationrapp.services.intel_servicerapp.models.schemasrrrrrrrrapp.services.agent_servicerapp.services.user_servicerapp.core.orchestratorrapp.config.settingsruvicornosAPP_NAMEappon_eventr%exception_handlerr-add_middlewaremountrbr<postdictrGrCrMr[rerjrorrrrrrrdeleterrrrrr__name__runrhrir$rs;;25=+:864~~~42.(  H%%&iQQ-./%%%  )[:6X F///$/6k606 ":>.C.?.  DE <