From 0e676c610367ad082f25c012d27a07c77d776e65 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Feb 2026 13:36:39 +0000 Subject: [PATCH 1/2] Initial plan From 2772a82696fbbc8086a443568bf51feeb845e19b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Feb 2026 13:40:21 +0000 Subject: [PATCH 2/2] fix: resolve circular import in connector_builder Moved EventConnectorSpecBuilder import to be a late import inside the build_event_connectors method to break the circular dependency chain: - connector -> connector_builder -> event_connector_spec_builder -> component -> io_controller -> connector The late import ensures the module is only loaded when the method is called, after all other modules are fully initialized. Co-authored-by: toby-coleman <13170610+toby-coleman@users.noreply.github.com> --- plugboard/connector/connector_builder.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/plugboard/connector/connector_builder.py b/plugboard/connector/connector_builder.py index 91365a8e..1d142c85 100644 --- a/plugboard/connector/connector_builder.py +++ b/plugboard/connector/connector_builder.py @@ -8,7 +8,6 @@ if _t.TYPE_CHECKING: from plugboard.connector.connector import Connector -from plugboard.connector.event_connector_spec_builder import EventConnectorSpecBuilder from plugboard.schemas import ConnectorSpec @@ -26,5 +25,7 @@ def build(self, spec: ConnectorSpec) -> Connector: def build_event_connectors(self, components: _t.Iterable[_t.Any]) -> list[Connector]: """Builds event connectors for the given components.""" + from plugboard.connector.event_connector_spec_builder import EventConnectorSpecBuilder + evt_conn_map = EventConnectorSpecBuilder.build(components) return [self.build(spec=spec) for spec in evt_conn_map.values()]