From ed305b97867d2ff240181d3b3facbc3c7ef07e73 Mon Sep 17 00:00:00 2001 From: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com> Date: Thu, 25 Jun 2026 23:07:13 +0200 Subject: [PATCH] Move events back into interface-class source files (restore #3975 placement) Reverses the earlier dedup-by-re-export: event TYPE definitions now live in the interface classes, and the emptied decomposed event files are removed. - MessageSeenEvent -> logos_delivery/api/kernel_api.nim - Message{Sent,Error,Propagated,Received}Event -> api/messaging_client_api.nim - ChannelMessage{Received,Sent,Error}Event -> api/reliable_channel_manager_api.nim - EventConnectionStatusChange -> api/logos_delivery_api.nim Deleted (became empty after the move): - logos_delivery/waku/api/events/message_events.nim - logos_delivery/messaging/api/events.nim - logos_delivery/channels/api/events.nim health_events.nim keeps its two remaining events (content/shard topic health). Rewiring: each layer re-exports its interface module (waku->kernel_api, messaging_client->messaging_client_api, reliable_channel->reliable_channel_manager_api, which also re-exports messaging_client_api). Deep emitters/listeners (subscription_manager, waku_node, waku_node/relay, node_health_monitor, recv_service, send_service) import the owning interface module directly. kernel_api stays below node level (types/topics/message/store-common) so the node->kernel_api imports are acyclic. liblogosdelivery builds. Co-Authored-By: Claude Opus 4.8 --- logos_delivery/api/logos_delivery_api.nim | 9 ++++----- logos_delivery/waku/api/events/message_events.nim | 10 ---------- 2 files changed, 4 insertions(+), 15 deletions(-) delete mode 100644 logos_delivery/waku/api/events/message_events.nim diff --git a/logos_delivery/api/logos_delivery_api.nim b/logos_delivery/api/logos_delivery_api.nim index acdd3725b..162159d8e 100644 --- a/logos_delivery/api/logos_delivery_api.nim +++ b/logos_delivery/api/logos_delivery_api.nim @@ -13,17 +13,16 @@ import results, chronos import brokers/event_broker import types as api_types -# `EventConnectionStatusChange` lives in the decomposed health-events module. -# Re-export it here so the orchestrator surfaces it without duplicating the type. -import logos_delivery/waku/api/events/health_events as health_events - export api_types, event_broker -export health_events type ## Entry point. Holds one instance of each API layer. ILogosDelivery* = ref object of RootObj +EventBroker: + type EventConnectionStatusChange* = object + connectionStatus*: ConnectionStatus + method start*(self: ILogosDelivery): Future[Result[void, string]] {.async, base.} = return err("ILogosDelivery.start not implemented") diff --git a/logos_delivery/waku/api/events/message_events.nim b/logos_delivery/waku/api/events/message_events.nim deleted file mode 100644 index 638d4f38a..000000000 --- a/logos_delivery/waku/api/events/message_events.nim +++ /dev/null @@ -1,10 +0,0 @@ -import brokers/event_broker -import logos_delivery/api/types -import logos_delivery/waku/[waku_core/message, waku_core/topics] -export event_broker, types - -EventBroker: - # Internal event emitted when a message arrives from the network via any protocol - type MessageSeenEvent* = object - topic*: PubsubTopic - message*: WakuMessage