Ctrl K
ComunidadGuías…

tach.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# Tach is the source of truth for enforced module boundaries in this repo.
# If a PR changes runtime module dependencies or public import surfaces in a
# Tach-governed area, update this file in the same PR.
#
# Boundary rules:
# - Use explicit `[[modules]] path = "..."` entries plus `depends_on` for
#   importer-specific enforcement.
# - Use module `visibility` to restrict which modules may import a module.
#   A module's `visibility` list names exactly the declared modules whose
#   `depends_on` lists it, and an interface's `visibility` names only such
#   modules; `tests/test_tach_visibility.py` enforces both and explains why.
# - Use `[[interfaces]]` only for symbol-level public APIs of a declared
#   module; Tach ignores an interface whose `from` names any other path.
# - Do not rely on interface `visibility` as a substitute for module
#   dependency rules.
# - Use grouped `paths = [...]` only when every grouped module intentionally
#   shares the exact same policy.
# - `depends_on` lists exactly the declared modules a module imports at
#   runtime, function-level imports included and `if TYPE_CHECKING:` imports
#   excluded; `exact = true` fails the check on any other entry.
#
# Docs:
# - https://docs.gauge.sh/usage/configuration/
# - https://docs.gauge.sh/usage/interfaces/
exclude = ["**/*__pycache__", "**/*egg-info", "**/docs", "**/tests", "**/venv"]
source_roots = ["src"]
exact = true

[[modules]]
path = "mindroom.agent_reply_membership_sync"
depends_on = ["mindroom.event_journal"]
visibility = [
    "mindroom.orchestrator",
]

[[modules]]
path = "mindroom.knowledge.readers"
depends_on = []

[[modules]]
path = "mindroom.knowledge.chunking"
depends_on = ["mindroom.knowledge.readers"]

[[modules]]
path = "mindroom.bounded_bytes"
depends_on = []

[[modules]]
path = "mindroom.integrations"
depends_on = ["mindroom.slack.integration"]

[[modules]]
path = "mindroom.origins"
depends_on = []

[[modules]]
path = "mindroom.embeddings.factory"
depends_on = [
    "mindroom.embeddings.embedder_health",
    "mindroom.embeddings.ollama_embedder",
    "mindroom.embeddings.openai_embedder",
    "mindroom.embeddings.sentence_transformers_embedder",
    "mindroom.embeddings.vertex_ai_embedder",
    "mindroom.constants",
    "mindroom.providers.google_adc",
]

[[modules]]
path = "mindroom.embeddings.base"
depends_on = []

[[modules]]
path = "mindroom.embeddings.ollama_embedder"
depends_on = ["mindroom.embeddings.errors", "mindroom.providers.ollama.errors", "mindroom.providers.ollama.settings"]
visibility = ["mindroom.embeddings.factory"]

[[modules]]
path = "mindroom.embeddings.vertex_ai_embedder"
depends_on = ["mindroom.embeddings.errors", "mindroom.providers.errors"]
visibility = ["mindroom.embeddings.embedder_health", "mindroom.embeddings.factory"]

[[modules]]
path = "mindroom.embeddings.sentence_transformers_embedder"
depends_on = [
    "mindroom.embeddings.errors",
    "mindroom.tool_system.dependencies",
]

[[modules]]
path = "mindroom.embeddings.embedder_health"
depends_on = [
    "mindroom.embeddings.errors",
    "mindroom.embeddings.factory",
    "mindroom.embeddings.openai_embedder",
    "mindroom.embeddings.vertex_ai_embedder",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.embeddings.errors"
depends_on = ["mindroom.llm", "mindroom.providers.openai"]

[[modules]]
path = "mindroom.embeddings.openai_embedder"
depends_on = [
    "mindroom.embeddings.errors",
]

[[modules]]
path = "mindroom.path_globs"
depends_on = []

[[modules]]
path = "mindroom.http_error_detail"
depends_on = []
visibility = [
    "mindroom.cli.connect",
    "mindroom.matrix.provisioning",
    "mindroom.plugin_worker_services",
    "mindroom.script_runs.worker_client",
    "mindroom.terminal.client",
]

[[modules]]
path = "mindroom.dynamic_workflows"
depends_on = [
    "mindroom.failure_text",
]

[[modules]]
path = "mindroom.private_storage.private_instance_identity"
depends_on = ["mindroom.private_storage.private_instance_identity_store"]

[[modules]]
path = "mindroom.private_storage.private_instance_identity_store"
depends_on = [
    "mindroom.json_utils",
    "mindroom.tool_system.worker_routing",
]
visibility = [
    "mindroom.private_storage.legacy_private_storage_aliases",
    "mindroom.private_storage.alias_paths",
    "mindroom.private_storage.legacy_private_storage",
    "mindroom.private_storage.private_instance_identity",
    "mindroom.runtime_resolution",
]

[[modules]]
path = "mindroom.dispatch_callback_outcome"
depends_on = []
visibility = [
    "mindroom.coalescing.ingress_ticket",
    "mindroom.journal_dispatch",
    "mindroom.reaction_dispatch",
    "mindroom.turns.ingress",
    "mindroom.voice.ingress",
]

[[modules]]
path = "mindroom.dispatch_recovery_context"
depends_on = []
visibility = [
    "mindroom.journal_dispatch",
    "mindroom.turns.ingress",
    "mindroom.voice.ingress",
    "mindroom.voice.visible_voice_echo",
]

[[modules]]
path = "mindroom.agent_cli.approval"
depends_on = ["mindroom.llm"]
visibility = [
    "mindroom.agent_cli.delegation",
    "mindroom.agent_cli.turn",
    "mindroom.approval.execution",
]

[[interfaces]]
from = ["mindroom.agent_cli.approval"]
expose = [
    "CliApprovalCall",
]

[[modules]]
path = "mindroom.agent_cli.bash"
depends_on = [
    "mindroom.agent_cli.shell_contract",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.tool_access",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.tool_schema",
]
visibility = [
    "mindroom.agent_cli.minimal_agent",
]

[[interfaces]]
from = ["mindroom.agent_cli.bash"]
expose = [
    "minimal_bash_toolkit",
]

[[modules]]
path = "mindroom.agent_cli.checkpoint"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.llm",
    "mindroom.session_storage.store",
]
visibility = [
    "mindroom.agent_cli.turn",
]

[[interfaces]]
from = ["mindroom.agent_cli.checkpoint"]
expose = [
    "BatchCheckpoint",
]

[[modules]]
path = "mindroom.agent_cli.client"
depends_on = [
    "mindroom.agent_cli.json_io",
    "mindroom.agent_cli.shell_contract",
]
visibility = [
    "mindroom.agent_cli.main",
]

[[interfaces]]
from = ["mindroom.agent_cli.client"]
expose = [
    "AgentCliClient",
    "AgentCliUnavailableError",
]

[[modules]]
path = "mindroom.agent_cli.context"
depends_on = []
visibility = [
    "mindroom.agent_cli.minimal_agent",
]

[[interfaces]]
from = ["mindroom.agent_cli.context"]
expose = [
    "minimal_system_message",
]

[[modules]]
path = "mindroom.agent_cli.delegation"
depends_on = [
    "mindroom.agent_cli.approval",
    "mindroom.ai",
    "mindroom.delegation.execution",
    "mindroom.delegation.state",
    "mindroom.event_journal",
    "mindroom.response_turn",
    "mindroom.tool_system.runtime_context",
    "mindroom.llm",
    "mindroom.tool_system.tool_function",
]
visibility = [
    "mindroom.agent_cli.turn",
    "mindroom.agent_cli.cli_approval_recovery",
]

[[interfaces]]
from = ["mindroom.agent_cli.delegation"]
expose = [
    "advance_cli_delegation",
    "approval_calls_for_cli_pause",
]

[[modules]]
path = "mindroom.agent_cli.events"
depends_on = [
    "mindroom.tool_system.context_bound_streams",
    "mindroom.llm",
]
visibility = [
    "mindroom.agent_cli.turn",
    "mindroom.ai",
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.agent_cli.cli_approval_waits",
]

[[interfaces]]
from = ["mindroom.agent_cli.events"]
expose = [
    "emit_cli_run_event",
    "emit_cli_suspension",
    "emit_cli_tool_event",
    "stream_cli_events",
]

[[modules]]
path = "mindroom.agent_cli.json_io"
depends_on = ["mindroom.json_utils"]
visibility = [
    "mindroom.agent_cli.client",
    "mindroom.agent_cli.main",
    "mindroom.agent_cli.protocol",
    "mindroom.agent_cli.turn",
    "mindroom.api.agent_cli",
]

[[interfaces]]
from = ["mindroom.agent_cli.json_io"]
expose = [
    "MAX_ENVELOPE_BYTES",
    "canonical_json",
    "read_json",
]

[[modules]]
path = "mindroom.agent_cli.lifetime"
depends_on = [
    "mindroom.tool_jobs.resources",
]
visibility = [
    "mindroom.ai",
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.agent_cli.cli_approval_waits",
    "mindroom.agent_cli.minimal_agent",
    "mindroom.response_turn",
    "mindroom.agent_cli.cli_shell_agent",
]

[[interfaces]]
from = ["mindroom.agent_cli.lifetime"]
expose = [
    "CliTurnLifetime",
    "cli_control_calls",
    "current_cli_lifetime",
    "response_cli_lifetime",
]

[[modules]]
path = "mindroom.agent_cli.main"
depends_on = [
    "mindroom.agent_cli.client",
    "mindroom.agent_cli.json_io",
    "mindroom.script_runs.launch_contract",
]

[[modules]]
path = "mindroom.agent_cli.projection"
depends_on = [
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.tool_function",
    "mindroom.llm",
]
visibility = [
    "mindroom.agent_cli.turn",
    "mindroom.agent_cli.cli_approval_recovery",
]

[[interfaces]]
from = ["mindroom.agent_cli.projection"]
expose = [
    "project_cli_result",
    "register_cli_media",
    "schema_context_document",
]

[[modules]]
path = "mindroom.agent_cli.protocol"
depends_on = [
    "mindroom.agent_cli.json_io",
]
visibility = [
    "mindroom.agent_cli.turn",
    "mindroom.api.agent_cli",
]

[[interfaces]]
from = ["mindroom.agent_cli.protocol"]
expose = [
    "ContextListOperation",
    "ContextReadOperation",
    "ToolCallOperation",
    "ToolCallReceipt",
    "ToolDescribeOperation",
    "ToolListOperation",
    "ToolSearchOperation",
    "parse_operation",
]

[[modules]]
path = "mindroom.agent_cli.session"
depends_on = []
visibility = [
    "mindroom.agent_cli.response_owner",
    "mindroom.agent_cli.turn",
    "mindroom.api.agent_cli",
    "mindroom.orchestrator",
]

[[interfaces]]
from = ["mindroom.agent_cli.session"]
expose = [
    "CliAuthenticationError",
    "CliBashWindowRequiredError",
    "CliCallConflictError",
    "CliOperationError",
    "MAX_CLI_GRANT_LIFETIME_NS",
    "TurnToolBridge",
    "TurnToolRegistry",
    "cli_turn_owner",
]

[[modules]]
path = "mindroom.agent_cli.turn"
depends_on = [
    "mindroom.agent_cli.approval",
    "mindroom.agent_cli.delegation",
    "mindroom.agent_cli.events",
    "mindroom.agent_cli.json_io",
    "mindroom.agent_cli.projection",
    "mindroom.agent_cli.protocol",
    "mindroom.agent_cli.session",
    "mindroom.agent_cli.shell_contract",
    "mindroom.cancellation",
    "mindroom.response_turn",
    "mindroom.tool_jobs.resources",
    "mindroom.tool_system.agent_tool_calls",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.events",
    "mindroom.tool_system.tool_access",
    "mindroom.agent_cli.checkpoint",
    "mindroom.llm",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.invocation",
]
visibility = [
    "mindroom.agent_cli.response_owner",
]

[[interfaces]]
from = ["mindroom.agent_cli.turn"]
expose = [
    "LiveTurnTools",
]

[[modules]]
path = "mindroom.agent_cli.response_owner"
depends_on = [
    "mindroom.agent_cli.session",
    "mindroom.agent_cli.shell_access",
    "mindroom.agent_cli.turn",
    "mindroom.approval.tool_owners",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_system.agent_tool_calls",
]
visibility = [
    "mindroom.agent_cli.cli_shell_agent",
    "mindroom.agent_cli.minimal_agent",
]

[[interfaces]]
from = ["mindroom.agent_cli.response_owner"]
expose = [
    "bind_response_owner",
    "tool_catalog",
]

[[modules]]
path = "mindroom.agent_cli.shell_access"
depends_on = [
    "mindroom.agent_cli.shell_contract",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.plugins",
    "mindroom.workers.backend_kinds",
]
visibility = [
    "mindroom.agent_cli.response_owner",
    "mindroom.agent_cli.minimal_mode_preflight",
    "mindroom.agent_cli.cli_shell_agent",
]

[[interfaces]]
from = ["mindroom.agent_cli.shell_access"]
expose = [
    "agent_cli_shell_env",
    "minimal_shell_problems",
]

[[modules]]
path = "mindroom.agent_cli.shell_contract"
depends_on = []
visibility = [
    "mindroom.agent_cli.bash",
    "mindroom.agent_cli.cli_shell_agent",
    "mindroom.agent_cli.client",
    "mindroom.agent_cli.shell_access",
    "mindroom.agent_cli.turn",
    "mindroom.api.agent_cli",
    "mindroom.custom_tools.dynamic_workflow",
    "mindroom.delegation.personas",
    "mindroom.agent_cli.minimal_agent",
    "mindroom.agent_cli.minimal_mode_preflight",
    "mindroom.terminal.client",
    "mindroom.tool_system.agent_tool_calls",
    "mindroom.tool_system.tool_environment",
]

[[interfaces]]
from = ["mindroom.agent_cli.shell_contract"]
expose = [
    "AGENT_CLI_TOKEN_ENV",
    "AGENT_CLI_URL_ENV",
    "AGENT_CLI_WINDOW_ENV",
    "AGENT_CLI_WINDOW_HEADER",
    "AgentCliShellEnv",
    "SHELL_FUNCTION",
    "bound_agent_cli_shell_env",
    "current_agent_cli_shell_env",
    "unbound_agent_cli_shell_env",
]

[[modules]]
path = "mindroom.event_journal"
depends_on = [
    "mindroom.event_journal.history_recovery",
    "mindroom.event_journal.legacy_response_attempts",
    "mindroom.event_journal.legacy_turn_rows",
    "mindroom.response_sources",
    "mindroom.history.types",
    "mindroom.interactive_models",
    "mindroom.matrix.sidecar_content",
    "mindroom.model_selection",
    "mindroom.reply_lifecycle",
    "mindroom.tool_system.worker_routing",
    "mindroom.turn_record",
]
visibility = [
    "mindroom.agent_cli.delegation",
    "mindroom.agent_reply_membership_sync",
    "mindroom.approval.continuation_rules",
    "mindroom.approval.continuation_runner",
    "mindroom.approval.failure",
    "mindroom.approval.manager",
    "mindroom.approval.receipt",
    "mindroom.approval.recovery",
    "mindroom.approval.response",
    "mindroom.approval.tool_approval",
    "mindroom.approval.transport",
    "mindroom.bot",
    "mindroom.delegation.job_approvals",
    "mindroom.delivery_gateway",
    "mindroom.event_journal.legacy_response_attempts",
    "mindroom.event_journal.legacy_turn_rows",
    "mindroom.event_journal.matrix_delivery",
    "mindroom.event_journal.opening",
    "mindroom.journal_dispatch",
    "mindroom.listening.markers",
    "mindroom.listening.service",
    "mindroom.matrix._owned_session",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.journal_ingress",
    "mindroom.matrix.transport_progress",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.reaction_dispatch",
    "mindroom.reply_scope",
    "mindroom.thread_export.projected_history",
    "mindroom.tool_jobs.approvals",
    "mindroom.tool_jobs.follow_ups",
    "mindroom.tool_jobs.runtime",
    "mindroom.turn_store",
    "mindroom.turns.ingress",
    "mindroom.voice.visible_voice_echo",
]

[[modules]]
path = "mindroom.reply_lifecycle"
depends_on = []

[[modules]]
path = "mindroom.reply_presentation"
depends_on = ["mindroom.reply_lifecycle", "mindroom.streaming", "mindroom.tool_system.events"]

[[modules]]
path = "mindroom.reply_scope"
depends_on = [
    "mindroom.event_journal",
    "mindroom.reply_lifecycle",
    "mindroom.reply_presentation",
    "mindroom.response_sources",
    "mindroom.stop",
    "mindroom.streaming",
    "mindroom.tool_system.call_record",
    "mindroom.tool_system.events",
    "mindroom.tool_system.tool_function",
]

[[modules]]
path = "mindroom.interactive_models"
depends_on = []
visibility = [
    "mindroom.event_journal",
    "mindroom.interactive",
    "mindroom.post_response_effects",
]

[[modules]]
path = "mindroom.event_journal.opening"
depends_on = [
    "mindroom.event_journal",
]
visibility = [
    "mindroom.api.config_lifecycle",
    "mindroom.cli.main",
    "mindroom.commands.config_commands",
    "mindroom.orchestration.config_lifecycle",
    "mindroom.orchestrator",
]

[[modules]]
path = "mindroom.matrix.journal_ingress"
depends_on = [
    "mindroom.constants",
    "mindroom.event_journal",
    "mindroom.matrix.transport_progress",
]
visibility = [
    "mindroom.journal_dispatch",
]

[[modules]]
path = "mindroom.matrix.transport_progress"
depends_on = [
    "mindroom.constants",
    "mindroom.event_journal",
]
visibility = [
    "mindroom.listening.service",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.journal_ingress",
    "mindroom.turns.ingress",
]

[[modules]]
path = "mindroom.pending_event_worker"
depends_on = [
    "mindroom.cancellation",
]
visibility = ["mindroom.journal_dispatch"]

[[modules]]
path = "mindroom.journal_dispatch"
depends_on = [
    "mindroom.constants",
    "mindroom.dispatch_callback_outcome",
    "mindroom.dispatch_recovery_context",
    "mindroom.event_journal",
    "mindroom.matrix.journal_ingress",
    "mindroom.pending_event_worker",
]
visibility = [
    "mindroom.bot",
]

[[modules]]
path = "mindroom.matrix.conversation_hydration"
depends_on = [
    "mindroom.runtime_protocols",
    "mindroom.event_journal",
    "mindroom.matrix.message_content",
    "mindroom.matrix.sidecar_content",
    "mindroom.matrix.transport_progress",
]
visibility = [
    "mindroom.bot",
    "mindroom.conversation_resolver",
    "mindroom.matrix.conversation_reads",
    "mindroom.scheduling.tasks",
    "mindroom.thread_export.projected_history",
    "mindroom.model_selection_scope",
]

[[modules]]
path = "mindroom.matrix.relation_lookup"
depends_on = [
    "mindroom.matrix.event_info",
    "mindroom.matrix.thread_membership",
]
visibility = [
    "mindroom.bot",
]

[[modules]]
path = "mindroom.matrix.conversation_reads"
depends_on = [
    "mindroom.entity_resolution",
    "mindroom.matrix.agent_message_snapshot",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.thread_history_result",
]
visibility = [
    "mindroom.bot",
    "mindroom.contacts.policy",
    "mindroom.conversation_resolver",
    "mindroom.custom_tools.matrix_conversation_operations",
    "mindroom.custom_tools.thread_move",
    "mindroom.hooks.context",
    "mindroom.listening.service",
    "mindroom.matrix.projected_thread_membership",
    "mindroom.matrix_rtc.call_origin",
    "mindroom.post_response_effects",
    "mindroom.scheduling.tasks",
    "mindroom.thread_export.projected_history",
    "mindroom.thread_summary",
]

[[modules]]
path = "mindroom.event_journal.matrix_delivery"
depends_on = [
    "mindroom.event_journal",
]
visibility = [
    "mindroom.approval.manager",
    "mindroom.approval.transport",
    "mindroom.delivery_gateway",
]

[[modules]]
path = "mindroom.reaction_dispatch"
depends_on = [
    "mindroom.approval.inbound",
    "mindroom.commands.config_confirmation",
    "mindroom.constants",
    "mindroom.dispatch_callback_outcome",
    "mindroom.entity_resolution",
    "mindroom.event_journal",
    "mindroom.hooks",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.report_publishing"
depends_on = ["mindroom.path_confinement"]

# Keep memory consumers explicit so imports are enforced rather than merely
# interface-checked.
[[modules]]
path = "mindroom.ai"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.agent_loop.build",
    "mindroom.agent_run_context",
    "mindroom.agents",
    "mindroom.ai_run_metadata",
    "mindroom.approval.resume",
    "mindroom.delegation.execution",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.state",
    "mindroom.execution_preparation",
    "mindroom.history.interrupted_replay",
    "mindroom.history.mid_turn_compaction",
    "mindroom.history.native",
    "mindroom.history.replay",
    "mindroom.history.request_messages",
    "mindroom.history.runtime",
    "mindroom.history.session_context",
    "mindroom.history.types",
    "mindroom.hooks",
    "mindroom.knowledge.utils",
    "mindroom.llm",
    "mindroom.loop_hooks",
    "mindroom.memory",
    "mindroom.metadata_merge",
    "mindroom.pre_model_preparation",
    "mindroom.providers.registry",
    "mindroom.response_turn",
    "mindroom.run_storage",
    "mindroom.tool_jobs.notices",
    "mindroom.tool_jobs.settings",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.events",
    "mindroom.tool_system.runtime_context",
    "mindroom.agent_cli.cli_shell_agent",
    "mindroom.agent_cli.events",
    "mindroom.agent_cli.lifetime",
    "mindroom.agent_cli.minimal_agent",
    "mindroom.turn_model",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.pre_model_preparation"
depends_on = []
visibility = [
    "mindroom.ai",
]

# The single response-turn driver owns the turn lifecycle for both the agent
# and team envelopes; entity modules inject adapters.
[[modules]]
path = "mindroom.response_turn"
depends_on = [
    "mindroom.ai_runtime",
    "mindroom.agent_cli.lifetime",
    "mindroom.cancellation",
    "mindroom.constants",
    "mindroom.delegation.state",
    "mindroom.helper_usage",
    "mindroom.history.interrupted_replay",
    "mindroom.history.storage",
    "mindroom.history.turn_recorder",
    "mindroom.llm",
    "mindroom.streaming",
    "mindroom.tool_jobs.consumption",
    "mindroom.tool_jobs.execution_scope",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.events",
    "mindroom.turn_continuation",
]
visibility = [
    "mindroom.agent_cli.delegation",
    "mindroom.agent_cli.turn",
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.ai",
    "mindroom.api.openai_compat",
    "mindroom.approval.continuation_runner",
    "mindroom.approval.execution",
    "mindroom.approval.resume",
    "mindroom.response_runner",
    "mindroom.teams",
    "mindroom.delegation.direct",
    "mindroom.delegation.execution",
    "mindroom.agent_cli.cli_approval_waits",
    "mindroom.custom_tools.dynamic_workflow",
    "mindroom.delegation.job_approvals",
    "mindroom.matrix_rtc.call_tools",
    "mindroom.reply_turn.locked_turn",
    "mindroom.listening.turn",
]

[[modules]]
path = "mindroom.ai_run_metadata"
depends_on = [
    "mindroom.constants",
    "mindroom.model_usage",
    "mindroom.llm",
]

[[modules]]
path = "mindroom.model_usage"
depends_on = ["mindroom.llm"]
visibility = [
    "mindroom.ai_run_metadata",
    "mindroom.api.openai_compat",
    "mindroom.skill_learning.reviewer",
    "mindroom.history.request_size",
    "mindroom.providers.pipeline",
]

[[modules]]
path = "mindroom.turn_continuation"
depends_on = []
visibility = [
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.response_turn",
    "mindroom.delegation.execution",
]

[[modules]]
path = "mindroom.knowledge.file_memory_knowledge"
depends_on = [
    "mindroom.memory_scope_ids",
    "mindroom.runtime_resolution",
    "mindroom.config.resolution",
]
visibility = [
    "mindroom.knowledge.utils",
    "mindroom.memory._semantic_file_search",
]

[[modules]]
path = "mindroom.agents"
depends_on = [
    "mindroom.knowledge.search",
    "mindroom.agent_cli.cli_shell_agent",
    "mindroom.delegation.personas",
    "mindroom.delegation.state",
    "mindroom.path_confinement",
    "mindroom.tool_system.agent_tool_calls",
    "mindroom.agent_descriptions",
    "mindroom.constants",
    "mindroom.custom_tools.computer_announcement",
    "mindroom.custom_tools.delegate",
    "mindroom.custom_tools.dynamic_workflow",
    "mindroom.custom_tools.job",
    "mindroom.custom_tools.memory",
    "mindroom.entity_resolution",
    "mindroom.hooks",
    "mindroom.mcp.toolkit",
    "mindroom.prompt_templates",
    "mindroom.runtime_resolution",
    "mindroom.approval.tool_approval",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.authorization",
    "mindroom.tool_jobs.settings",
    "mindroom.tool_system.catalog",
    "mindroom.tool_system.construction",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.dynamic_toolkits",
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.skills",
    "mindroom.tool_system.tool_hooks",
    "mindroom.tool_system.worker_routing",
    "mindroom.workers.backend_kinds",
    "mindroom.custom_tools.knowledge_graph",
    "mindroom.agent_loop",
    "mindroom.agent_loop.build",
    "mindroom.agent_loop.prompt",
    "mindroom.llm",
    "mindroom.providers.registry",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.toolkit_connections",
    "mindroom.failure_text",
    "mindroom.tool_system.agent_tools",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.agent_descriptions"
depends_on = ["mindroom.constants", "mindroom.tool_system.agent_tools"]
visibility = [
    "mindroom.agents",
    "mindroom.custom_tools.delegate",
    "mindroom.custom_tools.matrix_agent_discovery",
    "mindroom.routing",
    "mindroom.routing_judgment",
]

[[modules]]
path = "mindroom.knowledge.search"
depends_on = [
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.tool_schema",
]

[[modules]]
path = "mindroom.session_storage.agent_storage"
depends_on = [
    "mindroom.history.types",
    "mindroom.llm",
    "mindroom.runtime_resolution",
    "mindroom.session_storage.legacy_agno3_conversion",
    "mindroom.session_storage.legacy_session_columns",
    "mindroom.session_storage.preflight",
    "mindroom.session_storage.schema",
    "mindroom.session_storage.store",
]
visibility = [
    "mindroom.helper_usage",
    "mindroom.approval.execution",
    "mindroom.history.session_context",
    "mindroom.history.storage",
    "mindroom.matrix_rtc.call_tools",
    "mindroom.memory.auto_flush",
    "mindroom.delegation.execution",
    "mindroom.skill_learning.reviewer",
    "mindroom.skill_learning.runner",
    "mindroom.knowledge_graph.clients",
    "mindroom.knowledge_graph.ingestion",
    "mindroom.automations.exploration",
    "mindroom.memory._mem0_backend",
    "mindroom.history.mid_turn_compaction",
]

[[modules]]
path = "mindroom.helper_usage"
depends_on = [
    "mindroom.session_storage.agent_storage",
    "mindroom.constants",
    "mindroom.history.storage",
    "mindroom.llm",
    "mindroom.usage.storage",
    "mindroom.session_storage.lanes",
]
visibility = [
    "mindroom.call_transcripts",
    "mindroom.response_turn",
    "mindroom.api.openai_compat",
    "mindroom.memory.auto_flush",
    "mindroom.memory._mem0_backend",
    "mindroom.custom_tools.dynamic_workflow",
    "mindroom.approval.execution",
    "mindroom.teams",
    "mindroom.routing",
    "mindroom.scheduling.tasks",
    "mindroom.topic_generator",
    "mindroom.thread_summary",
    "mindroom.voice.handler",
    "mindroom.skill_learning.reviewer",
    "mindroom.matrix_rtc.call_tools",
    "mindroom.knowledge_graph.clients",
    "mindroom.knowledge.chunk_context",
    "mindroom.history.mid_turn_compaction",
]

[[modules]]
path = "mindroom.attachments.legacy_attachments"
depends_on = ["mindroom.path_confinement"]
visibility = []

[[modules]]
path = "mindroom.session_storage.types"
depends_on = []

[[modules]]
path = "mindroom.session_storage.schema"
depends_on = ["mindroom.history.run_visibility"]

[[modules]]
path = "mindroom.session_storage.codec"
depends_on = ["mindroom.llm"]

[[modules]]
path = "mindroom.session_storage.legacy_agno2_runs"
depends_on = ["mindroom.session_storage.codec", "mindroom.session_storage.schema"]
visibility = [
    "mindroom.session_storage.legacy_agno3_conversion",
    "mindroom.session_storage.legacy_compaction_state",
    "mindroom.session_storage.legacy_usage_ledger",
    "mindroom.session_storage.legacy_usage_totals",
]

[[modules]]
path = "mindroom.session_storage.legacy_compaction_state"
depends_on = [
    "mindroom.session_storage.legacy_agno2_runs",
    "mindroom.session_storage.legacy_agno3_schema",
    "mindroom.session_storage.legacy_scope_metadata",
    "mindroom.session_storage.schema",
    "mindroom.session_storage.store",
]
visibility = ["mindroom.session_storage.legacy_agno3_conversion"]

[[modules]]
path = "mindroom.session_storage.legacy_usage_ledger"
depends_on = [
    "mindroom.session_storage.legacy_agno2_runs",
    "mindroom.session_storage.schema",
    "mindroom.usage.storage",
]
visibility = ["mindroom.session_storage.legacy_agno3_conversion"]

[[modules]]
path = "mindroom.session_storage.legacy_usage_totals"
depends_on = [
    "mindroom.llm",
    "mindroom.session_storage.legacy_agno2_runs",
    "mindroom.session_storage.schema",
    "mindroom.session_storage.store",
    "mindroom.usage.storage",
]
visibility = ["mindroom.session_storage.legacy_session_columns"]

[[modules]]
path = "mindroom.session_storage.legacy_agent_session_owners"
depends_on = ["mindroom.session_storage.schema"]
visibility = ["mindroom.session_storage.legacy_agno3_conversion", "mindroom.session_storage.legacy_session_columns"]

[[modules]]
path = "mindroom.session_storage.legacy_session_columns"
depends_on = [
    "mindroom.delegation.legacy_snapshots",
    "mindroom.session_storage.legacy_scope_metadata",
    "mindroom.history.types",
    "mindroom.session_storage.legacy_agent_session_owners",
    "mindroom.session_storage.legacy_conversion_backup",
    "mindroom.session_storage.legacy_paused_runs",
    "mindroom.session_storage.legacy_usage_totals",
    "mindroom.session_storage.schema",
    "mindroom.session_storage.store",
]
visibility = ["mindroom.session_storage.agent_storage", "mindroom.session_storage.legacy_agno3_conversion"]

[[modules]]
path = "mindroom.session_storage.legacy_paused_runs"
depends_on = ["mindroom.llm", "mindroom.session_storage.schema", "mindroom.session_storage.store"]
visibility = ["mindroom.session_storage.legacy_session_columns"]

[[modules]]
path = "mindroom.session_storage.legacy_conversion_backup"
depends_on = ["mindroom.path_confinement"]
visibility = ["mindroom.session_storage.legacy_agno3_conversion", "mindroom.session_storage.legacy_session_columns"]

[[modules]]
path = "mindroom.session_storage.legacy_agno3_conversion"
depends_on = [
    "mindroom.constants",
    "mindroom.history.legacy_stored_tool_calls",
    "mindroom.history.storage",
    "mindroom.history.types",
    "mindroom.llm",
    "mindroom.session_storage.codec",
    "mindroom.session_storage.legacy_agent_session_owners",
    "mindroom.session_storage.legacy_agno2_runs",
    "mindroom.session_storage.legacy_compaction_state",
    "mindroom.session_storage.legacy_conversion_backup",
    "mindroom.session_storage.legacy_agno3_schema",
    "mindroom.session_storage.legacy_session_columns",
    "mindroom.session_storage.legacy_usage_ledger",
    "mindroom.session_storage.schema",
    "mindroom.session_storage.store",
    "mindroom.usage.storage",
]
visibility = [
    "mindroom.session_storage.agent_storage",
    "mindroom.orchestration.storage_preparation",
]

[[modules]]
path = "mindroom.session_storage.legacy_agno3_schema"
depends_on = [
    "mindroom.llm",
    "mindroom.session_storage.codec",
    "mindroom.session_storage.legacy_tool_results",
    "mindroom.session_storage.schema",
]
visibility = [
    "mindroom.session_storage.legacy_agno3_conversion",
    "mindroom.session_storage.legacy_compaction_state",
]

[[modules]]
path = "mindroom.session_storage.store"
depends_on = [
    "mindroom.constants",
    "mindroom.history.types",
    "mindroom.llm",
    "mindroom.session_storage.codec",
    "mindroom.session_storage.lanes",
    "mindroom.session_storage.schema",
    "mindroom.session_storage.types",
    "mindroom.usage.storage",
]

[[interfaces]]
from = ["mindroom.session_storage.store"]
expose = [
    "BUSY_TIMEOUT_SECONDS",
    "ConversationStore",
    "SaveOutcome",
    "begun",
    "connect_by_name",
    "connect_conversation_database",
    "database_owner",
    "decoded_mapping",
    "delete_runs_in_transaction",
    "ensure_session_row",
    "flag_folded",
    "is_removed",
    "logged_runs",
    "persist_to",
    "report_created_row",
    "runs_without",
    "seen_event_ids",
    "set_visible_messages",
    "source_event_ids",
    "store_fold",
    "summary_event_sets",
    "upsert_run",
    "watch_session_row",
    "write_with_session_state",
]

[[modules]]
path = "mindroom.session_storage.lanes"
depends_on = []

[[modules]]
path = "mindroom.session_storage.usage_reader"
depends_on = ["mindroom.session_storage.schema"]
visibility = []

[[modules]]
path = "mindroom.agent_run_context"
depends_on = [
    "mindroom.knowledge.utils",
    "mindroom.hooks",
]
visibility = [
    "mindroom.api.openai_compat",
    "mindroom.matrix_rtc.call_tools",
    "mindroom.response_runner",
    "mindroom.teams",
    "mindroom.ai",
]

[[modules]]
path = "mindroom.ai_runtime"
depends_on = [
    "mindroom.llm",
]
visibility = [
    "mindroom.tool_jobs.runtime",
    "mindroom.loop_hooks",
    "mindroom.response_lifecycle",
    "mindroom.response_turn",
    "mindroom.reply_turn.locked_turn",
]

[[modules]]
path = "mindroom.history.run_visibility"
depends_on = ["mindroom.llm"]
visibility = [
    "mindroom.session_storage.schema",
    "mindroom.history.replay",
    "mindroom.history.storage",
    "mindroom.skill_learning.transcript",
    "mindroom.history.conversation_text",
    "mindroom.history.request_messages",
]

[[modules]]
path = "mindroom.providers.credentials"
depends_on = [
    "mindroom.constants",
    "mindroom.providers.names",
]
visibility = [
    "mindroom.api.provider_setup",
    "mindroom.cli.config",
    "mindroom.cli.doctor",
    "mindroom.providers.anthropic.messages",
    "mindroom.providers.gemini",
    "mindroom.providers.openai",
    "mindroom.providers.registry",
]

[[modules]]
path = "mindroom.providers.names"
depends_on = []

# A configured model's identity, read from its config; every provider builder and pricing take it from here.
[[modules]]
path = "mindroom.providers.identity"
depends_on = ["mindroom.llm", "mindroom.providers.names"]

# The request that proves a provider key valid, for doctor and the dashboard's provider setup.
[[modules]]
path = "mindroom.providers.key_checks"
depends_on = []
visibility = ["mindroom.cli.doctor", "mindroom.api.provider_setup"]

[[modules]]
path = "mindroom.metadata_merge"
depends_on = []

[[modules]]
path = "mindroom.providers.google_adc"
depends_on = ["mindroom.constants"]
visibility = [
    "mindroom.embeddings.factory",
    "mindroom.knowledge.rerank",
    "mindroom.providers.anthropic.messages",
    "mindroom.providers.gemini",
]

[[modules]]
path = "mindroom.agent_policy"
depends_on = ["mindroom.tool_system.worker_routing"]

[[modules]]
path = "mindroom.approval.manager"
depends_on = [
    "mindroom.approval.events",
    "mindroom.event_journal",
    "mindroom.event_journal.matrix_delivery",
    "mindroom.tool_system.tool_calls",
]
visibility = [
    "mindroom.orchestrator",
    "mindroom.approval.continuation_runner",
    "mindroom.approval.response",
    "mindroom.approval.transport",
    "mindroom.orchestration.script_runtime",
    "mindroom.approval.tool_approval",
    "mindroom.commands.auto_approve_commands",
    "mindroom.scheduling.tasks",
    "mindroom.tool_jobs.approvals",
    "mindroom.scheduling.runtime",
]

[[modules]]
path = "mindroom.approval.events"
depends_on = []
visibility = ["mindroom.approval.manager"]

[[modules]]
path = "mindroom.approval.transport"
depends_on = [
    "mindroom.approval.manager",
    "mindroom.constants",
    "mindroom.event_journal",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.room_history_reads",
    "mindroom.event_journal.matrix_delivery",
    "mindroom.approval.tool_approval",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.approval.execution"
depends_on = [
    "mindroom.agent_loop.build",
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.helper_usage",
    "mindroom.history.types",
    "mindroom.session_storage.agent_storage",
    "mindroom.agents",
    "mindroom.ai",
    "mindroom.ai_run_metadata",
    "mindroom.approval.receipt_readers",
    "mindroom.approval.resume",
    "mindroom.approval.tool_owners",
    "mindroom.delegation.execution",
    "mindroom.history.session_context",
    "mindroom.llm",
    "mindroom.response_turn",
    "mindroom.run_storage",
    "mindroom.tool_jobs.consumption",
    "mindroom.tool_jobs.execution_scope",
    "mindroom.tool_jobs.settings",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.events",
    "mindroom.tool_system.runtime_context",
    "mindroom.agent_cli.approval",
    "mindroom.turn_model",
    "mindroom.session_storage.lanes",
]
visibility = ["mindroom.approval.continuation_runner"]

[[modules]]
path = "mindroom.approval.resume"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.approval.receipt_readers",
    "mindroom.history.native",
    "mindroom.history.replay",
    "mindroom.history.request_messages",
    "mindroom.llm",
    "mindroom.loop_hooks",
    "mindroom.response_turn",
    "mindroom.run_storage",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.runtime_context",
]
visibility = ["mindroom.ai", "mindroom.approval.execution", "mindroom.delegation.execution", "mindroom.teams"]

[[modules]]
path = "mindroom.loop_hooks"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.ai_runtime",
    "mindroom.approval.receipt",
    "mindroom.history.mid_turn_compaction",
    "mindroom.history.types",
    "mindroom.llm",
    "mindroom.participation_hook",
    "mindroom.skill_learning.capture",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.notices",
]
visibility = ["mindroom.ai", "mindroom.approval.resume", "mindroom.teams"]

[[modules]]
path = "mindroom.run_storage"
depends_on = ["mindroom.llm", "mindroom.session_storage.store"]
visibility = [
    "mindroom.ai",
    "mindroom.api.openai_compat",
    "mindroom.approval.execution",
    "mindroom.approval.resume",
    "mindroom.custom_tools.dynamic_workflow",
    "mindroom.delegation.execution",
    "mindroom.teams",
]

[[modules]]
path = "mindroom.approval.tool_owners"
depends_on = [
    "mindroom.mcp.toolkit",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.agent_tools",
]
visibility = [
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.delegation.execution",
    "mindroom.approval.execution",
    "mindroom.teams",
    "mindroom.agent_cli.response_owner",
]

[[modules]]
path = "mindroom.approval.receipt"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.approval.receipt_readers",
    "mindroom.event_journal",
    "mindroom.llm",
]
visibility = ["mindroom.loop_hooks"]

