You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

.importlinter 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. [importlinter]
  2. root_packages =
  3. core
  4. configs
  5. controllers
  6. models
  7. tasks
  8. services
  9. [importlinter:contract:workflow]
  10. name = Workflow
  11. type=layers
  12. layers =
  13. graph_engine
  14. graph_events
  15. graph
  16. nodes
  17. node_events
  18. entities
  19. containers =
  20. core.workflow
  21. ignore_imports =
  22. core.workflow.nodes.base.node -> core.workflow.graph_events
  23. core.workflow.nodes.iteration.iteration_node -> core.workflow.graph_events
  24. core.workflow.nodes.iteration.iteration_node -> core.workflow.graph_engine
  25. core.workflow.nodes.iteration.iteration_node -> core.workflow.graph
  26. core.workflow.nodes.iteration.iteration_node -> core.workflow.graph_engine.command_channels
  27. core.workflow.nodes.loop.loop_node -> core.workflow.graph_events
  28. core.workflow.nodes.loop.loop_node -> core.workflow.graph_engine
  29. core.workflow.nodes.loop.loop_node -> core.workflow.graph
  30. core.workflow.nodes.loop.loop_node -> core.workflow.graph_engine.command_channels
  31. core.workflow.nodes.node_factory -> core.workflow.graph
  32. [importlinter:contract:rsc]
  33. name = RSC
  34. type = layers
  35. layers =
  36. graph_engine
  37. response_coordinator
  38. containers =
  39. core.workflow.graph_engine
  40. [importlinter:contract:worker]
  41. name = Worker
  42. type = layers
  43. layers =
  44. graph_engine
  45. worker
  46. containers =
  47. core.workflow.graph_engine
  48. [importlinter:contract:graph-engine-architecture]
  49. name = Graph Engine Architecture
  50. type = layers
  51. layers =
  52. graph_engine
  53. orchestration
  54. command_processing
  55. event_management
  56. error_handling
  57. graph_traversal
  58. state_management
  59. worker_management
  60. domain
  61. containers =
  62. core.workflow.graph_engine
  63. [importlinter:contract:domain-isolation]
  64. name = Domain Model Isolation
  65. type = forbidden
  66. source_modules =
  67. core.workflow.graph_engine.domain
  68. forbidden_modules =
  69. core.workflow.graph_engine.worker_management
  70. core.workflow.graph_engine.command_channels
  71. core.workflow.graph_engine.layers
  72. core.workflow.graph_engine.protocols
  73. [importlinter:contract:worker-management]
  74. name = Worker Management
  75. type = forbidden
  76. source_modules =
  77. core.workflow.graph_engine.worker_management
  78. forbidden_modules =
  79. core.workflow.graph_engine.orchestration
  80. core.workflow.graph_engine.command_processing
  81. core.workflow.graph_engine.event_management
  82. [importlinter:contract:error-handling-strategies]
  83. name = Error Handling Strategies
  84. type = independence
  85. modules =
  86. core.workflow.graph_engine.error_handling.abort_strategy
  87. core.workflow.graph_engine.error_handling.retry_strategy
  88. core.workflow.graph_engine.error_handling.fail_branch_strategy
  89. core.workflow.graph_engine.error_handling.default_value_strategy
  90. [importlinter:contract:graph-traversal-components]
  91. name = Graph Traversal Components
  92. type = layers
  93. layers =
  94. edge_processor
  95. skip_propagator
  96. containers =
  97. core.workflow.graph_engine.graph_traversal
  98. [importlinter:contract:command-channels]
  99. name = Command Channels Independence
  100. type = independence
  101. modules =
  102. core.workflow.graph_engine.command_channels.in_memory_channel
  103. core.workflow.graph_engine.command_channels.redis_channel