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>
* Introduce api/send
Added events and requests for support.
Reworked delivery_monitor into a featured devlivery_service, that
- supports relay publish and lightpush depending on configuration but with fallback options
- if available and configured it utilizes store api to confirm message delivery
- emits message delivery events accordingly
prepare for use in api_example
* Fix edge mode config and test added
* Fix some import issues, start and stop waku shall not throw exception but return with result properly
* Utlize sync RequestBroker, adapt to non-async broker usage and gcsafe where appropriate, removed leftover
* add api_example app to examples2
* Adapt after merge from master
* Adapt code for using broker context
* Fix brokerCtx settings for all usedbrokers, cover locked node init
* Various fixes upon test failures. Added initial of subscribe API and auto-subscribe for send api
* More test added
* Fix multi propagate event emit, fix fail send test case
* Fix rebase
* Fix PushMessageHandlers in tests
* adapt libwaku to api changes
* Fix relay test by adapting publish return error in case NoPeersToPublish
* Addressing all remaining review findings. Removed leftovers. Fixed loggings and typos
* Fix rln relay broker, missed brokerCtx
* Fix rest relay test failed, due to publish will fail if no peer avail
* ignore anvil test state file
* Make terst_wakunode_rln_relay broker context aware to fix
* Fix waku rln tests by having them broker context aware
* fix typo in test_app.nim
* deep changes in libwaku to adap to nim-ffi
* start using ffi pragma in library
* update some binding examples
* add missing declare_lib.nim file
* properly rename api files in library folder