diff --git a/api/core/repositories/sqlalchemy_workflow_execution_repository.py b/api/core/repositories/sqlalchemy_workflow_execution_repository.py
index 19086cffff..e5ead9dc56 100644
--- a/api/core/repositories/sqlalchemy_workflow_execution_repository.py
+++ b/api/core/repositories/sqlalchemy_workflow_execution_repository.py
@@ -6,7 +6,7 @@ import json
import logging
from typing import Optional, Union
-from sqlalchemy import select
+from sqlalchemy import func, select
from sqlalchemy.engine import Engine
from sqlalchemy.orm import sessionmaker
@@ -151,11 +151,11 @@ class SQLAlchemyWorkflowExecutionRepository(WorkflowExecutionRepository):
existing = session.scalar(select(WorkflowRun).where(WorkflowRun.id == domain_model.id_))
if not existing:
# For new records, get the next sequence number
- stmt = select(WorkflowRun.sequence_number).where(
+ stmt = select(func.max(WorkflowRun.sequence_number)).where(
WorkflowRun.app_id == self._app_id,
WorkflowRun.tenant_id == self._tenant_id,
)
- max_sequence = session.scalar(stmt.order_by(WorkflowRun.sequence_number.desc()))
+ max_sequence = session.scalar(stmt)
db_model.sequence_number = (max_sequence or 0) + 1
else:
# For updates, keep the existing sequence number
diff --git a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx
index 731841f423..e03cdbca21 100644
--- a/web/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx
+++ b/web/app/components/base/prompt-editor/plugins/workflow-variable-block/component.tsx
@@ -27,12 +27,13 @@ import { Variable02 } from '@/app/components/base/icons/src/vender/solid/develop
import { BubbleX, Env } from '@/app/components/base/icons/src/vender/line/others'
import { VarBlockIcon } from '@/app/components/workflow/block-icon'
import { Line3 } from '@/app/components/base/icons/src/public/common'
-import { isConversationVar, isENV, isSystemVar } from '@/app/components/workflow/nodes/_base/components/variable/utils'
+import { isConversationVar, isENV, isRagVariableVar, isSystemVar } from '@/app/components/workflow/nodes/_base/components/variable/utils'
import Tooltip from '@/app/components/base/tooltip'
import { isExceptionVariable } from '@/app/components/workflow/utils'
import VarFullPathPanel from '@/app/components/workflow/nodes/_base/components/variable/var-full-path-panel'
import { Type } from '@/app/components/workflow/nodes/llm/types'
import type { ValueSelector } from '@/app/components/workflow/types'
+import { InputField } from '@/app/components/base/icons/src/vender/pipeline'
type WorkflowVariableBlockComponentProps = {
nodeKey: string
@@ -54,7 +55,8 @@ const WorkflowVariableBlockComponent = ({
const [editor] = useLexicalComposerContext()
const [ref, isSelected] = useSelectOrDelete(nodeKey, DELETE_WORKFLOW_VARIABLE_BLOCK_COMMAND)
const variablesLength = variables.length
- const isShowAPart = variablesLength > 2
+ const isRagVar = isRagVariableVar(variables)
+ const isShowAPart = variablesLength > 2 && !isRagVar
const varName = (
() => {
const isSystem = isSystemVar(variables)
@@ -113,7 +115,7 @@ const WorkflowVariableBlockComponent = ({
className={cn(
'group/wrap relative mx-0.5 flex h-[18px] select-none items-center rounded-[5px] border pl-0.5 pr-[3px] hover:border-state-accent-solid hover:bg-state-accent-hover',
isSelected ? ' border-state-accent-solid bg-state-accent-hover' : ' border-components-panel-border-subtle bg-components-badge-white-to-dark',
- !node && !isEnv && !isChatVar && '!border-state-destructive-solid !bg-state-destructive-hover',
+ !node && !isEnv && !isChatVar && !isRagVar && '!border-state-destructive-solid !bg-state-destructive-hover',
)}
onClick={(e) => {
e.stopPropagation()
@@ -121,7 +123,7 @@ const WorkflowVariableBlockComponent = ({
}}
ref={ref}
>
- {!isEnv && !isChatVar && (
+ {!isEnv && !isChatVar && !isRagVar && (
{
node?.type && (
@@ -146,17 +148,19 @@ const WorkflowVariableBlockComponent = ({
)}
- {!isEnv && !isChatVar &&
}
+ {!isEnv && !isChatVar && !isRagVar &&
}
{isEnv &&
}
{isChatVar &&
}
+ {isRagVar &&
}
{varName}
{
- !node && !isEnv && !isChatVar && (
+ !node && !isEnv && !isChatVar && !isRagVar && (
)
}
@@ -164,7 +168,7 @@ const WorkflowVariableBlockComponent = ({
)
- if (!node && !isEnv && !isChatVar) {
+ if (!node && !isEnv && !isChatVar && !isRagVar) {
return (
{Item}
diff --git a/web/app/components/datasets/create-from-pipeline/list/template-card/details/index.tsx b/web/app/components/datasets/create-from-pipeline/list/template-card/details/index.tsx
index 8e1de45073..ae1eceba2d 100644
--- a/web/app/components/datasets/create-from-pipeline/list/template-card/details/index.tsx
+++ b/web/app/components/datasets/create-from-pipeline/list/template-card/details/index.tsx
@@ -50,7 +50,10 @@ const Details = ({
return (
-
+