[[modules]]
path = "mindroom.approval.receipt_readers"
depends_on = []
visibility = [
    "mindroom.approval.execution",
    "mindroom.approval.receipt",
    "mindroom.approval.resume",
    "mindroom.approval.continuation_runner",
    "mindroom.delegation.execution",
    "mindroom.teams",
    "mindroom.tool_jobs.runtime",
]

[[modules]]
path = "mindroom.approval.response"
depends_on = [
    "mindroom.approval.manager",
    "mindroom.delegation.state",
    "mindroom.event_journal",
    "mindroom.approval.tool_approval",
    "mindroom.tool_system.events",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.plugins",
]
visibility = [
    "mindroom.approval.continuation_runner",
    "mindroom.delegation.job_approvals",
    "mindroom.response_runner",
    "mindroom.tool_jobs.approvals",
]

[[modules]]
path = "mindroom.approval.continuation_runner"
depends_on = [
    "mindroom.agent_cli.cli_approval_waits",
    "mindroom.approval.continuation_rules",
    "mindroom.approval.execution",
    "mindroom.approval.failure",
    "mindroom.approval.manager",
    "mindroom.delegation.recovery",
    "mindroom.approval.receipt_readers",
    "mindroom.approval.response",
    "mindroom.constants",
    "mindroom.delivery_gateway",
    "mindroom.event_journal",
    "mindroom.hooks",
    "mindroom.matrix.client_visible_messages",
    "mindroom.orchestration.runtime",
    "mindroom.post_response_effects",
    "mindroom.reply_lifecycle",
    "mindroom.reply_presentation",
    "mindroom.reply_scope",
    "mindroom.response_turn",
    "mindroom.streaming",
    "mindroom.teams",
    "mindroom.tool_system.events",
    "mindroom.tool_system.runtime_context",
    "mindroom.interactive",
    "mindroom.reply_turn.request",
    "mindroom.reply_turn.enrichment",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.approval.auto_approve_windows"
depends_on = [
    "mindroom.constants",
]
visibility = [
    "mindroom.approval.tool_approval",
    "mindroom.commands.auto_approve_commands",
]

[[modules]]
path = "mindroom.approval.inbound"
depends_on = [
    "mindroom.matrix.event_info",
    "mindroom.matrix.visible_body",
    "mindroom.approval.tool_approval",
]
visibility = [
    "mindroom.bot",
    "mindroom.commands.auto_approve_commands",
    "mindroom.reaction_dispatch",
    "mindroom.turns.ingress",
]

[[modules]]
path = "mindroom.approval.tool_approval"
depends_on = [
    "mindroom.approval.auto_approve_windows",
    "mindroom.approval.manager",
    "mindroom.constants",
    "mindroom.event_journal",
    "mindroom.tool_system.approval_exemptions",
]
visibility = [
    "mindroom.mcp_gateway.tools",
    "mindroom.agents",
    "mindroom.approval.inbound",
    "mindroom.approval.response",
    "mindroom.approval.transport",
    "mindroom.commands.auto_approve_commands",
    "mindroom.matrix_rtc.call_tools",
    "mindroom.agent_cli.minimal_mode_preflight",
    "mindroom.orchestration.script_runtime",
    "mindroom.orchestrator",
    "mindroom.scheduling.tasks",
    "mindroom.delegation.execution",
    "mindroom.custom_tools.dynamic_workflow",
    "mindroom.tool_jobs.approvals",
    "mindroom.turns.ingress",
]

[[modules]]
path = "mindroom.credentials.policy"
depends_on = []

[[modules]]
path = "mindroom.oauth.credential_binding"
depends_on = []
visibility = [
    "mindroom.api.oauth",
    "mindroom.oauth.reset",
]

[[modules]]
path = "mindroom.oauth.credential_store"
depends_on = [
    "mindroom.oauth.legacy_requester_bindings",
]
visibility = ["mindroom.oauth.credential_lifecycle"]

[[modules]]
path = "mindroom.oauth.legacy_requester_bindings"
depends_on = [
    "mindroom.credentials.policy",
    "mindroom.tool_system.worker_routing",
]
visibility = ["mindroom.oauth.credential_store"]

[[modules]]
path = "mindroom.oauth.credential_store_types"
depends_on = []
visibility = []

[[modules]]
path = "mindroom.oauth.credential_lifecycle"
depends_on = [
    "mindroom.oauth.credential_store",
    "mindroom.tool_system.worker_routing",
]
visibility = [
    "mindroom.api.connections",
    "mindroom.api.egress_credentials",
    "mindroom.api.oauth",
    "mindroom.api.tools",
    "mindroom.custom_tools.slack",
    "mindroom.egress_broker",
    "mindroom.mcp.manager",
    "mindroom.oauth.reset",
    "mindroom.oauth.reset_execution",
    "mindroom.slack.watch_delivery",
    "mindroom.slack.watches",
]

[[modules]]
path = "mindroom.oauth.reset"
depends_on = [
    "mindroom.oauth.credential_binding",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.plugins",
]
visibility = [
    "mindroom.api.oauth",
]

[[modules]]
path = "mindroom.oauth.reset_execution"
depends_on = [
    "mindroom.oauth.credential_lifecycle",
]
visibility = ["mindroom.api.oauth"]

[[modules]]
path = "mindroom.runtime_resolution"
depends_on = [
    "mindroom.constants",
    "mindroom.config.resolution",
    "mindroom.private_storage.private_instance_identity_store",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.entity_resolution"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.state",
    "mindroom.matrix_identifiers",
]

[[modules]]
path = "mindroom.history.team_scope"
depends_on = []

[[modules]]
path = "mindroom.custom_tools.memory"
depends_on = [
    "mindroom.embeddings.errors",
    "mindroom.failure_text",
    "mindroom.memory",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.custom_tools.delegate"
depends_on = [
    "mindroom.agent_cli.minimal_mode_preflight",
    "mindroom.agent_descriptions",
    "mindroom.ai",
    "mindroom.delegation.direct",
    "mindroom.delegation.execution",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.personas",
    "mindroom.delegation.sessions",
    "mindroom.delegation.state",
    "mindroom.delegation.targets",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_schema",
]

[[modules]]
path = "mindroom.custom_tools.dynamic_workflow"
depends_on = [
    "mindroom.agent_cli.shell_contract",
    "mindroom.agent_loop",
    "mindroom.agent_loop.build",
    "mindroom.agents",
    "mindroom.approval.tool_approval",
    "mindroom.delegation.direct",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.personas",
    "mindroom.delegation.sessions",
    "mindroom.dynamic_workflows",
    "mindroom.entity_resolution",
    "mindroom.helper_usage",
    "mindroom.llm",
    "mindroom.origins",
    "mindroom.response_turn",
    "mindroom.run_storage",
    "mindroom.tool_system",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.skills",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.metadata",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.turn_model",
    "mindroom.config.resolution",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.custom_tools.desktop"
depends_on = [
    "mindroom.constants",
    "mindroom.desktop.client",
    "mindroom.desktop.configuration",
    "mindroom.desktop.credentials",
    "mindroom.desktop.input",
    "mindroom.desktop.media",
    "mindroom.desktop.protocol",
    "mindroom.llm",
    "mindroom.matrix.olm_to_device",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.worker_routing",
]

# Keep split Matrix client consumers on explicit per-module rules so Tach can
# enforce both dependency edges and module visibility for each importer.
[[modules]]
path = "mindroom.api"
depends_on = []

[[modules]]
path = "mindroom.api.app_state"
depends_on = []

[[modules]]
path = "mindroom.api.config_lifecycle"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.config.commit",
    "mindroom.config.load_attempt",
    "mindroom.config.main",
    "mindroom.event_journal.opening",
    "mindroom.knowledge.status",
    "mindroom.tool_jobs.settings",
]

[[modules]]
path = "mindroom.api.connections_session_cookie"
depends_on = []

[[modules]]
path = "mindroom.api.auth"
depends_on = [
    "mindroom.api.auth_user",
    "mindroom.api.config_lifecycle",
    "mindroom.api.connections_session_cookie",
    "mindroom.api.open_access",
    "mindroom.origins",
    "mindroom.tool_system.dependencies",
]

[[modules]]
path = "mindroom.api.auth_user"
depends_on = ["mindroom.constants"]

[[modules]]
path = "mindroom.api.open_access"
depends_on = []

[[modules]]
path = "mindroom.api.request_body_limit"
depends_on = []
visibility = ["mindroom.api.main", "mindroom.api.plugin_origins"]

[[modules]]
path = "mindroom.api.validation_errors"
depends_on = []
visibility = ["mindroom.api.main", "mindroom.api.sandbox_runner_app", "mindroom.tool_system.plugins"]

[[modules]]
path = "mindroom.api.frontend"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.egress_broker",
]

[[modules]]
path = "mindroom.api.dynamic_workflows"
depends_on = [
    "mindroom.api.auth_user",
    "mindroom.api.config_lifecycle",
    "mindroom.api.report_headers",
    "mindroom.dynamic_workflows",
]

[[modules]]
path = "mindroom.api.egress_broker"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.credentials_target",
    "mindroom.api.dashboard_credential_scope",
    "mindroom.api.egress_status",
    "mindroom.api.oauth",
    "mindroom.egress_broker",
]

[[modules]]
path = "mindroom.api.egress_status"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.connection_agents",
    "mindroom.api.oauth",
    "mindroom.config.egress_broker",
    "mindroom.egress_broker",
]

[[modules]]
path = "mindroom.api.external_triggers"
depends_on = [
    "mindroom.bounded_bytes",
    "mindroom.api.config_lifecycle",
    "mindroom.delivery_replay",
    "mindroom.external_triggers.executor",
    "mindroom.response_admission",
]

[[modules]]
path = "mindroom.api.slack_events"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.bounded_bytes",
    "mindroom.slack.app",
    "mindroom.slack.delivery",
    "mindroom.slack.events",
    "mindroom.slack.integration",
]

[[modules]]
path = "mindroom.delivery_replay"
depends_on = [
    "mindroom.legacy_delivery_replay",
]

[[modules]]
path = "mindroom.legacy_delivery_replay"
depends_on = []
visibility = ["mindroom.delivery_replay"]

[[modules]]
path = "mindroom.external_triggers.executor"
depends_on = [
    "mindroom.constants",
    "mindroom.hooks.sender",
    "mindroom.matrix.room_reconciliation",
]

[[modules]]
path = "mindroom.api.report_headers"
depends_on = []

[[modules]]
path = "mindroom.api.report_publishing"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.report_headers",
    "mindroom.report_publishing",
]

[[modules]]
path = "mindroom.api.homeassistant_integration"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.credentials_oauth_flows",
    "mindroom.api.credentials_target",
]

[[modules]]
path = "mindroom.api.knowledge"
depends_on = [
    "mindroom.path_confinement",
    "mindroom.runtime_resolution",
    "mindroom.api.config_lifecycle",
    "mindroom.constants",
    "mindroom.knowledge.availability",
    "mindroom.knowledge.file_listing",
    "mindroom.knowledge.indexing_config",
    "mindroom.knowledge.redaction",
    "mindroom.knowledge.refresh_runner",
    "mindroom.knowledge.status",
]

[[modules]]
path = "mindroom.api.matrix_operations"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.constants",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.rooms",
    "mindroom.matrix.state",
    "mindroom.matrix.users",
]

[[modules]]
path = "mindroom.api.openai_compat"
depends_on = [
    "mindroom.agent_run_context",
    "mindroom.ai",
    "mindroom.ai_run_metadata",
    "mindroom.api.config_lifecycle",
    "mindroom.api.open_access",
    "mindroom.api.openai_request_parsing",
    "mindroom.api.openai_streaming_protocol",
    "mindroom.api.response_activity",
    "mindroom.constants",
    "mindroom.failure_text",
    "mindroom.helper_usage",
    "mindroom.history.session_context",
    "mindroom.knowledge.utils",
    "mindroom.llm",
    "mindroom.model_usage",
    "mindroom.response_activity",
    "mindroom.response_turn",
    "mindroom.routing",
    "mindroom.run_storage",
    "mindroom.teams",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.events",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.worker_routing",
    "mindroom.config.resolution",
    "mindroom.turn_model",
]

[[modules]]
path = "mindroom.api.openai_streaming_protocol"
depends_on = ["mindroom.llm", "mindroom.tool_system.events"]

[[modules]]
path = "mindroom.api.openai_request_parsing"
depends_on = [
    "mindroom.api.openai_streaming_protocol",
    "mindroom.constants",
    "mindroom.matrix.client_visible_messages",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.api.connections"
depends_on = [
    "mindroom.matrix.users",
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.api.oauth",
    "mindroom.api.connection_agents",
    "mindroom.api.egress_credentials",
    "mindroom.constants",
    "mindroom.contacts.parties",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.egress_broker",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.api.connections_contacts"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.api.connection_agents",
    "mindroom.contacts.flow",
    "mindroom.contacts.parties",
    "mindroom.contacts.store",
    "mindroom.contacts.turns",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.api.connections_native"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.connection_agents",
    "mindroom.api.connections_session",
    "mindroom.api.connections_session_cookie",
    "mindroom.matrix_openid",
    "mindroom.origins",
]

[[modules]]
path = "mindroom.api.connections_session"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.api.connection_agents",
    "mindroom.api.connections_session_cookie",
    "mindroom.constants",
    "mindroom.matrix_openid",
    "mindroom.origins",
]

[[modules]]
path = "mindroom.api.connection_agents"
depends_on = [
    "mindroom.api.auth",
    "mindroom.mcp_gateway.types",
    "mindroom.origins",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.worker_routing",
    "mindroom.config.resolution",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.api.egress_credentials"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.auth",
    "mindroom.api.connection_agents",
    "mindroom.api.egress_status",
    "mindroom.api.oauth",
    "mindroom.config.egress_broker",
    "mindroom.config.main",
    "mindroom.egress_broker",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.api.oauth"
depends_on = [
    "mindroom.api.auth_user",
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.api.credentials_oauth_flows",
    "mindroom.api.credentials_target",
    "mindroom.api.dashboard_credential_scope",
    "mindroom.oauth.credential_binding",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.oauth.reset",
    "mindroom.oauth.reset_execution",
    "mindroom.origins",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.api.script_gateway"
depends_on = [
    "mindroom.api.agent_cli",
    "mindroom.bounded_bytes",
    "mindroom.json_utils",
]

[[modules]]
path = "mindroom.api.main"
depends_on = [
    "mindroom.api.agent_terminals",
    "mindroom.api.app_state",
    "mindroom.api.auth_user",
    "mindroom.config.commit",
    "mindroom.origins",
    "mindroom.api.agent_cli",
    "mindroom.api.config_reload",
    "mindroom.api.response_activity",
    "mindroom.api.client_sessions",
    "mindroom.api.computers",
    "mindroom.api.mcp_gateway",
    "mindroom.api.connections",
    "mindroom.api.connections_contacts",
    "mindroom.api.connections_native",
    "mindroom.api.connections_session",
    "mindroom.api.thread_exports",
    "mindroom.agent_policy",
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.api.credentials",
    "mindroom.api.dynamic_workflows",
    "mindroom.api.egress_broker",
    "mindroom.api.egress_credentials",
    "mindroom.api.external_triggers",
    "mindroom.api.frontend",
    "mindroom.api.homeassistant_integration",
    "mindroom.api.knowledge",
    "mindroom.api.matrix_operations",
    "mindroom.api.openai_compat",
    "mindroom.api.oauth",
    "mindroom.api.plugin_routes",
    "mindroom.api.provider_setup",
    "mindroom.api.report_publishing",
    "mindroom.api.request_body_limit",
    "mindroom.api.schedules",
    "mindroom.api.script_gateway",
    "mindroom.api.skills",
    "mindroom.api.tools",
    "mindroom.api.budgets",
    "mindroom.integrations",
    "mindroom.api.usage",
    "mindroom.api.usage_export",
    "mindroom.api.validation_errors",
    "mindroom.api.workers",
    "mindroom.api.workspace_files",
    "mindroom.call_transcripts",
    "mindroom.constants",
    "mindroom.embeddings.embedder_health",
    "mindroom.matrix.decrypt_failure",
    "mindroom.orchestration.runtime",
    "mindroom.api.config_schema",
    "mindroom.knowledge_graph.store",
]

[[modules]]
path = "mindroom.api.agent_streams"
depends_on = ["mindroom.plugin_http"]

[[modules]]
path = "mindroom.api.workspace_files"
depends_on = [
    "mindroom.api.agent_streams",
    "mindroom.api.config_lifecycle",
    "mindroom.plugin_http",
    "mindroom.room_agent_access",
    "mindroom.runtime_resolution",
    "mindroom.workspace_files.operations",
    "mindroom.workspace_files.watch",
]

[[modules]]
path = "mindroom.workspace_files.operations"
depends_on = ["mindroom.path_confinement", "mindroom.atomic_file"]

[[modules]]
path = "mindroom.workspace_files.watch"
depends_on = ["mindroom.path_confinement", "mindroom.workspace_files.operations"]

[[modules]]
path = "mindroom.api.credentials"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.credential_responses",
    "mindroom.api.credentials_oauth_policy",
    "mindroom.api.credentials_target",
    "mindroom.credentials.policy",
    "mindroom.embeddings.embedder_health",
    "mindroom.embeddings.factory",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.api.provider_setup"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.credentials",
    "mindroom.providers.credentials",
    "mindroom.providers.key_checks",
]

[[modules]]
path = "mindroom.api.credential_responses"
depends_on = [
    "mindroom.api.credentials_oauth_policy",
    "mindroom.credentials.policy",
]

[[modules]]
path = "mindroom.api.credentials_oauth_flows"
depends_on = [
    "mindroom.api.auth_user",
    "mindroom.api.config_lifecycle",
    "mindroom.api.dashboard_credential_scope",
]

[[modules]]
path = "mindroom.api.credentials_oauth_policy"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.credentials.policy",
]

[[modules]]
path = "mindroom.api.credentials_target"
depends_on = [
    "mindroom.agent_policy",
    "mindroom.api.config_lifecycle",
    "mindroom.api.dashboard_credential_scope",
    "mindroom.credentials.policy",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_routing",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.api.dashboard_credential_scope"
depends_on = [
    "mindroom.api.auth_user",
    "mindroom.api.config_lifecycle",
    "mindroom.config.resolution",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.api.tools"
depends_on = [
    "mindroom.agent_policy",
    "mindroom.api.config_lifecycle",
    "mindroom.api.dashboard_credential_scope",
    "mindroom.config.models",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.tool_system.catalog",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_routing",
    "mindroom.tool_system.plugins",
    "mindroom.mcp.registry",
]

[[modules]]
path = "mindroom.api.sandbox_env_assembly"
depends_on = [
    "mindroom.api.sandbox_exec",
    "mindroom.constants",
]

[[modules]]
path = "mindroom.api.sandbox_exec"
depends_on = [
    "mindroom.path_confinement",
    "mindroom.constants",
    "mindroom.tool_system.worker_routing",
    "mindroom.egress_broker",
]

[[modules]]
path = "mindroom.api.sandbox_forkserver"
depends_on = []

[[modules]]
path = "mindroom.api.sandbox_protocol"
depends_on = []

[[modules]]
path = "mindroom.api.sandbox_execute_stream"
depends_on = [
    "mindroom.api.sandbox_request_cancellation",
    "mindroom.tool_system.progress",
]
visibility = ["mindroom.api.sandbox_runner"]

[[modules]]
path = "mindroom.tool_system.dedicated_threads"
depends_on = []
visibility = [
    "mindroom.api.sandbox_runner",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_system.agent_tool_calls",
    "mindroom.tool_system.sandbox_proxy",
]

[[modules]]
path = "mindroom.api.sandbox_request_cancellation"
depends_on = []
visibility = [
    "mindroom.api.sandbox_runner",
    "mindroom.api.sandbox_execute_stream",
]

[[modules]]
path = "mindroom.api.worker_responses"
depends_on = []

[[modules]]
path = "mindroom.api.computer_browser_binding"
depends_on = [
    "mindroom.custom_tools.browser_mcp",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.media_transport",
    "mindroom.tool_system.tool_function",
    "mindroom.tools.browser_mcp",
    "mindroom.worker_computer.mcp_catalog",
    "mindroom.worker_computer.protocol",
]
visibility = ["mindroom.api.sandbox_runner"]

[[modules]]
path = "mindroom.api.sandbox_runner"
depends_on = [
    "mindroom.file_access",
    "mindroom.media_delivery",
    "mindroom.tool_system.worker_media",
    "mindroom.tool_system.media_transport",
    "mindroom.api.computer_browser_binding",
    "mindroom.worker_computer.worker_browser",
    "mindroom.worker_computer.runtime",
    "mindroom.api.sandbox_env_assembly",
    "mindroom.api.sandbox_exec",
    "mindroom.api.sandbox_forkserver",
    "mindroom.api.sandbox_protocol",
    "mindroom.api.sandbox_request_cancellation",
    "mindroom.api.sandbox_worker_prep",
    "mindroom.api.worker_responses",
    "mindroom.config.main",
    "mindroom.config.yaml_includes",
    "mindroom.constants",
    "mindroom.mcp.registry",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.catalog",
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.tool_environment",
    "mindroom.tool_system.worker_routing",
    "mindroom.api.sandbox_execute_stream",
    "mindroom.tool_jobs.control",
    "mindroom.tool_system.dedicated_threads",
    "mindroom.tool_system.progress",
    "mindroom.tool_system.worker_proxy_client",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.registry",
    "mindroom.terminal.session",
]

[[modules]]
path = "mindroom.api.sandbox_runner_app"
depends_on = [
    "mindroom.tool_system.worker_routing",
    "mindroom.worker_computer.worker_browser",
    "mindroom.api.sandbox_exec",
    "mindroom.api.worker_computer",
    "mindroom.worker_computer.display",
    "mindroom.worker_computer.runtime",
    "mindroom.api.sandbox_runner",
    "mindroom.api.sandbox_runner_scripts",
    "mindroom.api.validation_errors",
    "mindroom.api.worker_preview",
    "mindroom.api.worker_services",
    "mindroom.api.worker_terminal",
]

[[modules]]
path = "mindroom.api.sandbox_runner_scripts"
depends_on = [
    "mindroom.bounded_bytes",
    "mindroom.path_confinement",
    "mindroom.api.sandbox_env_assembly",
    "mindroom.api.sandbox_exec",
    "mindroom.api.sandbox_runner",
    "mindroom.api.sandbox_worker_prep",
    "mindroom.script_runs.launch_contract",
    "mindroom.script_runs.supervised",
    "mindroom.script_runs.wire",
]

[[modules]]
path = "mindroom.api.sandbox_worker_prep"
depends_on = [
    "mindroom.path_confinement",
    "mindroom.api.sandbox_exec",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.script_runs.shim"
depends_on = ["mindroom.path_confinement", "mindroom.script_runs.launch_contract"]

# The shim and the script SDK import it inside script processes, so it stays standard-library only.
[[modules]]
path = "mindroom.script_runs.launch_contract"
depends_on = []

[[modules]]
path = "mindroom.script_runs.supervised"
depends_on = [
    "mindroom.script_runs.launch_contract",
    "mindroom.script_runs.wire",
]

[[modules]]
path = "mindroom.script_runs.legacy_schema"
depends_on = []

[[modules]]
path = "mindroom.script_runs.worker_client"
depends_on = ["mindroom.http_error_detail", "mindroom.script_runs.wire"]

[[modules]]
path = "mindroom.script_runs.wire"
depends_on = []

[[modules]]
path = "mindroom.script_runs.recovery"
depends_on = ["mindroom.script_runs.wire"]

[[modules]]
path = "mindroom.api.schedules"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.constants",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.state",
    "mindroom.matrix.users",
    "mindroom.scheduling.tasks",
]

[[modules]]
path = "mindroom.api.startup_probes"
depends_on = []
visibility = ["mindroom.cli.main", "mindroom.orchestrator"]

[[modules]]
path = "mindroom.api.skills"
depends_on = [
    "mindroom.constants",
    "mindroom.tool_system.skills",
    "mindroom.api.config_lifecycle",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.api.budgets"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.matrix_identifiers",
]

[[modules]]
path = "mindroom.api.usage"
depends_on = [
    "mindroom.api.auth_user",
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.api.usage_export",
]

[[modules]]
path = "mindroom.api.usage_export"
depends_on = [
    "mindroom.api.config_lifecycle",
]

[[modules]]
path = "mindroom.api.workers"
depends_on = [
    "mindroom.api.computers",
    "mindroom.api.config_lifecycle",
    "mindroom.api.worker_responses",
]

[[modules]]
path = "mindroom.matrix.personal_rooms"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.managed_room_notice",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.room_accounts",
    "mindroom.matrix.room_power",
    "mindroom.matrix.state",
    "mindroom.matrix_identifiers",
]
visibility = [
    "mindroom.bot",
    "mindroom.personal_room_lifecycle",
]

[[modules]]
path = "mindroom.personal_room_lifecycle"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.personal_rooms",
    "mindroom.matrix.state",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.bot_room_lifecycle"
depends_on = [
    "mindroom.commands.handler",
    "mindroom.constants",
    "mindroom.contacts.federation",
    "mindroom.contacts.flow",
    "mindroom.contacts.parties",
    "mindroom.contacts.store",
    "mindroom.managed_room_notice",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.rooms",
    "mindroom.matrix.state",
    "mindroom.runtime_protocols",
    "mindroom.thread_summary.notices",
]

[[modules]]
path = "mindroom.custom_tools.attachment_helpers"
depends_on = [
    "mindroom.contacts.turns",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.projected_thread_membership",
]

[[modules]]
path = "mindroom.custom_tools.attachments"
depends_on = [
    "mindroom.constants",
    "mindroom.file_access",
    "mindroom.llm",
    "mindroom.matrix.client_delivery",
    "mindroom.media_delivery",
    "mindroom.path_confinement",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.media_attachments",
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.tool_function",
]

[[modules]]
path = "mindroom.custom_tools.chat_ui"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.file_access",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.message_content",
    "mindroom.path_confinement",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.runtime_context",
]

[[modules]]
path = "mindroom.custom_tools.computer_announcement"
depends_on = [
    "mindroom.custom_tools.chat_ui",
    "mindroom.orchestration.computer_runtime",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.runtime_context",
]
visibility = ["mindroom.agents"]

[[modules]]
path = "mindroom.custom_tools.matrix_helpers"
depends_on = []
visibility = [
    "mindroom.custom_tools.matrix_api",
    "mindroom.custom_tools.matrix_message",
    "mindroom.custom_tools.matrix_voice_message",
    "mindroom.custom_tools.matrix_room",
]

