wo4hL ddlZddlZddlZddlmZddlmZddlmZddl m Z m Z m Z ddl mZddlmZddlmZdd lmZdd lmZmZdd lmZeeZGd d eeZdS)N)ABC) getLogger)Path)DictListOptional)Core) MessageType) MessageSource)%NativeFeatureManagementSettingsChange)EventProcessorBaseUserConfigProcessor)recurring_checkceZdZejZdZdZdZdZ 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! ! rcK|jtjtj5|jd{VddddS#1swxYwYdSr)rcancel contextlibsuppressasyncioCancelledErrorrs rshutdownzEventMonitor.shutdown+s $$&&&  !7 8 8 ( (' ' ' ' ' ' ' ' ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (sAAAfilec |dS#t$rYdSt$r'}td||Yd}~dSd}~wwxYw)NzCouldn't remove file %s %s)unlinkFileNotFoundError Exceptionloggerwarning)r+es r_rmfilezEventMonitor._rmfile0s~ 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_json9sz$..**+++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 ValueErrorr0r1r cPanelEventfrom_hook_eventr9r.r6JSONDecodeError)rr+r<r=ts1ts2_r>s r_event_to_messagezEventMonitor._event_to_message=s$ +/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_DIRglobrJr is_enabled add_messager/r0errorr3process_messages)rr+message processorexcs rr z0EventMonitor._check_inbox_folder_generate_eventsSsR((--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_DIRrMPATTERNrr#r* staticmethodrr3rr9rr rDrJrr rrrrs$IG%%%    ((( BdBBB\B,,$,,,\,+2I)J,_R / / / / /rr)r(r&r6abcrloggingrpathlibrtypingrrr defence360agent.contracts.configr "defence360agent.contracts.messagesr !defence360agent.contracts.pluginsr 1defence360agent.feature_management.plugins.nativer 7defence360agent.plugins.event_monitor_message_processorr rdefence360agent.utilsrrVr0rr\rrrgsV ''''''''''111111::::::;;;;;;211111 8  I/I/I/I/I/=#I/I/I/I/I/r