Open
Description
Currently, a module invokes itself through the native language (e.g. self.otherFunction), which completely bypasses dagger.
Instead, dagger could provide a proper mechanism for a module to invoke one of its own functions via the engine in order to get:
- Caching: Calling your own function should get the same caching treatment as invoking an external function
- Observability: Invoking your own function should create a new span, visible from TUI/Cloud
- Improved Interface Support: helps support more more cases involving interfaces
This could potentially also be useful for testing, TBD.