- 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.
- 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.
- Introduced a class method `_load_yaml_file` to encapsulate YAML file loading logic.
- Enhanced the `validate_endpoints` method to support both direct endpoint configurations and YAML file paths.
- Added unit tests for loading endpoint configurations from YAML strings and files.
- Added CLI for generating documentation with `generate-docs` command.
- Introduced `SchemaDocumentationGenerator` to create structured documentation from schemas.
- Implemented `SchemaDoc` class for schema metadata and documentation management.
- Updated `PluginConfiguration` to include descriptions for plugin components.
- Added support for outside reference fields in the SchemaDocumentationGenerator to improve documentation clarity.
- Updated SchemaDoc to include outside_reference_fields parameter.
- Modified various entity classes to utilize outside_reference_fields for better schema representation.
- Introduced new container type checks and helper methods for handling dynamic fields in documentation generation.
* feat: support var-selector params & surpport retriever_resources messsage
* opt: rename var-select to any
* fix: line too long
* opt: Add RetrieverResource Type
* feat(invocation): add FetchAppInvocation and update type hints for improved clarity
- Introduced FetchAppInvocation class to handle fetching app data.
- Updated type hints in ToolInvokeMessage and related classes to use Mapping for better type safety.
- Added FetchApp enum value to InvokeType for consistency in invocation types.
* apply ruff
* chore(python): temporarily disable `UP007` rule in Ruff
Disable the `UP007` rule temporarily due to numerous existing
violations in the current codebase.
* ci(python): add lint and test for Python SDK
* ci: Add mega-linter
* chore(python): Add final newline to markdown files
* fix(python): Fix linter issues by using ruff's auto fix
* fix(python): Fix TRY400 linter violations
Ruff suggests using `logger.exception` to log when
logging an exception, instead of using `logging.error`.
The former logs the exception and the traceback
automatically.
ref: https://docs.astral.sh/ruff/rules/error-instead-of-exception/
* fix(python): fix ruff linter violations
* test(python): Add Test cases for LLM entities
Test the initialization of `LLMResult` and `LLMResultChunk`.
* test(python): Add test for `AgentModelConfig`
Ensures that the `history_prompt_messages` attribute is
not shared between instances of `AgentModelConfig`.
* chore(python): output diffs in Ruff's format check
* style(python): format code with Ruff
* chore(python): Add a bash script for fix and format python code
* chore: add `persist-credentials: false` to checkout action
Enhances security by preventing subsequent
steps from accessing GitHub credentials, reducing
potential attack surfaces.
Ref: https://github.com/actions/checkout#checkout-v4
* refactor: remove prompt_messages from LLMResult and LLMResultChunk
* fix: add backward compatibility for deprecated prompt_messages field in LLMResult and LLMResultChunk
* fix: set default value for prompt_messages field to an empty list in LLMResult and LLMResultChunk for backward compatibility
* feat: add test for LLMResult to validate prompt_messages field and ensure backward compatibility
* apply ruff
* chore(*): Add pytest into test group
Signed-off-by: -LAN- <laipz8200@outlook.com>
* fix: Enhance content transformation to support Sequence type and add unit tests
Signed-off-by: -LAN- <laipz8200@outlook.com>
---------
Signed-off-by: -LAN- <laipz8200@outlook.com>