[[modules]]
path = "mindroom.custom_tools.matrix_message"
depends_on = [
    "mindroom.contacts.parties",
    "mindroom.contacts.turns",
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.custom_tools.matrix_agent_discovery",
    "mindroom.custom_tools.matrix_conversation_operations",
    "mindroom.custom_tools.matrix_helpers",
    "mindroom.custom_tools.matrix_message_idempotency",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.custom_tools.matrix_voice_message"
depends_on = [
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.custom_tools.matrix_conversation_operations",
    "mindroom.custom_tools.matrix_helpers",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.voice_message",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.custom_tools.matrix_conversation_operations"
depends_on = [
    "mindroom.constants",
    "mindroom.contacts.policy",
    "mindroom.contacts.turns",
    "mindroom.custom_tools.attachments",
    "mindroom.interactive",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.conversation_reads",
    "mindroom.matrix.guarded_rooms",
    "mindroom.tool_system.events",
]
visibility = [
    "mindroom.custom_tools.matrix_message",
    "mindroom.custom_tools.matrix_voice_message",
]

[[modules]]
path = "mindroom.custom_tools.matrix_room"
depends_on = [
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.custom_tools.matrix_agent_discovery",
    "mindroom.custom_tools.matrix_helpers",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.room_history_reads",
    "mindroom.thread_summary",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.custom_tools.stop_reply"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.client_delivery",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.custom_tools.thread_move"
depends_on = [
    "mindroom.constants",
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.conversation_reads",
    "mindroom.matrix.sidecar_content",
    "mindroom.thread_tags",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.events",
]

[[modules]]
path = "mindroom.custom_tools.thread_resolution"
depends_on = [
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.thread_tags",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.custom_tools.thread_tags"
depends_on = [
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.matrix.room_history_reads",
    "mindroom.thread_tag_vocabulary",
    "mindroom.thread_tags",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.custom_tools.thread_model"
depends_on = [
    "mindroom.thread_models",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.tool_function",
    "mindroom.turn_model",
]

[[modules]]
path = "mindroom.custom_tools.matrix_agent_discovery"
depends_on = [
    "mindroom.agent_descriptions",
    "mindroom.contacts.turns",
    "mindroom.entity_resolution",
    "mindroom.responder_availability",
    "mindroom.teams",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.delivery_gateway"
depends_on = [
    "mindroom.cancellation",
    "mindroom.failure_text",
    "mindroom.response_lifecycle",
    "mindroom.constants",
    "mindroom.event_journal",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.room_history_reads",
    "mindroom.event_journal.matrix_delivery",
    "mindroom.reply_lifecycle",
    "mindroom.reply_presentation",
    "mindroom.reply_scope",
    "mindroom.runtime_protocols",
    "mindroom.streaming",
    "mindroom.interactive",
    "mindroom.stop",
]

[[modules]]
path = "mindroom.edit_regenerator"
depends_on = [
    "mindroom.entity_resolution",
    "mindroom.hooks",
    "mindroom.matrix.client_visible_messages",
    "mindroom.reply_lifecycle",
    "mindroom.response_admission",
    "mindroom.response_sources",
    "mindroom.runtime_protocols",
    "mindroom.timestamp_formatting",
    "mindroom.turn_policy",
    "mindroom.turn_record",
    "mindroom.turn_store",
    "mindroom.turns.dispatch",
    "mindroom.reply_turn.request",
]

[[modules]]
path = "mindroom.execution_preparation"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.history.conversation_text",
    "mindroom.history.request_messages",
    "mindroom.history.request_size",
    "mindroom.history.runtime",
    "mindroom.history.storage",
    "mindroom.history.types",
    "mindroom.llm",
    "mindroom.matrix.client_visible_messages",
    "mindroom.prompt_message_tags",
    "mindroom.streaming",
    "mindroom.timestamp_formatting",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_system.events",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.attachments.media"
depends_on = [
    "mindroom.llm",
]

[[modules]]
path = "mindroom.history"
depends_on = []

[[modules]]
path = "mindroom.history.manual"
depends_on = [
    "mindroom.history.policy",
    "mindroom.history.session_context",
    "mindroom.history.storage",
    "mindroom.session_storage.lanes",
    "mindroom.turn_model",
]

[[modules]]
path = "mindroom.history.request_messages"
depends_on = [
    "mindroom.history.message_content",
    "mindroom.history.summary_message",
    "mindroom.history.run_visibility",
    "mindroom.llm",
]

# The stored tool-call shapes earlier releases wrote, which the conversion to storage v2 stores in the current shape.
[[modules]]
path = "mindroom.history.legacy_stored_tool_calls"
depends_on = ["mindroom.history.message_content"]
visibility = ["mindroom.session_storage.legacy_agno3_conversion"]

[[modules]]
path = "mindroom.history.summary_message"
depends_on = ["mindroom.llm"]
visibility = [
    "mindroom.history.conversation_text",
    "mindroom.history.interrupted_replay",
    "mindroom.history.mid_turn_compaction",
    "mindroom.history.native",
    "mindroom.history.replay",
    "mindroom.history.request_messages",
]

[[modules]]
path = "mindroom.history.compaction"
depends_on = [
    "mindroom.session_storage.lanes",
    "mindroom.session_storage.store",
    "mindroom.history.conversation_text",
    "mindroom.history.replay",
    "mindroom.history.storage",
    "mindroom.history.summary_call",
    "mindroom.history.summary_input",
    "mindroom.history.types",
    "mindroom.hooks",
    "mindroom.llm",
    "mindroom.native_compaction",
    "mindroom.providers.names",
    "mindroom.providers.registry",
    "mindroom.failure_text",
    "mindroom.tool_system.runtime_context",
]

[[modules]]
path = "mindroom.history.request_size"
depends_on = [
    "mindroom.history.native",
    "mindroom.history.request_messages",
    "mindroom.llm",
    "mindroom.model_usage",
    "mindroom.native_compaction",
]
visibility = ["mindroom.execution_preparation", "mindroom.history.mid_turn_compaction"]

[[modules]]
path = "mindroom.history.summary_call"
depends_on = [
    "mindroom.cancellation",
    "mindroom.history.types",
    "mindroom.llm",
]

[[modules]]
path = "mindroom.history.policy"
depends_on = [
    "mindroom.history.types",
]

[[modules]]
path = "mindroom.history.native"
depends_on = [
    "mindroom.history.replay",
    "mindroom.history.summary_message",
    "mindroom.history.types",
    "mindroom.native_compaction",
]
visibility = [
    "mindroom.ai",
    "mindroom.approval.resume",
    "mindroom.history.request_size",
    "mindroom.history.runtime",
    "mindroom.teams",
]

[[modules]]
path = "mindroom.native_compaction"
depends_on = [
    "mindroom.llm",
]
visibility = [
    "mindroom.providers.anthropic.messages",
    "mindroom.providers.anthropic.native_compaction",
    "mindroom.providers.anthropic.legacy_stored_turns",
    "mindroom.history.replay",
    "mindroom.history.native",
    "mindroom.history.request_size",
    "mindroom.history.compaction",
    "mindroom.providers.openai",
]

[[modules]]
path = "mindroom.providers.anthropic"
depends_on = []

[[modules]]
path = "mindroom.providers.anthropic.settings"
depends_on = ["mindroom.providers.extra_kwargs"]

[[modules]]
path = "mindroom.providers.anthropic.repairs"
depends_on = ["mindroom.llm", "mindroom.providers.claude_wire_blocks"]
visibility = [
    "mindroom.providers.anthropic.legacy_stored_turns",
    "mindroom.providers.anthropic.prompt_cache",
    "mindroom.providers.anthropic.wire",
]

[[modules]]
path = "mindroom.providers.anthropic.legacy_stored_turns"
depends_on = [
    "mindroom.native_compaction",
    "mindroom.providers.anthropic.repairs",
    "mindroom.providers.claude_wire_blocks",
]
visibility = ["mindroom.providers.anthropic.native_compaction", "mindroom.providers.anthropic.stored_turns"]

[[modules]]
path = "mindroom.providers.anthropic.stored_turns"
depends_on = [
    "mindroom.llm",
    "mindroom.providers.anthropic.legacy_stored_turns",
    "mindroom.providers.claude_wire_blocks",
]
visibility = ["mindroom.providers.anthropic.prompt_cache", "mindroom.providers.anthropic.wire"]

[[modules]]
path = "mindroom.providers.anthropic.wire"
depends_on = [
    "mindroom.llm",
    "mindroom.providers.anthropic.repairs",
    "mindroom.providers.anthropic.stored_turns",
    "mindroom.providers.claude_wire_blocks",
    "mindroom.providers.media_files",
]
visibility = ["mindroom.providers.anthropic.messages"]

[[modules]]
path = "mindroom.providers.cache_ladder"
depends_on = ["mindroom.hooks.enrichment", "mindroom.providers.claude_wire_blocks"]
visibility = [
    "mindroom.providers.anthropic.prompt_cache",
    "mindroom.providers.openai",
]

[[modules]]
path = "mindroom.providers.anthropic.prompt_cache"
depends_on = [
    "mindroom.providers.anthropic.repairs",
    "mindroom.providers.anthropic.stored_turns",
    "mindroom.providers.cache_ladder",
    "mindroom.providers.claude_wire_blocks",
]
visibility = ["mindroom.providers.anthropic.messages"]

[[modules]]
path = "mindroom.providers.anthropic.native_compaction"
depends_on = [
    "mindroom.native_compaction",
    "mindroom.providers.anthropic.legacy_stored_turns",
    "mindroom.providers.claude_wire_blocks",
]
visibility = ["mindroom.providers.anthropic.messages"]

[[modules]]
path = "mindroom.providers.anthropic.messages"
depends_on = [
    "mindroom.constants",
    "mindroom.llm",
    "mindroom.native_compaction",
    "mindroom.providers.anthropic.native_compaction",
    "mindroom.providers.anthropic.prompt_cache",
    "mindroom.providers.anthropic.settings",
    "mindroom.providers.anthropic.wire",
    "mindroom.providers.assistant_turn",
    "mindroom.providers.claude_wire_blocks",
    "mindroom.providers.credentials",
    "mindroom.providers.errors",
    "mindroom.providers.extra_kwargs",
    "mindroom.providers.google_adc",
    "mindroom.providers.identity",
    "mindroom.providers.names",
    "mindroom.tool_system.dependencies",
]

[[modules]]
path = "mindroom.session_storage.summary_rows"
depends_on = [
    "mindroom.session_storage.schema",
    "mindroom.session_storage.store",
]
visibility = [
    "mindroom.history.storage",
    "mindroom.history.mid_turn_compaction",
    "mindroom.history.session_runs",
]

[[modules]]
path = "mindroom.history.storage"
depends_on = [
    "mindroom.session_storage.agent_storage",
    "mindroom.session_storage.lanes",
    "mindroom.session_storage.store",
    "mindroom.session_storage.summary_rows",
    "mindroom.constants",
    "mindroom.history.run_visibility",
    "mindroom.history.types",
    "mindroom.session_storage.types",
]

[[modules]]
path = "mindroom.session_storage.legacy_scope_metadata"
depends_on = ["mindroom.constants", "mindroom.session_storage.schema", "mindroom.session_storage.store"]
visibility = ["mindroom.session_storage.legacy_compaction_state", "mindroom.session_storage.legacy_session_columns"]

[[modules]]
path = "mindroom.history.types"
depends_on = []

[[modules]]
path = "mindroom.history.interrupted_replay"
depends_on = [
    "mindroom.constants",
    "mindroom.history.storage",
    "mindroom.history.summary_message",
    "mindroom.prompt_message_tags",
    "mindroom.tool_system.events",
    "mindroom.llm",
]
visibility = [
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.ai",
    "mindroom.history.turn_recorder",
    "mindroom.matrix_rtc.call_tools",
    "mindroom.reply_turn.enrichment",
    "mindroom.teams",
    "mindroom.history.conversation_text",
    "mindroom.response_turn",
]

[[modules]]
path = "mindroom.history.turn_recorder"
depends_on = [
    "mindroom.history.interrupted_replay",
    "mindroom.llm",
]
visibility = [
    "mindroom.matrix_rtc.call_tools",
    "mindroom.response_runner",
    "mindroom.response_turn",
]

[[modules]]
path = "mindroom.history.runtime"
depends_on = [
    "mindroom.session_storage.lanes",
    "mindroom.history.compaction",
    "mindroom.history.native",
    "mindroom.history.policy",
    "mindroom.history.replay",
    "mindroom.history.storage",
    "mindroom.history.summary_call",
    "mindroom.history.types",
    "mindroom.failure_text",
    "mindroom.turn_model",
]

[[modules]]
path = "mindroom.hooks"
depends_on = [
    "mindroom.hooks.context",
    "mindroom.hooks.decorators",
    "mindroom.hooks.enrichment",
    "mindroom.hooks.execution",
    "mindroom.hooks.ingress",
    "mindroom.hooks.matrix_admin",
    "mindroom.hooks.registry",
    "mindroom.hooks.sender",
    "mindroom.hooks.state",
    "mindroom.hooks.types",
]

[[modules]]
path = "mindroom.hooks.decorators"
depends_on = ["mindroom.hooks.types"]

[[modules]]
path = "mindroom.hooks.enrichment"
depends_on = []

[[modules]]
path = "mindroom.hooks.execution"
depends_on = [
    "mindroom.hooks.context",
    "mindroom.hooks.types",
    "mindroom.tool_system.tool_environment",
]

[[modules]]
path = "mindroom.hooks.ingress"
depends_on = [
    "mindroom.constants",
    "mindroom.hooks.context",
    "mindroom.hooks.enrichment",
    "mindroom.hooks.execution",
    "mindroom.hooks.types",
]

[[modules]]
path = "mindroom.hooks.registry"
depends_on = [
    "mindroom.automations.registry",
    "mindroom.hooks.decorators",
    "mindroom.hooks.types",
]

[[modules]]
path = "mindroom.hooks.state"
depends_on = []

[[modules]]
path = "mindroom.hooks.types"
depends_on = []

[[modules]]
path = "mindroom.hooks.matrix_admin"
depends_on = [
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix_identifiers",
]

[[modules]]
path = "mindroom.matrix.appservice"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.client_session",
]
visibility = ["mindroom.matrix.users"]

[[modules]]
path = "mindroom.matrix.provisioning"
depends_on = [
    "mindroom.http_error_detail",
    "mindroom.matrix.client_session",
    "mindroom.matrix.provisioning_env",
]

[[modules]]
path = "mindroom.matrix.provisioning_heartbeat"
depends_on = [
    "mindroom.matrix.provisioning",
    "mindroom.matrix.provisioning_env",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.matrix.provisioning_env"
depends_on = [
    # Shared hosted-service URL recognition and runtime selection for startup and CLI pairing.
    "mindroom.constants",
    "mindroom.matrix.client_session",
]

[[modules]]
path = "mindroom.matrix.room_cleanup"
depends_on = [
    "mindroom.entity_resolution",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.rooms",
    "mindroom.matrix.state",
]

[[modules]]
path = "mindroom.matrix.rooms"
depends_on = [
    "mindroom.matrix.room_reconciliation",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.state",
    "mindroom.matrix.users",
    "mindroom.matrix_identifiers",
    "mindroom.topic_generator",
]

[[modules]]
path = "mindroom.matrix.state"
depends_on = [
    "mindroom.atomic_file",
    "mindroom.constants",
    "mindroom.matrix.legacy_state",
    "mindroom.matrix_identifiers",
]

[[modules]]
path = "mindroom.matrix.legacy_state"
depends_on = []

[[modules]]
path = "mindroom.matrix.users"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.appservice",
    "mindroom.matrix._owned_session",
    "mindroom.matrix.client_session",
    "mindroom.matrix.cross_signing",
    "mindroom.matrix.provisioning",
    "mindroom.matrix.provisioning_env",
    "mindroom.matrix.state",
    "mindroom.matrix_identifiers",
]

[[modules]]
path = "mindroom.orchestration.config_lifecycle"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.main",
    "mindroom.config.load_attempt",
    "mindroom.config.main",
    "mindroom.config.yaml_includes",
    "mindroom.config.reload_status",
    "mindroom.event_journal.opening",
    "mindroom.orchestration.runtime",
    "mindroom.tool_jobs.settings",
]

[[modules]]
path = "mindroom.orchestration.external_trigger_runtime"
depends_on = [
    "mindroom.api.main",
    "mindroom.constants",
    "mindroom.matrix.client_room_admin",
]

[[modules]]
path = "mindroom.orchestration.todo_poke_runtime"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_room_admin",
    "mindroom.scheduling.tasks",
]

[[modules]]
path = "mindroom.orchestration.runtime"
depends_on = ["mindroom.cancellation", "mindroom.matrix.client_session", "mindroom.constants"]

[[modules]]
path = "mindroom.orchestration.script_runtime"
depends_on = [
    "mindroom.approval.manager",
    "mindroom.orchestration.runtime",
    "mindroom.origins",
    "mindroom.response_activity",
    "mindroom.script_runs.recovery",
    "mindroom.script_runs.worker_client",
    "mindroom.approval.tool_approval",
    "mindroom.tool_system.worker_routing",
    "mindroom.runtime_resolution",
    "mindroom.workers.backend_kinds",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.orchestration.rooms"
depends_on = [
    "mindroom.matrix.room_accounts",
    "mindroom.matrix.room_thread_mode",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.room_reconciliation",
    "mindroom.matrix.rooms",
    "mindroom.matrix.state",
    "mindroom.matrix.users",
    "mindroom.matrix_identifiers",
]

[[modules]]
path = "mindroom.orchestration.accounts"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.users",
    "mindroom.orchestration.runtime",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.orchestrator"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.agent_cli.session",
    "mindroom.api.startup_probes",
    "mindroom.approval.manager",
    "mindroom.approval.recovery",
    "mindroom.matrix_rtc.call_manager",
    "mindroom.knowledge.status",
    "mindroom.knowledge.refresh_scheduler",
    "mindroom.orchestration.accounts",
    "mindroom.orchestration.call_transcripts_runtime",
    "mindroom.orchestration.computer_runtime",
    "mindroom.orchestration.plugin_http_runtime",
    "mindroom.agent_reply_membership_sync",
    "mindroom.agents",
    "mindroom.api.main",
    "mindroom.api.plugin_origins",
    "mindroom.api.script_gateway",
    "mindroom.approval.transport",
    "mindroom.bot",
    "mindroom.constants",
    "mindroom.delegation.recovery",
    "mindroom.desktop.identity",
    "mindroom.embeddings.embedder_health",
    "mindroom.event_journal.opening",
    "mindroom.hooks",
    "mindroom.integrations",
    "mindroom.knowledge.watch",
    "mindroom.matrix.provisioning_heartbeat",
    "mindroom.matrix.users",
    "mindroom.mcp.manager",
    "mindroom.mcp.toolkit",
    "mindroom.memory",
    "mindroom.memory.legacy_team_memory",
    "mindroom.orchestration.config_lifecycle",
    "mindroom.orchestration.external_trigger_runtime",
    "mindroom.orchestration.rooms",
    "mindroom.orchestration.runtime",
    "mindroom.orchestration.script_runtime",
    "mindroom.orchestration.storage_preparation",
    "mindroom.orchestration.todo_poke_runtime",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.plugin_lifecycle",
    "mindroom.response_activity",
    "mindroom.response_admission",
    "mindroom.scheduling.runtime",
    "mindroom.thread_export.workspace_sync",
    "mindroom.approval.tool_approval",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.skills",
    "mindroom.automations.runner",
    "mindroom.skill_learning.runner",
    "mindroom.knowledge_graph.runtime",
    "mindroom.egress_broker",
    "mindroom.listening.service",
]

[[modules]]
path = "mindroom.reply_turn.enrichment"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.history.interrupted_replay",
    "mindroom.hooks",
    "mindroom.matrix.client_visible_messages",
    "mindroom.memory",
    "mindroom.reply_lifecycle",
    "mindroom.teams",
    "mindroom.user_turn_time",
]
visibility = ["mindroom.response_runner", "mindroom.approval.continuation_runner"]

[[interfaces]]
from = ["mindroom.reply_turn.enrichment"]
expose = [
    "interrupted_attempt_model_prompt",
    "matrix_message_target_item",
    "prepare_memory_and_model_context",
    "with_matrix_message_target",
    "with_silent_schedule_delivery",
]

[[modules]]
path = "mindroom.reply_turn.request"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.typing",
    "mindroom.response_sources",
]
visibility = [
    "mindroom.approval.continuation_runner",
    "mindroom.edit_regenerator",
    "mindroom.reply_turn.locked_turn",
    "mindroom.response_payload_preparation",
    "mindroom.response_runner",
    "mindroom.turns.dispatch",
    "mindroom.turns.interactive_selection",
]

[[modules]]
path = "mindroom.reply_turn.locked_turn"
depends_on = [
    "mindroom.ai_runtime",
    "mindroom.automations.steps",
    "mindroom.config.resolution",
    "mindroom.contacts.turns",
    "mindroom.conversation_state_writer",
    "mindroom.delivery_gateway",
    "mindroom.entity_resolution",
    "mindroom.failure_text",
    "mindroom.judgment.conversation",
    "mindroom.memory",
    "mindroom.orchestration.runtime",
    "mindroom.reply_lifecycle",
    "mindroom.reply_scope",
    "mindroom.reply_turn.request",
    "mindroom.response_attempt",
    "mindroom.response_lifecycle",
    "mindroom.response_turn",
    "mindroom.streaming",
    "mindroom.thread_summary",
]
visibility = [
    "mindroom.bot",
    "mindroom.response_runner",
]

[[modules]]
path = "mindroom.reply_turn.inbox"
depends_on = [
    "mindroom.bot_runtime_view",
    "mindroom.orchestration.runtime",
    "mindroom.response_admission",
]
visibility = ["mindroom.bot"]

[[interfaces]]
from = ["mindroom.reply_turn.inbox"]
expose = ["InboxResponses"]

[[modules]]
path = "mindroom.response_runner"
depends_on = [
    "mindroom.agent_modes",
    "mindroom.agent_run_context",
    "mindroom.ai",
    "mindroom.ai_run_metadata",
    "mindroom.approval.response",
    "mindroom.constants",
    "mindroom.contacts.turns",
    "mindroom.conversation_state_writer",
    "mindroom.delivery_gateway",
    "mindroom.history.storage",
    "mindroom.history.turn_recorder",
    "mindroom.judgment.cold_cache",
    "mindroom.matrix.guarded_rooms",
    "mindroom.mid_turn_judgment",
    "mindroom.orchestration.runtime",
    "mindroom.participation",
    "mindroom.participation_judgment",
    "mindroom.post_response_effects",
    "mindroom.reply_lifecycle",
    "mindroom.reply_presentation",
    "mindroom.reply_scope",
    "mindroom.reply_turn.enrichment",
    "mindroom.response_activity",
    "mindroom.response_admission",
    "mindroom.response_sources",
    "mindroom.response_turn",
    "mindroom.runtime_resolution",
    "mindroom.skill_learning.capture",
    "mindroom.streaming",
    "mindroom.teams",
    "mindroom.thread_models",
    "mindroom.tool_jobs.follow_ups",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.events",
    "mindroom.turn_record",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.runtime_context",
    "mindroom.config.resolution",
    "mindroom.turn_model",
    "mindroom.reply_turn.locked_turn",
    "mindroom.reply_turn.request",
]

[[modules]]
path = "mindroom.response_sources"
depends_on = []
visibility = [
    "mindroom.edit_regenerator",
    "mindroom.event_journal",
    "mindroom.reply_scope",
    "mindroom.response_runner",
    "mindroom.turns.dispatch",
    "mindroom.turns.interactive_selection",
    "mindroom.visible_response_reconciliation",
    "mindroom.reply_turn.request",
]

[[modules]]
path = "mindroom.response_admission"
depends_on = []
visibility = [
    "mindroom.api.external_triggers",
    "mindroom.bot_runtime_view",
    "mindroom.edit_regenerator",
    "mindroom.listening.service",
    "mindroom.matrix_rtc.call_manager",
    "mindroom.orchestrator",
    "mindroom.reply_turn.inbox",
    "mindroom.response_runner",
    "mindroom.slack.delivery",
    "mindroom.slack.turns",
    "mindroom.slack.watch_delivery",
    "mindroom.turns.dispatch",
]

[[modules]]
path = "mindroom.response_lifecycle"
depends_on = [
    "mindroom.cancellation",
    "mindroom.constants",
    "mindroom.tool_jobs.control",
    "mindroom.mid_turn",
    "mindroom.ai_runtime",
    "mindroom.hooks",
    "mindroom.post_response_effects",
    "mindroom.streaming",
]
visibility = [
    "mindroom.bot",
    "mindroom.delivery_gateway",
    "mindroom.turns.interactive_selection",
    "mindroom.reply_turn.locked_turn",
]

[[modules]]
path = "mindroom.response_attempt"
depends_on = [
    "mindroom.cancellation",
    "mindroom.orchestration.runtime",
    "mindroom.streaming",
]
visibility = ["mindroom.reply_turn.locked_turn"]

[[modules]]
path = "mindroom.responder_availability"
depends_on = [
    "mindroom.entity_resolution",
    "mindroom.teams",
]
visibility = [
    "mindroom.custom_tools.matrix_agent_discovery",
    "mindroom.turn_policy",
]

[[modules]]
path = "mindroom.routing"
depends_on = [
    "mindroom.helper_usage",
    "mindroom.routing_judgment",
    "mindroom.agent_descriptions",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_visible_messages",
    "mindroom.providers.registry",
    "mindroom.agent_loop.helper",
    "mindroom.tool_system.events",
    "mindroom.turn_model",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.teams"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.agent_loop.build",
    "mindroom.agent_loop.helper",
    "mindroom.agent_loop.prompt",
    "mindroom.agent_policy",
    "mindroom.agent_run_context",
    "mindroom.agents",
    "mindroom.ai",
    "mindroom.ai_run_metadata",
    "mindroom.approval.receipt_readers",
    "mindroom.approval.resume",
    "mindroom.approval.tool_owners",
    "mindroom.constants",
    "mindroom.delegation.execution",
    "mindroom.delegation.state",
    "mindroom.entity_resolution",
    "mindroom.execution_preparation",
    "mindroom.helper_usage",
    "mindroom.history.interrupted_replay",
    "mindroom.history.mid_turn_compaction",
    "mindroom.history.native",
    "mindroom.history.replay",
    "mindroom.history.request_messages",
    "mindroom.history.runtime",
    "mindroom.history.session_context",
    "mindroom.hooks",
    "mindroom.knowledge.utils",
    "mindroom.llm",
    "mindroom.loop_hooks",
    "mindroom.metadata_merge",
    "mindroom.prompt_templates",
    "mindroom.providers.registry",
    "mindroom.response_turn",
    "mindroom.run_storage",
    "mindroom.tool_jobs.consumption",
    "mindroom.tool_jobs.execution_scope",
    "mindroom.tool_jobs.notices",
    "mindroom.tool_jobs.settings",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.tool_schema",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.events",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.runtime_context",
    "mindroom.config.resolution",
    "mindroom.turn_model",
]
visibility = [
    "mindroom.api.openai_compat",
    "mindroom.approval.continuation_runner",
    "mindroom.custom_tools.matrix_agent_discovery",
    "mindroom.reply_turn.enrichment",
    "mindroom.responder_availability",
    "mindroom.response_runner",
    "mindroom.turn_policy",
    "mindroom.turns.dispatch",
]
[[modules]]
path = "mindroom.config.worker_projection"
depends_on = ["mindroom.config.models"]

# ARCH-B memory enforcement slice: keep public memory config types owned by config.
[[modules]]
path = "mindroom.config.memory"
depends_on = [
    "mindroom.config.models",
    "mindroom.config.schema_hints",
    "mindroom.path_globs",
    "mindroom.providers.names",
]

[[modules]]
path = "mindroom.config.models"
depends_on = [
    "mindroom.config.judgment",
    "mindroom.config.automations",
    "mindroom.constants",
    "mindroom.credentials.policy",
    "mindroom.providers.names",
    "mindroom.tool_system.worker_routing",
    "mindroom.config.schema_hints",
]

[[modules]]
path = "mindroom.config.yaml_includes"
depends_on = []

[[modules]]
path = "mindroom.config.main"
depends_on = [
    "mindroom.config.contacts",
    "mindroom.config.judgment",
    "mindroom.agent_policy",
    "mindroom.config.memory",
    "mindroom.config.models",
    "mindroom.config.yaml_includes",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.git_urls",
    "mindroom.integrations",
    "mindroom.matrix_identifiers",
    "mindroom.prompt_templates",
    "mindroom.prompts",
    "mindroom.room_reply_modes",
    "mindroom.room_thread_modes",
    "mindroom.tool_system.catalog",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.worker_routing",
    "mindroom.config.schema_hints",
    "mindroom.config.knowledge_graph",
    "mindroom.config.egress_broker",
    "mindroom.providers.registry",
    "mindroom.config.resolution",
    "mindroom.tool_system.plugins",
    "mindroom.delegation.personas",
]

# ARCH-B memory enforcement slice: keep memory consumers on the package facade.
[[modules]]
path = "mindroom.memory"
depends_on = [
    "mindroom.memory.auto_flush",
    "mindroom.memory.functions",
    "mindroom.memory._entrypoint_snapshots",
    "mindroom.memory._file_backend",
    "mindroom.memory._prompting",
    "mindroom.memory._shared",
]

[[modules]]
path = "mindroom.user_turn_time"
depends_on = ["mindroom.memory", "mindroom.timestamp_formatting"]
visibility = ["mindroom.reply_turn.enrichment"]

[[modules]]
path = "mindroom.timestamp_formatting"
depends_on = []
visibility = [
    "mindroom.bot",
    "mindroom.edit_regenerator",
    "mindroom.execution_preparation",
    "mindroom.listening.turn",
    "mindroom.turn_record",
    "mindroom.turns.dispatch",
    "mindroom.user_turn_time",
]

[[modules]]
path = "mindroom.prompt_message_tags"
depends_on = []
visibility = [
    "mindroom.execution_preparation",
    "mindroom.history.interrupted_replay",
    "mindroom.history.conversation_text",
    "mindroom.listening.turn",
]

[[modules]]
path = "mindroom.memory_scope_ids"
depends_on = []
visibility = [
    "mindroom.knowledge.file_memory_knowledge",
    "mindroom.memory._file_backend",
    "mindroom.memory._mem0_backend",
]

[[modules]]
path = "mindroom.memory._policy"
depends_on = ["mindroom.config.resolution"]
visibility = [
    "mindroom.memory._backend",
    "mindroom.memory._file_backend",
    "mindroom.memory._mem0_backend",
    "mindroom.memory.legacy_team_memory",
]

[[modules]]
path = "mindroom.memory.legacy_team_memory"
depends_on = [
    "mindroom.constants",
    "mindroom.embeddings.factory",
    "mindroom.memory._file_backend",
    "mindroom.memory._policy",
    "mindroom.memory._shared",
    "mindroom.memory.config",
    "mindroom.config.resolution",
    "mindroom.path_confinement",
    "mindroom.tool_system.dependencies",
    "mindroom.tool_system.worker_routing",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.memory._backend"
depends_on = [
    "mindroom.memory._file_backend",
    "mindroom.memory._mem0_backend",
    "mindroom.memory._policy",
    "mindroom.memory.config",
]
visibility = ["mindroom.memory.functions"]

[[modules]]
path = "mindroom.memory.auto_flush"
depends_on = [
    "mindroom.constants",
    "mindroom.contacts.turns",
    "mindroom.helper_usage",
    "mindroom.history.conversation_text",
    "mindroom.history.session_runs",
    "mindroom.llm",
    "mindroom.session_storage.agent_storage",
    "mindroom.memory._prompting",
    "mindroom.memory.functions",
    "mindroom.memory.legacy_auto_flush",
    "mindroom.providers.registry",
    "mindroom.agent_loop.helper",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.worker_routing",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.memory.legacy_auto_flush"
depends_on = ["mindroom.history.session_runs"]
visibility = ["mindroom.memory.auto_flush"]

[[modules]]
path = "mindroom.memory._entrypoint_snapshots"
depends_on = ["mindroom.constants"]
visibility = ["mindroom.memory", "mindroom.memory.functions"]

[[modules]]
path = "mindroom.memory.functions"
depends_on = [
    "mindroom.memory._backend",
    "mindroom.memory._entrypoint_snapshots",
    "mindroom.memory._file_backend",
    "mindroom.memory._prompting",
    "mindroom.memory._shared",
    "mindroom.prompt_templates",
]
visibility = ["mindroom.memory", "mindroom.memory.auto_flush"]

[[modules]]
path = "mindroom.memory._shared"
depends_on = []
visibility = [
    "mindroom.memory",
    "mindroom.memory._file_backend",
    "mindroom.memory._mem0_backend",
    "mindroom.memory._semantic_file_search",
    "mindroom.memory.functions",
    "mindroom.memory.legacy_team_memory",
]

[[modules]]
path = "mindroom.memory.config"
depends_on = [
    "mindroom.embeddings.errors",
    "mindroom.embeddings.factory",
    "mindroom.memory._mem0_usage",
    "mindroom.providers.ollama.errors",
    "mindroom.tool_system.dependencies",
]
visibility = [
    "mindroom.cli.doctor",
    "mindroom.memory._backend",
    "mindroom.memory._mem0_backend",
    "mindroom.memory.legacy_team_memory",
]

[[modules]]
path = "mindroom.memory._mem0_usage"
depends_on = ["mindroom.llm", "mindroom.providers.names"]
visibility = ["mindroom.memory._mem0_backend", "mindroom.memory.config"]

[[modules]]
path = "mindroom.memory._file_backend"
depends_on = [
    "mindroom.atomic_file",
    "mindroom.embeddings.errors",
    "mindroom.memory._policy",
    "mindroom.memory._prompting",
    "mindroom.memory._shared",
    "mindroom.memory._semantic_file_search",
    "mindroom.memory_scope_ids",
    "mindroom.path_confinement",
    "mindroom.runtime_resolution",
    "mindroom.config.resolution",
]
visibility = [
    "mindroom.memory",
    "mindroom.memory._backend",
    "mindroom.memory.functions",
    "mindroom.memory.legacy_team_memory",
]

[[modules]]
path = "mindroom.memory._semantic_file_search"
depends_on = [
    "mindroom.knowledge.utils",
    "mindroom.knowledge.refresh_scheduler",
    "mindroom.knowledge.file_listing",
    "mindroom.knowledge.availability",
    "mindroom.embeddings.errors",
    "mindroom.knowledge.file_memory_knowledge",
    "mindroom.knowledge.read_protocol",
    "mindroom.memory._shared",
]
visibility = ["mindroom.memory._file_backend"]

[[modules]]
path = "mindroom.memory._mem0_backend"
depends_on = [
    "mindroom.embeddings.embedder_health",
    "mindroom.embeddings.errors",
    "mindroom.helper_usage",
    "mindroom.memory._mem0_usage",
    "mindroom.memory._policy",
    "mindroom.memory._prompting",
    "mindroom.memory._shared",
    "mindroom.memory.config",
    "mindroom.memory_scope_ids",
    "mindroom.runtime_resolution",
    "mindroom.session_storage.agent_storage",
]
visibility = ["mindroom.memory._backend"]

[[modules]]
path = "mindroom.memory._prompting"
depends_on = ["mindroom.prompt_templates", "mindroom.tool_system.events"]
visibility = [
    "mindroom.memory",
    "mindroom.memory._file_backend",
    "mindroom.memory._mem0_backend",
    "mindroom.memory.auto_flush",
    "mindroom.memory.functions",
]

[[modules]]
path = "mindroom.prompt_templates"
depends_on = ["mindroom.prompts"]
visibility = [
    "mindroom.agents",
    "mindroom.config.main",
    "mindroom.memory._prompting",
    "mindroom.memory.functions",
    "mindroom.teams",
]

[[modules]]
path = "mindroom.prompts"
depends_on = []
visibility = [
    "mindroom.config.main",
    "mindroom.prompt_templates",
]

[[modules]]
path = "mindroom.topic_generator"
depends_on = [
    "mindroom.helper_usage",
    "mindroom.matrix.room_reconciliation",
    "mindroom.entity_resolution",
    "mindroom.matrix.state",
    "mindroom.providers.registry",
    "mindroom.agent_loop.helper",
]

[[modules]]
path = "mindroom.mcp.manager"
depends_on = [
    "mindroom.mcp.registry",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.tool_system.filters",
    "mindroom.failure_text",
]

[[modules]]
path = "mindroom.mcp.registry"
depends_on = [
    "mindroom.mcp.toolkit",
    "mindroom.tool_system.catalog",
]

[[modules]]
path = "mindroom.mcp.toolkit"
depends_on = ["mindroom.tool_system.authoring", "mindroom.tool_system.filters"]
visibility = [
    "mindroom.agents",
    "mindroom.approval.tool_owners",
    "mindroom.mcp.registry",
    "mindroom.mcp_gateway.toolkits",
    "mindroom.orchestrator",
    "mindroom.tool_jobs.provenance",
]

[[modules]]
path = "mindroom.matrix.agent_message_snapshot"
depends_on = []

[[modules]]
path = "mindroom.matrix.thread_history_result"
depends_on = []

[[modules]]
path = "mindroom.matrix.sync_continuity"
depends_on = [
    "mindroom.matrix.legacy_sync_continuity",
]
visibility = [
    "mindroom.bot",
]

[[modules]]
path = "mindroom.matrix.legacy_sync_continuity"
depends_on = []
visibility = ["mindroom.matrix.sync_continuity"]

[[modules]]
path = "mindroom.bot_runtime_view"
depends_on = ["mindroom.response_admission"]
visibility = [
    "mindroom.bot",
    "mindroom.reply_turn.inbox",
    "mindroom.turns.dispatch",
]

[[modules]]
path = "mindroom.runtime_protocols"
depends_on = []
visibility = [
    "mindroom.bot_room_lifecycle",
    "mindroom.commands.config_confirmation",
    "mindroom.conversation_resolver",
    "mindroom.conversation_state_writer",
    "mindroom.delivery_gateway",
    "mindroom.edit_regenerator",
    "mindroom.hooks.context",
    "mindroom.inbound_turn_normalizer",
    "mindroom.knowledge.utils",
    "mindroom.matrix.conversation_hydration",
    "mindroom.post_response_effects",
    "mindroom.turn_policy",
]

[[modules]]
path = "mindroom.constants"
depends_on = ["mindroom.atomic_file", "mindroom.providers.names"]

[[modules]]
path = "mindroom.matrix_identifiers"
depends_on = ["mindroom.constants"]

[[modules]]
path = "mindroom.cancellation"
depends_on = []

[[modules]]
path = "mindroom.stop"
depends_on = [
    "mindroom.cancellation",
    "mindroom.matrix.client_delivery",
]

[[modules]]
path = "mindroom.interactive"
depends_on = [
    "mindroom.interactive_models",
    "mindroom.matrix.client_delivery",
]

[[modules]]
path = "mindroom.custom_tools.matrix_api"
depends_on = [
    "mindroom.constants",
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.custom_tools.matrix_helpers",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.reserved_content",
    "mindroom.matrix.thread_mutation_impact",
    "mindroom.tool_system.authoring",
]

[[modules]]
path = "mindroom.matrix.guarded_rooms"
depends_on = []
visibility = [
    "mindroom.custom_tools.matrix_conversation_operations",
    "mindroom.ingress_validation",
    "mindroom.matrix.client_delivery",
    "mindroom.response_runner",
]

[[modules]]
path = "mindroom.ingress_validation"
depends_on = [
    "mindroom.constants",
    "mindroom.contacts.turns",
    "mindroom.entity_resolution",
    "mindroom.matrix.event_info",
    "mindroom.matrix.guarded_rooms",
    "mindroom.turn_record",
]

[[modules]]
path = "mindroom.matrix.client_delivery"
depends_on = ["mindroom.llm", "mindroom.matrix.guarded_rooms"]
visibility = [
    "mindroom.call_transcripts.router_room",
    "mindroom.custom_tools.thread_move",
    "mindroom.matrix.personal_rooms",
    "mindroom.custom_tools.matrix_message_idempotency",
    "mindroom.approval.transport",
    "mindroom.commands.config_confirmation",
    "mindroom.conversation_resolver",
    "mindroom.custom_tools.attachments",
    "mindroom.custom_tools.chat_ui",
    "mindroom.custom_tools.matrix_conversation_operations",
    "mindroom.custom_tools.matrix_voice_message",
    "mindroom.custom_tools.stop_reply",
    "mindroom.delivery_gateway",
    "mindroom.hooks.sender",
    "mindroom.matrix.decrypt_failure",
    "mindroom.matrix_rtc.call_manager",
    "mindroom.matrix_rtc.call_writeback",
    "mindroom.scheduling.executor",
    "mindroom.streaming",
    "mindroom.thread_summary.notices",
    "mindroom.skill_learning.runner",
    "mindroom.custom_tools.matrix_api",
    "mindroom.interactive",
    "mindroom.stop",
    "mindroom.contacts.flow",
]

[[modules]]
path = "mindroom.matrix.voice_message"
depends_on = []
visibility = ["mindroom.custom_tools.matrix_voice_message"]

[[modules]]
path = "mindroom.matrix.history_visibility"
depends_on = []
visibility = [
    "mindroom.orchestration.plugin_http_runtime",
    "mindroom.plugin_http",
]

[[modules]]
path = "mindroom.matrix.room_reconciliation"
depends_on = ["mindroom.matrix.room_power"]
visibility = [
    "mindroom.external_triggers.executor",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.rooms",
    "mindroom.orchestration.plugin_http_runtime",
    "mindroom.orchestration.rooms",
    "mindroom.thread_tags",
    "mindroom.topic_generator",
]

[[modules]]
path = "mindroom.matrix.room_power"
depends_on = []
visibility = [
    "mindroom.call_transcripts.router_room",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.personal_rooms",
    "mindroom.matrix.room_reconciliation",
    "mindroom.plugin_http",
    "mindroom.thread_tags",
]

[[modules]]
path = "mindroom.matrix.client_room_admin"
depends_on = [
    "mindroom.matrix.room_power",
    "mindroom.matrix.room_reconciliation",
    "mindroom.matrix.state",
    "mindroom.thread_tags",
]
visibility = [
    "mindroom.api.schedules",
    "mindroom.custom_tools.thread_move",
    "mindroom.matrix.personal_rooms",
    "mindroom.api.matrix_operations",
    "mindroom.bot",
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.personal_room_lifecycle",
    "mindroom.bot_room_lifecycle",
    "mindroom.commands.encryption_commands",
    "mindroom.commands.room_model_commands",
    "mindroom.commands.thread_mode_commands",
    "mindroom.commands.reply_mode_commands",
    "mindroom.hooks.matrix_admin",
    "mindroom.matrix.room_cleanup",
    "mindroom.matrix.rooms",
    "mindroom.orchestration.external_trigger_runtime",
    "mindroom.orchestration.rooms",
    "mindroom.orchestration.todo_poke_runtime",
    "mindroom.custom_tools.matrix_api",
    "mindroom.contacts.federation",
    "mindroom.contacts.flow",
    "mindroom.matrix.room_accounts",
]

[[modules]]
path = "mindroom.matrix.decrypt_failure"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.event_info",
]
visibility = [
    "mindroom.api.main",
    "mindroom.commands.encryption_commands",
]

[[modules]]
path = "mindroom.matrix.cross_signing"
depends_on = []
visibility = [
    "mindroom.commands.encryption_commands",
    "mindroom.desktop.session",
    "mindroom.matrix.users",
]

[[modules]]
path = "mindroom.matrix.typing"
depends_on = [
    "mindroom.cancellation",
    "mindroom.matrix.client_session",
]
visibility = ["mindroom.reply_turn.request"]

[[modules]]
path = "mindroom.matrix.client_session"
depends_on = ["mindroom.constants", "mindroom.failure_text", "mindroom.tls_trust"]
visibility = [
    "mindroom.bot",
    "mindroom.cli.doctor",
    "mindroom.desktop.session",
    "mindroom.matrix.appservice",
    "mindroom.matrix._owned_session",
    "mindroom.matrix.provisioning",
    "mindroom.matrix.provisioning_env",
    "mindroom.matrix.typing",
    "mindroom.matrix.users",
    "mindroom.orchestration.runtime",
]

[[modules]]
path = "mindroom.matrix._owned_session"
depends_on = [
    "mindroom.event_journal",
    "mindroom.matrix.client_session",
    "mindroom.matrix.legacy_crypto_upgrade",
]
visibility = ["mindroom.matrix.users"]

[[modules]]
path = "mindroom.matrix.legacy_crypto_upgrade"
depends_on = []
visibility = ["mindroom.matrix._owned_session"]

[[modules]]
path = "mindroom.matrix.sync_loop"
depends_on = []
visibility = [
    "mindroom.bot",
]

[[modules]]
path = "mindroom.matrix.olm_to_device"
depends_on = [
    "mindroom.matrix.device_identity",
]

[[modules]]
path = "mindroom.matrix.device_identity"
depends_on = []
visibility = [
    "mindroom.desktop.configuration",
    "mindroom.matrix.olm_to_device",
    "mindroom.desktop.native_config",
]

[[modules]]
path = "mindroom.desktop"
depends_on = []

[[modules]]
path = "mindroom.desktop.filesystem"
depends_on = ["mindroom.path_confinement"]

[[modules]]
path = "mindroom.desktop.shell"
depends_on = ["mindroom.desktop.protocol"]

[[modules]]
path = "mindroom.desktop.login_environment"
depends_on = ["mindroom.constants", "mindroom.desktop.shell"]

[[modules]]
path = "mindroom.desktop.shell_prompt"
depends_on = ["mindroom.desktop.shell"]
visibility = ["mindroom.cli.desktop"]

[[modules]]
path = "mindroom.desktop.bridge_session"
depends_on = [
    "mindroom.desktop.bridge",
    "mindroom.desktop.command_journal",
    "mindroom.desktop.filesystem",
    "mindroom.desktop.login_environment",
    "mindroom.desktop.native_config",
    "mindroom.desktop.playwright_mcp",
    "mindroom.desktop.provider",
    "mindroom.desktop.session",
    "mindroom.desktop.shell",
    "mindroom.desktop.transport",
    "mindroom.matrix.olm_to_device",
]
visibility = ["mindroom.cli.desktop", "mindroom.desktop.native_host"]

[[modules]]
path = "mindroom.desktop.configuration"
depends_on = [
    "mindroom.desktop.protocol",
    "mindroom.matrix.device_identity",
]

[[modules]]
path = "mindroom.desktop.credentials"
depends_on = ["mindroom.tool_system.worker_routing"]
visibility = [
    "mindroom.commands.desktop_commands",
    "mindroom.custom_tools.desktop",
]

[[modules]]
path = "mindroom.desktop.pairing"
depends_on = ["mindroom.desktop.protocol"]

[[modules]]
path = "mindroom.desktop.pairing_receiver"
depends_on = [
    "mindroom.desktop.pairing",
    "mindroom.desktop.protocol",
    "mindroom.matrix.olm_to_device",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.desktop.pairing_client"
depends_on = [
    "mindroom.desktop.transport",
    "mindroom.desktop.protocol",
    "mindroom.desktop.session",
    "mindroom.matrix.olm_to_device",
]
visibility = ["mindroom.cli.desktop", "mindroom.desktop.native_host"]

[[modules]]
path = "mindroom.desktop.login_method"
depends_on = []
visibility = [
    "mindroom.cli.desktop",
    "mindroom.desktop.session",
    "mindroom.desktop.native_host",
]

[[modules]]
path = "mindroom.desktop.cloudflare_access"
depends_on = []
visibility = ["mindroom.cli.desktop", "mindroom.desktop.session"]

[[modules]]
path = "mindroom.desktop.sso"
depends_on = []
visibility = ["mindroom.cli.desktop", "mindroom.desktop.native_host"]

[[modules]]
path = "mindroom.desktop.protocol"
depends_on = ["mindroom.desktop.input", "mindroom.matrix.encrypted_file"]

[[modules]]
path = "mindroom.matrix.encrypted_file"
depends_on = []
visibility = ["mindroom.desktop.protocol"]

[[modules]]
path = "mindroom.desktop.accessibility"
depends_on = []

[[modules]]
path = "mindroom.desktop.provider"
depends_on = [
    "mindroom.desktop.accessibility",
    "mindroom.desktop.displays",
    "mindroom.desktop.input",
    "mindroom.desktop.macos_input",
    "mindroom.desktop.macos_capture",
]

[[modules]]
path = "mindroom.desktop.playwright_mcp"
depends_on = ["mindroom.browser.playwright_mcp_session"]

[[modules]]
path = "mindroom.desktop.command_journal"
depends_on = [
    "mindroom.desktop.legacy_command_journal",
    "mindroom.desktop.protocol",
]

[[modules]]
path = "mindroom.desktop.legacy_command_journal"
depends_on = ["mindroom.desktop.protocol"]
visibility = ["mindroom.desktop.command_journal"]

[[interfaces]]
from = ["mindroom.desktop.legacy_command_journal"]
expose = ["parse_legacy_records"]

[[modules]]
path = "mindroom.desktop.media"
depends_on = [
    "mindroom.desktop.protocol",
]

[[modules]]
path = "mindroom.desktop.client"
depends_on = [
    "mindroom.desktop.protocol",
    "mindroom.matrix.olm_to_device",
]

[[modules]]
path = "mindroom.desktop.command_parameters"
depends_on = ["mindroom.desktop.protocol"]
visibility = [
    "mindroom.desktop.bridge",
    "mindroom.desktop.file_actions",
    "mindroom.desktop.gui_actions",
    "mindroom.desktop.shell_actions",
]

[[modules]]
path = "mindroom.desktop.reply_fitting"
depends_on = ["mindroom.desktop.protocol"]
visibility = ["mindroom.desktop.bridge", "mindroom.desktop.file_actions", "mindroom.desktop.shell_actions"]

[[modules]]
path = "mindroom.desktop.file_actions"
depends_on = [
    "mindroom.desktop.command_parameters",
    "mindroom.desktop.protocol",
    "mindroom.desktop.reply_fitting",
]
visibility = ["mindroom.desktop.bridge"]

[[modules]]
path = "mindroom.desktop.gui_actions"
depends_on = [
    "mindroom.desktop.command_parameters",
    "mindroom.desktop.input",
    "mindroom.desktop.protocol",
]
visibility = ["mindroom.desktop.bridge"]

[[modules]]
path = "mindroom.desktop.shell_actions"
depends_on = [
    "mindroom.desktop.command_parameters",
    "mindroom.desktop.media",
    "mindroom.desktop.protocol",
    "mindroom.desktop.reply_fitting",
    "mindroom.desktop.shell",
]
visibility = ["mindroom.desktop.bridge"]

[[modules]]
path = "mindroom.desktop.bridge"
depends_on = [
    "mindroom.desktop.observations",
    "mindroom.desktop.accessibility",
    "mindroom.desktop.command_journal",
    "mindroom.desktop.command_parameters",
    "mindroom.desktop.file_actions",
    "mindroom.desktop.gui_actions",
    "mindroom.desktop.media",
    "mindroom.desktop.playwright_mcp",
    "mindroom.desktop.protocol",
    "mindroom.desktop.filesystem",
    "mindroom.desktop.shell",
    "mindroom.desktop.shell_actions",
    "mindroom.desktop.provider",
    "mindroom.desktop.reply_fitting",
    "mindroom.matrix.olm_to_device",
]

[[modules]]
path = "mindroom.desktop.session"
depends_on = [
    "mindroom.desktop.cloudflare_access",
    "mindroom.desktop.login_method",
    "mindroom.matrix.client_session",
    "mindroom.matrix.cross_signing",
    "mindroom.matrix.users",
]

[[modules]]
path = "mindroom.desktop.identity"
depends_on = []

[[modules]]
path = "mindroom.matrix.client_visible_messages"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.event_info",
    "mindroom.matrix.message_content",
    "mindroom.matrix.visible_body",
    "mindroom.tool_system.events",
]
visibility = [
    "mindroom.api.openai_request_parsing",
    "mindroom.approval.continuation_runner",
    "mindroom.custom_tools.matrix_conversation_operations",
    "mindroom.custom_tools.matrix_room",
    "mindroom.edit_regenerator",
    "mindroom.execution_preparation",
    "mindroom.inbound_turn_normalizer",
    "mindroom.listening.service",
    "mindroom.matrix.conversation_reads",
    "mindroom.reply_turn.enrichment",
    "mindroom.routing",
    "mindroom.thread_export.selection",
    "mindroom.turns.ingress",
]

[[modules]]
path = "mindroom.matrix.event_info"
depends_on = []

[[modules]]
path = "mindroom.matrix.visible_body"
depends_on = [
    "mindroom.constants",
]
visibility = [
    "mindroom.approval.inbound",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.message_content",
]

[[modules]]
path = "mindroom.matrix.message_content"
depends_on = [
    "mindroom.matrix.sidecar_content",
    "mindroom.matrix.visible_body",
]

[[modules]]
path = "mindroom.matrix.sidecar_content"
depends_on = []

[[modules]]
path = "mindroom.matrix.room_history_reads"
depends_on = [
    "mindroom.matrix.event_info",
]
visibility = [
    "mindroom.approval.transport",
    "mindroom.commands.config_confirmation",
    "mindroom.custom_tools.matrix_room",
    "mindroom.custom_tools.thread_tags",
    "mindroom.delivery_gateway",
    "mindroom.thread_export.execution",
    "mindroom.thread_tags",
    "mindroom.visible_response_reconciliation",
    "mindroom.voice.visible_voice_echo",
]

[[modules]]
path = "mindroom.thread_export"
depends_on = [
    "mindroom.thread_export.models",
    "mindroom.thread_export.service",
    "mindroom.thread_export.storage",
]

[[modules]]
path = "mindroom.thread_export.models"
depends_on = []
visibility = [
    "mindroom.cli.thread_export",
    "mindroom.api.thread_exports",
    "mindroom.thread_export",
    "mindroom.thread_export.execution",
    "mindroom.thread_export.policy",
    "mindroom.thread_export.selection",
    "mindroom.thread_export.service",
    "mindroom.thread_export.workspace_sync",
]

[[modules]]
path = "mindroom.atomic_file"
depends_on = []

[[modules]]
path = "mindroom.thread_export.storage"
depends_on = ["mindroom.path_confinement", "mindroom.atomic_file"]
visibility = [
    "mindroom.thread_export",
    "mindroom.thread_export.execution",
    "mindroom.thread_export.projected_history",
    "mindroom.thread_export.service",
    "mindroom.thread_export.workspace_sync",
]

[[modules]]
path = "mindroom.thread_export.policy"
depends_on = ["mindroom.thread_export.models"]
visibility = [
    "mindroom.thread_export.execution",
    "mindroom.thread_export.service",
]

[[modules]]
path = "mindroom.thread_export.selection"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.state",
    "mindroom.thread_export.models",
]
visibility = [
    "mindroom.thread_export.execution",
    "mindroom.thread_export.service",
    "mindroom.thread_export.workspace_sync",
]

[[modules]]
path = "mindroom.thread_export.projected_history"
depends_on = [
    "mindroom.event_journal",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.conversation_reads",
    "mindroom.path_confinement",
    "mindroom.thread_export.storage",
    "mindroom.tool_system.events",
]
visibility = [
    "mindroom.thread_export.execution",
    "mindroom.thread_export.workspace_sync",
]

[[modules]]
path = "mindroom.thread_export.execution"
depends_on = [
    "mindroom.matrix.room_history_reads",
    "mindroom.thread_export.models",
    "mindroom.thread_export.policy",
    "mindroom.thread_export.projected_history",
    "mindroom.thread_export.selection",
    "mindroom.thread_export.storage",
    "mindroom.thread_summary",
]
visibility = ["mindroom.thread_export.service"]

[[modules]]
path = "mindroom.thread_export.service"
depends_on = [
    "mindroom.thread_export.execution",
    "mindroom.thread_export.models",
    "mindroom.thread_export.policy",
    "mindroom.thread_export.selection",
    "mindroom.thread_export.storage",
]

[[modules]]
path = "mindroom.thread_export.workspace_sync"
depends_on = [
    "mindroom.private_storage.private_instance_identity",
    "mindroom.thread_export.models",
    "mindroom.thread_export.projected_history",
    "mindroom.thread_export.selection",
    "mindroom.thread_export.service",
    "mindroom.thread_export.storage",
    "mindroom.tool_system.worker_routing",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.thread_tags"
depends_on = [
    "mindroom.matrix.room_history_reads",
    "mindroom.matrix.room_power",
    "mindroom.matrix.room_reconciliation",
]

[[modules]]
path = "mindroom.thread_tag_vocabulary"
depends_on = [
    "mindroom.constants",
    "mindroom.thread_tags",
]

[[modules]]
path = "mindroom.thread_models"
depends_on = [
    "mindroom.constants",
]

[[modules]]
path = "mindroom.room_model_overrides"
depends_on = [
    "mindroom.constants",
]

[[modules]]
path = "mindroom.room_thread_modes"
depends_on = [
    "mindroom.constants",
]

[[modules]]
path = "mindroom.room_reply_modes"
depends_on = [
    "mindroom.constants",
]

[[modules]]
path = "mindroom.room_modes"
depends_on = [
    "mindroom.matrix.room_thread_mode",
    "mindroom.room_thread_modes",
]

[[modules]]
path = "mindroom.matrix.thread_membership"
depends_on = [
    "mindroom.matrix.event_info",
    "mindroom.matrix.thread_history_result",
]

[[modules]]
path = "mindroom.matrix.thread_mutation_impact"
depends_on = [
    "mindroom.matrix.event_info",
    "mindroom.matrix.projected_thread_membership",
    "mindroom.matrix.thread_membership",
]

[[modules]]
path = "mindroom.matrix.projected_thread_membership"
depends_on = [
    "mindroom.matrix.conversation_reads",
    "mindroom.matrix.thread_membership",
]

[[modules]]
path = "mindroom.matrix_rtc"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.call_manager"
depends_on = [
    "mindroom.matrix_rtc.audio_process",
    "mindroom.matrix_rtc.call_backends",
    "mindroom.matrix.room_membership",
    "mindroom.matrix.olm_to_device",
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix_rtc.call_origin",
    "mindroom.matrix_rtc.call_session",
    "mindroom.matrix_rtc.call_tools",
    "mindroom.matrix_rtc.call_writeback",
    "mindroom.matrix_rtc.events",
    "mindroom.matrix_rtc.key_transport",
    "mindroom.matrix_rtc.transcript",
    "mindroom.matrix_rtc.voice_agent",
    "mindroom.response_admission",
    "mindroom.tool_system.dependencies",
]

[[modules]]
path = "mindroom.matrix_rtc.call_backends"
depends_on = [
    "mindroom.matrix_rtc.call_session",
    "mindroom.matrix_rtc.focus",
    "mindroom.matrix_rtc.voice_agent",
]

[[modules]]
path = "mindroom.matrix_rtc.call_tools"
depends_on = [
    "mindroom.providers.registry",
    "mindroom.session_storage.agent_storage",
    "mindroom.agent_loop.build",
    "mindroom.agent_run_context",
    "mindroom.agents",
    "mindroom.ai",
    "mindroom.helper_usage",
    "mindroom.history.interrupted_replay",
    "mindroom.history.turn_recorder",
    "mindroom.history.types",
    "mindroom.hooks",
    "mindroom.knowledge.utils",
    "mindroom.llm",
    "mindroom.providers.names",
    "mindroom.approval.tool_approval",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_function",
    "mindroom.matrix_rtc.voice_agent",
    "mindroom.response_turn",
    "mindroom.session_storage.types",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_system.agent_tools",
    "mindroom.turn_model",
    "mindroom.history.storage",
    "mindroom.session_storage.lanes",
]

[[modules]]
path = "mindroom.matrix_rtc.call_origin"
depends_on = [
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.entity_resolution",
    "mindroom.matrix.conversation_reads",
    "mindroom.thread_summary",
    "mindroom.tool_system.events",
]

[[modules]]
path = "mindroom.matrix_rtc.call_writeback"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.client_delivery",
]

[[modules]]
path = "mindroom.matrix_rtc.live_voice_agent"
depends_on = [
    "mindroom.matrix_rtc.spoken_turns",
    "mindroom.matrix_rtc.voice_agent",
]

[[modules]]
path = "mindroom.matrix_rtc.transcript"
depends_on = [
    "mindroom.matrix_rtc.spoken_turns",
    "mindroom.memory",
    "mindroom.path_confinement",
    "mindroom.runtime_resolution",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.matrix_rtc.call_session"
depends_on = [
    "mindroom.matrix_rtc.events",
    "mindroom.matrix_rtc.frame_keys",
]

[[modules]]
path = "mindroom.matrix_rtc.events"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.focus"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.frame_keys"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.key_transport"
depends_on = [
    "mindroom.matrix.olm_to_device",
    "mindroom.matrix_rtc.events",
]

[[modules]]
path = "mindroom.tls_trust"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.realtime_tts"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.voice_agent"
depends_on = [
    "mindroom.llm",
    "mindroom.matrix_rtc.realtime_tts",
    "mindroom.tool_system.dependencies",
]

[[modules]]
path = "mindroom.matrix_rtc.spoken_turns"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.audio_protocol"
depends_on = []

[[modules]]
path = "mindroom.matrix_rtc.audio_process"
depends_on = [
    "mindroom.matrix_rtc.audio_protocol",
    "mindroom.matrix_rtc.voice_agent",
]

[[modules]]
path = "mindroom.matrix_rtc.audio_child"
depends_on = [
    "mindroom.matrix_rtc.audio_protocol",
    "mindroom.matrix_rtc.focus",
    "mindroom.matrix_rtc.live_voice_agent",
    "mindroom.matrix_rtc.voice_agent",
    "mindroom.failure_text",
]

[[modules]]
path = "mindroom.conversation_resolver"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.hooks",
    "mindroom.matrix.thread_history_result",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.conversation_reads",
    "mindroom.matrix.event_info",
    "mindroom.matrix.message_content",
    "mindroom.matrix.thread_membership",
    "mindroom.runtime_protocols",
]

[[modules]]
path = "mindroom.conversation_state_writer"
depends_on = [
    "mindroom.constants",
    "mindroom.history.session_context",
    "mindroom.history.types",
    "mindroom.hooks",
    "mindroom.runtime_protocols",
    "mindroom.session_storage.lanes",
    "mindroom.session_storage.store",
    "mindroom.tool_system.runtime_context",
]

[[modules]]
path = "mindroom.bot"
depends_on = [
    "mindroom.agent_cli.cli_approval_waits",
    "mindroom.approval.continuation_runner",
    "mindroom.orchestration.server_state",
    "mindroom.reply_turn.inbox",
    "mindroom.response_lifecycle",
    "mindroom.tool_jobs.client_cancel",
    "mindroom.model_catalog_receiver",
    "mindroom.tool_jobs.follow_ups",
    "mindroom.reply_scope",
    "mindroom.knowledge.utils",
    "mindroom.matrix.relation_lookup",
    "mindroom.approval.inbound",
    "mindroom.bot_room_lifecycle",
    "mindroom.bot_runtime_view",
    "mindroom.command_turn_executor",
    "mindroom.commands.config_confirmation",
    "mindroom.constants",
    "mindroom.conversation_resolver",
    "mindroom.conversation_state_writer",
    "mindroom.delivery_gateway",
    "mindroom.desktop.pairing_receiver",
    "mindroom.edit_regenerator",
    "mindroom.event_journal",
    "mindroom.hooks",
    "mindroom.hooks.ingress",
    "mindroom.integrations",
    "mindroom.inbound_turn_normalizer",
    "mindroom.ingress_validation",
    "mindroom.journal_dispatch",
    "mindroom.event_journal.legacy_turn_rows",
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.client_session",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.conversation_reads",
    "mindroom.matrix.personal_rooms",
    "mindroom.matrix.state",
    "mindroom.matrix.sync_continuity",
    "mindroom.matrix.sync_loop",
    "mindroom.matrix.users",
    "mindroom.matrix_rtc.call_manager",
    "mindroom.personal_room_lifecycle",
    "mindroom.post_response_effects",
    "mindroom.reaction_dispatch",
    "mindroom.response_payload_preparation",
    "mindroom.response_runner",
    "mindroom.timestamp_formatting",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.runtime_context",
    "mindroom.turn_policy",
    "mindroom.turns.dispatch",
    "mindroom.turns.ingress",
    "mindroom.turns.interactive_selection",
    "mindroom.turn_store",
    "mindroom.user_stop_reconciliation",
    "mindroom.visible_response_reconciliation",
    "mindroom.voice.ingress",
    "mindroom.voice.readiness",
    "mindroom.voice.visible_voice_echo",
    "mindroom.config.resolution",
    "mindroom.tool_system.plugins",
    "mindroom.reply_turn.locked_turn",
]

[[modules]]
path = "mindroom.cli"
depends_on = []

[[modules]]
path = "mindroom.cli.agent_docs"
depends_on = []
visibility = ["mindroom.cli.config"]

[[modules]]
path = "mindroom.cli.banner"
depends_on = []

[[modules]]
path = "mindroom.cli.config"
depends_on = [
    "mindroom.cli.local_model_config",
    "mindroom.atomic_file",
    "mindroom.automations.registry",
    "mindroom.tool_system.plugins",
    "mindroom.cli.agent_docs",
    "mindroom.cli.env_file",
    "mindroom.cli.help_format",
    "mindroom.cli.interactive",
    "mindroom.cli.owner",
    "mindroom.config.main",
    "mindroom.config.yaml_includes",
    "mindroom.constants",
    "mindroom.path_confinement",
    "mindroom.providers.names",
    "mindroom.providers.credentials",
    "mindroom.tool_system.worker_routing",
    "mindroom.workers.backend_kinds",
]

[[modules]]
path = "mindroom.cli.connect"
depends_on = [
    "mindroom.cli.config",
    "mindroom.cli.env_file",
    "mindroom.cli.interactive",
    "mindroom.cli.owner",
    "mindroom.config.yaml_includes",
    "mindroom.constants",
    "mindroom.http_error_detail",
    "mindroom.matrix.provisioning_env",
]

[[modules]]
path = "mindroom.cli.env_file"
depends_on = []
visibility = [
    "mindroom.cli.config",
    "mindroom.cli.connect",
    "mindroom.cli.local_stack",
    "mindroom.cli.service",
]

[[modules]]
path = "mindroom.cli.help_format"
depends_on = []
visibility = [
    "mindroom.cli.config",
    "mindroom.cli.desktop",
    "mindroom.cli.main",
    "mindroom.cli.service",
]

[[modules]]
path = "mindroom.cli.interactive"
depends_on = []
visibility = [
    "mindroom.cli.config",
    "mindroom.cli.connect",
    "mindroom.cli.main",
    "mindroom.cli.service",
]

[[modules]]
path = "mindroom.cli.owner"
depends_on = ["mindroom.constants"]
visibility = [
    "mindroom.cli.config",
    "mindroom.cli.connect",
]

[[modules]]
path = "mindroom.cli.doctor"
depends_on = [
    "mindroom.cli.config",
    "mindroom.config.main",
    "mindroom.constants",
    "mindroom.embeddings.embedder_health",
    "mindroom.embeddings.errors",
    "mindroom.embeddings.factory",
    "mindroom.embeddings.sentence_transformers_embedder",
    "mindroom.llm",
    "mindroom.matrix.client_session",
    "mindroom.matrix.provisioning_env",
    "mindroom.matrix.state",
    "mindroom.matrix.users",
    "mindroom.providers.credentials",
    "mindroom.providers.key_checks",
    "mindroom.providers.names",
    "mindroom.providers.ollama.settings",
    "mindroom.providers.anthropic.messages",
    "mindroom.memory.config",
    "mindroom.providers.ollama.adapter",
    "mindroom.providers.registry",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.cli.local_stack"
depends_on = [
    "mindroom.cli.config",
    "mindroom.cli.env_file",
]

[[modules]]
path = "mindroom.cli.desktop"
depends_on = [
    "mindroom.cli.config",
    "mindroom.cli.help_format",
    "mindroom.constants",
    "mindroom.desktop.bridge_session",
    "mindroom.desktop.cloudflare_access",
    "mindroom.desktop.command_journal",
    "mindroom.desktop.login_method",
    "mindroom.desktop.native_config",
    "mindroom.desktop.pairing_client",
    "mindroom.desktop.provider",
    "mindroom.desktop.session",
    "mindroom.desktop.shell_prompt",
    "mindroom.desktop.sso",
    "mindroom.matrix.olm_to_device",
    "mindroom.tool_system.dependencies",
    "mindroom.desktop.native_host",
]
visibility = ["mindroom.cli.main"]

[[modules]]
path = "mindroom.cli.migrate"
depends_on = [
    "mindroom.cli.config",
]
visibility = ["mindroom.cli.main"]

[[modules]]
path = "mindroom.cli.plugins"
depends_on = [
    "mindroom.cli.config",
    "mindroom.plugin_check",
    "mindroom.plugin_install",
]
visibility = ["mindroom.cli.main"]

[[modules]]
path = "mindroom.cli.service"
depends_on = [
    "mindroom.api.auth",
    "mindroom.cli.config",
    "mindroom.cli.env_file",
    "mindroom.cli.help_format",
    "mindroom.cli.interactive",
    "mindroom.constants",
    "mindroom.matrix.provisioning_env",
    "mindroom.services.manager",
]

[[modules]]
path = "mindroom.cli.trigger"
depends_on = [
    "mindroom.cli.config",
    "mindroom.constants",
]
visibility = ["mindroom.cli.main"]

[[modules]]
path = "mindroom.cli.main"
depends_on = [
    "mindroom.origins",
    "mindroom.api.auth",
    "mindroom.api.startup_probes",
    "mindroom.cli.api",
    "mindroom.cli.config_bundle",
    "mindroom.cli.config_reload",
    "mindroom.cli.debug_report",
    "mindroom.cli.response_activity",
    "mindroom.cli.thread_export",
    "mindroom.cli.banner",
    "mindroom.cli.config",
    "mindroom.cli.connect",
    "mindroom.cli.desktop",
    "mindroom.cli.doctor",
    "mindroom.cli.help_format",
    "mindroom.cli.interactive",
    "mindroom.cli.local_stack",
    "mindroom.cli.migrate",
    "mindroom.cli.plugins",
    "mindroom.cli.service",
    "mindroom.cli.trigger",
    "mindroom.config.main",
    "mindroom.constants",
    "mindroom.event_journal.opening",
    "mindroom.matrix.provisioning_env",
    "mindroom.orchestrator",
]

[[modules]]
path = "mindroom.services"
depends_on = []

[[modules]]
path = "mindroom.services.config"
depends_on = []

[[modules]]
path = "mindroom.services.manager"
depends_on = [
    "mindroom.services.launchd",
    "mindroom.services.systemd",
]

[[modules]]
path = "mindroom.services.launchd"
depends_on = [
    "mindroom.services.config",
    "mindroom.services.runtime",
]

[[modules]]
path = "mindroom.services.runtime"
depends_on = ["mindroom.constants"]

[[modules]]
path = "mindroom.services.systemd"
depends_on = [
    "mindroom.services.config",
    "mindroom.services.runtime",
]

[[modules]]
path = "mindroom.commands"
depends_on = []

[[modules]]
path = "mindroom.commands.config_commands"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.config.commit",
    "mindroom.config.main",
    "mindroom.config.schema_hints",
    "mindroom.event_journal.opening",
    "mindroom.tool_jobs.settings",
]

[[modules]]
path = "mindroom.commands.desktop_commands"
depends_on = [
    "mindroom.constants",
    "mindroom.desktop.configuration",
    "mindroom.desktop.credentials",
    "mindroom.desktop.identity",
    "mindroom.desktop.pairing",
    "mindroom.desktop.protocol",
]
visibility = [
    "mindroom.commands.handler",
]

[[modules]]
path = "mindroom.commands.config_confirmation"
depends_on = [
    "mindroom.matrix.room_history_reads",
    "mindroom.commands.config_commands",
    "mindroom.constants",
    "mindroom.delivery_gateway",
    "mindroom.matrix.client_delivery",
    "mindroom.runtime_protocols",
]

[[modules]]
path = "mindroom.commands.model_commands"
depends_on = [
    "mindroom.model_selection_scope",
    "mindroom.model_selection",
    "mindroom.thread_models",
]

[[modules]]
path = "mindroom.commands.room_model_commands"
depends_on = [
    "mindroom.matrix.client_room_admin",
    "mindroom.room_model_overrides",
]
visibility = ["mindroom.commands.handler"]

[[modules]]
path = "mindroom.commands.thread_mode_commands"
depends_on = [
    "mindroom.matrix.client_room_admin",
    "mindroom.room_modes",
    "mindroom.room_thread_modes",
]
visibility = ["mindroom.commands.handler"]

[[modules]]
path = "mindroom.commands.reply_mode_commands"
depends_on = [
    "mindroom.matrix.client_room_admin",
    "mindroom.room_reply_modes",
]
visibility = ["mindroom.commands.handler"]

[[modules]]
path = "mindroom.commands.auto_approve_commands"
depends_on = [
    "mindroom.approval.inbound",
    "mindroom.approval.manager",
    "mindroom.approval.tool_approval",
    "mindroom.approval.auto_approve_windows",
]
visibility = ["mindroom.commands.handler"]

[[modules]]
path = "mindroom.commands.encryption_commands"
depends_on = [
    "mindroom.matrix.client_room_admin",
    "mindroom.matrix.cross_signing",
    "mindroom.matrix.decrypt_failure",
]
visibility = ["mindroom.commands.handler"]

[[modules]]
path = "mindroom.commands.parsing"
depends_on = [
    "mindroom.constants",
]

[[modules]]
path = "mindroom.commands.handler"
depends_on = [
    "mindroom.tool_jobs.client_cancel",
    "mindroom.tool_jobs.runtime",
    "mindroom.commands.mode_commands",
    "mindroom.model_selection",
    "mindroom.matrix.room_membership",
    "mindroom.commands.config_commands",
    "mindroom.commands.config_confirmation",
    "mindroom.commands.desktop_commands",
    "mindroom.commands.encryption_commands",
    "mindroom.commands.model_commands",
    "mindroom.commands.parsing",
    "mindroom.commands.room_model_commands",
    "mindroom.commands.thread_mode_commands",
    "mindroom.commands.reply_mode_commands",
    "mindroom.commands.auto_approve_commands",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.turn_record",
    "mindroom.matrix.event_info",
    "mindroom.scheduling.tasks",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.hooks.context"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.hooks.matrix_admin",
    "mindroom.hooks.registry",
    "mindroom.hooks.sender",
    "mindroom.hooks.state",
    "mindroom.hooks.types",
    "mindroom.matrix.conversation_reads",
    "mindroom.runtime_protocols",
    "mindroom.tool_system.events",
    "mindroom.tool_system.plugin_identity",
    "mindroom.tool_system.tool_environment",
]

[[modules]]
path = "mindroom.scheduling.tasks"
depends_on = [
    "mindroom.helper_usage",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.conversation_reads",
    "mindroom.providers.registry",
    "mindroom.agent_loop.helper",
    "mindroom.llm",
    "mindroom.approval.manager",
    "mindroom.approval.tool_approval",
    "mindroom.failure_text",
    "mindroom.config.resolution",
    "mindroom.scheduling.ownership",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.scheduling.runtime"
depends_on = [
    "mindroom.approval.manager",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.failure_text",
    "mindroom.scheduling.executor",
    "mindroom.scheduling.ownership",
    "mindroom.scheduling.recurring_schedule",
    "mindroom.scheduling.tasks",
]

[[modules]]
path = "mindroom.scheduling.ownership"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.scheduling.executor",
]
visibility = [
    "mindroom.scheduling.runtime",
    "mindroom.scheduling.tasks",
]

[[modules]]
path = "mindroom.scheduling.executor"
depends_on = [
    "mindroom.matrix.client_delivery",
    "mindroom.constants",
    "mindroom.hooks",
    "mindroom.scheduling.recurring_schedule",
    "mindroom.failure_text",
]

[[modules]]
path = "mindroom.scheduling.recurring_schedule"
depends_on = []
visibility = [
    "mindroom.scheduling.executor",
    "mindroom.scheduling.runtime",
]

[[modules]]
path = "mindroom.tool_system.runtime_context"
depends_on = [
    "mindroom.hooks",
    "mindroom.runtime_resolution",
    "mindroom.scheduling.tasks",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.tool_system.context_bound_streams"
depends_on = []
visibility = [
    "mindroom.approval.execution",
    "mindroom.approval.resume",
    "mindroom.agent_loop",
    "mindroom.teams",
    "mindroom.agent_cli.cli_approval_recovery",
    "mindroom.agent_cli.events",
    "mindroom.agent_cli.turn",
    "mindroom.delegation.execution",
    "mindroom.ai",
    "mindroom.response_turn",
    "mindroom.api.openai_compat",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_jobs.execution_scope",
    "mindroom.providers.openai",
    "mindroom.providers.pipeline",
    "mindroom.streaming",
    "mindroom.response_runner",
]

[[modules]]
path = "mindroom.tool_system.metadata"
depends_on = [
    "mindroom.constants",
    "mindroom.file_access",
    "mindroom.mcp.registry",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.construction",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.dependencies",
    "mindroom.tool_system.filters",
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.registry",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_routing",
    "mindroom.tool_system.agent_tools",
]

[[modules]]
path = "mindroom.tool_system.filters"
depends_on = []
visibility = [
    "mindroom.mcp.manager",
    "mindroom.mcp.toolkit",
    "mindroom.room_agent_access",
    "mindroom.tool_jobs.authorization",
    "mindroom.tool_system.metadata",
]

[[modules]]
path = "mindroom.tool_system.catalog"
depends_on = [
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.metadata",
    "mindroom.tool_system.registry",
]

[[modules]]
path = "mindroom.tool_system.tool_access"
depends_on = []

[[interfaces]]
from = ["mindroom.tool_system.tool_access"]
expose = [
    "ToolKey",
    "UnknownToolError",
    "search_tool_metadata",
    "tool_definition",
    "validate_tool_arguments",
]

[[modules]]
path = "mindroom.tool_system.declarations"
depends_on = []

[[modules]]
path = "mindroom.tool_system.registration"
depends_on = [
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.registry",
]

# The supported plugin import surface; MindRoom's own modules import the owning modules instead.
[[modules]]
path = "mindroom.plugin_api"
depends_on = [
    "mindroom.agent_loop.helper",
    "mindroom.config.main",
    "mindroom.constants",
    "mindroom.entity_directory",
    "mindroom.file_access",
    "mindroom.hooks",
    "mindroom.llm",
    "mindroom.path_confinement",
    "mindroom.plugin_context",
    "mindroom.plugin_lifecycle",
    "mindroom.plugin_worker_services",
    "mindroom.providers.registry",
    "mindroom.tool_system.atlassian_connections",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.events",
    "mindroom.tool_system.google_workspaces",
    "mindroom.tool_system.metadata",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.registration",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.worker_routing",
    "mindroom.turn_model",
]
visibility = []

[[modules]]
path = "mindroom.plugin_testing"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.api.client_sessions",
    "mindroom.api.config_lifecycle",
    "mindroom.api.connection_agents",
    "mindroom.api.plugin_routes",
    "mindroom.config.main",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.hooks",
    "mindroom.matrix.rooms",
    "mindroom.matrix.state",
    "mindroom.matrix_identifiers",
    "mindroom.mcp_gateway.toolkits",
    "mindroom.mcp_gateway.tools",
    "mindroom.orchestration.plugin_http_runtime",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_hooks",
]
# Plugins' own test suites import it; MindRoom never does.
visibility = []

[[modules]]
path = "mindroom.plugin_check"
depends_on = [
    "mindroom.config.main",
    "mindroom.constants",
    "mindroom.hooks",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.catalog",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.plugins",
]
visibility = ["mindroom.cli.plugins", "mindroom.plugin_install"]

[[modules]]
path = "mindroom.plugin_install"
depends_on = [
    "mindroom.plugin_check",
]
visibility = ["mindroom.cli.plugins"]

[[modules]]
path = "mindroom.tool_system.dependencies"
depends_on = []

[[modules]]
path = "mindroom.tool_system.output_files"
depends_on = [
    "mindroom.path_confinement",
    "mindroom.atomic_file",
    "mindroom.constants",
    "mindroom.tool_system.agno_toolkits",
]

[[modules]]
path = "mindroom.tool_system.plugin_imports"
depends_on = [
    "mindroom.constants",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.plugin_identity",
    "mindroom.tool_system.registry",
]

[[modules]]
path = "mindroom.tool_system.plugin_identity"
depends_on = []

[[modules]]
path = "mindroom.tool_system.registry"
depends_on = ["mindroom.tool_system.declarations"]

[[modules]]
path = "mindroom.tool_system.worker_media"
depends_on = [
    "mindroom.llm",
    "mindroom.tool_system.media_transport",
    "mindroom.tool_system.worker_proxy_client",
    "mindroom.tool_system.agno_toolkits",
]

[[modules]]
path = "mindroom.tool_system.worker_routing"
depends_on = []

# Local worker egress policy resolution (static allowlist + grant subjects).
# The egress proxy enforces grants server-side; this module stays a thin,
# routing-aware leaf so the tool layer and worker provisioning share one
# source of truth for the grant subject.
[[modules]]
path = "mindroom.egress"
depends_on = ["mindroom.tool_system.worker_routing"]

[[modules]]
path = "mindroom.egress_broker"
depends_on = [
    "mindroom.atomic_file",
    "mindroom.config.egress_broker",
    "mindroom.constants",
    "mindroom.credentials.policy",
    "mindroom.github_app_auth",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_routing",
    "mindroom.worker_computer.browser_proxy",
    "mindroom.origins",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.plugins",
    "mindroom.workers.backend_kinds",
    "mindroom.tls_trust",
]
# The broker's wiring points: every module outside the feature that may import it.
visibility = [
    "mindroom.api.connections",
    "mindroom.api.egress_broker",
    "mindroom.api.egress_credentials",
    "mindroom.api.egress_status",
    "mindroom.api.frontend",
    "mindroom.api.sandbox_exec",
    "mindroom.config.egress_broker",
    "mindroom.custom_tools.egress_credentials",
    "mindroom.orchestrator",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.sandbox_proxy",
]

[[modules]]
path = "mindroom.config.egress_broker"
depends_on = ["mindroom.credentials.policy", "mindroom.egress_broker"]

[[modules]]
path = "mindroom.custom_tools.egress_credentials"
depends_on = [
    "mindroom.egress_broker",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.runtime_context",
]

[[modules]]
path = "mindroom.tool_system.events"
depends_on = []

[[modules]]
path = "mindroom.tool_system.approval_exemptions"
depends_on = []

[[modules]]
path = "mindroom.tool_system.tool_calls"
depends_on = ["mindroom.constants"]

[[modules]]
path = "mindroom.tool_system.tool_environment"
depends_on = ["mindroom.agent_cli.shell_contract", "mindroom.constants"]

[[modules]]
path = "mindroom.tool_system.progress"
depends_on = []
visibility = [
    "mindroom.agent_loop",
    "mindroom.delegation.lifecycle",
    "mindroom.tool_jobs.runtime",
    "mindroom.api.sandbox_execute_stream",
    "mindroom.api.sandbox_runner",
    "mindroom.tool_system.worker_proxy_client",
]

[[modules]]
path = "mindroom.tool_system.call_record"
depends_on = []
visibility = [
    "mindroom.reply_scope",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.tool_hooks",
]

[[modules]]
path = "mindroom.tool_system.tool_hooks"
depends_on = [
    "mindroom.hooks",
    "mindroom.llm",
    "mindroom.tool_jobs.control",
    "mindroom.tool_jobs.execution_authority",
    "mindroom.tool_system.call_record",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_calls",
    "mindroom.tool_system.tool_environment",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.tool_system.tool_function"
depends_on = ["mindroom.llm"]

[[modules]]
path = "mindroom.tool_system.toolkit_connections"
depends_on = [
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.tool_hooks",
]

[[modules]]
path = "mindroom.tool_system.agno_toolkits"
depends_on = [
    "mindroom.llm",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.tool_schema",
]

[[modules]]
path = "mindroom.tool_system.authoring"
depends_on = [
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.runtime_context",
]

[[modules]]
path = "mindroom.tool_system.tool_schema"
depends_on = []

[[modules]]
path = "mindroom.failure_text"
depends_on = []

[[modules]]
path = "mindroom.tool_system.invocation"
depends_on = [
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.failure_text",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_hooks",
]

[[modules]]
path = "mindroom.agent_loop.build"
depends_on = ["mindroom.agent_loop.prompt"]

[[modules]]
path = "mindroom.agent_loop.prompt"
depends_on = ["mindroom.llm"]

[[modules]]
path = "mindroom.agent_loop.structured"
depends_on = ["mindroom.llm"]

[[modules]]
path = "mindroom.agent_loop.helper"
depends_on = ["mindroom.agent_loop.prompt", "mindroom.agent_loop.structured", "mindroom.llm"]

[[modules]]
path = "mindroom.tool_system.sandbox_proxy"
depends_on = [
    "mindroom.tool_system.media_transport",
    "mindroom.tool_system.output_files",
    "mindroom.tool_system.media_attachments",
    "mindroom.constants",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.dedicated_threads",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_environment",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.tool_hooks",
    "mindroom.tool_system.worker_routing",
    "mindroom.tool_system.worker_proxy_client",
    "mindroom.egress_broker",
    "mindroom.workers.backend_kinds",
]

[[modules]]
path = "mindroom.tool_system.worker_proxy_client"
depends_on = [
    "mindroom.credentials.policy",
    "mindroom.tool_jobs.control",
    "mindroom.tool_system.progress",
]
visibility = [
    "mindroom.mcp_gateway.tools",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_media",
    "mindroom.api.sandbox_runner",
    "mindroom.plugin_worker_services",
    "mindroom.plugin_worker_relay",
]

[[modules]]
path = "mindroom.workers.worker_retirement"
depends_on = []
visibility = []

[[modules]]
path = "mindroom.tool_system.skills"
depends_on = [
    "mindroom.path_confinement",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.skill_usage",
]

[[modules]]
path = "mindroom.tool_system.skill_usage"
depends_on = ["mindroom.atomic_file", "mindroom.path_confinement"]
visibility = ["mindroom.tool_system.skills", "mindroom.skill_learning.library"]

[[modules]]
path = "mindroom.tool_system.google_workspaces"
depends_on = [
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.registry",
]

[[modules]]
path = "mindroom.tool_system.atlassian_connections"
depends_on = [
    "mindroom.tool_system.registration",
    "mindroom.tool_system.registry",
]

[[modules]]
path = "mindroom.tool_system.dynamic_toolkits"
depends_on = []

[[modules]]
path = "mindroom.tool_system.agent_tools"
depends_on = [
    "mindroom.config.models",
    "mindroom.config.resolution",
    "mindroom.delegation.lifecycle",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.registry",
    "mindroom.tool_system.metadata",
]

[[modules]]
path = "mindroom.turn_model"
depends_on = [
    "mindroom.entity_resolution",
    "mindroom.room_model_overrides",
    "mindroom.thread_models",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.config.resolution"
depends_on = [
    "mindroom.tool_system.worker_routing",
    "mindroom.agent_policy",
    "mindroom.config.automations",
    "mindroom.config.models",
    "mindroom.constants",
    "mindroom.history.types",
    "mindroom.tool_system.catalog",
]

[[modules]]
path = "mindroom.tool_system.plugins"
depends_on = [
    "mindroom.api.validation_errors",
    "mindroom.automations.registry",
    "mindroom.egress_broker",
    "mindroom.hooks",
    "mindroom.mcp.registry",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.registry",
]

[[modules]]
path = "mindroom.tool_system.media_attachments"
depends_on = ["mindroom.tool_system.runtime_context"]

[[modules]]
path = "mindroom.tool_system.media_transport"
depends_on = ["mindroom.llm", "mindroom.tool_system.tool_function"]

[[modules]]
path = "mindroom.media_delivery"
depends_on = ["mindroom.file_access", "mindroom.llm", "mindroom.tool_system.tool_function"]
visibility = [
    "mindroom.api.sandbox_runner",
    "mindroom.custom_tools.attachments",
    "mindroom.worker_computer.mcp_provider",
]

[[modules]]
path = "mindroom.tool_system"
depends_on = []

[[modules]]
path = "mindroom.thread_summary"
depends_on = [
    "mindroom.constants",
    "mindroom.helper_usage",
    "mindroom.entity_resolution",
    "mindroom.matrix.conversation_reads",
    "mindroom.thread_summary.notices",
    "mindroom.providers.registry",
    "mindroom.agent_loop.helper",
    "mindroom.llm",
    "mindroom.thread_tag_vocabulary",
    "mindroom.thread_tags",
    "mindroom.tool_system.events",
]

[[modules]]
path = "mindroom.thread_summary.notices"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_delivery",
    "mindroom.thread_summary",
]

[[modules]]
path = "mindroom.voice.handler"
depends_on = [
    "mindroom.helper_usage",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.llm",
    "mindroom.providers.registry",
    "mindroom.agent_loop.helper",
]

[[modules]]
path = "mindroom.legacy_streaming"
depends_on = []
visibility = ["mindroom.streaming"]

[[modules]]
path = "mindroom.streaming"
depends_on = [
    "mindroom.constants",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.legacy_streaming",
    "mindroom.llm",
    "mindroom.matrix.client_delivery",
    "mindroom.orchestration.runtime",
    "mindroom.streaming_warmup",
    "mindroom.tool_system.events",
    "mindroom.tool_system.runtime_context",
    "mindroom.interactive",
]

[[modules]]
path = "mindroom.streaming_warmup"
depends_on = []

[[modules]]
path = "mindroom.post_response_effects"
depends_on = [
    "mindroom.interactive_models",
    "mindroom.matrix.conversation_reads",
    "mindroom.runtime_protocols",
    "mindroom.thread_summary",
    "mindroom.tool_system.events",
    "mindroom.interactive",
]

[[modules]]
path = "mindroom.hooks.sender"
depends_on = [
    "mindroom.constants",
    "mindroom.hooks.types",
    "mindroom.matrix.client_delivery",
]

[[modules]]
path = "mindroom.turn_store"
depends_on = [
    "mindroom.constants",
    "mindroom.event_journal",
    "mindroom.event_journal.legacy_turn_rows",
    "mindroom.history.storage",
    "mindroom.turn_record",
]

[[modules]]
path = "mindroom.turn_record"
depends_on = [
    "mindroom.model_selection",
    "mindroom.history.types",
    "mindroom.timestamp_formatting",
]

[[modules]]
path = "mindroom.coalescing.ingress_ticket"
depends_on = [
    "mindroom.dispatch_callback_outcome",
    "mindroom.turn_store",
]
visibility = ["mindroom.turns.ingress"]

[[modules]]
path = "mindroom.response_payload_preparation"
depends_on = [
    "mindroom.inbound_turn_normalizer",
    "mindroom.matrix.thread_history_result",
    "mindroom.reply_turn.request",
]
visibility = [
    "mindroom.bot",
    "mindroom.turns.dispatch",
]

[[modules]]
path = "mindroom.command_turn_executor"
depends_on = [
    "mindroom.model_selection",
    "mindroom.commands.handler",
    "mindroom.commands.parsing",
    "mindroom.inbound_turn_normalizer",
    "mindroom.turn_record",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.user_stop_reconciliation"
depends_on = []
visibility = [
    "mindroom.bot",
]

[[modules]]
path = "mindroom.visible_response_reconciliation"
depends_on = [
    "mindroom.model_selection",
    "mindroom.matrix.room_history_reads",
    "mindroom.constants",
    "mindroom.delivery_gateway",
    "mindroom.response_sources",
    "mindroom.turn_record",
    "mindroom.turn_store",
]
visibility = [
    "mindroom.bot",
]

[[modules]]
path = "mindroom.matrix.room_membership"
depends_on = []

[[modules]]
path = "mindroom.voice.visible_voice_echo"
depends_on = [
    "mindroom.matrix.room_history_reads",
    "mindroom.matrix.room_membership",
    "mindroom.constants",
    "mindroom.delivery_gateway",
    "mindroom.dispatch_recovery_context",
    "mindroom.event_journal",
]
visibility = [
    "mindroom.bot",
    "mindroom.voice.readiness",
]

[[modules]]
path = "mindroom.voice.readiness"
depends_on = [
    "mindroom.constants",
    "mindroom.inbound_turn_normalizer",
    "mindroom.turn_record",
    "mindroom.voice.visible_voice_echo",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.turns.interactive_selection"
depends_on = [
    "mindroom.constants",
    "mindroom.delivery_gateway",
    "mindroom.hooks",
    "mindroom.inbound_turn_normalizer",
    "mindroom.response_lifecycle",
    "mindroom.response_sources",
    "mindroom.turn_policy",
    "mindroom.turn_record",
    "mindroom.interactive",
    "mindroom.reply_turn.request",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.turns.queued_notice"
depends_on = []
visibility = [
    "mindroom.turns.ingress",
    "mindroom.voice.ingress",
]

[[modules]]
path = "mindroom.voice.ingress"
depends_on = [
    "mindroom.dispatch_callback_outcome",
    "mindroom.dispatch_recovery_context",
    "mindroom.turns.queued_notice",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.turns.ingress"
depends_on = [
    "mindroom.approval.inbound",
    "mindroom.approval.tool_approval",
    "mindroom.coalescing.ingress_ticket",
    "mindroom.constants",
    "mindroom.dispatch_callback_outcome",
    "mindroom.dispatch_recovery_context",
    "mindroom.event_journal",
    "mindroom.hooks",
    "mindroom.inbound_turn_normalizer",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.event_info",
    "mindroom.matrix.message_content",
    "mindroom.matrix.thread_membership",
    "mindroom.matrix.transport_progress",
    "mindroom.turn_record",
    "mindroom.turns.queued_notice",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.turns.dispatch"
depends_on = [
    "mindroom.bot_runtime_view",
    "mindroom.constants",
    "mindroom.dispatch_replay_guard",
    "mindroom.hooks",
    "mindroom.matrix.event_info",
    "mindroom.matrix.thread_history_result",
    "mindroom.response_admission",
    "mindroom.response_payload_preparation",
    "mindroom.response_sources",
    "mindroom.teams",
    "mindroom.timestamp_formatting",
    "mindroom.turn_policy",
    "mindroom.turn_record",
    "mindroom.reply_turn.request",
]
visibility = [
    "mindroom.bot",
    "mindroom.edit_regenerator",
]

[[modules]]
path = "mindroom.dispatch_replay_guard"
depends_on = [
    "mindroom.tool_system.events",
]
visibility = ["mindroom.turns.dispatch"]

[[modules]]
path = "mindroom.inbound_turn_normalizer"
depends_on = [
    "mindroom.attachments.media",
    "mindroom.constants",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.message_content",
    "mindroom.runtime_protocols",
    "mindroom.voice.handler",
]

[[modules]]
path = "mindroom.managed_room_notice"
depends_on = [
    "mindroom.constants",
    "mindroom.entity_resolution",
]

[[modules]]
path = "mindroom.turn_policy"
depends_on = [
    "mindroom.constants",
    "mindroom.contacts.turns",
    "mindroom.entity_resolution",
    "mindroom.managed_room_notice",
    "mindroom.matrix.rooms",
    "mindroom.responder_availability",
    "mindroom.runtime_protocols",
    "mindroom.teams",
]

[[modules]]
path = "mindroom.llm"
depends_on = []

[[modules]]
path = "mindroom.providers.openai"
depends_on = [
    "mindroom.constants",
    "mindroom.llm",
    "mindroom.native_compaction",
    "mindroom.providers.assistant_turn",
    "mindroom.providers.cache_ladder",
    "mindroom.providers.credentials",
    "mindroom.providers.errors",
    "mindroom.providers.extra_kwargs",
    "mindroom.providers.identity",
    "mindroom.providers.media_files",
    "mindroom.providers.names",
    "mindroom.providers.tool_policy",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.failure_text",
]

[[modules]]
path = "mindroom.providers.pipeline"
depends_on = [
    "mindroom.bounded_bytes",
    "mindroom.constants",
    "mindroom.llm",
    "mindroom.model_usage",
    "mindroom.tool_system.context_bound_streams",
]

[[modules]]
path = "mindroom.agent_loop"
depends_on = [
    "mindroom.llm",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.progress",
    "mindroom.tool_system.tool_function",
    "mindroom.failure_text",
]

[[modules]]
path = "mindroom.knowledge"
depends_on = []

[[modules]]
path = "mindroom.knowledge.availability"
depends_on = []

[[modules]]
path = "mindroom.knowledge.file_listing"
depends_on = [
    "mindroom.git_invocation",
    "mindroom.knowledge.redaction",
    "mindroom.path_confinement",
    "mindroom.path_globs",
]

[[modules]]
path = "mindroom.knowledge.index_metadata"
depends_on = ["mindroom.knowledge.indexing_config"]
visibility = [
    "mindroom.knowledge.collection_lifetime",
    "mindroom.knowledge.legacy_chroma_storage",
    "mindroom.knowledge.legacy_index_state",
    "mindroom.knowledge.manager",
    "mindroom.knowledge.refresh_runner",
    "mindroom.knowledge.registry",
    "mindroom.knowledge.status",
    "mindroom.knowledge.vector_store",
]

[[modules]]
path = "mindroom.knowledge.legacy_index_state"
depends_on = [
    "mindroom.knowledge.index_metadata",
    "mindroom.knowledge.vector_store",
]
visibility = ["mindroom.orchestration.storage_preparation"]

[[modules]]
path = "mindroom.knowledge.corpus_signature"
depends_on = ["mindroom.knowledge.file_listing", "mindroom.path_confinement"]
visibility = ["mindroom.knowledge.file_indexer", "mindroom.knowledge.manager"]

[[modules]]
path = "mindroom.knowledge.file_indexer"
depends_on = [
    "mindroom.constants",
    "mindroom.embeddings.batching",
    "mindroom.embeddings.errors",
    "mindroom.knowledge.chunk_context",
    "mindroom.knowledge.chunking",
    "mindroom.knowledge.collections",
    "mindroom.knowledge.corpus_signature",
    "mindroom.knowledge.index_retry",
    "mindroom.knowledge.readers",
]
visibility = ["mindroom.knowledge.manager"]

[[modules]]
path = "mindroom.knowledge.vector_store"
depends_on = ["mindroom.knowledge.index_metadata", "mindroom.knowledge.read_protocol"]
visibility = [
    "mindroom.knowledge.collections",
    "mindroom.knowledge.index_reader",
    "mindroom.knowledge.legacy_chroma_storage",
    "mindroom.knowledge.legacy_index_state",
    "mindroom.knowledge.manager",
    "mindroom.knowledge.registry",
]

[[modules]]
path = "mindroom.knowledge.collections"
depends_on = [
    "mindroom.knowledge.collection_lifetime",
    "mindroom.knowledge.indexing_config",
    "mindroom.knowledge.legacy_chroma_storage",
    "mindroom.knowledge.read_protocol",
    "mindroom.knowledge.vector_store",
]
visibility = ["mindroom.knowledge.file_indexer", "mindroom.knowledge.manager", "mindroom.knowledge.status"]

[[modules]]
path = "mindroom.knowledge.legacy_chroma_storage"
depends_on = [
    "mindroom.knowledge.index_metadata",
    "mindroom.knowledge.registry",
    "mindroom.knowledge.vector_store",
    "mindroom.tool_system.dependencies",
]
visibility = ["mindroom.knowledge.collections", "mindroom.knowledge.manager", "mindroom.knowledge.watch"]

[[modules]]
path = "mindroom.embeddings.batching"
depends_on = [
    "mindroom.embeddings.errors",
]
visibility = ["mindroom.knowledge.file_indexer", "mindroom.knowledge.manager"]

[[modules]]
path = "mindroom.knowledge.index_retry"
depends_on = ["mindroom.embeddings.errors"]
visibility = ["mindroom.knowledge.file_indexer"]

[[modules]]
path = "mindroom.knowledge.git_source"
depends_on = [
    "mindroom.git_invocation",
    "mindroom.knowledge.file_listing",
    "mindroom.github_app_auth",
    "mindroom.knowledge.legacy_git_checkout",
    "mindroom.knowledge.redaction",
    "mindroom.tool_system.worker_routing",
]
visibility = ["mindroom.knowledge.manager"]

[[modules]]
path = "mindroom.knowledge.legacy_git_checkout"
depends_on = ["mindroom.git_invocation"]
visibility = ["mindroom.knowledge.git_source"]

[[modules]]
path = "mindroom.github_app_auth"
depends_on = []
visibility = [
    "mindroom.egress_broker",
    "mindroom.knowledge.git_source",
    "mindroom.knowledge.refresh_runner",
]

[[modules]]
path = "mindroom.knowledge.registry"
depends_on = [
    "mindroom.embeddings.factory",
    "mindroom.knowledge.availability",
    "mindroom.knowledge.index_reader",
    "mindroom.knowledge.index_metadata",
    "mindroom.knowledge.indexing_config",
    "mindroom.knowledge.vector_store",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.dependencies",
    "mindroom.tool_system.worker_routing",
    "mindroom.agent_policy",
]

[[modules]]
path = "mindroom.knowledge.indexing_config"
depends_on = [
    "mindroom.knowledge.legacy_metadata",
    "mindroom.knowledge.redaction",
]

[[modules]]
path = "mindroom.knowledge.legacy_metadata"
depends_on = []

[[modules]]
path = "mindroom.knowledge.refresh_outcome"
depends_on = []

[[modules]]
path = "mindroom.knowledge.manager"
depends_on = [
    "mindroom.constants",
    "mindroom.embeddings.batching",
    "mindroom.embeddings.factory",
    "mindroom.knowledge.collections",
    "mindroom.knowledge.corpus_signature",
    "mindroom.knowledge.file_indexer",
    "mindroom.knowledge.file_listing",
    "mindroom.knowledge.git_source",
    "mindroom.knowledge.index_metadata",
    "mindroom.knowledge.indexing_config",
    "mindroom.knowledge.legacy_chroma_storage",
    "mindroom.knowledge.redaction",
    "mindroom.knowledge.refresh_outcome",
    "mindroom.knowledge.vector_store",
]

[[modules]]
path = "mindroom.knowledge.redaction"
depends_on = ["mindroom.git_urls"]

[[modules]]
path = "mindroom.git_urls"
depends_on = []

[[modules]]
path = "mindroom.git_invocation"
depends_on = []

[[modules]]
path = "mindroom.knowledge.status"
depends_on = [
    "mindroom.knowledge.availability",
    "mindroom.knowledge.collection_lifetime",
    "mindroom.knowledge.collections",
    "mindroom.knowledge.index_metadata",
    "mindroom.knowledge.indexing_config",
    "mindroom.knowledge.registry",
]

[[modules]]
path = "mindroom.knowledge.refresh_scheduler"
depends_on = [
    "mindroom.embeddings.embedder_health",
    "mindroom.knowledge.refresh_runner",
    "mindroom.knowledge.registry",
]

[[modules]]
path = "mindroom.knowledge.refresh_locks"
depends_on = []
visibility = [
    "mindroom.knowledge.refresh_runner",
]

[[modules]]
path = "mindroom.knowledge.refresh_entrypoint"
depends_on = ["mindroom.knowledge.refresh_runner"]

[[modules]]
path = "mindroom.knowledge.refresh_runner"
depends_on = [
    "mindroom.knowledge.file_listing",
    "mindroom.embeddings.embedder_health",
    "mindroom.embeddings.errors",
    "mindroom.config.main",
    "mindroom.constants",
    "mindroom.github_app_auth",
    "mindroom.knowledge.index_metadata",
    "mindroom.knowledge.manager",
    "mindroom.knowledge.redaction",
    "mindroom.knowledge.refresh_locks",
    "mindroom.knowledge.registry",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.knowledge.refresh_policy"
depends_on = [
    "mindroom.knowledge.availability",
    "mindroom.knowledge.redaction",
    "mindroom.knowledge.registry",
]
visibility = ["mindroom.knowledge.utils"]

[[modules]]
path = "mindroom.knowledge.utils"
depends_on = [
    "mindroom.embeddings.errors",
    "mindroom.knowledge.file_memory_knowledge",
    "mindroom.knowledge.availability",
    "mindroom.knowledge.refresh_policy",
    "mindroom.knowledge.registry",
    "mindroom.knowledge.rerank",
    "mindroom.knowledge.search",
    "mindroom.runtime_protocols",
    "mindroom.config.resolution",
]

[[modules]]
path = "mindroom.knowledge.chunk_context"
depends_on = ["mindroom.agent_loop.helper", "mindroom.helper_usage", "mindroom.providers.registry"]
visibility = ["mindroom.knowledge.file_indexer"]

[[modules]]
path = "mindroom.knowledge.rerank"
depends_on = [
    "mindroom.constants",
    "mindroom.providers.google_adc",
    "mindroom.tool_system.dependencies",
]
visibility = ["mindroom.knowledge.utils"]

[[modules]]
path = "mindroom.knowledge.watch"
depends_on = [
    "mindroom.knowledge.file_listing",
    "mindroom.knowledge.legacy_chroma_storage",
    "mindroom.knowledge.registry",
]

[[interfaces]]
expose = [
    "ResolvedMemoryBackend",
    "resolve_memory_backend",
]
from = ["mindroom.memory._backend"]

# Public seam for compaction summary calls, completion errors, and retry policy.
# Tested in tests/test_compaction_invariants.py and tests/test_history_summary_call.py.
[[interfaces]]
expose = [
    "CompactionSummaryIncompleteError",
    "CompactionSummaryOutputLimitError",
    "DEFAULT_SUMMARY_RETRY_POLICY",
    "SummaryRetryPolicy",
    "build_summary_request_messages",
    "generate_compaction_summary",
    "is_summary_timeout",
]
from = ["mindroom.history.summary_call"]

[[interfaces]]
expose = [
    "agent_build_can_overlap_file_memory",
    "build_agent_toolkit",
    "create_agent",
    "describe_agent",
    "ensure_default_agent_workspaces",
    "team_background_jobs",
]
from = ["mindroom.agents"]

[[interfaces]]
expose = [
    "ConversionSpaceError",
    "leave_write_ahead_log",
    "write_conversion_backup",
]
from = ["mindroom.session_storage.legacy_conversion_backup"]

[[interfaces]]
expose = [
    "create_agent_state_storage",
    "create_session_storage",
    "create_state_storage",
    "prepare_conversation_database",
    "save_compaction_usage",
]
from = ["mindroom.session_storage.agent_storage"]

[[interfaces]]
expose = [
    "suggest_responder",
    "suggest_responder_for_message",
]
from = ["mindroom.routing"]

[[interfaces]]
expose = [
    "envelope.prepare_materialized_team_execution",
    "envelope.run_prepared_team",
    "envelope.TeamTurnSpec",
    "envelope.team_response_stream",
    "formation.TeamIntent",
    "formation.TeamMemberStatus",
    "formation.TeamOutcome",
    "formation.TeamResolution",
    "formation.TeamResolutionMember",
    "formation.decide_team_formation",
    "formation.resolve_configured_team",
    "formation.resolve_live_shared_agent_names",
    "formation.select_ad_hoc_team_mode",
    "members.BuiltTeam",
    "members.ResolvedExactTeamMembers",
    "members.allow_direct_private_team_agents",
    "members.build_team_spec",
    "members.requested_team_agent_names",
    "members.resolve_exact_team_members",
    "presentation.strip_team_display",
    "resume.continue_paused_team_run",
    "runtime.MemberEvent",
    "runtime.team_usage",
    "runtime.team_usage_runs",
    "spec.TeamMode",
]
from = ["mindroom.teams"]

[[interfaces]]
expose = [
    "PRIVATE_KNOWLEDGE_BASE_ID_PREFIX",
    "AgentPolicySeed",
    "PolicyInputs",
    "ResolvedAgentPolicy",
    "ResolvedAgentPolicyIndex",
    "build_agent_policy_seeds",
    "dashboard_credentials_supported_for_scope",
    "resolve_agent_policy",
    "get_agent_delegation_closure",
    "get_unsupported_team_agents",
    "unsupported_team_agent_message",
    "resolve_agent_policy_index",
]
from = ["mindroom.agent_policy"]

[[interfaces]]
expose = [
    "ResolvedAgentExecution",
    "ResolvedAgentRuntime",
    "ResolvedAgentStorage",
    "ResolvedKnowledgeBinding",
    "record_private_instance_owner",
    "resolve_private_requester_scope_root",
    "resolve_agent_execution",
    "resolve_agent_runtime",
    "resolve_agent_storage",
    "resolve_knowledge_binding",
    "shared_knowledge_path",
]
from = ["mindroom.runtime_resolution"]

[[interfaces]]
expose = [
    "PrivateInstance",
    "PrivateInstanceIdentity",
    "PrivateInstanceIdentityError",
    "load_private_instance_identity",
    "private_instances_for_agent",
]
from = ["mindroom.private_storage.private_instance_identity"]

[[interfaces]]
expose = [
    "AIStreamChunk",
    "ai_response",
    "stream_agent_response",
    "run_delegated_child_response",
    "agent_run_metadata_content",
]
from = ["mindroom.ai"]

[[interfaces]]
expose = [
    "dashboard_api_key",
    "gemini_uses_vertexai",
    "missing_model_api_key_provider",
    "model_api_key",
    "model_uses_own_credential",
    "own_api_key",
    "uses_alternative_auth",
]
from = ["mindroom.providers.credentials"]

[[interfaces]]
expose = [
    "ScheduledWorkflowOutcome",
    "execute_scheduled_workflow",
    "scheduled_trigger_message_type",
    "send_scheduled_failure_notice",
]
from = ["mindroom.scheduling.executor"]

[[interfaces]]
expose = [
    "KnowledgeAccessSupport",
    "KnowledgeBaseAccessResolution",
    "KnowledgeManager",
    "KnowledgeRefreshScheduler",
    "format_knowledge_availability_notice",
    "get_agent_knowledge",
    "KnowledgeAvailability",
    "KnowledgeAvailabilityDetail",
    "KnowledgeResolution",
    "list_knowledge_files",
    "OrchestratorKnowledgeRefreshScheduler",
    "PerBindingKnowledgeRefreshScheduler",
    "reconcile_knowledge_mode_transition_states",
    "resolve_agent_knowledge_access",
    "resolve_agent_knowledge_access_async",
    "resolve_knowledge_base_access_async",
    "semantic_agent_knowledge_base_ids",
    "StandaloneKnowledgeRefreshScheduler",
]
from = ["mindroom.knowledge"]

[[interfaces]]
expose = ["KnowledgeSourceWatcher"]
from = ["mindroom.knowledge.watch"]

# ARCH-B memory enforcement slice: expose only the config-level memory settings surface.
[[interfaces]]
expose = [
    "MemoryAutoFlushConfig",
    "MemoryBackend",
    "MemoryConfig",
    "MemorySearchConfig",
    "AgentMemorySearchConfig",
]
from = ["mindroom.config.memory"]

# ARCH-B memory enforcement slice: expose the supported memory facade, not helper modules.
[[interfaces]]
expose = [
    "ConversationRef",
    "MemoryAutoFlushService",
    "MemoryPromptParts",
    "add_agent_memory",
    "append_agent_daily_memory",
    "build_memory_prompt_parts",
    "conversation_entrypoint_preamble",
    "delete_agent_memory",
    "entrypoint_tokens",
    "entrypoint_withholds_lines",
    "get_agent_memory",
    "list_all_agent_memories",
    "read_scope_memory_files",
    "redact_memory_text",
    "refresh_agent_memory_search",
    "search_agent_memories",
    "store_conversation_memory",
    "strip_user_turn_time_prefix",
    "update_agent_memory",
    "write_scope_markdown_file",
]
from = ["mindroom.memory"]

[[interfaces]]
expose = [
    "OrchestratorRuntime",
    "SupportsAgentReplyMemberships",
    "SupportsClientConfig",
    "SupportsClientConfigMemberships",
    "SupportsClientConfigOrchestrator",
    "SupportsConfig",
    "SupportsConfigOrchestrator",
    "SupportsRunningState",
]
from = ["mindroom.runtime_protocols"]

[[interfaces]]
expose = [
    "holds_unresolved_sidecar",
    "sidecar_content_to_resolve",
    "sidecar_mxc_url",
    "without_sidecar_reference",
]
from = ["mindroom.matrix.sidecar_content"]
visibility = [
    "mindroom.event_journal",
    "mindroom.matrix.conversation_hydration",
    "mindroom.matrix.message_content",
]
exclusive = true

[[interfaces]]
expose = [
    "EventInfo",
    "event_type_supports_thread_relations",
    "origin_server_ts_from_event_source",
    "reply_to_event_id_from_content",
]
from = ["mindroom.matrix.event_info"]

[[interfaces]]
expose = [
    "RoomJoinOutcome",
    "add_room_to_space",
    "admin_join_room_user",
    "create_room",
    "create_space",
    "ensure_room_admin_power_levels",
    "ensure_room_directory_visibility",
    "ensure_room_join_rule",
    "ensure_room_name",
    "ensure_room_encryption_enabled",
    "ensure_managed_room_power_levels",
    "get_joined_rooms",
    "get_room_members",
    "get_room_membership",
    "get_room_name",
    "invite_to_room",
    "join_room",
    "kick_from_room",
    "leave_room",
    "resolve_room_reference",
    "room_admin_power_user",
    "room_encryption_enabled",
]
from = ["mindroom.matrix.client_room_admin"]

[[interfaces]]
expose = [
    "PermanentMatrixStartupError",
    "create_matrix_http_client",
    "login_flows",
    "matrix_client",
    "matrix_client_config",
    "matrix_startup_error",
    "olm_store_dir",
    "olm_store_exists",
]
from = ["mindroom.matrix.client_session"]

[[interfaces]]
expose = [
    "MindRoomAsyncClient",
    "maybe_ssl_context",
    "require_runtime_paths_arg",
]
from = ["mindroom.matrix.client_session"]
visibility = [
    "mindroom.matrix._owned_session",
    "mindroom.matrix.typing",
    "mindroom.desktop.session",
    "mindroom.orchestration.runtime",
]

[[interfaces]]
expose = [
    "DeliveredMatrixEvent",
    "MatrixDeliveryFailure",
    "MatrixDeliveryFailureKind",
    "MatrixSendOutcome",
    "build_edit_event_content",
    "can_send_to_encrypted_room",
    "cached_room",
    "edit_message_outcome",
    "edit_message_result",
    "prepare_message_content",
    "resolve_room_encryption_outcome",
    "send_audio_message",
    "send_file_message",
    "send_message_outcome",
    "send_message_result",
    "send_room_event_result",
    "send_runtime_encrypted_media_message",
    "upload_media_bytes_as_mxc",
]
from = ["mindroom.matrix.client_delivery"]

[[interfaces]]
expose = [
    "PreparedVoiceAudio",
    "can_prepare_voice_audio",
    "prepare_voice_audio_bytes",
]
from = ["mindroom.matrix.voice_message"]

[[interfaces]]
expose = [
    "ResolvedVisibleMessage",
    "extract_visible_edit_body",
    "is_visible_room_message",
    "message_preview",
    "replace_visible_message",
    "resolve_visible_event_source",
    "resolve_latest_visible_messages",
    "thread_root_body_preview",
    "trusted_visible_sender_ids",
]
from = ["mindroom.matrix.client_visible_messages"]

[[interfaces]]
expose = [
    "RoomThreadsPageError",
    "enumerate_room_thread_root_ids",
    "find_outbox_delivery_event_id_via_room_messages",
    "find_response_event_ids_via_room_messages",
    "get_room_threads_page",
    "missing_outbox_delivery_copy_indices_via_room_messages",
]
from = ["mindroom.matrix.room_history_reads"]

[[interfaces]]
expose = [
    "projected_thread_membership_access",
    "resolve_thread_root_event_id",
]
from = ["mindroom.matrix.projected_thread_membership"]
visibility = [
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.matrix.thread_mutation_impact",
]
exclusive = true

[[interfaces]]
expose = [
    "ApprovalAlias",
    "ConfigField",
    "MATRIX_ROOM_RUNTIME_TOOL_NAMES",
    "SetupType",
    "SupportsPrimaryCallPlacement",
    "ToolAuthoredOverrideValidator",
    "ToolCategory",
    "ToolExecutionTarget",
    "ToolFileAccess",
    "ToolManagedInitArg",
    "ToolMetadata",
    "ToolStatus",
    "ToolValidationInfo",
    "is_matrix_room_runtime_function",
    "unconfined_by_file_access",
]
from = ["mindroom.tool_system.declarations"]

[[interfaces]]
expose = [
    "AuthorizedFile",
    "UploadSourceError",
    "agent_file_access",
    "checked_upload_source",
    "open_upload_source",
    "read_upload_source",
    "resolve_agent_file",
    "write_agent_file",
]
from = ["mindroom.file_access"]

[[interfaces]]
expose = [
    "register_builtin_tool_metadata",
    "register_tool_with_metadata",
]
from = ["mindroom.tool_system.registration"]

[[interfaces]]
expose = [
    "ToolConfigOverrideError",
    "ToolInitOverrideError",
    "apply_authored_overrides",
    "deserialize_tool_validation_snapshot",
    "export_tools_metadata",
    "get_tool_by_name",
    "load_toolkit_class",
    "safe_tool_init_override_fields",
    "sanitize_tool_init_overrides",
    "serialize_tool_validation_snapshot",
    "validate_authored_tool_entry_overrides",
]
from = ["mindroom.tool_system.metadata"]
visibility = ["mindroom.tool_system.catalog"]
exclusive = true

[[interfaces]]
expose = [
    "ConfigField",
    "SetupType",
    "ToolAuthoredOverrideValidator",
    "ToolCategory",
    "ToolConfigOverrideError",
    "ToolFileAccess",
    "ToolInitOverrideError",
    "ToolManagedInitArg",
    "ToolMetadata",
    "ToolMetadataValidationError",
    "ToolStatus",
    "ToolValidationInfo",
    "apply_authored_overrides",
    "builtin_tool_registry",
    "deserialize_tool_validation_snapshot",
    "export_tools_metadata",
    "get_tool_by_name",
    "load_toolkit_class",
    "safe_tool_init_override_fields",
    "sanitize_tool_init_overrides",
    "serialize_tool_validation_snapshot",
    "validate_authored_tool_entry_overrides",
]
from = ["mindroom.tool_system.catalog"]

[[interfaces]]
expose = [
    "ToolMetadataValidationError",
    "ToolRegistry",
    "builtin_tool_registry",
    "plugin_load_active",
]
from = ["mindroom.tool_system.registry"]

[[interfaces]]
expose = [
    "CANDIDATE_PLUGIN_MODULE_PREFIX",
    "PLUGIN_MODULE_PREFIX",
    "ToolMetadataValidationError",
    "ToolRegistry",
    "builtin_tool_registry",
    "compose_tool_registry",
    "plugin_load_active",
    "plugin_module_registrations",
    "record_plugin_root",
    "register_tool",
]
from = ["mindroom.tool_system.registry"]
visibility = [
    "mindroom.tool_system.google_workspaces",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.registration",
]
exclusive = true

[[interfaces]]
expose = [
    "PluginValidationError",
    "SkippedPlugin",
    "_MODULE_IMPORT_CACHE",
    "_ModuleCacheEntry",
    "_PLUGIN_CACHE",
    "_PluginBase",
    "_collect_plugin_bases",
    "_import_by_name",
    "_import_name",
    "_install_plugin_package_chain",
    "_load_plugin_base",
    "_log_failed_plugin_entry",
    "_module_name",
    "_outside_other_plugins",
    "_package_parts",
    "_plugin_package_name",
    "_prepare_module",
    "_reject_duplicate_plugin_manifest_names",
    "_resolve_plugin_root",
    "_restore_plugin_package_chain",
    "_snapshot_plugin_package_chain",
    "declared_tool_metadata",
]
from = ["mindroom.tool_system.plugin_imports"]
visibility = [
    "mindroom.tool_system.plugins",
]
exclusive = true

[[interfaces]]
expose = [
    "auto_install_enabled",
    "auto_install_optional_extra_for_import_retry",
    "check_deps_installed",
    "ensure_optional_deps",
    "ensure_tool_deps",
    "install_command_for_current_python",
    "optional_dependency_environment",
]
from = ["mindroom.tool_system.dependencies"]

[[interfaces]]
expose = [
    "WorkerProgressEvent",
    "WorkerProgressPump",
    "ToolRuntimeContext",
    "DetachedRequesterContext",
    "detached_requester_context",
    "current_budget_monitor",
    "current_requester_id",
    "get_detached_requester_context",
    "ToolRuntimeSupport",
    "append_tool_runtime_attachment_id",
    "attachment_id_available_in_tool_runtime_context",
    "build_scheduling_runtime_from_tool_runtime_context",
    "current_execution_identity",
    "current_plugins",
    "detached_tool_scope",
    "emit_custom_event",
    "get_worker_progress_pump",
    "get_tool_runtime_context",
    "get_tool_runtime_media_attachment",
    "list_tool_runtime_attachment_ids",
    "member_tool_scope",
    "require_tool_runtime_context",
    "scope_hook_context_kwargs",
    "tool_runtime_context",
    "tool_runtime_model_context",
    "worker_progress_pump_scope",
]
from = ["mindroom.tool_system.runtime_context"]

[[interfaces]]
expose = ["plugin_state_root", "validate_plugin_name"]
from = ["mindroom.tool_system.plugin_identity"]

[[interfaces]]
expose = [
    "ThreadExportStats",
    "ThreadExportTarget",
    "export_threads_once",
    "export_threads_to_targets_once",
]
from = ["mindroom.thread_export"]

[[interfaces]]
expose = [
    "normal_worker_key",
    "normalize_worker_key_part",
    "SHARED_DIRECTORIES_DIRNAME",
    "ResolvedWorkerTarget",
    "ResolvedWorkerKeyScope",
    "SerializedToolExecutionIdentity",
    "ToolExecutionIdentity",
    "WorkerScope",
    "bind_detached_execution_identity",
    "agent_state_root_path",
    "agent_workspace_relative_path",
    "agent_workspace_root_path",
    "build_agent_toolkit_worker_target",
    "build_requester_execution_identity",
    "build_tool_execution_identity",
    "build_worker_target_from_runtime_env",
    "detached_execution_identity",
    "dump_worker_target",
    "load_worker_target",
    "private_instance_scope_root_path",
    "private_instances_root_path",
    "parse_tool_execution_identity_payload",
    "requires_explicit_private_agent_visibility",
    "resolve_agent_owned_path",
    "resolve_agent_state_storage_path",
    "resolve_unscoped_worker_key",
    "resolve_worker_key",
    "resolve_worker_target",
    "resolved_worker_key_scope",
    "shared_storage_root",
    "serialize_tool_execution_identity",
    "subagent_worker_key",
    "subagent_worker_state_scope_key",
    "supports_tool_name_for_worker_scope",
    "unsupported_shared_only_integration_message",
    "unsupported_shared_only_integration_names",
    "private_root_name",
    "visible_workspace_roots",
    "written_by_other_workers",
    "worker_dir_name",
    "worker_log_id",
    "worker_root_path",
    "worker_scope_allows_shared_only_integrations",
]
from = ["mindroom.tool_system.worker_routing"]


[[interfaces]]
expose = [
    "BUILTIN_EVENT_NAMES",
    "EVENT_AGENT_STARTED",
    "EVENT_AGENT_STOPPED",
    "EVENT_BOT_READY",
    "EVENT_COMPACTION_AFTER",
    "EVENT_COMPACTION_BEFORE",
    "EVENT_CONFIG_RELOADED",
    "EVENT_CONTACT_BEFORE_SEND",
    "EVENT_MESSAGE_AFTER_RESPONSE",
    "EVENT_MESSAGE_BEFORE_RESPONSE",
    "EVENT_MESSAGE_CANCELLED",
    "EVENT_MESSAGE_ENRICH",
    "EVENT_MESSAGE_FINAL_RESPONSE_TRANSFORM",
    "EVENT_MESSAGE_RECEIVED",
    "EVENT_REACTION_RECEIVED",
    "EVENT_ROOM_MEMBER_JOINED",
    "EVENT_ROOM_MEMBER_LEFT",
    "EVENT_SCHEDULE_FIRED",
    "EVENT_SESSION_STARTED",
    "EVENT_SYSTEM_ENRICH",
    "EVENT_TOOL_AFTER_CALL",
    "EVENT_TOOL_BEFORE_CALL",
    "EVENT_TOOL_ENVIRONMENT",
    "EVENT_TURN_ENDED",
    "EVENT_TURN_PAUSED",
    "EVENT_TURN_RESUMED",
    "EVENT_TURN_STARTED",
    "ACTIVE_THREAD_FOLLOW_UP_SOURCE_KIND",
    "AfterResponseContext",
    "AgentLifecycleContext",
    "BeforeResponseContext",
    "CancelledResponseContext",
    "CancelledResponseInfo",
    "CompactionHookContext",
    "ConfigReloadedContext",
    "ContactBeforeSendContext",
    "CustomEventContext",
    "EnrichmentItem",
    "FinalResponseDraft",
    "FinalResponseTransformContext",
    "HookBindings",
    "HookCallback",
    "HookContext",
    "HookContextSupport",
    "HookIngressPolicy",
    "HookMatrixAdmin",
    "HookMessageSender",
    "HookRegistry",
    "HookRegistryPlugin",
    "HookRegistryLifetime",
    "HookRegistrySource",
    "HookRegistryState",
    "HookRoomStatePutter",
    "HookRoomStateQuerier",
    "MessageEnrichContext",
    "MessageEnvelope",
    "MessageReceivedContext",
    "ReactionReceivedContext",
    "RegisteredHook",
    "ResponseDraft",
    "ResponseResult",
    "RoomMemberJoinedContext",
    "RoomMemberLeftContext",
    "ScheduleFiredContext",
    "SenderKind",
    "SessionHookContext",
    "SystemEnrichContext",
    "ToolAfterCallContext",
    "ToolBeforeCallContext",
    "ToolEnvironmentContext",
    "TranscriptLine",
    "TRUSTED_INTERNAL_RELAY_SOURCE_KIND",
    "TurnIntent",
    "TurnLifecycleContext",
    "TurnOrigin",
    "TurnOutcome",
    "TurnTrust",
    "build_hook_message_sender",
    "build_hook_matrix_admin",
    "build_hook_room_state_putter",
    "build_hook_room_state_querier",
    "default_timeout_ms_for_event",
    "emit",
    "emit_collect",
    "emit_collect_environment",
    "emit_final_response_transform",
    "emit_gate",
    "emit_policy",
    "emit_transform",
    "get_hook_metadata",
    "hook",
    "hook_ingress_policy",
    "is_automation_source_kind",
    "is_voice_event",
    "iter_module_hooks",
    "render_enrichment_block",
    "render_system_enrichment_block",
    "render_transient_context",
    "send_hook_message",
    "send_matrix_message",
    "validate_event_name",
]
from = ["mindroom.hooks"]

[[interfaces]]
expose = [
    "OAuthCredentialConflictError",
    "OAuthCredentialContext",
    "OAuthCredentialUnreadableError",
    "OAuthCredentialsRefreshResult",
    "OAuthCredentialsSnapshot",
    "OAuthCredentialsStatus",
    "OAuthGroupMember",
    "exchange_and_store_oauth_credentials",
    "exchange_and_store_oauth_group_credentials",
    "load_oauth_credentials_snapshot",
    "load_oauth_credentials_snapshot_sync",
    "load_oauth_credentials_status",
    "load_oauth_reset_connection_generation",
    "oauth_account_label",
    "oauth_credential_generation",
    "oauth_credentials_may_exist",
    "oauth_credentials_have_required_scopes",
    "oauth_credentials_have_scopes",
    "oauth_credentials_match_client_id",
    "oauth_credentials_satisfy_identity_policy",
    "oauth_credentials_usable",
    "oauth_credentials_worker_target",
    "oauth_reset_operation_result",
    "oauth_verified_claim",
    "refresh_oauth_credentials",
    "refresh_oauth_credentials_blocking",
    "refresh_oauth_credentials_sync",
    "refresh_oauth_credentials_with_result",
    "reset_oauth_credentials",
    "reset_oauth_credentials_blocking",
    "resolve_oauth_credential_context",
]
from = ["mindroom.oauth.credential_lifecycle"]

[[interfaces]]
expose = [
    "InterruptedReplaySnapshot",
    "NO_TURN_INPUT",
    "TurnInput",
    "build_interrupted_replay_snapshot",
    "is_interrupted_replay_run",
    "persist_interrupted_replay",
    "persist_interrupted_replay_snapshot",
    "render_stopped_attempt",
    "split_interrupted_tool_trace",
    "stored_turn_input",
]
from = ["mindroom.history.interrupted_replay"]

[[interfaces]]
expose = ["TurnRecorder"]
from = ["mindroom.history.turn_recorder"]

[[interfaces]]
expose = [
    "CollectedStreamPresentation",
    "FailedReply",
    "StreamingToolTracker",
    "StructuredStreamChunk",
    "ToolTraceEntry",
    "append_stream_text",
    "body_with_tool_tags",
    "body_without_tool_markers",
    "build_tool_trace_content",
    "complete_pending_tool_block",
    "deserialize_tool_trace",
    "format_tool_combined",
    "format_tool_completed_event",
    "format_tool_started_event",
    "has_tool_trace",
    "is_visible_tool_marker_line",
    "message_tool_trace",
    "remap_visible_tool_marker_indices",
    "renumbered_tool_trace",
    "render_tool_trace_for_context",
    "serialize_tool_trace",
    "strip_visible_tool_markers",
    "tool_args_chat_preview",
    "tool_marker_text",
    "tool_markers_match_trace",
    "with_stored_calls",
]
from = ["mindroom.tool_system.events"]

[[interfaces]]
expose = ["build_tool_hook_middleware", "dispatch_external_tool_hooks", "owned_sync_tool_completion", "run_async_entrypoint_blocking_call", "run_sync_tool_entrypoint", "SyncToolCompletionTracker", "track_sync_tool_completion"]
from = ["mindroom.tool_system.tool_hooks"]

[[modules]]
path = "mindroom.api.mcp_gateway"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.config_lifecycle",
    "mindroom.api.mcp_clients",
    "mindroom.api.mcp_scim",
    "mindroom.api.connection_agents",
    "mindroom.mcp.manager",
    "mindroom.origins",
    "mindroom.mcp_gateway.admission",
    "mindroom.mcp_gateway.accounts",
    "mindroom.mcp_gateway.consent",
    "mindroom.mcp_gateway.external_auth",
    "mindroom.mcp_gateway.oauth",
    "mindroom.mcp_gateway.server",
    "mindroom.mcp_gateway.store",
    "mindroom.mcp_gateway.toolkits",
    "mindroom.mcp_gateway.tools",
    "mindroom.mcp_gateway.types",
    "mindroom.api.mcp_identity",
    "mindroom.api.mcp_selection",
    "mindroom.mcp_gateway.selection",
    "mindroom.mcp_gateway.execution",
]

[[modules]]
path = "mindroom.mcp_gateway.admission"
depends_on = []

[[modules]]
path = "mindroom.mcp_gateway.consent"
depends_on = []

[[modules]]
path = "mindroom.mcp_gateway.oauth"
depends_on = ["mindroom.mcp_gateway.store", "mindroom.mcp_gateway.accounts", "mindroom.mcp_gateway.lifecycle", "mindroom.origins"]

[[modules]]
path = "mindroom.mcp_gateway.store"
depends_on = ["mindroom.mcp_gateway.legacy_schema",
    "mindroom.mcp_gateway.selection_schema",
]

[[modules]]
path = "mindroom.api.mcp_clients"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.connection_agents",
    "mindroom.mcp_gateway.server",
    "mindroom.api.mcp_identity",
]

[[modules]]
path = "mindroom.api.mcp_scim"
depends_on = [
    "mindroom.bounded_bytes",
    "mindroom.mcp_gateway.accounts",
    "mindroom.json_utils",
    "mindroom.llm",
]

[[modules]]
path = "mindroom.mcp_gateway.accounts"
depends_on = []

[[modules]]
path = "mindroom.mcp_gateway.external_auth"
depends_on = []

[[modules]]
path = "mindroom.mcp_gateway.lifecycle"
depends_on = []

[[modules]]
path = "mindroom.mcp_gateway.legacy_schema"
depends_on = []
visibility = ["mindroom.mcp_gateway.store"]

[[modules]]
path = "mindroom.mcp_gateway.server"
depends_on = ["mindroom.bounded_bytes", "mindroom.mcp_gateway.execution", "mindroom.mcp_gateway.types"]

[[modules]]
path = "mindroom.mcp_gateway.execution"
depends_on = []

[[modules]]
path = "mindroom.mcp_gateway.toolkits"
depends_on = [
    "mindroom.agents",
    "mindroom.mcp.toolkit",
    "mindroom.mcp_gateway.execution",
    "mindroom.mcp_gateway.types",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.toolkit_connections",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.sandbox_proxy",
]

[[modules]]
path = "mindroom.mcp_gateway.tools"
depends_on = [
    "mindroom.hooks",
    "mindroom.mcp_gateway.execution",
    "mindroom.mcp_gateway.toolkits",
    "mindroom.mcp_gateway.types",
    "mindroom.approval.tool_approval",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_access",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.tool_hooks",
    "mindroom.tool_system.worker_proxy_client",
    "mindroom.tool_system.agent_tools",
    "mindroom.origins",
]

[[modules]]
path = "mindroom.mcp_gateway.types"
depends_on = []

[[interfaces]]
expose = ["SCRIPT_GATEWAY_PORT_ENV", "bind_script_tool_broker", "listener_port", "router", "serve_listener", "serve_script_gateway_listener"]
from = ["mindroom.api.script_gateway"]

[[interfaces]]
expose = ["ApprovalMatrixTransport"]
from = ["mindroom.approval.transport"]

[[interfaces]]
expose = [
    "DEFAULT_ROUTER_MANAGED_ROOM_REASON",
    "JOB_APPROVAL_TYPE",
    "NO_APPROVER_REASON",
    "POLICY_CONFIRMATION_APPROVAL_TYPE",
    "ApprovalActionResult",
    "AutomationToolOrigin",
    "BackgroundScriptToolOrigin",
    "DynamicWorkflowToolOrigin",
    "MatrixApprovalAction",
    "ToolApprovalDecision",
    "ToolApprovalScriptError",
    "ToolApprovalTransportError",
    "approval_gated",
    "evaluate_tool_approval",
    "handle_matrix_approval_action",
    "human_gate",
    "is_process_active_approval_card",
    "resolve_tool_approval_approver",
    "scheduled_call_offers_any_arguments",
    "shutdown_approval_runtime",
    "tool_may_require_approval",
    "toolkit_approval_alias",
]
from = ["mindroom.approval.tool_approval"]

[[interfaces]]
expose = [
    "INLINE_ATTACHMENT_BYTES_ENV",
    "ToolPlacement",
    "WorkerAttachmentSaveReceipt",
    "decode_attachment_save_bytes",
    "inline_attachment_byte_limit",
    "lease_worker_manager",
    "worker_stand_ins",
    "runner_config_snapshot",
    "sandbox_proxy_config",
    "save_attachment_to_worker",
    "tool_placement",
    "primary_owns_tool_settings",
    "view_file_from_worker",
    "to_json_compatible",
    "worker_call",
    "worker_proxy_client_config",
    "worker_route",
]
from = ["mindroom.tool_system.sandbox_proxy"]

[[interfaces]]
expose = [
    "MAX_WORKSPACE_SKILL_DESCRIPTION_CHARS",
    "MAX_WORKSPACE_SKILL_FILE_BYTES",
    "MAX_WORKSPACE_SKILL_NAME_CHARS",
    "SKILL_FILENAME",
    "SKILL_FUNCTION_NAMES",
    "SKILL_READ_FUNCTION_NAMES",
    "Skill",
    "SkillMarkdownError",
    "SkillsToolkit",
    "agent_workspace_skills_root",
    "build_skills_toolkit",
    "clear_skill_cache",
    "default_skill_roots",
    "get_skill_snapshot",
    "get_user_skills_dir",
    "list_skill_listings",
    "parse_skill_markdown",
    "parse_skill_metadata",
    "resolve_skill_listing",
    "skill_can_edit",
    "workspace_entry_names",
    "workspace_skill_file_names",
]
from = ["mindroom.tool_system.skills"]

[[interfaces]]
expose = [
    "DeferredToolkit",
    "ToolDeferral",
    "defer_toolkit",
]
from = ["mindroom.tool_system.dynamic_toolkits"]

[[interfaces]]
expose = [
    "MindRoomMCPToolkit",
    "bind_mcp_server_manager",
    "require_mcp_server_manager",
]
from = ["mindroom.mcp.toolkit"]

[[interfaces]]
expose = [
    "delete_desktop_credentials",
    "load_desktop_credentials",
    "save_desktop_credentials",
]
from = ["mindroom.desktop.credentials"]
visibility = [
    "mindroom.commands.desktop_commands",
    "mindroom.custom_tools.desktop",
]
exclusive = true

[[modules]]
path = "mindroom.api.thread_exports"
depends_on = ["mindroom.api.config_lifecycle", "mindroom.thread_export.models"]
visibility = ["mindroom.api.main"]

[[modules]]
path = "mindroom.cli.thread_export"
depends_on = ["mindroom.cli.api", "mindroom.thread_export.models"]
visibility = ["mindroom.cli.main"]


[[modules]]
path = "mindroom.private_storage.legacy_private_storage"
depends_on = [
    "mindroom.constants",
    "mindroom.private_storage.private_instance_identity_store",
    "mindroom.private_storage.legacy_private_storage_aliases",
    "mindroom.tool_system.worker_routing",
    "mindroom.workers.storage_preflight",
]
visibility = ["mindroom.orchestration.storage_preparation"]

[[modules]]
path = "mindroom.legacy_state_root_records"
depends_on = [
    "mindroom.constants",
    "mindroom.path_confinement",
]
visibility = ["mindroom.orchestration.storage_preparation"]

[[modules]]
path = "mindroom.credentials.legacy_tool_credentials"
depends_on = [
    "mindroom.tool_system.catalog",
]
visibility = ["mindroom.orchestration.storage_preparation"]

[[modules]]
path = "mindroom.workers.backends.legacy_state_root_mounts"
depends_on = [
    "mindroom.workers.backend_kinds",
]
visibility = ["mindroom.orchestration.storage_preparation"]

[[modules]]
path = "mindroom.workers.backend_kinds"
depends_on = []

[[modules]]
path = "mindroom.workers.storage_preflight"
depends_on = [
    "mindroom.workers.backend_kinds",
]
visibility = ["mindroom.private_storage.legacy_private_storage"]

[[modules]]
path = "mindroom.session_storage.preflight"
depends_on = [
    "mindroom.path_confinement",
    "mindroom.session_storage.schema",
]
visibility = ["mindroom.session_storage.agent_storage"]

[[modules]]
path = "mindroom.private_storage.legacy_private_storage_aliases"
depends_on = [
    "mindroom.private_storage.private_instance_identity_store",
    "mindroom.tool_system.worker_routing",
]
visibility = ["mindroom.private_storage.legacy_private_storage", "mindroom.private_storage.alias_paths"]

[[modules]]
path = "mindroom.private_storage.alias_paths"
depends_on = [
    "mindroom.private_storage.private_instance_identity_store",
    "mindroom.private_storage.legacy_private_storage_aliases",
    "mindroom.tool_system.worker_routing",
]
visibility = []

[[modules]]
path = "mindroom.knowledge.read_protocol"
depends_on = []

[[modules]]
path = "mindroom.knowledge.index_reader"
depends_on = [
    "mindroom.knowledge.collection_lifetime",
    "mindroom.knowledge.vector_store",
]

[[modules]]
path = "mindroom.api.mcp_identity"
depends_on = [
    "mindroom.api.auth",
    "mindroom.api.auth_user",
    "mindroom.api.config_lifecycle",
    "mindroom.mcp_gateway.accounts",
    "mindroom.mcp_gateway.types",
]

[[modules]]
path = "mindroom.api.mcp_selection"
depends_on = ["mindroom.api.auth", "mindroom.api.config_lifecycle", "mindroom.api.connection_agents", "mindroom.api.mcp_identity", "mindroom.mcp_gateway.selection", "mindroom.mcp_gateway.server", "mindroom.mcp_gateway.store", "mindroom.tool_system.agent_tools", "mindroom.tool_system.plugins"]

[[modules]]
path = "mindroom.mcp_gateway.selection"
depends_on = ["mindroom.mcp_gateway.accounts", "mindroom.mcp_gateway.types"]

[[modules]]
path = "mindroom.mcp_gateway.selection_schema"
depends_on = []

[[modules]]
path = "mindroom.response_activity"
depends_on = []

[[modules]]
path = "mindroom.api.response_activity"
depends_on = ["mindroom.api.auth", "mindroom.api.config_lifecycle", "mindroom.response_activity"]

[[modules]]
path = "mindroom.cli.response_activity"
depends_on = ["mindroom.cli.api", "mindroom.cli.config", "mindroom.response_activity"]

[[modules]]
path = "mindroom.debug_report"
depends_on = ["mindroom.session_storage.schema"]
visibility = ["mindroom.cli.debug_report"]

[[modules]]
path = "mindroom.cli.debug_report"
depends_on = [
    "mindroom.cli.config",
    "mindroom.config.yaml_includes",
    "mindroom.constants",
    "mindroom.debug_report",
]
visibility = ["mindroom.cli.main"]

[[modules]]
path = "mindroom.config.reload_status"
depends_on = []

[[modules]]
path = "mindroom.config.load_attempt"
depends_on = ["mindroom.config.main", "mindroom.config.yaml_includes"]

[[modules]]
path = "mindroom.config.commit"
depends_on = ["mindroom.config.load_attempt", "mindroom.config.main", "mindroom.config.yaml_includes"]

[[modules]]
path = "mindroom.config.bundle"
depends_on = ["mindroom.config.main", "mindroom.config.yaml_includes", "mindroom.constants"]

[[modules]]
path = "mindroom.cli.config_bundle"
depends_on = ["mindroom.cli.config", "mindroom.cli.config_reload", "mindroom.config.main", "mindroom.config.bundle", "mindroom.constants"]

[[modules]]
path = "mindroom.api.config_schema"
depends_on = ["mindroom.config.main"]

[[modules]]
path = "mindroom.config.schema_hints"
depends_on = []

[[modules]]
path = "mindroom.api.config_reload"
depends_on = ["mindroom.api.auth", "mindroom.api.config_lifecycle", "mindroom.config.reload_status"]

[[modules]]
path = "mindroom.cli.api"
depends_on = ["mindroom.constants"]

[[modules]]
path = "mindroom.cli.config_reload"
depends_on = ["mindroom.cli.api", "mindroom.cli.config", "mindroom.config.main", "mindroom.config.yaml_includes", "mindroom.config.reload_status"]


[[modules]]
path = "mindroom.approval.continuation_rules"
depends_on = ["mindroom.event_journal", "mindroom.reply_lifecycle"]
visibility = [
    "mindroom.agent_cli.cli_approval_waits",
    "mindroom.approval.continuation_runner",
    "mindroom.approval.recovery",
]

[[modules]]
path = "mindroom.approval.failure"
depends_on = ["mindroom.event_journal", "mindroom.reply_lifecycle"]
visibility = [
    "mindroom.agent_cli.cli_approval_waits",
    "mindroom.approval.continuation_runner",
    "mindroom.approval.recovery",
]

[[modules]]
path = "mindroom.approval.recovery"
depends_on = [
    "mindroom.approval.continuation_rules",
    "mindroom.approval.failure",
    "mindroom.event_journal",
    "mindroom.reply_lifecycle",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.delegation.execution"
depends_on = [
    "mindroom.agent_loop.build",
    "mindroom.ai_run_metadata",
    "mindroom.delegation.job_approvals",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.failure_text",
    "mindroom.approval.receipt_readers",
    "mindroom.approval.resume",
    "mindroom.approval.tool_owners",
    "mindroom.delegation.sessions",
    "mindroom.tool_system.output_files",
    "mindroom.runtime_resolution",
    "mindroom.delegation.hooks",
    "mindroom.turn_continuation",
    "mindroom.delegation.storage",
    "mindroom.session_storage.agent_storage",
    "mindroom.session_storage.lanes",
    "mindroom.agents",
    "mindroom.llm",
    "mindroom.delegation.background",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.recovery",
    "mindroom.delegation.state",
    "mindroom.delegation.targets",
    "mindroom.knowledge.utils",
    "mindroom.response_turn",
    "mindroom.run_storage",
    "mindroom.approval.tool_approval",
    "mindroom.tool_jobs.control",
    "mindroom.tool_jobs.settings",
    "mindroom.tool_jobs.background_after",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_function",
    "mindroom.turn_model",
]

[[modules]]
path = "mindroom.delegation.targets"
depends_on = [
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.personas",
    "mindroom.delegation.recovery",
    "mindroom.delegation.sessions",
    "mindroom.delegation.state",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.runtime_context",
]
visibility = ["mindroom.custom_tools.delegate", "mindroom.delegation.execution"]

[[modules]]
path = "mindroom.delegation.personas"
depends_on = [
    "mindroom.agent_cli.shell_contract",
    "mindroom.knowledge.search",
    "mindroom.knowledge.utils",
    "mindroom.tool_system.declarations",
    "mindroom.delegation.state",
    "mindroom.path_confinement",
    "mindroom.tool_system.skills",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.delegation.state"
depends_on = ["mindroom.history.types", "mindroom.tool_system.worker_routing"]

[[modules]]
path = "mindroom.delegation.hooks"
depends_on = [
    "mindroom.delegation.state",
    "mindroom.tool_system.tool_hooks",
    "mindroom.tool_system.worker_routing",
]

# Delegation records that predate primary-owned state, left as they were.
[[modules]]
path = "mindroom.delegation.legacy_records"
depends_on = ["mindroom.path_confinement"]
visibility = ["mindroom.delegation.records"]

# Delegation child snapshots earlier releases stored, rewritten once at startup and in the conversation layout's step to
# version 5.
[[modules]]
path = "mindroom.delegation.legacy_snapshots"
depends_on = [
    "mindroom.constants",
    "mindroom.delegation.state",
    "mindroom.session_storage.schema",
    "mindroom.session_storage.store",
]
visibility = [
    "mindroom.orchestration.storage_preparation",
    "mindroom.session_storage.legacy_session_columns",
]

[[modules]]
path = "mindroom.delegation.records"
depends_on = [
    "mindroom.atomic_file",
    "mindroom.constants",
    "mindroom.delegation.legacy_records",
    "mindroom.delegation.state",
    "mindroom.path_confinement",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.delegation.audit"
depends_on = [
    "mindroom.ai_run_metadata",
    "mindroom.delegation.records",
    "mindroom.delegation.state",
    "mindroom.llm",
]

[[modules]]
path = "mindroom.delegation.storage"
depends_on = []
visibility = [
    "mindroom.delegation.execution",
    "mindroom.delegation.sessions",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.recovery",
    "mindroom.orchestration.tool_job_runtime",
]

[[modules]]
path = "mindroom.history.message_content"
depends_on = [
    "mindroom.llm",
]
visibility = [
    "mindroom.history.legacy_stored_tool_calls",
    "mindroom.history.request_messages",
    "mindroom.history.summary_input",
    "mindroom.participation_hook",
]

[[modules]]
path = "mindroom.history.replay"
depends_on = [
    "mindroom.llm",
    "mindroom.history.summary_message",
    "mindroom.history.types",
    "mindroom.history.run_visibility",
    "mindroom.native_compaction",
    "mindroom.history.request_messages",
]
visibility = [
    "mindroom.ai",
    "mindroom.approval.resume",
    "mindroom.history.compaction",
    "mindroom.history.runtime",
    "mindroom.history.mid_turn_compaction",
    "mindroom.history.native",
    "mindroom.teams",
]

[[modules]]
path = "mindroom.history.session_context"
depends_on = [
    "mindroom.session_storage.agent_storage",
    "mindroom.session_storage.schema",
    "mindroom.constants",
    "mindroom.history.storage",
    "mindroom.history.types",
    "mindroom.history.team_scope",
]
visibility = [
    "mindroom.ai",
    "mindroom.api.openai_compat",
    "mindroom.approval.execution",
    "mindroom.conversation_state_writer",
    "mindroom.history.manual",
    "mindroom.teams",
    "mindroom.delegation.recovery",
]

[[modules]]
path = "mindroom.history.conversation_text"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.automations.steps",
    "mindroom.constants",
    "mindroom.history.interrupted_replay",
    "mindroom.history.run_visibility",
    "mindroom.history.summary_message",
    "mindroom.hooks.enrichment",
    "mindroom.llm",
    "mindroom.prompt_message_tags",
]
visibility = [
    "mindroom.execution_preparation",
    "mindroom.history.compaction",
    "mindroom.knowledge_graph.episodes",
    "mindroom.memory.auto_flush",
    "mindroom.skill_learning.transcript",
]

[[modules]]
path = "mindroom.history.summary_input"
depends_on = [
    "mindroom.constants",
    "mindroom.history.message_content",
    "mindroom.llm",
    "mindroom.usage.storage",
    "mindroom.history.request_messages",
]
visibility = ["mindroom.history.compaction"]

[[modules]]
path = "mindroom.participation"
depends_on = ["mindroom.judgment.state"]
visibility = ["mindroom.participation_hook", "mindroom.response_runner", "mindroom.participation_judgment"]

[[modules]]
path = "mindroom.participation_hook"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.history.message_content",
    "mindroom.hooks.enrichment",
    "mindroom.json_utils",
    "mindroom.judgment.state",
    "mindroom.llm",
    "mindroom.participation",
]
visibility = ["mindroom.loop_hooks"]

[[modules]]
path = "mindroom.json_utils"
depends_on = []
visibility = ["mindroom.judgment.client", "mindroom.judgment.llm", "mindroom.participation_hook", "mindroom.private_storage.private_instance_identity_store", "mindroom.api.mcp_scim", "mindroom.api.script_gateway", "mindroom.agent_cli.json_io"]

[[modules]]
path = "mindroom.providers.tool_policy"
depends_on = []
visibility = ["mindroom.providers.gemini", "mindroom.providers.ollama.adapter", "mindroom.providers.openai"]

# Owned provider adapters (stream-only, over mindroom.llm); the provider registry wires them in.
[[modules]]
path = "mindroom.providers.registry"
depends_on = [
    "mindroom.providers.anthropic.messages",
    "mindroom.providers.anthropic.settings",
    "mindroom.providers.credentials",
    "mindroom.providers.extra_kwargs",
    "mindroom.providers.gemini",
    "mindroom.providers.names",
    "mindroom.providers.ollama.adapter",
    "mindroom.providers.ollama.settings",
    "mindroom.providers.openai",
    "mindroom.providers.pipeline",
    "mindroom.providers.synthetic_adapter",
]

[[modules]]
path = "mindroom.providers.extra_kwargs"
depends_on = []

[[modules]]
path = "mindroom.providers.assistant_turn"
depends_on = ["mindroom.llm"]

[[modules]]
path = "mindroom.providers.errors"
depends_on = ["mindroom.llm", "mindroom.failure_text"]

[[modules]]
path = "mindroom.providers.media_files"
depends_on = ["mindroom.llm"]

[[modules]]
path = "mindroom.providers.gemini"
depends_on = [
    "mindroom.constants",
    "mindroom.llm",
    "mindroom.providers.assistant_turn",
    "mindroom.providers.credentials",
    "mindroom.providers.errors",
    "mindroom.providers.extra_kwargs",
    "mindroom.providers.google_adc",
    "mindroom.providers.identity",
    "mindroom.providers.media_files",
    "mindroom.providers.tool_policy",
]

[[modules]]
path = "mindroom.providers.ollama"
depends_on = []

[[modules]]
path = "mindroom.providers.ollama.adapter"
depends_on = [
    "mindroom.llm",
    "mindroom.providers.assistant_turn",
    "mindroom.providers.extra_kwargs",
    "mindroom.providers.identity",
    "mindroom.providers.media_files",
    "mindroom.providers.ollama.errors",
    "mindroom.providers.ollama.settings",
    "mindroom.providers.tool_policy",
]

# Importing this module loads the Ollama SDK, so only the Ollama modules, each imported on first use, and Mem0's
# memory build, which imports it once Mem0's own Ollama embedder fails, may import it.
[[modules]]
path = "mindroom.providers.ollama.errors"
depends_on = ["mindroom.providers.errors"]
visibility = ["mindroom.embeddings.ollama_embedder", "mindroom.memory.config", "mindroom.providers.ollama.adapter"]

[[modules]]
path = "mindroom.providers.ollama.settings"
depends_on = ["mindroom.providers.extra_kwargs"]

[[modules]]
path = "mindroom.providers.synthetic_adapter"
depends_on = ["mindroom.llm", "mindroom.providers.assistant_turn", "mindroom.providers.extra_kwargs", "mindroom.providers.identity"]

[[modules]]
path = "mindroom.config.cold_cache"
depends_on = ["mindroom.config.judgment", "mindroom.constants"]
visibility = []

[[modules]]
path = "mindroom.config.listening"
depends_on = ["mindroom.config.schema_hints"]
visibility = []

[[modules]]
path = "mindroom.config.participation"
depends_on = ["mindroom.config.judgment", "mindroom.config.schema_hints"]
visibility = []

[[modules]]
path = "mindroom.delegation.sessions"
depends_on = [
    "mindroom.constants",
    "mindroom.delegation.state",
    "mindroom.delegation.storage",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.delegation.direct"
depends_on = [
    "mindroom.ai",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.sessions",
    "mindroom.response_turn",
    "mindroom.failure_text",
]

[[modules]]
path = "mindroom.delegation.lifecycle"
depends_on = [
    "mindroom.ai_run_metadata",
    "mindroom.delegation.personas",
    "mindroom.delegation.audit",
    "mindroom.delegation.records",
    "mindroom.delegation.sessions",
    "mindroom.delegation.state",
    "mindroom.delegation.storage",
    "mindroom.tool_system.progress",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.worker_routing",
    "mindroom.llm",
    "mindroom.turn_model",
    "mindroom.tool_system.registry",
]
visibility = [
    "mindroom.ai",
    "mindroom.custom_tools.delegate",
    "mindroom.custom_tools.dynamic_workflow",
    "mindroom.delegation.direct",
    "mindroom.delegation.execution",
    "mindroom.delegation.job_approvals",
    "mindroom.delegation.recovery",
    "mindroom.tool_system.agent_tools",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.delegation.targets",
]

[[modules]]
path = "mindroom.delegation.recovery"
depends_on = [
    "mindroom.tool_jobs.control",
    "mindroom.tool_jobs.runtime",
    "mindroom.delegation.background",
    "mindroom.delegation.hooks",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.sessions",
    "mindroom.delegation.state",
    "mindroom.delegation.storage",
    "mindroom.history.session_context",
    "mindroom.history.types",
    "mindroom.llm",
    "mindroom.history.storage",
    "mindroom.session_storage.lanes",
]
visibility = [
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.orchestrator",
    "mindroom.approval.continuation_runner",
    "mindroom.delegation.execution",
    "mindroom.delegation.targets",
]

[[modules]]
path = "mindroom.event_journal.history_recovery"
depends_on = []

[[modules]]
path = "mindroom.event_journal.legacy_response_attempts"
depends_on = ["mindroom.event_journal"]
visibility = ["mindroom.event_journal"]

[[modules]]
path = "mindroom.event_journal.legacy_turn_rows"
depends_on = [
    "mindroom.event_journal",
    "mindroom.history.types",
    "mindroom.model_selection",
    "mindroom.turn_record",
]
visibility = ["mindroom.bot", "mindroom.event_journal", "mindroom.turn_store"]


[[modules]]
path = "mindroom.worker_computer.worker_browser"
depends_on = []

[[modules]]
path = "mindroom.worker_computer.protocol"
depends_on = []

[[modules]]
path = "mindroom.worker_computer.display"
depends_on = []

[[modules]]
path = "mindroom.worker_computer.rfb"
depends_on = []

[[modules]]
path = "mindroom.worker_computer.runtime"
depends_on = ["mindroom.worker_computer.protocol"]

[[modules]]
path = "mindroom.worker_computer.agent_browser"
depends_on = ["mindroom.worker_computer.runtime"]

[[modules]]
path = "mindroom.api.worker_preview"
depends_on = [
    "mindroom.api.sandbox_exec",
    "mindroom.api.sandbox_runner",
    "mindroom.api.worker_services",
    "mindroom.previews.listeners",
    "mindroom.previews.relay",
]

[[modules]]
path = "mindroom.previews.listeners"
depends_on = []

[[modules]]
path = "mindroom.previews.relay"
depends_on = []

[[modules]]
path = "mindroom.api.worker_computer"
depends_on = [
    "mindroom.api.sandbox_runner",
    "mindroom.api.worker_services",
    "mindroom.worker_computer.agent_browser",
    "mindroom.worker_computer.protocol",
    "mindroom.worker_computer.rfb",
    "mindroom.worker_computer.runtime",
]

[[modules]]
path = "mindroom.api.worker_services"
depends_on = [
    "mindroom.api.sandbox_exec",
    "mindroom.api.sandbox_runner",
    "mindroom.plugin_worker_services",
    "mindroom.previews.listeners",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.api.worker_terminal"
depends_on = [
    "mindroom.api.sandbox_runner",
    "mindroom.terminal.session",
]

[[modules]]
path = "mindroom.terminal.session"
depends_on = []

[[modules]]
path = "mindroom.terminal.client"
depends_on = [
    "mindroom.agent_cli.shell_contract",
    "mindroom.bounded_bytes",
    "mindroom.http_error_detail",
    "mindroom.terminal.session",
    "mindroom.tool_system.sandbox_proxy",
]

[[modules]]
path = "mindroom.worker_computer.sessions"
depends_on = []

[[modules]]
path = "mindroom.matrix_openid"
depends_on = [
    "mindroom.bounded_bytes",
    "mindroom.constants",
    "mindroom.origins",
]

[[modules]]
path = "mindroom.worker_computer.client"
depends_on = [
    "mindroom.bounded_bytes",
    "mindroom.worker_computer.protocol",
    "mindroom.worker_computer.sessions",
]

[[modules]]
path = "mindroom.api.agent_terminals"
depends_on = [
    "mindroom.api.agent_streams",
    "mindroom.plugin_http",
    "mindroom.terminal.client",
    "mindroom.terminal.session",
]

[[modules]]
path = "mindroom.api.computers"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.api.client_sessions",
    "mindroom.api.config_lifecycle",
    "mindroom.matrix_openid",
    "mindroom.worker_computer.client",
    "mindroom.worker_computer.sessions",
    "mindroom.workers.backend_kinds",
]

[[modules]]
path = "mindroom.api.client_sessions"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.api.config_lifecycle",
    "mindroom.matrix_openid",
    "mindroom.origins",
]

[[modules]]
path = "mindroom.api.plugin_routes"
depends_on = [
    "mindroom.api.client_sessions",
    "mindroom.api.config_lifecycle",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.plugins",
]
visibility = ["mindroom.api.main", "mindroom.api.plugin_origins", "mindroom.plugin_http", "mindroom.plugin_testing"]

[[modules]]
path = "mindroom.api.plugin_origins"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.plugin_routes",
    "mindroom.api.request_body_limit",
    "mindroom.api.script_gateway",
    "mindroom.origins",
    "mindroom.tool_system.plugin_imports",
    "mindroom.tool_system.plugins",
]
visibility = ["mindroom.orchestrator", "mindroom.plugin_http"]

# Public: plugin routes and tools import it, and its `__all__` lists what they may use.
[[modules]]
path = "mindroom.plugin_http"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.api.auth",
    "mindroom.api.client_sessions",
    "mindroom.api.config_lifecycle",
    "mindroom.api.plugin_origins",
    "mindroom.api.plugin_routes",
    "mindroom.constants",
    "mindroom.entity_directory",
    "mindroom.hooks.types",
    "mindroom.matrix.history_visibility",
    "mindroom.matrix.reserved_content",
    "mindroom.matrix.room_power",
    "mindroom.origins",
    "mindroom.plugin_context",
    "mindroom.plugin_worker_relay",
    "mindroom.room_agent_access",
    "mindroom.room_modes",
    "mindroom.room_reply_modes",
    "mindroom.room_thread_modes",
    "mindroom.terminal.client",
    "mindroom.terminal.session",
    "mindroom.tool_system.plugins",
]

# The room access check the worker Computer and plugin routes share, and the agent workspaces it opens.
[[modules]]
path = "mindroom.room_agent_access"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.api.config_lifecycle",
    "mindroom.constants",
    "mindroom.contacts.store",
    "mindroom.entity_resolution",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.filters",
    "mindroom.tool_system.metadata",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_routing",
    "mindroom.workers.backend_kinds",
]

[[modules]]
path = "mindroom.matrix.reserved_content"
depends_on = []
visibility = [
    "mindroom.custom_tools.matrix_api",
    "mindroom.plugin_http",
]

# Plugins read it through mindroom.plugin_api.
[[modules]]
path = "mindroom.entity_directory"
depends_on = [
    "mindroom.config.resolution",
    "mindroom.constants",
    "mindroom.entity_resolution",
]
visibility = [
    "mindroom.plugin_api",
    "mindroom.plugin_http",
]

[[modules]]
path = "mindroom.plugin_context"
depends_on = [
    "mindroom.tool_system.plugin_identity",
    "mindroom.tool_system.plugins",
    "mindroom.tool_system.runtime_context",
]

[[modules]]
path = "mindroom.plugin_lifecycle"
depends_on = [
    "mindroom.plugin_context",
    "mindroom.plugin_worker_services",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.plugin_worker_relay"
depends_on = [
    "mindroom.plugin_worker_services",
    "mindroom.previews.relay",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_proxy_client",
    "mindroom.workers.backend_kinds",
]

[[modules]]
path = "mindroom.plugin_worker_services"
depends_on = [
    "mindroom.http_error_detail",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.tool_system.worker_proxy_client",
    "mindroom.workers.backend_kinds",
]

[[modules]]
path = "mindroom.orchestration.plugin_http_runtime"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.constants",
    "mindroom.matrix.history_visibility",
    "mindroom.matrix.room_reconciliation",
    "mindroom.matrix.rooms",
]
visibility = ["mindroom.orchestrator", "mindroom.plugin_testing"]

[[modules]]
path = "mindroom.orchestration.server_state"
depends_on = [
    "mindroom.matrix_openid",
    "mindroom.orchestration.computer_runtime",
]
visibility = ["mindroom.bot"]

[[modules]]
path = "mindroom.orchestration.computer_runtime"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.constants",
    "mindroom.room_agent_access",
    "mindroom.tool_system.worker_routing",
    "mindroom.worker_computer.sessions",
    "mindroom.workers.backend_kinds",
    "mindroom.tool_system.sandbox_proxy",
    "mindroom.api.config_lifecycle",
    "mindroom.api.main",
    "mindroom.api.computers",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.model_selection"
depends_on = []

[[modules]]
path = "mindroom.model_selection_scope"
depends_on = [
    "mindroom.matrix.event_info",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.conversation_hydration",
]

[[modules]]
path = "mindroom.model_catalog"
depends_on = []

[[modules]]
path = "mindroom.model_catalog_receiver"
depends_on = [
    "mindroom.constants",
    "mindroom.matrix.olm_to_device",
    "mindroom.model_catalog",
    "mindroom.model_selection_scope",
    "mindroom.thread_models",
    "mindroom.turn_model",
]

[[modules]]
path = "mindroom.desktop.observations"
depends_on = ["mindroom.desktop.accessibility", "mindroom.desktop.protocol"]

[[modules]]
path = "mindroom.desktop.transport"
depends_on = ["mindroom.desktop.command_journal", "mindroom.desktop.protocol", "mindroom.desktop.session"]

[[modules]]
path = "mindroom.desktop.input"
depends_on = []

[[modules]]
path = "mindroom.desktop.displays"
depends_on = ["mindroom.desktop.accessibility"]

[[modules]]
path = "mindroom.desktop.macos_input"
depends_on = []

[[modules]]
path = "mindroom.desktop.macos_capture"
depends_on = ["mindroom.desktop.accessibility"]

[[modules]]
path = "mindroom.desktop.native_config"
depends_on = ["mindroom.desktop.input", "mindroom.matrix.device_identity"]

[[modules]]
path = "mindroom.desktop.native_entry"
depends_on = ["mindroom.constants", "mindroom.desktop.native_host"]

[[modules]]
path = "mindroom.desktop.native_host"
depends_on = ["mindroom.desktop.bridge_session", "mindroom.desktop.command_journal", "mindroom.desktop.local_dashboard", "mindroom.desktop.login_method", "mindroom.desktop.native_config", "mindroom.desktop.native_protocol", "mindroom.desktop.pairing_client", "mindroom.desktop.protocol", "mindroom.desktop.session", "mindroom.desktop.sso", "mindroom.desktop.startup_errors"]

[[modules]]
path = "mindroom.desktop.local_dashboard"
depends_on = ["mindroom.constants", "mindroom.desktop.native_protocol", "mindroom.services.launchd"]
visibility = ["mindroom.desktop.native_host"]

[[modules]]
path = "mindroom.desktop.startup_errors"
depends_on = ["mindroom.desktop.native_protocol", "mindroom.desktop.session"]

[[modules]]
path = "mindroom.desktop.native_protocol"
depends_on = []

[[modules]]
path = "mindroom.custom_tools.matrix_message_idempotency"
depends_on = [
    "mindroom.custom_tools.attachment_helpers",
    "mindroom.matrix.client_delivery",
]
visibility = ["mindroom.custom_tools.matrix_message"]

[[modules]]
path = "mindroom.browser.playwright_mcp_session"
depends_on = []

[[modules]]
path = "mindroom.browser.playwright_mcp_process"
depends_on = []

[[modules]]
path = "mindroom.worker_computer.mcp_catalog"
depends_on = []

[[modules]]
path = "mindroom.worker_computer.browser_guard"
depends_on = []

[[modules]]
path = "mindroom.worker_computer.browser_proxy"
depends_on = []
visibility = ["mindroom.custom_tools.agno_compat_agentql", "mindroom.custom_tools.browser_mcp", "mindroom.egress_broker", "mindroom.worker_computer.mcp_provider"]

[[modules]]
path = "mindroom.worker_computer.mcp_provider"
depends_on = ["mindroom.path_confinement", "mindroom.media_delivery", "mindroom.browser.profile_locks", "mindroom.worker_computer.browser_bundle", "mindroom.browser.playwright_mcp_session", "mindroom.worker_computer.mcp_catalog", "mindroom.worker_computer.browser_guard", "mindroom.worker_computer.browser_proxy"]

[[modules]]
path = "mindroom.custom_tools.browser_mcp"
depends_on = [
    "mindroom.tool_system.authoring",
    "mindroom.worker_computer.browser_proxy",
    "mindroom.worker_computer.mcp_catalog",
    "mindroom.worker_computer.mcp_provider",
]

[[modules]]
path = "mindroom.tools.modelslabs"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_modelslabs"]

[[modules]]
path = "mindroom.tools.agno_compat_modelslabs"
depends_on = []
visibility = ["mindroom.tools.modelslabs"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_modelslabs"]
expose = ["ModelsLabCompletionTools"]

[[modules]]
path = "mindroom.tools.trafilatura"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_trafilatura"]

[[modules]]
path = "mindroom.tools.agno_compat_trafilatura"
depends_on = []
visibility = ["mindroom.tools.trafilatura"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_trafilatura"]
expose = ["TimeLimitedTrafilaturaTools", "install_server_fetch_guard"]

[[modules]]
path = "mindroom.tools.file_generation"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_file_generation"]

[[modules]]
path = "mindroom.tools.agno_compat_file_generation"
depends_on = ["mindroom.atomic_file", "mindroom.path_confinement"]
visibility = ["mindroom.tools.file_generation"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_file_generation"]
expose = ["WorkspaceFileGenerationTools"]

[[modules]]
path = "mindroom.tools.visualization"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_visualization"]

[[modules]]
path = "mindroom.tools.agno_compat_visualization"
depends_on = ["mindroom.atomic_file", "mindroom.path_confinement"]
visibility = ["mindroom.tools.visualization"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_visualization"]
expose = ["WorkspaceVisualizationTools"]

[[modules]]
path = "mindroom.tools.mem0"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_mem0"]

[[modules]]
path = "mindroom.tools.agno_compat_mem0"
depends_on = ["mindroom.failure_text"]
visibility = ["mindroom.tools.mem0"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_mem0"]
expose = ["UserFilterMem0Tools"]

[[modules]]
path = "mindroom.tools.newspaper4k"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_newspaper4k"]

[[modules]]
path = "mindroom.tools.agno_compat_newspaper4k"
depends_on = []
visibility = ["mindroom.tools.newspaper4k"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_newspaper4k"]
expose = ["install_server_fetch_guard"]

[[modules]]
path = "mindroom.tools.browser_mcp"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.worker_computer.mcp_catalog", "mindroom.custom_tools.browser_mcp"]

[[modules]]
path = "mindroom.providers.claude_wire_blocks"
depends_on = []

[[modules]]
path = "mindroom.tools.agentql"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.custom_tools.agno_compat_agentql"]

[[modules]]
path = "mindroom.custom_tools.agno_compat_agentql"
depends_on = ["mindroom.worker_computer.browser_proxy"]
visibility = ["mindroom.tools.agentql"]

[[interfaces]]
from = ["mindroom.custom_tools.agno_compat_agentql"]
expose = ["MindRoomAgentQLTools"]

[[modules]]
path = "mindroom.tools.replicate"
depends_on = [
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.registration",
    "mindroom.custom_tools.agno_compat_replicate",
]

[[modules]]
path = "mindroom.custom_tools.agno_compat_replicate"
depends_on = []
visibility = ["mindroom.tools.replicate"]

[[interfaces]]
from = ["mindroom.custom_tools.agno_compat_replicate"]
expose = ["MindRoomReplicateTools"]

[[modules]]
path = "mindroom.custom_tools.agno_compat_github_errors"
depends_on = []
visibility = []

[[interfaces]]
from = ["mindroom.custom_tools.agno_compat_github_errors"]
expose = ["record_provider_failure", "call_with_provider_failure_capture", "is_provider_detail_log", "install_provider_log_filter"]


[[modules]]
path = "mindroom.oauth.agno_compat_google_auth"
depends_on = []
visibility = []

[[interfaces]]
from = ["mindroom.oauth.agno_compat_google_auth"]
expose = ["AgnoGoogleAuthBindingMixin"]

[[modules]]
path = "mindroom.delegation.background"
depends_on = [
    "mindroom.delegation.sessions",
    "mindroom.delegation.state",
    "mindroom.tool_jobs.results",
    "mindroom.tool_jobs.runtime",
]
visibility = [
    "mindroom.delegation.execution",
    "mindroom.delegation.recovery",
    "mindroom.orchestration.tool_job_runtime",
]

[[modules]]
path = "mindroom.tool_jobs.runtime"
depends_on = [
    "mindroom.tool_jobs.background_after",
    "mindroom.ai_runtime",
    "mindroom.approval.receipt_readers",
    "mindroom.event_journal",
    "mindroom.tool_jobs.control",
    "mindroom.tool_system.worker_routing",
    "mindroom.tool_jobs.instances",
    "mindroom.tool_jobs.resources",
    "mindroom.tool_system.call_record",
    "mindroom.failure_text",
    "mindroom.tool_system.progress",
]
visibility = [
    "mindroom.tool_jobs.publication",
    "mindroom.commands.handler",
    "mindroom.tool_jobs.client_cancel",
    # The bot lets the job runtime apply a Stop its replies recorded at once.
    "mindroom.bot",
    "mindroom.custom_tools.delegate",
    "mindroom.custom_tools.job",
    "mindroom.delegation.background",
    "mindroom.delegation.recovery",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.response_runner",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.conversation",
    "mindroom.tool_jobs.execution_authority",
    "mindroom.tool_jobs.approvals",
    "mindroom.tool_jobs.notices",
]

[[modules]]
path = "mindroom.tool_jobs.instances"
depends_on = []
visibility = [
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_jobs.settings",
]

[[modules]]
path = "mindroom.tool_jobs.control"
depends_on = []
visibility = [
    "mindroom.delegation.execution",
    "mindroom.delegation.recovery",
    "mindroom.tool_jobs.runtime",
    "mindroom.response_lifecycle",
    "mindroom.tool_system.tool_hooks",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.conversation",
    "mindroom.tool_jobs.approvals",
    "mindroom.api.sandbox_runner",
    "mindroom.tool_system.worker_proxy_client",
    "mindroom.tool_system.agent_tool_calls",
]

[[modules]]
path = "mindroom.orchestration.tool_job_runtime"
depends_on = [
    "mindroom.tool_jobs.approvals",
    "mindroom.tool_jobs.publication",
    "mindroom.custom_tools.job",
    "mindroom.delegation.background",
    "mindroom.delegation.lifecycle",
    "mindroom.delegation.recovery",
    "mindroom.delegation.storage",
    "mindroom.tool_jobs.authorization",
    "mindroom.tool_jobs.conversation",
    "mindroom.tool_jobs.instances",
    "mindroom.tool_jobs.provenance",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_jobs.follow_ups",
    "mindroom.event_journal",
    "mindroom.tool_system.plugins",
]
visibility = [
    "mindroom.orchestrator",
]

[[modules]]
path = "mindroom.orchestration.storage_preparation"
depends_on = [
    "mindroom.credentials.legacy_tool_credentials",
    "mindroom.delegation.legacy_snapshots",
    "mindroom.knowledge.legacy_index_state",
    "mindroom.legacy_state_root_records",
    "mindroom.private_storage.legacy_private_storage",
    "mindroom.session_storage.legacy_agno3_conversion",
    "mindroom.workers.backends.legacy_state_root_mounts",
]

[[modules]]
path = "mindroom.tool_jobs.execution"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.custom_tools.delegate",
    "mindroom.custom_tools.job",
    "mindroom.failure_text",
    "mindroom.llm",
    "mindroom.reply_scope",
    "mindroom.session_storage.types",
    "mindroom.tool_jobs.approvals",
    "mindroom.tool_jobs.authorization",
    "mindroom.tool_jobs.background_after",
    "mindroom.tool_jobs.consumption",
    "mindroom.tool_jobs.control",
    "mindroom.tool_jobs.conversation",
    "mindroom.tool_jobs.execution_authority",
    "mindroom.tool_jobs.provenance",
    "mindroom.tool_jobs.resources",
    "mindroom.tool_jobs.results",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_jobs.settings",
    "mindroom.tool_system.agent_tool_calls",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.call_record",
    "mindroom.tool_system.construction",
    "mindroom.tool_system.dedicated_threads",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.tool_hooks",
]
visibility = [
    # Agent assembly admits the calls of agents and team leaders as jobs, and the loop hooks offer their wait budget.
    "mindroom.agents",
    "mindroom.loop_hooks",
    # Preparation sizes a reply's first request with the definitions the loop offers.
    "mindroom.execution_preparation",
    # The CLI catalogs and a voice call's realtime tools run an agent's calls as its loop does.
    "mindroom.agent_cli.response_owner",
    "mindroom.matrix_rtc.call_tools",
]

[[modules]]
path = "mindroom.tool_jobs.consumption"
depends_on = [
    "mindroom.llm",
    "mindroom.tool_jobs.execution_authority",
    "mindroom.tool_jobs.results",
    "mindroom.tool_system.tool_function",
    "mindroom.session_storage.lanes",
]
visibility = [
    "mindroom.approval.execution",
    "mindroom.response_turn",
    "mindroom.teams",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.execution_scope",
    "mindroom.custom_tools.job",
]

[[modules]]
path = "mindroom.tool_jobs.execution_authority"
depends_on = [
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.runtime_context",
]
visibility = [
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.consumption",
    "mindroom.tool_system.tool_hooks",
]

[[modules]]
path = "mindroom.tool_jobs.execution_scope"
depends_on = [
    "mindroom.tool_jobs.consumption",
    "mindroom.tool_jobs.notices",
    "mindroom.tool_jobs.resources",
    "mindroom.tool_system.context_bound_streams",
]
visibility = [
    "mindroom.approval.execution",
    "mindroom.response_turn",
    "mindroom.teams",
]

[[modules]]
path = "mindroom.tool_jobs.resources"
depends_on = []
visibility = [
    "mindroom.agent_cli.lifetime",
    "mindroom.agent_cli.turn",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.execution_scope",
    "mindroom.tool_jobs.runtime",
]

[[modules]]
path = "mindroom.tool_jobs.results"
depends_on = ["mindroom.llm", "mindroom.tool_jobs.legacy_results", "mindroom.tool_system.tool_function"]
visibility = [
    "mindroom.delegation.background",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.consumption",
]

[[modules]]
path = "mindroom.tool_jobs.legacy_results"
depends_on = []
visibility = ["mindroom.tool_jobs.results"]

[[modules]]
path = "mindroom.knowledge.collection_lifetime"
depends_on = ["mindroom.knowledge.index_metadata"]
visibility = ["mindroom.knowledge.collections", "mindroom.knowledge.index_reader", "mindroom.knowledge.status"]

[[modules]]
path = "mindroom.tool_system.agent_tool_calls"
depends_on = [
    "mindroom.agent_cli.shell_contract",
    "mindroom.agent_loop",
    "mindroom.tool_jobs.control",
    "mindroom.tool_system.dedicated_threads",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_access",
    "mindroom.tool_system.tool_hooks",
    "mindroom.llm",
    "mindroom.tool_system.invocation",
    "mindroom.tool_system.tool_function",
]

[[interfaces]]
from = ["mindroom.tool_system.agent_tool_calls"]
expose = [
    "AgentToolCallEvent",
    "AgentToolCallMedia",
    "AgentToolCallStep",
    "AgentToolCallWaiting",
    "DeferredAgentToolkit",
    "PreparedAgentToolBinding",
    "PreparedAgentToolCatalog",
    "execute_agent_tool_call",
    "execute_agent_shell_call",
    "cli_dispatch_active",
]

[[modules]]
path = "mindroom.api.agent_cli"
depends_on = [
    "mindroom.api.app_state",
    "mindroom.agent_cli.json_io",
    "mindroom.agent_cli.protocol",
    "mindroom.agent_cli.session",
    "mindroom.agent_cli.shell_contract",
]

[[modules]]
path = "mindroom.agent_cli.cli_approval_recovery"
depends_on = [
    "mindroom.agent_cli.delegation",
    "mindroom.agent_cli.events",
    "mindroom.agent_cli.lifetime",
    "mindroom.agent_cli.projection",
    "mindroom.approval.tool_owners",
    "mindroom.delegation.state",
    "mindroom.turn_continuation",
    "mindroom.history.interrupted_replay",
    "mindroom.hooks",
    "mindroom.response_turn",
    "mindroom.tool_system.agent_tool_calls",
    "mindroom.tool_system.context_bound_streams",
    "mindroom.tool_system.events",
    "mindroom.tool_system.tool_access",
    "mindroom.agent_cli.minimal_agent",
    "mindroom.agent_loop",
    "mindroom.agent_loop.build",
    "mindroom.llm",
    "mindroom.session_storage.store",
]
visibility = [
    "mindroom.approval.execution",
]

[[modules]]
path = "mindroom.agent_modes"
depends_on = [
    "mindroom.constants",
]

[[modules]]
path = "mindroom.agent_cli.cli_shell_agent"
depends_on = [
    "mindroom.agent_cli.lifetime",
    "mindroom.agent_cli.response_owner",
    "mindroom.agent_cli.shell_access",
    "mindroom.agent_cli.shell_contract",
    "mindroom.custom_tools.job",
    "mindroom.delegation.state",
    "mindroom.tool_system.agent_tool_calls",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_function",
]
visibility = [
    "mindroom.agents",
    "mindroom.ai",
]

[[modules]]
path = "mindroom.agent_cli.minimal_agent"
depends_on = [
    "mindroom.agent_cli.bash",
    "mindroom.agent_loop.prompt",
    "mindroom.agent_cli.context",
    "mindroom.agent_cli.lifetime",
    "mindroom.agent_cli.response_owner",
    "mindroom.agent_cli.shell_contract",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_access",
    "mindroom.agent_loop.build",
    "mindroom.hooks",
    "mindroom.llm",
    "mindroom.failure_text",
]
visibility = [
    "mindroom.ai",
    "mindroom.agent_cli.cli_approval_recovery",
]

[[modules]]
path = "mindroom.commands.mode_commands"
depends_on = [
    "mindroom.agent_modes",
    "mindroom.agent_cli.minimal_mode_preflight",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.agent_cli.minimal_mode_preflight"
depends_on = [
    "mindroom.agent_cli.shell_access",
    "mindroom.agent_cli.shell_contract",
    "mindroom.approval.tool_approval",
    "mindroom.runtime_resolution",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.catalog",
    "mindroom.tool_system.agent_tools",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.custom_tools.job"
depends_on = [
    "mindroom.tool_jobs.consumption",
    "mindroom.tool_jobs.conversation",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.runtime_context",
    "mindroom.tool_system.tool_function",
]

visibility = [
    "mindroom.agent_cli.cli_shell_agent",
    "mindroom.agents",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.tool_jobs.execution",
]

[[modules]]
path = "mindroom.tool_jobs.authorization"
depends_on = [
    "mindroom.tool_system.construction",
    "mindroom.tool_system.filters",
    "mindroom.config.knowledge_graph",
    "mindroom.tool_system.agent_tools",
    "mindroom.config.resolution",
]

visibility = [
    "mindroom.agents",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.tool_jobs.execution",
]

[[modules]]
path = "mindroom.tool_jobs.approvals"
depends_on = [
    "mindroom.approval.manager",
    "mindroom.approval.response",
    "mindroom.event_journal",
    "mindroom.llm",
    "mindroom.approval.tool_approval",
    "mindroom.tool_jobs.control",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.tool_function",
]
visibility = [
    "mindroom.delegation.job_approvals",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.tool_jobs.execution",
]

[[modules]]
path = "mindroom.tool_jobs.client_cancel"
depends_on = [
    "mindroom.tool_jobs.runtime",
]
visibility = [
    "mindroom.bot",
    "mindroom.commands.handler",
]

[[modules]]
path = "mindroom.tool_jobs.publication"
depends_on = [
    "mindroom.tool_jobs.runtime",
]
visibility = ["mindroom.orchestration.tool_job_runtime"]

[[modules]]
path = "mindroom.tool_jobs.notices"
depends_on = [
    "mindroom.hooks.types",
    "mindroom.tool_jobs.conversation",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.runtime_context",
]
visibility = [
    "mindroom.ai",
    "mindroom.loop_hooks",
    "mindroom.teams",
    "mindroom.tool_jobs.execution_scope",
]

[[modules]]
path = "mindroom.delegation.job_approvals"
depends_on = [
    "mindroom.approval.response",
    "mindroom.delegation.lifecycle",
    "mindroom.event_journal",
    "mindroom.response_turn",
    "mindroom.tool_jobs.approvals",
]
visibility = ["mindroom.delegation.execution"]

[[modules]]
path = "mindroom.tool_jobs.follow_ups"
depends_on = [
    "mindroom.event_journal",
    "mindroom.hooks.context",
    "mindroom.tool_jobs.conversation",
]
visibility = [
    "mindroom.bot",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.response_runner",
]

[[modules]]
path = "mindroom.tool_jobs.conversation"
depends_on = [
    "mindroom.tool_jobs.control",
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_system.runtime_context",
]

visibility = [
    "mindroom.custom_tools.job",
    "mindroom.orchestration.tool_job_runtime",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_jobs.follow_ups",
    "mindroom.tool_jobs.notices",
]

[[modules]]
path = "mindroom.tool_jobs.provenance"
depends_on = ["mindroom.mcp.toolkit"]
visibility = [
    "mindroom.tool_jobs.execution",
    "mindroom.orchestration.tool_job_runtime",
]

[[modules]]
path = "mindroom.tool_system.construction"
depends_on = []
visibility = [
    "mindroom.agents",
    "mindroom.tool_jobs.authorization",
    "mindroom.tool_jobs.execution",
    "mindroom.tool_system.metadata",
]

[[modules]]
path = "mindroom.tool_jobs.background_after"
depends_on = []
visibility = [
    "mindroom.tool_jobs.runtime",
    "mindroom.tool_jobs.execution",
    "mindroom.delegation.execution",
]

[[modules]]
path = "mindroom.worker_computer.browser_bundle"
depends_on = []
visibility = ["mindroom.worker_computer.mcp_provider"]

[[modules]]
path = "mindroom.browser.profile_locks"
depends_on = []
visibility = ["mindroom.worker_computer.mcp_provider"]

[[interfaces]]
from = ["mindroom.browser.profile_locks"]
expose = ["clear_stale_singleton_locks"]

[[modules]]
path = "mindroom.usage.storage"
depends_on = ["mindroom.history.types", "mindroom.llm"]
visibility = ["mindroom.session_storage.legacy_agno3_conversion", "mindroom.session_storage.legacy_usage_ledger", "mindroom.session_storage.legacy_usage_totals", "mindroom.session_storage.store", "mindroom.helper_usage", "mindroom.history.mid_turn_compaction", "mindroom.history.summary_input"]

[[modules]]
path = "mindroom.usage.legacy_usage_storage"
depends_on = []
visibility = []

# Shared judgment leaves; no dependency on the response pipeline.
[[modules]]
path = "mindroom.judgment.answers"
depends_on = []

[[modules]]
path = "mindroom.judgment.state"
depends_on = []

[[modules]]
path = "mindroom.judgment.client"
depends_on = ["mindroom.json_utils", "mindroom.judgment.answers", "mindroom.judgment.execution"]

[[modules]]
path = "mindroom.judgment.typesafe"
depends_on = ["mindroom.judgment.client"]

[[modules]]
path = "mindroom.judgment.openai_decisions"
depends_on = ["mindroom.judgment.client"]

[[modules]]
path = "mindroom.judgment.cold_cache"
depends_on = ["mindroom.judgment.evaluator", "mindroom.judgment.state"]
visibility = ["mindroom.response_runner"]

[[modules]]
path = "mindroom.participation_judgment"
depends_on = ["mindroom.judgment.evaluator", "mindroom.judgment.state", "mindroom.participation"]
visibility = ["mindroom.response_runner"]

[[modules]]
path = "mindroom.config.judgment"
depends_on = ["mindroom.config.schema_hints"]

[[modules]]
path = "mindroom.judgment.execution"
depends_on = ["mindroom.judgment.answers", "mindroom.judgment.state"]

[[modules]]
path = "mindroom.judgment.llm"
depends_on = ["mindroom.providers.registry", "mindroom.json_utils", "mindroom.judgment.answers", "mindroom.judgment.execution", "mindroom.llm"]

[[modules]]
path = "mindroom.judgment.evaluator"
depends_on = ["mindroom.config.judgment", "mindroom.judgment.client", "mindroom.judgment.llm", "mindroom.judgment.openai_decisions", "mindroom.judgment.typesafe"]

[[modules]]
path = "mindroom.path_confinement"
depends_on = ["mindroom.atomic_file"]

[[modules]]
path = "mindroom.file_access"
depends_on = ["mindroom.path_confinement", "mindroom.config.resolution"]

[[modules]]
path = "mindroom.config.mid_turn"
depends_on = ["mindroom.config.judgment", "mindroom.config.schema_hints"]

[[modules]]
path = "mindroom.mid_turn"
depends_on = ["mindroom.judgment.state", "mindroom.tool_system.events"]
visibility = ["mindroom.mid_turn_judgment", "mindroom.response_lifecycle"]

[[modules]]
path = "mindroom.mid_turn_judgment"
depends_on = ["mindroom.config.judgment", "mindroom.judgment.evaluator", "mindroom.mid_turn"]
visibility = ["mindroom.response_runner"]

[[modules]]
path = "mindroom.judgment.conversation"
depends_on = ["mindroom.constants", "mindroom.entity_resolution", "mindroom.judgment.state", "mindroom.matrix.sidecar_content", "mindroom.matrix.thread_history_result", "mindroom.tool_system.events"]

[[modules]]
path = "mindroom.routing_judgment"
depends_on = ["mindroom.agent_descriptions", "mindroom.judgment.conversation", "mindroom.judgment.evaluator", "mindroom.judgment.state", "mindroom.tool_system.plugins"]
visibility = ["mindroom.routing"]

[[modules]]
path = "mindroom.tools.moviepy_video_tools"
depends_on = [
    "mindroom.custom_tools.agno_compat_moviepy",
    "mindroom.tool_system.declarations",
    "mindroom.tool_system.registration",
]

[[modules]]
path = "mindroom.custom_tools.agno_compat_moviepy"
depends_on = ["mindroom.file_access"]
visibility = ["mindroom.tools.moviepy_video_tools"]

[[interfaces]]
from = ["mindroom.custom_tools.agno_compat_moviepy"]
expose = ["MindRoomMoviePyVideoTools"]

[[modules]]
path = "mindroom.tools.openai"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_openai"]

[[modules]]
path = "mindroom.tools.agno_compat_openai"
depends_on = ["mindroom.file_access"]
visibility = ["mindroom.tools.openai"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_openai"]
expose = ["MindRoomOpenAITools"]

[[modules]]
path = "mindroom.tools.groq"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_groq"]

[[modules]]
path = "mindroom.tools.agno_compat_groq"
depends_on = ["mindroom.file_access"]
visibility = ["mindroom.tools.groq"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_groq"]
expose = ["MindRoomGroqTools"]

[[modules]]
path = "mindroom.tools.airflow"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_airflow"]

[[modules]]
path = "mindroom.tools.agno_compat_airflow"
depends_on = ["mindroom.file_access", "mindroom.path_confinement"]
visibility = ["mindroom.tools.airflow"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_airflow"]
expose = ["MindRoomAirflowTools"]

[[modules]]
path = "mindroom.tools.web_browser_tools"
depends_on = ["mindroom.tool_system.declarations", "mindroom.tool_system.registration", "mindroom.tools.agno_compat_webbrowser"]

[[modules]]
path = "mindroom.tools.agno_compat_webbrowser"
depends_on = []
visibility = ["mindroom.tools.web_browser_tools"]

[[interfaces]]
from = ["mindroom.tools.agno_compat_webbrowser"]
expose = ["MindRoomWebBrowserTools"]

[[modules]]
path = "mindroom.agent_cli.cli_approval_waits"
depends_on = [
    "mindroom.agent_cli.events",
    "mindroom.agent_cli.lifetime",
    "mindroom.approval.continuation_rules",
    "mindroom.approval.failure",
    "mindroom.orchestration.runtime",
    "mindroom.response_turn",
]
visibility = [
    "mindroom.approval.continuation_runner",
    "mindroom.bot",
]

[[interfaces]]
from = ["mindroom.agent_cli.cli_approval_waits"]
expose = [
    "CliApprovalWaits",
    "CliWaiters",
]

[[modules]]
path = "mindroom.config.skill_learning"
depends_on = ["mindroom.config.schema_hints"]
visibility = []

[[modules]]
path = "mindroom.config.automations"
depends_on = ["mindroom.config.schema_hints"]
visibility = [
    "mindroom.automations.prompt_curation",
    "mindroom.automations.registry",
    "mindroom.automations.runner",
    "mindroom.config.resolution",
    "mindroom.config.models",
    "mindroom.automations.exploration",
]

[[modules]]
path = "mindroom.automations.threads"
depends_on = ["mindroom.constants", "mindroom.path_confinement"]
visibility = ["mindroom.automations.dreaming", "mindroom.automations.runner", "mindroom.knowledge_graph.ingestion", "mindroom.automations.exploration"]

[[modules]]
path = "mindroom.automations.steps"
depends_on = []
visibility = [
    "mindroom.automations.dreaming",
    "mindroom.automations.prompt_curation",
    "mindroom.automations.runner",
    "mindroom.knowledge_graph.episodes",
    "mindroom.automations.exploration",
    "mindroom.history.conversation_text",
    "mindroom.reply_turn.locked_turn",
]

[[modules]]
path = "mindroom.automations.registry"
depends_on = [
    "mindroom.automations.dreaming",
    "mindroom.automations.prompt_curation",
    "mindroom.config.automations",
    "mindroom.automations.exploration",
]

[[modules]]
path = "mindroom.automations.prompt_curation"
depends_on = [
    "mindroom.automations.registry",
    "mindroom.automations.steps",
    "mindroom.config.automations",
    "mindroom.config.resolution",
    "mindroom.memory",
    "mindroom.path_confinement",
    "mindroom.providers.registry",
]
visibility = ["mindroom.automations.registry"]

[[modules]]
path = "mindroom.automations.dreaming"
depends_on = [
    "mindroom.automations.registry",
    "mindroom.automations.steps",
    "mindroom.automations.threads",
    "mindroom.memory",
    "mindroom.path_confinement",
    "mindroom.config.resolution",
]
visibility = ["mindroom.automations.registry"]

[[modules]]
path = "mindroom.listening.markers"
depends_on = ["mindroom.event_journal"]
visibility = ["mindroom.listening.service"]

[[modules]]
path = "mindroom.listening.turn"
depends_on = [
    "mindroom.ai",
    "mindroom.config.resolution",
    "mindroom.delegation.personas",
    "mindroom.prompt_message_tags",
    "mindroom.providers.registry",
    "mindroom.response_turn",
    "mindroom.timestamp_formatting",
    "mindroom.tool_system.runtime_context",
    "mindroom.turn_model",
]
visibility = ["mindroom.listening.service"]

[[modules]]
path = "mindroom.listening.service"
depends_on = [
    "mindroom.constants",
    "mindroom.contacts.turns",
    "mindroom.event_journal",
    "mindroom.listening.markers",
    "mindroom.listening.turn",
    "mindroom.llm",
    "mindroom.matrix.client_visible_messages",
    "mindroom.matrix.conversation_reads",
    "mindroom.matrix.state",
    "mindroom.matrix.transport_progress",
    "mindroom.response_admission",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.automations.runner"
depends_on = [
    "mindroom.automations.steps",
    "mindroom.automations.threads",
    "mindroom.config.automations",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.matrix.state",
    "mindroom.runtime_resolution",
    "mindroom.thread_summary.notices",
    "mindroom.thread_tags",
    "mindroom.tool_system.worker_routing",
    "mindroom.config.resolution",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.skill_learning.library"
depends_on = [
    "mindroom.atomic_file",
    "mindroom.path_confinement",
    "mindroom.tool_system.skill_usage",
    "mindroom.tool_system.skills",
]
visibility = ["mindroom.skill_learning.runner", "mindroom.skill_learning.tools"]

[[modules]]
path = "mindroom.skill_learning.transcript"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.history.conversation_text",
    "mindroom.history.run_visibility",
    "mindroom.history.types",
]
visibility = ["mindroom.skill_learning.reviewer", "mindroom.skill_learning.runner"]

[[modules]]
path = "mindroom.skill_learning.capture"
depends_on = []
visibility = ["mindroom.loop_hooks", "mindroom.response_runner"]

[[modules]]
path = "mindroom.skill_learning.tools"
depends_on = [
    "mindroom.skill_learning.library",
    "mindroom.tool_system.skills",
    "mindroom.tool_system.plugins",
]
visibility = [
    "mindroom.skill_learning.reviewer",
    "mindroom.skill_learning.runner",
]

[[modules]]
path = "mindroom.skill_learning.reviewer"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.session_storage.agent_storage",
    "mindroom.helper_usage",
    "mindroom.llm",
    "mindroom.model_usage",
    "mindroom.providers.registry",
    "mindroom.skill_learning.tools",
    "mindroom.skill_learning.transcript",
    "mindroom.tool_system.agno_toolkits",
    "mindroom.tool_system.tool_function",
    "mindroom.tool_system.tool_schema",
    "mindroom.turn_model",
]
visibility = ["mindroom.skill_learning.runner"]

[[modules]]
path = "mindroom.skill_learning.runner"
depends_on = [
    "mindroom.llm",
    "mindroom.session_storage.agent_storage",
    "mindroom.constants",
    "mindroom.matrix.client_delivery",
    "mindroom.runtime_resolution",
    "mindroom.skill_learning.library",
    "mindroom.skill_learning.reviewer",
    "mindroom.skill_learning.tools",
    "mindroom.skill_learning.transcript",
    "mindroom.tool_system.skills",
]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.cli.local_model_config"
depends_on = ["mindroom.atomic_file", "mindroom.cli.config", "mindroom.config.main", "mindroom.path_confinement"]
visibility = ["mindroom.cli.config"]

[[modules]]
path = "mindroom.tool_jobs.settings"
depends_on = ["mindroom.tool_jobs.instances"]
visibility = [
    "mindroom.agents",
    "mindroom.ai",
    "mindroom.api.config_lifecycle",
    "mindroom.approval.execution",
    "mindroom.commands.config_commands",
    "mindroom.delegation.execution",
    "mindroom.orchestration.config_lifecycle",
    "mindroom.teams",
    "mindroom.tool_jobs.execution",
]

# Knowledge graph: one store per runtime, fed by background ingestion and read by the knowledge_graph tool.
[[modules]]
path = "mindroom.config.knowledge_graph"
depends_on = ["mindroom.config.schema_hints"]

[[modules]]
path = "mindroom.knowledge_graph"
depends_on = []

[[modules]]
path = "mindroom.knowledge_graph.usage"
depends_on = []

[[modules]]
path = "mindroom.knowledge_graph.extraction"
depends_on = []
visibility = ["mindroom.knowledge_graph.store"]

[[modules]]
path = "mindroom.knowledge_graph.names"
depends_on = ["mindroom.constants"]
visibility = ["mindroom.knowledge_graph.ingestion", "mindroom.knowledge_graph.store"]

[[modules]]
path = "mindroom.knowledge_graph.embedded_server"
depends_on = []
visibility = ["mindroom.knowledge_graph.store"]

[[modules]]
path = "mindroom.knowledge_graph.clients"
depends_on = [
    "mindroom.embeddings.errors",
    "mindroom.helper_usage",
    "mindroom.knowledge_graph.store",
    "mindroom.knowledge_graph.usage",
    "mindroom.providers.registry",
    "mindroom.agent_loop.helper",
    "mindroom.session_storage.agent_storage",
]
visibility = ["mindroom.knowledge_graph.store"]

[[modules]]
path = "mindroom.knowledge_graph.scope"
depends_on = [
    "mindroom.runtime_resolution",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.knowledge_graph.store"
depends_on = [
    "mindroom.embeddings.factory",
    "mindroom.entity_resolution",
    "mindroom.knowledge_graph.clients",
    "mindroom.knowledge_graph.embedded_server",
    "mindroom.knowledge_graph.extraction",
    "mindroom.knowledge_graph.names",
    "mindroom.knowledge_graph.usage",
    "mindroom.tool_system.dependencies",
]

[[modules]]
path = "mindroom.knowledge_graph.episodes"
depends_on = [
    "mindroom.automations.steps",
    "mindroom.config.knowledge_graph",
    "mindroom.constants",
    "mindroom.delegation.state",
    "mindroom.history.conversation_text",
    "mindroom.history.session_runs",
    "mindroom.knowledge.search",
    "mindroom.knowledge_graph.store",
]

[[modules]]
path = "mindroom.history.session_runs"
depends_on = [
    "mindroom.history.types",
    "mindroom.llm",
    "mindroom.session_storage.store",
    "mindroom.session_storage.summary_rows",
]
visibility = [
    "mindroom.automations.exploration",
    "mindroom.knowledge_graph.episodes",
    "mindroom.knowledge_graph.ingestion",
    "mindroom.knowledge_graph.legacy_ingestion",
    "mindroom.memory.auto_flush",
    "mindroom.memory.legacy_auto_flush",
]

[[modules]]
path = "mindroom.knowledge_graph.ingestion"
depends_on = [
    "mindroom.automations.threads",
    "mindroom.contacts.turns",
    "mindroom.entity_resolution",
    "mindroom.history.session_runs",
    "mindroom.knowledge_graph.episodes",
    "mindroom.knowledge_graph.legacy_ingestion",
    "mindroom.knowledge_graph.names",
    "mindroom.knowledge_graph.scope",
    "mindroom.knowledge_graph.store",
    "mindroom.knowledge_graph.usage",
    "mindroom.session_storage.agent_storage",
]

[[modules]]
path = "mindroom.knowledge_graph.legacy_ingestion"
depends_on = ["mindroom.history.session_runs"]
visibility = ["mindroom.knowledge_graph.ingestion"]

[[modules]]
path = "mindroom.knowledge_graph.runtime"
depends_on = ["mindroom.knowledge_graph.ingestion", "mindroom.knowledge_graph.store"]
visibility = ["mindroom.orchestrator"]

[[modules]]
path = "mindroom.custom_tools.knowledge_graph"
depends_on = [
    "mindroom.config.knowledge_graph",
    "mindroom.knowledge.read_protocol",
    "mindroom.knowledge.search",
    "mindroom.knowledge_graph.scope",
    "mindroom.knowledge_graph.store",
    "mindroom.tool_system.authoring",
    "mindroom.config.resolution",
]
visibility = ["mindroom.agents"]

[[modules]]
path = "mindroom.tools.knowledge_graph"
depends_on = ["mindroom.config.knowledge_graph", "mindroom.tool_system.declarations", "mindroom.tool_system.registration"]

# Exploration: the automation that asks the agent to explore its sources.
[[modules]]
path = "mindroom.automations.exploration"
depends_on = [
    "mindroom.automations.registry",
    "mindroom.automations.steps",
    "mindroom.automations.threads",
    "mindroom.config.automations",
    "mindroom.contacts.turns",
    "mindroom.history.session_runs",
    "mindroom.knowledge_graph.episodes",
    "mindroom.knowledge_graph.ingestion",
    "mindroom.session_storage.agent_storage",
    "mindroom.llm",
    "mindroom.config.resolution",
]
visibility = ["mindroom.automations.registry"]
[[modules]]
path = "mindroom.history.mid_turn_compaction"
depends_on = [
    "mindroom.agent_loop",
    "mindroom.constants",
    "mindroom.helper_usage",
    "mindroom.history.policy",
    "mindroom.history.replay",
    "mindroom.history.request_size",
    "mindroom.history.runtime",
    "mindroom.history.storage",
    "mindroom.history.summary_message",
    "mindroom.llm",
    "mindroom.session_storage.agent_storage",
    "mindroom.session_storage.lanes",
    "mindroom.session_storage.summary_rows",
    "mindroom.tool_system.runtime_context",
    "mindroom.usage.storage",
]
visibility = [
    "mindroom.ai",
    "mindroom.loop_hooks",
    "mindroom.teams",
]

[[modules]]
path = "mindroom.session_storage.legacy_tool_results"
depends_on = ["mindroom.llm"]
visibility = ["mindroom.session_storage.legacy_agno3_schema"]

[[modules]]
path = "mindroom.slack.api"
depends_on = []

[[modules]]
path = "mindroom.slack.app"
depends_on = ["mindroom.slack.api"]

[[modules]]
path = "mindroom.slack.delivery"
depends_on = [
    "mindroom.matrix.state",
    "mindroom.response_admission",
    "mindroom.slack.api",
    "mindroom.slack.app",
    "mindroom.slack.events",
    "mindroom.slack.identity",
    "mindroom.slack.turns",
    "mindroom.slack.watch_delivery",
]

[[modules]]
path = "mindroom.slack.events"
depends_on = []

[[modules]]
path = "mindroom.slack.files"
depends_on = ["mindroom.atomic_file", "mindroom.path_confinement", "mindroom.slack.api"]

[[modules]]
path = "mindroom.slack.identity"
depends_on = ["mindroom.slack.api", "mindroom.slack.render"]

[[modules]]
path = "mindroom.slack.integration"
depends_on = [
    "mindroom.api.config_lifecycle",
    "mindroom.api.slack_events",
    "mindroom.integrations",
    "mindroom.slack.api",
    "mindroom.slack.delivery",
    "mindroom.slack.reply_mirror",
]
# Core reaches Slack only through the integration registry.
visibility = ["mindroom.api.slack_events", "mindroom.integrations"]

[[modules]]
path = "mindroom.slack.oauth"
depends_on = ["mindroom.slack.api", "mindroom.slack.app"]

[[modules]]
path = "mindroom.slack.render"
depends_on = ["mindroom.slack.api"]

[[modules]]
path = "mindroom.slack.reply_mirror"
depends_on = [
    "mindroom.delivery_replay",
    "mindroom.matrix.state",
    "mindroom.slack.api",
    "mindroom.slack.app",
    "mindroom.slack.events",
    "mindroom.slack.turns",
    "mindroom.tool_system.events",
]
visibility = ["mindroom.slack.integration"]

[[modules]]
path = "mindroom.slack.turns"
depends_on = [
    "mindroom.constants",
    "mindroom.delivery_replay",
    "mindroom.hooks.sender",
    "mindroom.response_admission",
    "mindroom.slack.api",
    "mindroom.slack.identity",
    "mindroom.slack.render",
]

[[modules]]
path = "mindroom.slack.watch_delivery"
depends_on = [
    "mindroom.oauth.credential_lifecycle",
    "mindroom.response_admission",
    "mindroom.slack.api",
    "mindroom.slack.events",
    "mindroom.slack.oauth",
    "mindroom.slack.render",
    "mindroom.slack.turns",
    "mindroom.slack.watches",
    "mindroom.tool_system.worker_routing",
]

[[modules]]
path = "mindroom.slack.watches"
depends_on = ["mindroom.oauth.credential_lifecycle", "mindroom.slack.api", "mindroom.slack.app"]

[[modules]]
path = "mindroom.custom_tools.slack"
depends_on = [
    "mindroom.config.main",
    "mindroom.file_access",
    "mindroom.oauth.credential_lifecycle",
    "mindroom.slack.api",
    "mindroom.slack.app",
    "mindroom.slack.files",
    "mindroom.slack.identity",
    "mindroom.slack.oauth",
    "mindroom.slack.render",
    "mindroom.slack.watches",
    "mindroom.tool_system.authoring",
    "mindroom.tool_system.runtime_context",
]

[[modules]]
path = "mindroom.config.contacts"
depends_on = ["mindroom.config.judgment", "mindroom.config.schema_hints"]

[[modules]]
path = "mindroom.contacts.store"
depends_on = ["mindroom.constants"]

[[modules]]
path = "mindroom.contacts.parties"
depends_on = ["mindroom.contacts.store", "mindroom.entity_resolution", "mindroom.matrix_identifiers"]

[[modules]]
path = "mindroom.contacts.policy"
depends_on = [
    "mindroom.contacts.parties",
    "mindroom.hooks",
    "mindroom.judgment.evaluator",
    "mindroom.judgment.state",
    "mindroom.matrix.conversation_reads",
]

[[modules]]
path = "mindroom.contacts.flow"
depends_on = [
    "mindroom.constants",
    "mindroom.contacts.parties",
    "mindroom.contacts.policy",
    "mindroom.contacts.store",
    "mindroom.contacts.turns",
    "mindroom.entity_resolution",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.client_room_admin",
]

[[modules]]
path = "mindroom.contacts.federation"
depends_on = [
    "mindroom.contacts.flow",
    "mindroom.contacts.parties",
    "mindroom.contacts.store",
    "mindroom.matrix.client_room_admin",
]

[[modules]]
path = "mindroom.contacts.turns"
depends_on = [
    "mindroom.config.contacts",
    "mindroom.config.resolution",
    "mindroom.contacts.parties",
    "mindroom.contacts.policy",
    "mindroom.contacts.store",
    "mindroom.entity_resolution",
    "mindroom.hooks",
    "mindroom.tool_system.plugins",
]

[[modules]]
path = "mindroom.matrix.room_accounts"
depends_on = [
    "mindroom.entity_resolution",
    "mindroom.matrix.client_room_admin",
]

[[modules]]
path = "mindroom.matrix.room_thread_mode"
depends_on = [
    "mindroom.matrix.room_membership",
    "mindroom.constants",
    "mindroom.entity_resolution",
    "mindroom.room_thread_modes",
]

[[modules]]
path = "mindroom.call_transcripts"
depends_on = [
    "mindroom.agent_loop.helper",
    "mindroom.api.app_state",
    "mindroom.bounded_bytes",
    "mindroom.helper_usage",
    "mindroom.plugin_http",
    "mindroom.providers.registry",
    "mindroom.voice.handler",
]

[[modules]]
path = "mindroom.call_transcripts.router_room"
depends_on = [
    "mindroom.call_transcripts",
    "mindroom.constants",
    "mindroom.matrix.client_delivery",
    "mindroom.matrix.room_power",
]

[[modules]]
path = "mindroom.orchestration.call_transcripts_runtime"
depends_on = [
    "mindroom.call_transcripts",
    "mindroom.call_transcripts.router_room",
    "mindroom.constants",
]