z958ddlZddlmZddlmZddlmZddlmZm Z m Z ddl m Z ddl mZddlmZdd lmZdd lmZmZdd lmZmZeeZGd d eeZdS)N)ABC) getLogger)Path)DictListOptional)Core) MessageType) MessageSource)%NativeFeatureManagementSettingsChange)EventProcessorBaseUserConfigProcessor)recurring_checksafe_cancel_taskceZdZejZdZdZdZdZ e de fdZ e de de fdZdeejfd Zed d Zd S) EventMonitorz *.*.*.*.jsonc>d|_d|_g|_d|_dSN)_loop_sink _processors_processing_taskselfs Z/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins/event_monitor.py__init__zEventMonitor.__init__s&  57 $c$K||_||_|jt ||jt ||j||_dSr) rrrappendr r create_task#_check_inbox_folder_generate_eventsr)rloopsinks r create_sourcezEventMonitor.create_source s    Ed K KLLL  3D 9 9::: $ 6 6  4 4 6 6! ! rc>Kt|jd{VdSr)rrrs rshutdownzEventMonitor.shutdown)s/t455555555555rfilec |dS#t$rYdSt$r'}td||Yd}~dSd}~wwxYw)NzCouldn't remove file %s %s)unlinkFileNotFoundError Exceptionloggerwarning)r'es r_rmfilezEventMonitor._rmfile,s~ B KKMMMMM     DD B B B NN7q A A A A A A A A A Bs A AAAreturncNtj|Sr)jsonloads read_text)r's r _from_jsonzEventMonitor._from_json5sz$..**+++rc |jd^}}}}}t|dz|z}n,#t$rtd|YdSwxYw t j|||| |S#t$rtd|Yn/tj $rtd|YnwxYwdS)N.z+hook-event-file detected with wrong name %s)usernamehooktsfieldszhook file disappeared %szhook file have broken json %s) namesplitfloat ValueErrorr,r-r cPanelEventfrom_hook_eventr5r*r2JSONDecodeError)rr'r8r9ts1ts2_r:s r_event_to_messagezEventMonitor._event_to_message9s$ +/9??3+?+? (HdCqsSy3''BB    NNH$ O O O44  B*::!t,, ;  ! = = = NN5t < < < < <# B B B NN:D A A A A A Bts'47%A A $5B%C-)C-,C-c Kt|jdD]} ||}|9|jD]1}|d{Vr||2n2#t$r%}t d|Yd}~nd}~wwxYw| |#| |wxYw|jD]}| d{VdS)Nz *.*.*.jsonzFailed to process %s hook event) r EVENT_DIRglobrFr is_enabled add_messager+r,errorr/process_messages)rr'message processorexcs rr!z0EventMonitor._check_inbox_folder_generate_eventsOsR((--l;; # #D #0066&%)%5;; !*!5!5!7!7777777;%11'::: E E E >DDDDDDDD E T"""" T"""") / /I,,.. . . . . . . . . / /s0AA>=C> B-B(#C(B--CCN)__name__ __module__ __qualname__r INBOX_HOOKS_DIRrIPATTERNrr$r& staticmethodrr/rr5rr r@rFrr!rrrrs$IG%%%    666BdBBB\B,,$,,,\,+2I)J,_R / / / / /rr)r2abcrloggingrpathlibrtypingrrr defence360agent.contracts.configr "defence360agent.contracts.messagesr !defence360agent.contracts.pluginsr 1defence360agent.feature_management.plugins.nativer 7defence360agent.plugins.event_monitor_message_processorr rdefence360agent.utilsrrrRr,rrXrrrcsH ''''''''''111111::::::;;;;;;DCCCCCCC 8  G/G/G/G/G/=#G/G/G/G/G/r