[importlinter]
root_package = src
include_external_packages = True

[importlinter:contract:telegram_actions_no_raw_telethon_functions_in_entrypoints]
name = Telegram entrypoints do not import Telethon directly outside allowed pipeline errors
type = forbidden
source_modules =
    src.cli
    src.web
    src.agent.tools
    src.services.pipeline_nodes
    src.services.telegram_command_dispatcher
forbidden_modules =
    telethon
allow_indirect_imports = True
ignore_imports =
    src.services.pipeline_nodes.handlers -> telethon
    src.services.telegram_command_dispatcher -> telethon
