355 Commits
Author SHA1 Message Date
MariesandGitHub 164e5481c5 feat(oauth): plugin oauth service (#21480) 2025-06-25 14:14:30 +08:00
QuantumGhostandGitHub 268da31332 fix(api): adding variable to variable pool recursively while loading draft variables. (#21478)
This PR fix the issue that `ObjectSegment` are not recursively added to the draft variable pool while loading draft variables from database. It also fixes an issue about loading variables with more than two elements in the its selector.

Enhances #19735.
Closes #21477.
2025-06-25 12:39:22 +08:00
94f8e48647 Refactor update dataset (fix #21401) (#21402)
Co-authored-by: Jyong <[email protected]>
Co-authored-by: Copilot <[email protected]>
2025-06-25 11:44:35 +08:00
QuantumGhostandGitHub 501d3b6203 feat(api): Explicitly define version method for all BaseNode subclasses (#21443)
This PR addresses issue #21441 by implementing explicit `version` method definitions for all `BaseNode` subclasses to improve code maintainability.

### Changes

Added explicit `version` method definitions for all `BaseNode` subclasses:

- `QuestionClassifierNode`
- `KnowledgeRetrievalNode` 
- `AgentNode`

Added comprehensive test suite to validate:

1. All subclasses of `BaseNode` have explicitly defined `version` method
2. All subclasses have required `_node_type` property
3. The `(node_type, node_version)` combination is unique across all subclasses
2025-06-24 20:27:22 +08:00
quicksandandGitHub 45146edb31 fix(document_extractor): xlsx file column int type error (#21408) 2025-06-24 13:42:13 +08:00
QuantumGhostandGitHub 10b738a296 feat: Persist Variables for Enhanced Debugging Workflow (#20699)
This pull request introduces a feature aimed at improving the debugging experience during workflow editing. With the addition of variable persistence, the system will automatically retain the output variables from previously executed nodes. These persisted variables can then be reused when debugging subsequent nodes, eliminating the need for repetitive manual input.

By streamlining this aspect of the workflow, the feature minimizes user errors and significantly reduces debugging effort, offering a smoother and more efficient experience.

Key highlights of this change:

- Automatic persistence of output variables for executed nodes.
- Reuse of persisted variables to simplify input steps for nodes requiring them (e.g., `code`, `template`, `variable_assigner`).
- Enhanced debugging experience with reduced friction.

Closes #19735.
2025-06-24 09:05:29 +08:00
NeatGuyCodingandGitHub a0a89b562c Feature:Refactor batch update document status for #21324 (#21325) 2025-06-23 09:49:13 +08:00
JinandGitHub 3e7f8bad56 fix: markdown_extractor lost chunks if it starts without a header(#21308) (#21309) 2025-06-21 23:10:00 +08:00
-LAN-andGitHub 6b1ad634f1 fix(workflow_run): sequence_number race. (#21228)
Signed-off-by: -LAN- <[email protected]>
2025-06-19 17:53:49 +08:00
LiuBoandGitHub 17fe62cf91 feat: add support for Matrixone database (#20714) 2025-06-19 10:20:12 +08:00
He WangandGitHub 37f26c412f add healthcheck to oceanbase container (#20989) 2025-06-18 14:00:59 +08:00
-LAN-andGitHub 0dcacdf83d feat: add a flask_context_manager. (#21061)
Signed-off-by: -LAN- <[email protected]>
2025-06-17 16:31:29 +08:00
Bowen LiangandGitHub 366ddb05ae test: run vdb test of oceanbase with docker compose in CI tests (#20945) 2025-06-16 11:05:19 +08:00
QuantumGhostandGitHub c439e82038 refactor(api): Decouple ParameterExtractorNode from LLMNode (#20843)
- Extract methods used by `ParameterExtractorNode` from `LLMNode` into a separate file.
- Convert `ParameterExtractorNode` into a subclass of `BaseNode`.
- Refactor code referencing the extracted methods to ensure functionality and clarity.
- Fixes the issue that `ParameterExtractorNode` returns error when executed.
- Fix relevant test cases.

Closes #20840.
2025-06-10 11:47:50 +08:00
Bowen LiangandGitHub c1a13fa553 chore: replace pseudo-random generators with secrets module (#20616) 2025-06-06 10:48:28 +08:00
HaiyangPGitHubhaiyangpengai <xxxx>
3fb9b41fe5 A more concise and effective extractor for excel and csv files (#20625)
Co-authored-by: haiyangpengai <xxxx>
2025-06-05 14:59:55 +08:00
-LAN-andGitHub 5ccfb1f4ba refactor: Improve model status handling and structured output (#20586)
Signed-off-by: -LAN- <[email protected]>
2025-06-04 19:56:54 +08:00
-LAN-andGitHub db488bef51 refactor(api/core/workflow/enums): Rename WORKFLOW_RUN_ID to WORKFLOW_EXECUTION_ID (#20459)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 11:05:08 +08:00
-LAN-andGitHub f7fb10635f refactor(workflow): Rename workflow node execution models (#20458)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 04:56:37 +08:00
-LAN-andGitHub 32e779eef3 refactor(workflow): Rename NodeRunMetadataKey to WorkflowNodeExecutionMetadataKey (#20457)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 04:47:56 +08:00
-LAN-andGitHub 482e50aae9 Refactor/remove db from cycle manager (#20455)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 04:34:13 +08:00
-LAN-andGitHub cd0a05f114 tests: Removes outdated marketplace download test (#20454)
Signed-off-by: -LAN- <[email protected]>
2025-05-30 01:57:55 +08:00
teawoong KimandGitHub 400ae664bb fix(http): force multipart/form-data even without files(#20322) (#20323) 2025-05-28 17:04:38 +08:00
0ebaba98f0 fix: dataset permission check for partial team members (#19249) (#20242)
Co-authored-by: MioINAMIJIMA <[email protected]>
2025-05-27 14:33:11 +08:00
-LAN-andGitHub 9c9d3d7bd0 feat: document extractor chardet encoding (#20269)
Signed-off-by: -LAN- <[email protected]>
2025-05-27 13:27:46 +08:00
-LAN-andGitHub b357eca307 fix: Copy request context and current user in app generators. (#20240)
Signed-off-by: -LAN- <[email protected]>
2025-05-27 10:56:23 +08:00
b9b5d43dc6 fix: add 'floatfmt' when extract number from excel ( #20153 ) (#20193)
Co-authored-by: wangheyang <[email protected]>
Co-authored-by: crazywoola <[email protected]>
2025-05-26 16:41:57 +08:00
-LAN-andGitHub d31235ca13 feat: Introduce WorkflowExecution Domain Entity and Repository, Replace WorkflowRun Direct Usage, and Unify Stream Response Logic (#20067)
Signed-off-by: -LAN- <[email protected]>
2025-05-21 22:01:53 +08:00
QuantumGhostandGitHub 13dc1c8795 Simplify execution_metadata Handling for WorkflowNodeExecution (#20062)
Currently, `WorkflowNodeExecution.execution_metadata_dict` returns `None` when metadata is absent in the database. This requires all callers to perform `None` checks when processing metadata, leading to more complex caller-side logic.

This pull request updates the `execution_metadata_dict` method to return an empty dictionary instead of `None` when metadata is absent. This change would simplify the caller logic, as it removes the need for explicit `None` checks and provides a more consistent data structure to work with.
2025-05-21 18:38:16 +08:00
-LAN-andGitHub 3196dc2d61 refactor: Use typed SQLAlchemy base model and fix type errors (#19980)
Signed-off-by: -LAN- <[email protected]>
2025-05-21 15:38:03 +08:00
87f9d11d65 fix: ensure Decimal values in metadata are JSON serializable (fixes #19936) (#19955)
Co-authored-by: crazywoola <[email protected]>
2025-05-20 15:38:31 +08:00
QuantumGhostandGitHub 6a9e0b1005 feat(api): Introduce WorkflowDraftVariable Model (#19737)
- Introduce `WorkflowDraftVariable` model and the corresponding migration.
- Implement `EnumText`,  a custom column type for SQLAlchemy designed
  to work seamlessly with enumeration classes based on `StrEnum`.
2025-05-19 22:59:56 +08:00
6a74c97a0a feat: add debug log for request and response (#19781) (#19783)
Co-authored-by: hashjang <[email protected]>
Co-authored-by: QuantumGhost <[email protected]>
2025-05-17 17:31:09 +08:00
-LAN-andGitHub 7d0106b220 fix: correct type mismatch in WorkflowService node execution handling (#19846)
Signed-off-by: -LAN- <[email protected]>
2025-05-17 12:31:27 +08:00
4977bb21ec feat(workflow): domain model for workflow node execution (#19430)
Signed-off-by: -LAN- <[email protected]>
Co-authored-by: Copilot <[email protected]>
2025-05-17 00:56:16 +08:00
-LAN-andGitHub 0fed5c1193 fix(config): Allow DB_EXTRAS to set search_path via options (#19560)
Signed-off-by: -LAN- <[email protected]>
2025-05-13 10:10:18 +08:00
-LAN-andGitHub 56cff485d0 test(vdb/huaweicloudvectordb): Fix the wrong import path (#19413)
Signed-off-by: -LAN- <[email protected]>
2025-05-09 16:37:59 +08:00
-LAN-andGitHub b4064fa092 test(test_dify_config): Update test to use example environment file (#19427)
Signed-off-by: -LAN- <[email protected]>
2025-05-09 11:42:51 +08:00
-LAN-andGitHub f23cf98317 refactor: Remove RepositoryFactory (#19176)
Signed-off-by: -LAN- <[email protected]>
2025-05-06 21:14:51 +08:00
NoviceandGitHub 0cfc82d731 fix(structured-output): reasoning model's json format parsing (#19261) 2025-05-06 13:16:08 +08:00
Bowen LiangandGitHub 8537abfff8 chore: avoid repeated type ignore noqa by adding flask_restful and flask_login in mypy import exclusions (#19224) 2025-05-06 11:58:49 +08:00
YeuolyandGitHub 8ac3a223a8 fix(api): add missing INNER_API_KEY to InnerAPIConfig (#19166) 2025-05-06 10:02:14 +08:00
Hao ChengandGitHub bb1d1dc263 fix: fix API tool integration test (#19187) 2025-05-01 14:49:43 +08:00
349c3cf7b8 feat(api): Add image multimodal support for LLMNode (#17372)
Enhance `LLMNode` with multimodal capability, introducing support for
image outputs.

This implementation extracts base64-encoded images from LLM responses,
saves them to the storage service, and records the file metadata in the
`ToolFile` table. In conversations, these images are rendered as
markdown-based inline images.
Additionally, the images are included in the LLMNode's output as
file variables, enabling subsequent nodes in the workflow to utilize them.

To integrate file outputs into workflows, adjustments to the frontend code
are necessary.

For multimodal output functionality, updates to related model configurations
are required. Currently, this capability has been applied exclusively to
Google's Gemini models.

Close #15814.

Signed-off-by: -LAN- <[email protected]>
Co-authored-by: -LAN- <[email protected]>
2025-04-30 17:28:02 +08:00
-LAN-andGitHub bcc95e520b feat: support remove first and remove last in variable assigner (#19144)
Signed-off-by: -LAN- <[email protected]>
2025-04-30 15:50:00 +08:00
QuantumGhostandGitHub bd1bbfee4b Enhance Code Consistency Across Repository with .editorconfig (#19023) 2025-04-29 18:04:33 +08:00
Ahmad ZidanandGitHub 8266815cda feat: add AWS Managed IAM auth for OpenSearch vector DB (#18963) 2025-04-29 15:10:08 +08:00
NoviceandGitHub e36b1a7016 test(graph-engine-test): modify the assert condition (#19041) 2025-04-29 09:51:42 +08:00
-LAN-andGitHub d9aa2b155a refactor: Refactors repository imports structure (#18901)
Signed-off-by: -LAN- <[email protected]>
2025-04-27 17:29:03 +08:00
YeuolyandGitHub 0e0ec4691a feat: add interfaces of OAuth handler methods for authorization (#18889) 2025-04-27 16:00:37 +08:00