Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox

This commit is contained in:
yyh
2026-02-09 18:43:04 +08:00
920 changed files with 4057 additions and 3430 deletions

View File

@ -31,10 +31,10 @@ const ArtifactsEmpty = ({ description }: { description: string }) => {
<SearchLinesSparkle className="h-5 w-5 text-text-accent" aria-hidden="true" />
</div>
<div className="flex flex-col gap-1">
<div className="system-sm-semibold text-text-secondary">{t('debug.variableInspect.tabArtifacts.emptyTitle')}</div>
<div className="system-xs-regular text-text-tertiary">{description}</div>
<div className="text-text-secondary system-sm-semibold">{t('debug.variableInspect.tabArtifacts.emptyTitle')}</div>
<div className="text-text-tertiary system-xs-regular">{description}</div>
<a
className="system-xs-regular cursor-pointer text-text-accent"
className="cursor-pointer text-text-accent system-xs-regular"
href={docLink('/use-dify/debug/variable-inspect')}
target="_blank"
rel="noopener noreferrer"
@ -163,10 +163,10 @@ const ArtifactsTab = (headerProps: InspectHeaderProps) => {
<div className="flex items-center gap-1 truncate">
{pathSegments!.map(seg => (
<span key={seg.key} className="flex items-center gap-1">
{!seg.isFirst && <span className="system-sm-regular text-text-quaternary">/</span>}
{!seg.isFirst && <span className="text-text-quaternary system-sm-regular">/</span>}
<span
className={cn(
'system-sm-semibold truncate',
'truncate system-sm-semibold',
seg.isLast ? 'text-text-secondary' : 'text-text-tertiary',
)}
>
@ -175,7 +175,7 @@ const ArtifactsTab = (headerProps: InspectHeaderProps) => {
</span>
))}
</div>
<span className="system-xs-medium shrink-0 text-text-tertiary">
<span className="shrink-0 text-text-tertiary system-xs-medium">
{formatFileSize(file.size)}
</span>
</div>
@ -212,7 +212,7 @@ const ArtifactsTab = (headerProps: InspectHeaderProps) => {
)
: (
<div className="flex h-full items-center justify-center rounded-xl bg-background-section">
<p className="system-xs-regular text-text-tertiary">
<p className="text-text-tertiary system-xs-regular">
{t('debug.variableInspect.tabArtifacts.previewNotAvailable')}
</p>
</div>

View File

@ -55,12 +55,12 @@ const DisplayContent = (props: DisplayContentProps) => {
<div className={cn('flex h-full flex-col rounded-[10px] bg-components-input-bg-normal', isFocused && 'bg-components-input-bg-active outline outline-1 outline-components-input-border-active', className)}>
<div className="flex shrink-0 items-center justify-end p-1">
{previewType === PreviewType.Markdown && (
<div className="system-xs-semibold-uppercase flex grow items-center px-2 py-0.5 text-text-secondary">
<div className="flex grow items-center px-2 py-0.5 text-text-secondary system-xs-semibold-uppercase">
{previewType.toUpperCase()}
</div>
)}
{previewType === PreviewType.Chunks && (
<div className="system-xs-semibold-uppercase flex grow items-center px-2 py-0.5 text-text-secondary">
<div className="flex grow items-center px-2 py-0.5 text-text-secondary system-xs-semibold-uppercase">
{varType.toUpperCase()}
{schemaType ? `(${schemaType})` : ''}
</div>

View File

@ -13,10 +13,10 @@ const Empty: FC = () => {
<Variable02 className="h-5 w-5 text-text-accent" />
</div>
<div className="flex flex-col gap-1">
<div className="system-sm-semibold text-text-secondary">{t('debug.variableInspect.title', { ns: 'workflow' })}</div>
<div className="system-xs-regular text-text-tertiary">{t('debug.variableInspect.emptyTip', { ns: 'workflow' })}</div>
<div className="text-text-secondary system-sm-semibold">{t('debug.variableInspect.title', { ns: 'workflow' })}</div>
<div className="text-text-tertiary system-xs-regular">{t('debug.variableInspect.emptyTip', { ns: 'workflow' })}</div>
<a
className="system-xs-regular cursor-pointer text-text-accent"
className="cursor-pointer text-text-accent system-xs-regular"
href={docLink('/use-dify/debug/variable-inspect')}
target="_blank"
rel="noopener noreferrer"

View File

@ -119,11 +119,11 @@ const Group = ({
toolIcon={toolIcon || ''}
size="xs"
/>
<div className="system-xs-medium-uppercase truncate text-text-tertiary">{nodeData.title}</div>
<div className="truncate text-text-tertiary system-xs-medium-uppercase">{nodeData.title}</div>
</>
)}
{!nodeData && (
<div className="system-xs-medium-uppercase truncate text-text-tertiary">
<div className="truncate text-text-tertiary system-xs-medium-uppercase">
{isEnv && t('debug.variableInspect.envNode', { ns: 'workflow' })}
{isChatVar && t('debug.variableInspect.chatNode', { ns: 'workflow' })}
{isSystem && t('debug.variableInspect.systemNode', { ns: 'workflow' })}
@ -170,8 +170,8 @@ const Group = ({
className="size-4"
/>
)}
<div className="system-sm-medium grow truncate text-text-secondary">{displayName}</div>
<div className="system-xs-regular shrink-0 text-text-tertiary">{formatVarTypeLabel(varItem.value_type)}</div>
<div className="grow truncate text-text-secondary system-sm-medium">{displayName}</div>
<div className="shrink-0 text-text-tertiary system-xs-regular">{formatVarTypeLabel(varItem.value_type)}</div>
</button>
)
})}

View File

@ -22,10 +22,10 @@ const LargeDataAlert: FC<Props> = ({
<div className={cn('flex h-8 items-center justify-between rounded-lg border-[0.5px] border-components-panel-border bg-components-panel-bg-blur px-2 shadow-xs', className)}>
<div className="flex h-full w-0 grow items-center space-x-1">
<RiInformation2Fill className="size-4 shrink-0 text-text-accent" />
<div className="system-xs-regular w-0 grow truncate text-text-primary">{text}</div>
<div className="w-0 grow truncate text-text-primary system-xs-regular">{text}</div>
</div>
{downloadUrl && (
<div className="system-xs-medium-uppercase ml-1 shrink-0 cursor-pointer text-text-accent">{t('debug.variableInspect.export', { ns: 'workflow' })}</div>
<div className="ml-1 shrink-0 cursor-pointer text-text-accent system-xs-medium-uppercase">{t('debug.variableInspect.export', { ns: 'workflow' })}</div>
)}
</div>
)

View File

@ -171,12 +171,12 @@ const Listening: FC<ListeningProps> = ({
))}
</div>
<div className="flex flex-col gap-1">
<div className="system-sm-semibold text-text-secondary">{t('debug.variableInspect.listening.title', { ns: 'workflow' })}</div>
<div className="system-xs-regular whitespace-pre-line text-text-tertiary">{description}</div>
<div className="text-text-secondary system-sm-semibold">{t('debug.variableInspect.listening.title', { ns: 'workflow' })}</div>
<div className="whitespace-pre-line text-text-tertiary system-xs-regular">{description}</div>
</div>
{webhookDebugUrl && (
<div className="flex items-center gap-2">
<div className="system-xs-regular shrink-0 whitespace-pre-line text-text-tertiary">
<div className="shrink-0 whitespace-pre-line text-text-tertiary system-xs-regular">
{t('nodes.triggerWebhook.debugUrlTitle', { ns: 'workflow' })}
</div>
<Tooltip

View File

@ -186,12 +186,12 @@ const Right: FC<Props> = ({
size="xs"
toolIcon={toolIcon}
/>
<div className="system-sm-regular shrink-0 text-text-secondary">{currentNodeTitle}</div>
<div className="system-sm-regular shrink-0 text-text-quaternary">/</div>
<div className="shrink-0 text-text-secondary system-sm-regular">{currentNodeTitle}</div>
<div className="shrink-0 text-text-quaternary system-sm-regular">/</div>
</>
)}
<div title={displayVarName} className="system-sm-semibold truncate text-text-secondary">{displayVarName}</div>
<div className="system-xs-medium ml-1 shrink-0 space-x-2 text-text-tertiary">
<div title={displayVarName} className="truncate text-text-secondary system-sm-semibold">{displayVarName}</div>
<div className="ml-1 shrink-0 space-x-2 text-text-tertiary system-xs-medium">
<span>{`${valueTypeLabel}${displaySchemaType}`}</span>
{isTruncated && (
<>

View File

@ -37,7 +37,7 @@ const TabHeader: FC<TabHeaderProps> = ({
type="button"
onClick={() => onTabChange(tab.value)}
className={cn(
'system-sm-semibold rounded-md px-2 py-1 transition-colors',
'rounded-md px-2 py-1 transition-colors system-sm-semibold',
activeTab === tab.value
? 'bg-state-base-active text-text-primary'
: 'text-text-tertiary hover:text-text-secondary',

View File

@ -64,7 +64,7 @@ const VariableInspectTrigger: FC = () => {
<div className={cn('flex items-center gap-1')}>
{!isRunning && !currentVars.length && (
<div
className={cn('system-2xs-semibold-uppercase flex h-5 cursor-pointer items-center gap-1 rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-2 text-text-tertiary shadow-lg backdrop-blur-sm hover:bg-background-default-hover', nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled')}
className={cn('flex h-5 cursor-pointer items-center gap-1 rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-2 text-text-tertiary shadow-lg backdrop-blur-sm system-2xs-semibold-uppercase hover:bg-background-default-hover', nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled')}
onClick={() => {
if (getNodesReadOnly())
return
@ -77,7 +77,7 @@ const VariableInspectTrigger: FC = () => {
{!isRunning && currentVars.length > 0 && (
<>
<div
className={cn('system-xs-medium flex h-6 cursor-pointer items-center gap-1 rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-2 text-text-accent shadow-lg backdrop-blur-sm hover:bg-components-actionbar-bg-accent', nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled')}
className={cn('flex h-6 cursor-pointer items-center gap-1 rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-2 text-text-accent shadow-lg backdrop-blur-sm system-xs-medium hover:bg-components-actionbar-bg-accent', nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled')}
onClick={() => {
if (getNodesReadOnly())
return
@ -87,7 +87,7 @@ const VariableInspectTrigger: FC = () => {
{t('debug.variableInspect.trigger.cached', { ns: 'workflow' })}
</div>
<div
className={cn('system-xs-medium flex h-6 cursor-pointer items-center rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-1 text-text-tertiary shadow-lg backdrop-blur-sm hover:bg-components-actionbar-bg-accent hover:text-text-accent', nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled')}
className={cn('flex h-6 cursor-pointer items-center rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-1 text-text-tertiary shadow-lg backdrop-blur-sm system-xs-medium hover:bg-components-actionbar-bg-accent hover:text-text-accent', nodesReadOnly && 'cursor-not-allowed text-text-disabled hover:bg-transparent hover:text-text-disabled')}
onClick={() => {
if (getNodesReadOnly())
return
@ -101,7 +101,7 @@ const VariableInspectTrigger: FC = () => {
{isRunning && (
<>
<div
className="system-xs-medium flex h-6 cursor-pointer items-center gap-1 rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-2 text-text-accent shadow-lg backdrop-blur-sm hover:bg-components-actionbar-bg-accent"
className="flex h-6 cursor-pointer items-center gap-1 rounded-md border-[0.5px] border-effects-highlight bg-components-actionbar-bg px-2 text-text-accent shadow-lg backdrop-blur-sm system-xs-medium hover:bg-components-actionbar-bg-accent"
onClick={() => setShowVariableInspectPanel(true)}
>
<RiLoader2Line className="h-4 w-4 animate-spin" />