- 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.
- Added new request models for datasource actions including validation, website crawling, and content retrieval.
- Enhanced `PluginExecutor` with methods to validate datasource credentials, crawl websites, and retrieve pages and content.
- Updated `PluginRegistration` to include methods for fetching datasource provider classes and handling website and online document datasources.
- Refined the `DatasourceProvider` interface to use `Mapping` for credentials, improving type safety.
- Introduced `DatasourceProviderMapping` class to manage datasource provider configurations and mappings.
- Enhanced `PluginRegistration` to include datasource configuration and mapping logic.
- Added new `DatasourceActions` enum for handling datasource-related actions.
- Updated `PluginConfiguration` to include a list of datasource manifest paths, improving plugin extensibility.
- Added validation for the `datasources` field in `DatasourceProviderManifest` to ensure it is a list of strings representing datasource paths.
- Introduced YAML loading for datasource configurations, improving the handling of datasource entities.
- Enhanced documentation annotations for `DatasourceProviderType`, `DatasourceParameter`, and `DatasourceIdentity` classes to clarify their purpose and usage.
- Added `DatasourceEntityExtra` and `DatasourceProviderConfigurationExtra` classes to encapsulate extra information for datasource and provider entities.
- Updated `DatasourceEntity` and `DatasourceProviderManifest` to include new `extra` fields, enhancing the data structure and documentation.
- Introduced documentation annotations for improved clarity on the purpose of new classes and fields.
- Introduced `DatasourceProviderType`, `DatasourceParameter`, and related classes to support new datasource functionalities.
- Added `ParameterOption`, `ParameterAutoGenerate`, and `ParameterTemplate` classes for improved parameter handling.
- Updated existing models to utilize the new parameter classes, enhancing type safety and documentation.
- Introduced `OnlineDocumentDatasource` and `WebsiteCrawlDatasource` abstract classes for handling online document and website crawl functionalities.
- Added corresponding methods for retrieving pages and content, enhancing the datasource capabilities.
- Created new models for online document and website information to support the new interfaces.
* feat(oauth): implement OAuth authorization URL and credentials retrieval
- Added OAuthGetAuthorizationUrlRequest and OAuthGetCredentialsRequest models for handling OAuth requests.
- Introduced methods in PluginExecutor for generating OAuth authorization URLs and retrieving OAuth credentials.
- Updated ToolProvider interface to include OAuth methods for authorization URL and credentials handling.
- Refactored PluginInvokeType and related action enums to support OAuth actions.