* feat: add LLMStructuredOutput and LLMStructuredOutputInvocation for structured output handling
- Introduced LLMStructuredOutput model class for structured output representation.
- Added LLMStructuredOutputInvocation class to handle invocation with structured output.
- Updated ModelInvocations to include LLMStructuredOutputInvocation.
- Modified InvokeType enum to support LLMStructuredOutput type.
* docs: update README.md to include support for LLM structured output in manifest versioning
* docs: update README.md with manifest versioning details and enhance setup.py field descriptions for version compatibility
* docs: enhance README.md with manifest versioning details and update Python SDK README for version constraints
* feat: enhance PluginRunner to build plugins from source directories
- Added functionality to the PluginRunner to detect if the plugin package path is a directory and build the plugin accordingly.
- Introduced a new method `_build_plugin` to handle the building process and log the output.
- Implemented resource cleanup for temporary directories used during the build process.
- Updated integration tests to reflect changes in the mock server configuration by using a constant for the server port.
* fix: linter
- Removed the `provider` field from `DatasourceIdentity` in the manifest.
- Added identity and description fields to `notion.yaml` for better clarity.
- Enhanced `notion.py` with OAuth methods for authorization and credential handling.
- Updated `notion.yaml` to include icon and provider type information.
- Implemented logic to write a datasource declaration message when a datasource configuration is present during plugin initialization.
- Introduced a new message type, `DATASOURCE_DECLARATION`, in the `InitializeMessage` class to support this functionality.