11from typing import TYPE_CHECKING
2+ from dataclasses import dataclass , field
3+
24from rid_lib .ext import Cache
35
46from ..network .resolver import NetworkResolver
1416 from ..effector import Effector
1517
1618
19+ @dataclass
1720class HandlerContext :
1821 """Context object provides knowledge handlers access to other components."""
1922
@@ -26,29 +29,7 @@ class HandlerContext:
2629 graph : NetworkGraph
2730 request_handler : RequestHandler
2831 resolver : NetworkResolver
29- effector : "Effector"
30-
31- def __init__ (
32- self ,
33- identity : NodeIdentity ,
34- config : NodeConfig ,
35- config_loader : ConfigLoader ,
36- cache : Cache ,
37- event_queue : EventQueue ,
38- kobj_queue : KobjQueue ,
39- graph : NetworkGraph ,
40- request_handler : RequestHandler ,
41- resolver : NetworkResolver
42- ):
43- self .identity = identity
44- self .config = config
45- self .config_loader = config_loader
46- self .cache = cache
47- self .event_queue = event_queue
48- self .kobj_queue = kobj_queue
49- self .graph = graph
50- self .request_handler = request_handler
51- self .resolver = resolver
32+ effector : "Effector" = field (init = False )
5233
5334 def set_effector (self , effector : "Effector" ):
5435 """Post initialization injection of effector component."""
0 commit comments