- Added `TriggerIgnoreEventError` to handle cases where events should be ignored based on filter criteria.
- Updated various GitHub trigger files to return relevant payload fields directly, improving data accessibility for event handling.
- Enhanced the handling of event filtering in triggers to ensure only relevant events are processed.
These changes improve the robustness and clarity of the GitHub trigger integration, allowing for better error management and data handling.
- Introduced a new boolean field 'multiple' in the ProviderConfig class to allow for more flexible configuration settings.
This addition improves the configurability of provider options within the plugin.
- Refactored `TriggerInvokeResponse` to use `Mapping[str, Any]` for event representation.
- Renamed `properties` to `variables` in the `Event` class for clarity and updated the description accordingly.
- Expanded the event options in the GitHub trigger configuration to allow selection of all events.
- Removed the deprecated `issue_comment` trigger implementation and its associated files.
- Bumped version in `manifest.yaml` to 0.0.9 to reflect these changes.
These updates improve the flexibility and clarity of the GitHub trigger integration, allowing for a broader range of event handling.
- Modified the test for `oauth_get_authorization_url` to pass a redirect URI as the first argument, ensuring proper functionality and coverage.
This change enhances the accuracy of the test case for the TriggerProvider's OAuth implementation.
- Removed redundant import paths for `fetch_repositories` in `github.py` and `issue_comment.py`.
- Updated import statements to use a consistent module path for better maintainability.
These changes enhance code organization and readability across the GitHub trigger implementation.
- Removed unused imports in `__init__.py` and `dynamic_options.py`.
- Consolidated import statements in `github.py` and `issue_comment.py` for better organization.
- Standardized string formatting in test cases for consistency.
- Enhanced overall code clarity and maintainability.
These changes contribute to a cleaner codebase and improved readability across the project.
- Updated `IssueCommentTrigger` and `GithubProvider` to support multiple event selections for GitHub triggers.
- Introduced a new `multiple` field in the trigger parameters to allow users to select multiple events.
- Implemented dynamic fetching of repository options based on OAuth credentials.
- Bumped version in `manifest.yaml` to 0.0.7 to reflect these enhancements.
This update improves the flexibility and usability of the GitHub trigger integration.
- Bumped version in manifest.yaml to 0.0.5.
- Enhanced OAuth credential retrieval to include the 'admin:repo_hook' scope.
- Improved payload parsing logic for better handling of incoming requests.
- Adjusted default event in provider configuration for clarity.
- Enhanced the GitHub provider to handle both form-encoded and JSON payloads from webhooks.
- Updated error handling to provide clearer messages for payload parsing issues.
- Ensured compatibility with various content types in incoming requests.
This change improves the robustness of the GitHub trigger integration by accommodating different data formats.
- Updated `PluginExecutor` to return a result upon validating provider credentials.
- Renamed `ValidateProviderCredentials` to `ValidateTriggerCredentials` for consistency in trigger actions.
- Improved the `PluginRegistration` class to return OAuth schemas for registered providers.
- Added new error classes for better handling of trigger provider credential validation and OAuth errors.
- Refactored HTTP request and response serialization/deserialization for improved clarity and functionality.
- Enhanced GitHub provider to utilize new error handling and validation mechanisms.
This commit improves the overall structure and error management of the trigger system, ensuring better integration and usability.
- Renamed `WebhookValidationError` to `TriggerValidationError` for consistency in error handling across trigger operations.
- Updated references to the new `TriggerValidationError` in the GitHub provider and trigger interfaces.
- Enhanced the `TriggerProvider` class to raise the new validation error for webhook signature issues.
- Adjusted the `IssueCommentTrigger` to return the correct event response type.
- Improved type hints and imports in various modules for better clarity and organization.
- Updated the GitHub trigger provider to include dynamic parameter options for user selection.
- Refactored the subscription schema to improve parameter definitions and added support for new credential types.
- Enhanced logging for installed triggers to provide clearer information.
- Adjusted the manifest versioning and naming conventions for better clarity and consistency.
- Eliminated the `parameters` field from the `Subscription` class to streamline the subscription model.
- Updated documentation to reflect the changes in subscription creation parameters.
- Replaced `parse_raw_request` and `convert_response_to_raw_data` with `deserialize_request` and `serialize_response` for better clarity and functionality.
- Enhanced the `PluginExecutor` methods to utilize the new request and response utilities.
- Updated type hints in the `Subscription` class to use `Mapping` instead of `dict` for improved type safety.
- Refactored HTTP parsing logic to support a wider range of content types and improve overall request handling.
- Introduced new response entities for trigger operations: TriggerInvokeResponse, TriggerDispatchResponse, TriggerSubscriptionResponse, TriggerUnsubscribeResponse, and TriggerRefreshResponse.
- Updated PluginExecutor methods to utilize the new response structures, improving clarity and consistency in trigger handling.
- Enhanced HTTP request parsing and response conversion utilities for better integration with various content types.
- Refactored GitHub provider to align with the updated trigger dispatch and subscription handling mechanisms.
* feat: add filename support to multi-modal prompt messages
- Add filename field to MultiModalPromptMessageContent class
- Field defaults to empty string for backward compatibility
- Inherited by all multi-modal content types (Image, Video, Audio, Document)
- Aligns with main Dify repository implementation (PR #24777)
Closes#196🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* docs(README.md): update version binding
Signed-off-by: -LAN- <laipz8200@outlook.com>
---------
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: Claude <noreply@anthropic.com>
- Removed the resubscribe_trigger method and its associated request entity.
- Updated subscription parameters to streamline the subscribe and unsubscribe processes.
- Enhanced the trigger provider interface to utilize the new subscription schema.
- Adjusted GitHub provider implementation to align with the updated subscription structure.
* 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.
* fix: Add response body to CredentialsValidateFailedError exceptions to aid in error diagnosis, especially useful for locally provided models
* fix: linter
---------
Co-authored-by: liull <liulili@thunisoft.com>
Co-authored-by: Yeuoly <admin@srmxy.cn>
* 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