Commit Graph

44 Commits

Author SHA1 Message Date
Novice a554614833 feat: add developer message (#192) 2025-08-29 17:40:43 +08:00
-LAN- 582381a673 feat: add filename support to multi-modal prompt messages (#197)
* 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>
2025-08-29 17:33:28 +08:00
Maries c6f83a63e1 feat[0.4.2]: Tool OAuth (#179)
* 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>
2025-07-23 13:49:01 +08:00
Yeuoly d27bbddc02 feat: dark icon (#173)
* 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.
2025-07-09 16:06:20 +08:00
Yeuoly 1ec2ff6d6c feat[0.4.0]: add LLMStructuredOutput and LLMStructuredOutputInvocation for s… (#166)
* 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
2025-06-27 15:54:42 +08:00
Yeuoly 038edf957e feat: generate docs automatically (#121)
- 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.
2025-04-30 14:48:03 +08:00
Novice e2447622a8 feat(model): add structured output feature to model 2025-04-15 14:00:27 +08:00
QuantumGhost 5cb24625c3 ci(python): Add CI Pipeline for Python SDK (#72)
* 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
2025-04-14 20:25:19 +08:00
Yeuoly 12ad9db9b5 enhancement: remove prompt_messages from LLMResult and LLMResultChunk (#88)
* 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
2025-04-11 15:23:05 +08:00
Vitor 6860f207c2 fix: ensure string fields in ToolCall default to empty string during initialization if set to explicit None (#82) 2025-04-10 14:45:39 +08:00
-LAN- b3dac93c99 fix(entities/model/message): prompt message cannot validate when pass multi type contents (#73) 2025-03-28 10:58:42 +09:00
QuantumGhost bf79e6591d feat(python): Enable pycodestyle (W) warning ruleset with ruff (#69)
Refactor codebase to fix pre-existing style issues flagged by the ruleset.
2025-03-24 19:21:00 +08:00
-LAN- 967084177f fix: Update prompt message content types to use Literal and add union type for content (#49)
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-03-17 17:28:21 +08:00
-LAN- b7a30ae78a fix: cannot init prompt message (#42)
* 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>
2025-03-14 13:36:48 +08:00
非法操作 85f7fa302d label display error when use_template (#14) 2025-01-14 18:01:44 +08:00
非法操作 f9df7e9577 sync MultiModalPromptMessageContent (#13) 2025-01-14 17:58:42 +08:00
Yeuoly 92cf93cdae fix some bugs 2025-01-03 17:30:02 +08:00
Yeuoly 9e0f50b230 feat: support TOP_K as default parameter 2024-12-05 20:55:53 +08:00
-LAN- 42980322a0 feat: support convert in the PromptMessage.transform_content
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-04 15:09:37 +08:00
-LAN- c2a56f8c85 feat(entities): Add VideoPromptMessageContent and AudioPromptMessageContent
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-04 13:03:15 +08:00
Yeuoly 435c0da60e refactor: use absolute paths 2024-12-03 15:19:19 +08:00
-LAN- 6358a80025 chore: prevent collapsible-if
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:59:13 +08:00
-LAN- 105606e34b refactor: Remove un-needed bool
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:53:23 +08:00
-LAN- 4551f79ca3 chore: Fix lines-too-long
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:27:12 +08:00
-LAN- b3e0612e53 chore: Apply format
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:18:36 +08:00
-LAN- 37128aeadd chore: Apply unsafe auto-fixes and check manually
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:17:21 +08:00
-LAN- 5858fe715e chore: Apply formet and auto fix
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:10:36 +08:00
Yeuoly 347cb0c5f0 fix: add ParameterType text 2024-11-29 20:23:48 +08:00
Yeuoly 5bcbae8b80 fix: add json schema 2024-11-29 20:19:57 +08:00
Yeuoly 07a02f67d6 fix: field validator should be wrappered with classmethod 2024-11-29 20:14:12 +08:00
Yeuoly 4afefe26e4 fix: add prompt_message transformer 2024-11-29 20:06:48 +08:00
Yeuoly 9f6754dd31 fix: openai api compatible get_num_tokens and document prompt message content 2024-11-29 20:00:03 +08:00
Yeuoly 7f87021c2a feat: support DOCUMENT/AUDIO/VIDEO to ModelFeature 2024-11-29 17:48:05 +08:00
Yeuoly 43a2f4261d feat: support backwards invoke summary 2024-10-17 19:56:51 +08:00
takatost 71081cf1c4 feat: text embedding invoke add input_type param 2024-09-29 14:35:40 +08:00
Yeuoly 57dc0ef655 refactor: add detailed args to error session message 2024-09-29 12:40:11 +08:00
Yeuoly bd8300d8dd feat: backwards invoke to workflows nodes 2024-09-24 20:16:53 +08:00
Yeuoly 400d4080dc fix: tool provider 2024-09-23 21:32:04 +08:00
Yeuoly 8a4ea4b6e3 feat: support position.yaml 2024-09-20 01:01:42 +08:00
Yeuoly 3ac5a201e1 fix: relative import 2024-09-11 15:45:53 +08:00
takatost b25ecd6782 fix protected_namespaces 2024-09-04 20:17:04 +08:00
takatost d362439611 fix bugs 2024-09-04 20:07:38 +08:00
takatost 698198a359 fix bugs 2024-09-04 20:01:21 +08:00
takatost 77c25eaaa3 refactor all 2024-09-03 23:03:15 +08:00