9 Commits

Author SHA1 Message Date
Ivan FB
89d1f87bfe
Rename kernel_api dir to waku_node and tidy node module layout
Why these changes hang together:

- Rename `waku/node/kernel_api/` to `waku/node/waku_node/`: the folder
  holds the node's protocol APIs, so it should carry the node's name
  rather than the legacy "kernel_api" label.

- Collapse the old `kernel_api.nim` aggregator into the top-level
  `waku/waku_node.nim` barrel, and drop `net_config`/`health_monitor`
  from it. Those aren't the node's concern; consumers that used them
  now import them directly (clearer, explicit deps).

- Move the `WakuNode` type from `node_types.nim` into `waku_node.nim`.
  `node_types.nim` only existed to dodge a `WakuNode`/`SubscriptionManager`
  import cycle that Nim actually handles fine, so the type now lives in
  one obvious home and the indirection module is deleted.

- Extract `ShardSubscription` and `EdgeFilterSubState` into their own
  small modules: they are standalone value types with no back-reference
  to the node. `SubscriptionManager` stays with `WakuNode` on purpose
  (it is the node's subscription subsystem; the relationship is real).

Verified: `wakunode2` and `libwaku` build; representative node tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 13:59:07 +02:00
Fabiana Cecin
1494ebb96f
Remove leaked abstraction topic (pubsub topic) vs. shard
Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2026-06-01 12:09:17 -03:00
Fabiana Cecin
d195b5522c
Restore registerRelayHandler 2026-05-30 10:52:26 -03:00
Fabiana Cecin
dcca369c12
Fix nix and lint
* Fix nix path heuristic missing sds srcDir
* Fix lint
2026-05-29 22:12:17 -03:00
Fabiana Cecin
bef86e44bb
Improve edge filter peer cleanup on disconnect 2026-05-29 21:36:14 -03:00
Fabiana Cecin
6baefddf47
Restore libwaku kernel_api semantics for interop tests (2) 2026-05-29 20:09:20 -03:00
Fabiana Cecin
8b9ed0c804
Merge remote-tracking branch 'origin/master' into feat/simple-lift-messaging
* Refactor channels to fit layering with explicit mount
* Fix channels test to perform the new mount sequence
* Add Waku.reliableChannelManager
* liblogosdelivery_start_node mounts ReliableChannelManager after MessagingClient
* Fix test_wakunode_peer_exchange missing lockNewGlobalBrokerContext
* Fix test_protocol missing lockNewGlobalBrokerContext
* Harden provider setup vs. misconfiguration (improper shared broker context situations)
2026-05-29 15:07:05 -03:00
Fabiana Cecin
5538df0ff9
Fix lint 2026-05-29 13:13:14 -03:00
Fabiana Cecin
b451b94085
Clean separation between MessagingClient and kernel/core
* Convert DeliveryService into optionally mountable MessagingClient
* Move SubscriptionManager to core layer (WakuNode)
* Ensure libwaku kernel_api/ still works (deprecated; removal pending)
* Create node_types.nim to allow WakuNode to compose subsystems cleanly
* Create node_telemetry.nim to centralize Prometheus types
* Remove unnecessary "ptr Waku" / "addr waku" indirection
* Rename Waku.startWaku -> Waku.start for upcoming Waku rename
* Write complete proc surface for SubscriptionManager (all intents expressible)
* Rename edgeFilterHealthLoop -> edgeFilterConnectionLoop ("Health" means monitoring)
* logosdelivery_start_node calls mountMessagingClient then starts
* libwaku and wakunode2 do not mount messagingClient
* misc refactors/moves, improvements, fixes
2026-05-29 11:40:31 -03:00