🪦 Is your feature request related to a problem? Please describe.
The current interaction protocol between plugins and the KitX core does not provide a standardized way for plugins to expose their callable functions. This limitation makes it difficult for the KitX core and the plugins to dynamically discover and utilize the available functionalities.
🪧 Describe the solution you'd like
I would like to see the development of an enhanced plugin-core interaction protocol that includes a mechanism for plugins to explicitly expose a list of their callable functions. This would allow the core system and other plugins to easily identify and invoke these functions as needed.
🧾 Describe alternatives you've considered
One alternative we’ve considered is a manual registration process where plugin developers would have to update a central registry with their function list. However, this approach is error-prone and not scalable.
Another alternative is to use reflection to automatically detect functions, but this could lead to security and performance issues.
And most importantly, we shoud develop a doc that discribe the protocol
📎 Additional context
The protocol should be easy to implement for plugin developers.
It should ensure that only authorized functions are exposed to prevent security vulnerabilities.
This feature would significantly improve the interoperability and extensibility of our system, making it easier for developers to create powerful and integrated plugin solutions. Documentation and developer guidelines should be updated to reflect these changes, and a set of best practices for exposing functions should be established.
(This issue is created with the assistance of an LLM.)
🪦 Is your feature request related to a problem? Please describe.
The current interaction protocol between plugins and the KitX core does not provide a standardized way for plugins to expose their callable functions. This limitation makes it difficult for the KitX core and the plugins to dynamically discover and utilize the available functionalities.
🪧 Describe the solution you'd like
I would like to see the development of an enhanced plugin-core interaction protocol that includes a mechanism for plugins to explicitly expose a list of their callable functions. This would allow the core system and other plugins to easily identify and invoke these functions as needed.
🧾 Describe alternatives you've considered
One alternative we’ve considered is a manual registration process where plugin developers would have to update a central registry with their function list. However, this approach is error-prone and not scalable. Another alternative is to use reflection to automatically detect functions, but this could lead to security and performance issues. And most importantly, we shoud develop a doc that discribe the protocol
📎 Additional context
The protocol should be easy to implement for plugin developers.
It should ensure that only authorized functions are exposed to prevent security vulnerabilities.
This feature would significantly improve the interoperability and extensibility of our system, making it easier for developers to create powerful and integrated plugin solutions. Documentation and developer guidelines should be updated to reflect these changes, and a set of best practices for exposing functions should be established.
(This issue is created with the assistance of an LLM.)