- Introduced a new CHECKBOX type in CommonParameterType to enhance parameter options.
- Updated ToolParameter and TriggerParameter classes to include the new CHECKBOX type.
- Modified the GitHub trigger manifest version to 1.1.0 and changed parameter type from select to checkbox in issues.yaml.
These changes improve the flexibility of parameter types available in the plugin, allowing for more diverse user interactions.
* chore: fix ruff issue
* feat(oauth): implement OAuth
* feat(invoke-message): refactor message handling and introduce InvokeMessage class
* feat(plugin-oauth): add credential_id and credential_type to tool parameters
* feat(plugin-oauth): add credential_id and credential_type to tool parameters
* chore: update dify_plugin version to 0.5.0b4 and clean up github.yaml
* chore: update plugin version to 0.1.2 in manifest.yaml
* feat(session): session context and tool backwards invocation credential support
* feat(oauth): session context and tool backwards invocation credential support
* feat: update README and requirements for OAuth support in version 0.4.2
* feat: add .gitignore to exclude IDE files and secret keys
* chore: apply ruff
* feat: bump version to 0.4.2b1
* feat: update GitHub plugin configuration for OAuth support and improve credential handling
* feat: update .gitignore to exclude dify plugin files and public keys
* feat: fix credential validation for GitHub API and bump version to 0.2.1
* feat: update GitHub plugin to support multiple access tokens and bump version to 0.2.5
* chore: apply ruff
* feat: add ToolProviderOAuthError for improved OAuth error handling in GitHub plugin
* chore: apply ruff
* chore: bump version to 0.4.2
* chore: update examples sdk version to 0.4.2
* fix: thread deadlock in PluginRunner when running tests without gevent monkey patching
* feat: add support for refreshing OAuth credentials in Plugin and GitHub provider
* feat: refactor OAuth credential handling to return structured OAuthCredentials object
* apply ruff
* feat: refactor OAuth credential handling to use ToolOAuthCredentials for improved structure
* feat: reorganize imports in __init__.py for improved clarity and structure
* feat: add Microsoft To Do plugin for refresh token example
* chore: apply ruff
* fix: update author in GitHub configuration and clean up Microsoft To Do schema
* chore: bump version to 0.4.2b2 in pyproject.toml
* feat: update Microsoft To Do plugin to handle OAuth token encoding and version bump
* feat:remove inelegant example
* chore: update dify_plugin version to 0.4.2
* chore: bump version to 0.4.2 in pyproject.toml
---------
Co-authored-by: Yeuoly <admin@srmxy.cn>
* docs: update README.md to include support for `dark-icon` field in manifest versioning
* feat: add dark mode icon fields to Tool and SimpleProviderEntity models
- Introduced `icon_dark` field in ToolProviderIdentity for dark mode support.
- Added `icon_small_dark` and `icon_large_dark` fields in SimpleProviderEntity for dark mode icons.
* feat: add dynamic select support
- Introduced ParameterOption class for parameter options with value, label, and optional icon.
- Updated ToolParameterOption to inherit from ParameterOption.
- Added DYNAMIC_SELECT to CommonParameterType enum.
- Implemented fetch_parameter_options method in Tool class for fetching parameter options.
- Created DynamicSelectProtocol for dynamic select functionality.
- Added tests for Tool construction and parameter options fetching.
* feat: implement dynamic parameter fetching functionality
- Added DynamicParameterFetchParameterOptionsRequest class for dynamic parameter requests.
- Introduced DynamicParameterActions enum for action types related to dynamic parameters.
- Enhanced PluginExecutor with methods to handle dynamic parameter fetching.
- Updated Tool interface to include a method for fetching parameter options.
- Documented the DynamicSelectProtocol for clarity on its usage.
* feat: enhance plugin functionality with dynamic parameter options and trigger interface
- Added dynamic parameter fetching capabilities to the Plugin class.
- Introduced TriggerProvider and Trigger classes for managing trigger functionalities.
- Updated Tool interface to enforce implementation of credential validation and OAuth methods.
- Enhanced error messages for NotImplementedError in ToolProvider and Trigger classes.
- Removed deprecated tools and their configurations from the codebase.
* docs: update README.md to include support for `dynamic-select` parameter type in manifest versioning
* chore: remove code_based_workflow
* 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.
- 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