Commit Graph

33 Commits

Author SHA1 Message Date
ZalterCitty 9f4ec08d62 support invoke tool with app_id (#207) 2025-09-18 14:43:52 +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 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 ca736effd7 feat(invocation): add FetchAppInvocation and update type hints for improved clarity (#100)
* 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
2025-04-16 20:25:39 +08:00
QuantumGhost 182828657b feat(python): Add specific error classes for StorageInvocation (#90)
* feat(python): Add specific error classes for StorageInvocation

Replace generic `Exception` raises with `NotFoundError` when the key is missing,
and `StorageInvocationError` for other response errors. This improves error
handling at call sites by avoiding overly generic exceptions.

# Conflicts:
#	python/dify_plugin/invocations/storage.py

* test(python): Add test cases for `StorageInvocation`

- Ensure `StorageInvocation` raises the correct exceptions when data is missing
  or `_backwards_invoke` returns an invalid response.
- Verify that `StorageInvocation` correctly processes the result returned
  by `_backwards_invoke`.

* chore(python): fix linter violations

* feat(python): Change the exception `StorageInvocation.exist` raised

* test(python): Add test cases for `StorageInvocation.exist`.
2025-04-15 14:51:43 +08:00
Novice 9cc8f27102 chore: fix ruff issue 2025-04-15 13:34:25 +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
非法操作 bc4ee91294 add self.session.storage.exist (#89) 2025-04-14 20:05:33 +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
QuantumGhost 9e084d7d09 feat(python): upgrade ruff to v0.11.2, integrate flake8-bandit ruleset for security linting (#65)
* chore(python): update .gitignore for Python SDK

Adjust .gitignore for Python SDK based on the templated generated by
gitignore.io, with minor custom modifications.

* chore: add .editorconfig for consistent formatting

Add a .editorconfig file to enforce consistent file encoding,
indentation, and end-of-line characters across the project.

* chore(python): upgrade ruff version to v0.11.2

* feat(python): Integrate flake8-bandit ruleset for security linting

Enable the flake8-bandit (S) ruleset in ruff to enforce security-related
best practices and mitigate potential vulnerabilities in the codebase.

Suppress existing issues in the current code using `noqa` comments, primarily for
instances of `requests` calls without a specified `timeout` parameter.
2025-03-24 18:00:14 +08:00
Dongyu Li cff2ee2855 Fix/file upload (#62)
* fix:Change the file upload check parameter type to an optional parameter.

* feat:UploadFileResponse add preview_url

* feat:UploadFileResponse add preview_url
2025-03-24 17:35:09 +08:00
Novice 7012b6099a feat: add llm blocking invoke (#40)
* feat: add llm blocking invoke

* fix: switch to using generator to handle non-streaming requests

* fix: type issues

---------

Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com>
2025-03-18 19:05:42 +08:00
Dongyu Li f885a90d09 fix:Change the file upload check parameter type to an optional parameter. (#37) 2025-03-12 17:35:51 +08:00
非法操作 a039617def fix invoke llm raise error (#15) 2025-01-21 15:00:08 +08:00
Hiroshi Fujita 2ed7788aab fix: UploadFileResponse to support optional type initialization from mime_type (#10)
* fix: UploadFileResponse to support optional type initialization from mime_type

* fix: validate type using model_validator

* refactor: remove unused import of Optional from file.py
2025-01-14 18:00:24 +08:00
Novice 43e58b93e7 Merge pull request #7 from langgenius/feat/agent-node
feat: add agent strategy support
2025-01-08 07:50:49 +08:00
Novice Lee 92558f5c07 feat: add agent strategy support 2025-01-08 07:48:27 +08:00
Yeuoly 6f4d22e860 fix: add input_type 2025-01-03 18:07:40 +08:00
Yeuoly 92cf93cdae fix some bugs 2025-01-03 17:30:02 +08:00
Yeuoly 29d7ac807f fix: imstreaming response cast error while invoking LLM 2024-12-16 23:12:30 +08:00
Yeuoly 435c0da60e refactor: use absolute paths 2024-12-03 15:19:19 +08:00
-LAN- 63d84d6ae3 fix(llm.py): Use clearly variable name.
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:28:44 +08:00
-LAN- b3e0612e53 chore: Apply format
Signed-off-by: -LAN- <laipz8200@outlook.com>
2024-12-02 21:18:36 +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 d38869f0c2 fix: add min summarize_length 2024-12-02 16:30:26 +08:00
Yeuoly ad6ca50b38 feat: summarize, fix: missing files 2024-12-02 16:00:34 +08:00
Yeuoly d5d796bc29 refactor: remove files to be delivered to dify 2024-11-19 13:11:46 +08:00
Yeuoly b237ed2b50 feat: support file type 2024-11-14 18:56:27 +08:00
Yeuoly c49b84824c feat: support upload files 2024-11-14 18:36:03 +08:00
Yeuoly 43a2f4261d feat: support backwards invoke summary 2024-10-17 19:56:51 +08:00
Yeuoly bd8300d8dd feat: backwards invoke to workflows nodes 2024-09-24 20:16:53 +08:00
Yeuoly 3ac5a201e1 fix: relative import 2024-09-11 15:45:53 +08:00
takatost 77c25eaaa3 refactor all 2024-09-03 23:03:15 +08:00