Overview
This issue proposes adding support for functions with open generics in the SemanticPluginForge. Currently, all functions with open generics are ignored when creating a plugin from CLR types.
Current Limitation
When creating a plugin from CLR types, functions with open generic parameters are not supported and are simply ignored in the current implementation. This limits the functionality that can be exposed through the plugin system.
Proposed Solution
We can extend the FunctionMetadata class with optional type parameters which can be used to close the open generic. This would allow us to:
- Properly recognize functions with open generics during plugin creation from CLR types
- Create concrete implementations when these functions are needed
Implementation Details
- Modify the
FunctionMetadata class to include optional type parameters
- Update the plugin creation process to identify and include functions with open generics
- Add logic to handle the closure of open generics at runtime
- Implement a mechanism to use the concrete method once the generic type has been specified
- Update relevant documentation to reflect these changes
Benefits
- Support for a broader range of function signatures in CLR types
- Increased flexibility in function definitions
- Better type safety across the plugin system
- More complete mapping of CLR type functionality to plugin functions
Acceptance Criteria
Technical Notes
This will require changes to the CLR type inspection process and the core function registration and invocation pipeline to properly handle the type information throughout the process.
Overview
This issue proposes adding support for functions with open generics in the SemanticPluginForge. Currently, all functions with open generics are ignored when creating a plugin from CLR types.
Current Limitation
When creating a plugin from CLR types, functions with open generic parameters are not supported and are simply ignored in the current implementation. This limits the functionality that can be exposed through the plugin system.
Proposed Solution
We can extend the
FunctionMetadataclass with optional type parameters which can be used to close the open generic. This would allow us to:Implementation Details
FunctionMetadataclass to include optional type parametersBenefits
Acceptance Criteria
FunctionMetadatacan represent functions with open generic parametersTechnical Notes
This will require changes to the CLR type inspection process and the core function registration and invocation pipeline to properly handle the type information throughout the process.