Merge branch 'main' into fix/chore-fix

This commit is contained in:
Yeuoly 2024-11-26 18:02:41 +08:00
commit e4b8220bc2
No known key found for this signature in database
GPG Key ID: A66E7E320FB19F61
26 changed files with 509 additions and 123 deletions

View File

@ -8,6 +8,8 @@ on:
- api/core/rag/datasource/** - api/core/rag/datasource/**
- docker/** - docker/**
- .github/workflows/vdb-tests.yml - .github/workflows/vdb-tests.yml
- api/poetry.lock
- api/pyproject.toml
concurrency: concurrency:
group: vdb-tests-${{ github.head_ref || github.run_id }} group: vdb-tests-${{ github.head_ref || github.run_id }}

View File

@ -9,7 +9,7 @@ class PackagingInfo(BaseSettings):
CURRENT_VERSION: str = Field( CURRENT_VERSION: str = Field(
description="Dify version", description="Dify version",
default="0.11.2", default="0.12.1",
) )
COMMIT_SHA: str = Field( COMMIT_SHA: str = Field(

View File

@ -190,7 +190,7 @@ class AppCopyApi(Resource):
) )
session.commit() session.commit()
stmt = select(App).where(App.id == result.app.id) stmt = select(App).where(App.id == result.app_id)
app = session.scalar(stmt) app = session.scalar(stmt)
return app, 201 return app, 201

View File

@ -138,7 +138,9 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator):
conversation_id=conversation.id if conversation else None, conversation_id=conversation.id if conversation else None,
inputs=conversation.inputs inputs=conversation.inputs
if conversation if conversation
else self._prepare_user_inputs(user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.id), else self._prepare_user_inputs(
user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.tenant_id
),
query=query, query=query,
files=file_objs, files=file_objs,
parent_message_id=args.get("parent_message_id") if invoke_from != InvokeFrom.SERVICE_API else UUID_NIL, parent_message_id=args.get("parent_message_id") if invoke_from != InvokeFrom.SERVICE_API else UUID_NIL,

View File

@ -139,7 +139,9 @@ class AgentChatAppGenerator(MessageBasedAppGenerator):
conversation_id=conversation.id if conversation else None, conversation_id=conversation.id if conversation else None,
inputs=conversation.inputs inputs=conversation.inputs
if conversation if conversation
else self._prepare_user_inputs(user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.id), else self._prepare_user_inputs(
user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.tenant_id
),
query=query, query=query,
files=file_objs, files=file_objs,
parent_message_id=args.get("parent_message_id") if invoke_from != InvokeFrom.SERVICE_API else UUID_NIL, parent_message_id=args.get("parent_message_id") if invoke_from != InvokeFrom.SERVICE_API else UUID_NIL,

View File

@ -142,7 +142,9 @@ class ChatAppGenerator(MessageBasedAppGenerator):
conversation_id=conversation.id if conversation else None, conversation_id=conversation.id if conversation else None,
inputs=conversation.inputs inputs=conversation.inputs
if conversation if conversation
else self._prepare_user_inputs(user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.id), else self._prepare_user_inputs(
user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.tenant_id
),
query=query, query=query,
files=file_objs, files=file_objs,
parent_message_id=args.get("parent_message_id") if invoke_from != InvokeFrom.SERVICE_API else UUID_NIL, parent_message_id=args.get("parent_message_id") if invoke_from != InvokeFrom.SERVICE_API else UUID_NIL,

View File

@ -124,7 +124,7 @@ class CompletionAppGenerator(MessageBasedAppGenerator):
model_conf=ModelConfigConverter.convert(app_config), model_conf=ModelConfigConverter.convert(app_config),
file_upload_config=file_extra_config, file_upload_config=file_extra_config,
inputs=self._prepare_user_inputs( inputs=self._prepare_user_inputs(
user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.id user_inputs=inputs, variables=app_config.variables, tenant_id=app_model.tenant_id
), ),
query=query, query=query,
files=file_objs, files=file_objs,

View File

@ -3,6 +3,7 @@ import time
from collections.abc import Mapping, Sequence from collections.abc import Mapping, Sequence
from datetime import UTC, datetime from datetime import UTC, datetime
from typing import Any, Optional, Union, cast from typing import Any, Optional, Union, cast
from uuid import uuid4
from sqlalchemy.orm import Session from sqlalchemy.orm import Session
@ -80,38 +81,38 @@ class WorkflowCycleManage:
inputs[f"sys.{key.value}"] = value inputs[f"sys.{key.value}"] = value
inputs = WorkflowEntry.handle_special_values(inputs)
triggered_from = ( triggered_from = (
WorkflowRunTriggeredFrom.DEBUGGING WorkflowRunTriggeredFrom.DEBUGGING
if self._application_generate_entity.invoke_from == InvokeFrom.DEBUGGER if self._application_generate_entity.invoke_from == InvokeFrom.DEBUGGER
else WorkflowRunTriggeredFrom.APP_RUN else WorkflowRunTriggeredFrom.APP_RUN
) )
# init workflow run # handle special values
workflow_run = WorkflowRun() inputs = WorkflowEntry.handle_special_values(inputs)
workflow_run_id = self._workflow_system_variables[SystemVariableKey.WORKFLOW_RUN_ID]
if workflow_run_id:
workflow_run.id = workflow_run_id
workflow_run.tenant_id = self._workflow.tenant_id
workflow_run.app_id = self._workflow.app_id
workflow_run.sequence_number = new_sequence_number
workflow_run.workflow_id = self._workflow.id
workflow_run.type = self._workflow.type
workflow_run.triggered_from = triggered_from.value
workflow_run.version = self._workflow.version
workflow_run.graph = self._workflow.graph
workflow_run.inputs = json.dumps(inputs)
workflow_run.status = WorkflowRunStatus.RUNNING.value
workflow_run.created_by_role = (
CreatedByRole.ACCOUNT.value if isinstance(self._user, Account) else CreatedByRole.END_USER.value
)
workflow_run.created_by = self._user.id
db.session.add(workflow_run) # init workflow run
db.session.commit() with Session(db.engine, expire_on_commit=False) as session:
db.session.refresh(workflow_run) workflow_run = WorkflowRun()
db.session.close() system_id = self._workflow_system_variables[SystemVariableKey.WORKFLOW_RUN_ID]
workflow_run.id = system_id or str(uuid4())
workflow_run.tenant_id = self._workflow.tenant_id
workflow_run.app_id = self._workflow.app_id
workflow_run.sequence_number = new_sequence_number
workflow_run.workflow_id = self._workflow.id
workflow_run.type = self._workflow.type
workflow_run.triggered_from = triggered_from.value
workflow_run.version = self._workflow.version
workflow_run.graph = self._workflow.graph
workflow_run.inputs = json.dumps(inputs)
workflow_run.status = WorkflowRunStatus.RUNNING
workflow_run.created_by_role = (
CreatedByRole.ACCOUNT if isinstance(self._user, Account) else CreatedByRole.END_USER
)
workflow_run.created_by = self._user.id
workflow_run.created_at = datetime.now(UTC).replace(tzinfo=None)
session.add(workflow_run)
session.commit()
return workflow_run return workflow_run

View File

@ -445,7 +445,7 @@ class TraceTask:
"ls_provider": message_data.model_provider, "ls_provider": message_data.model_provider,
"ls_model_name": message_data.model_id, "ls_model_name": message_data.model_id,
"status": message_data.status, "status": message_data.status,
"from_end_user_id": message_data.from_account_id, "from_end_user_id": message_data.from_end_user_id,
"from_account_id": message_data.from_account_id, "from_account_id": message_data.from_account_id,
"agent_based": message_data.agent_based, "agent_based": message_data.agent_based,
"workflow_run_id": message_data.workflow_run_id, "workflow_run_id": message_data.workflow_run_id,
@ -521,7 +521,7 @@ class TraceTask:
"ls_provider": message_data.model_provider, "ls_provider": message_data.model_provider,
"ls_model_name": message_data.model_id, "ls_model_name": message_data.model_id,
"status": message_data.status, "status": message_data.status,
"from_end_user_id": message_data.from_account_id, "from_end_user_id": message_data.from_end_user_id,
"from_account_id": message_data.from_account_id, "from_account_id": message_data.from_account_id,
"agent_based": message_data.agent_based, "agent_based": message_data.agent_based,
"workflow_run_id": message_data.workflow_run_id, "workflow_run_id": message_data.workflow_run_id,
@ -570,7 +570,7 @@ class TraceTask:
"ls_provider": message_data.model_provider, "ls_provider": message_data.model_provider,
"ls_model_name": message_data.model_id, "ls_model_name": message_data.model_id,
"status": message_data.status, "status": message_data.status,
"from_end_user_id": message_data.from_account_id, "from_end_user_id": message_data.from_end_user_id,
"from_account_id": message_data.from_account_id, "from_account_id": message_data.from_account_id,
"agent_based": message_data.agent_based, "agent_based": message_data.agent_based,
"workflow_run_id": message_data.workflow_run_id, "workflow_run_id": message_data.workflow_run_id,

View File

@ -20,6 +20,7 @@ from core.model_runtime.entities import (
from core.model_runtime.entities.llm_entities import LLMResult, LLMUsage from core.model_runtime.entities.llm_entities import LLMResult, LLMUsage
from core.model_runtime.entities.message_entities import ( from core.model_runtime.entities.message_entities import (
AssistantPromptMessage, AssistantPromptMessage,
PromptMessageContent,
PromptMessageRole, PromptMessageRole,
SystemPromptMessage, SystemPromptMessage,
UserPromptMessage, UserPromptMessage,
@ -66,7 +67,6 @@ from .entities import (
ModelConfig, ModelConfig,
) )
from .exc import ( from .exc import (
FileTypeNotSupportError,
InvalidContextStructureError, InvalidContextStructureError,
InvalidVariableTypeError, InvalidVariableTypeError,
LLMModeRequiredError, LLMModeRequiredError,
@ -137,12 +137,12 @@ class LLMNode(BaseNode[LLMNodeData]):
query = None query = None
if self.node_data.memory: if self.node_data.memory:
query = self.node_data.memory.query_prompt_template query = self.node_data.memory.query_prompt_template
if query is None and ( if not query and (
query_variable := self.graph_runtime_state.variable_pool.get( query_variable := self.graph_runtime_state.variable_pool.get(
(SYSTEM_VARIABLE_NODE_ID, SystemVariableKey.QUERY) (SYSTEM_VARIABLE_NODE_ID, SystemVariableKey.QUERY)
) )
): ):
query = query_variable.text query = query_variable.text
prompt_messages, stop = self._fetch_prompt_messages( prompt_messages, stop = self._fetch_prompt_messages(
user_query=query, user_query=query,
@ -675,7 +675,7 @@ class LLMNode(BaseNode[LLMNodeData]):
and ModelFeature.AUDIO not in model_config.model_schema.features and ModelFeature.AUDIO not in model_config.model_schema.features
) )
): ):
raise FileTypeNotSupportError(type_name=content_item.type) continue
prompt_message_content.append(content_item) prompt_message_content.append(content_item)
if len(prompt_message_content) == 1 and prompt_message_content[0].type == PromptMessageContentType.TEXT: if len(prompt_message_content) == 1 and prompt_message_content[0].type == PromptMessageContentType.TEXT:
prompt_message.content = prompt_message_content[0].data prompt_message.content = prompt_message_content[0].data
@ -828,14 +828,14 @@ class LLMNode(BaseNode[LLMNodeData]):
} }
def _combine_text_message_with_role(*, text: str, role: PromptMessageRole): def _combine_message_content_with_role(*, contents: Sequence[PromptMessageContent], role: PromptMessageRole):
match role: match role:
case PromptMessageRole.USER: case PromptMessageRole.USER:
return UserPromptMessage(content=[TextPromptMessageContent(data=text)]) return UserPromptMessage(content=contents)
case PromptMessageRole.ASSISTANT: case PromptMessageRole.ASSISTANT:
return AssistantPromptMessage(content=[TextPromptMessageContent(data=text)]) return AssistantPromptMessage(content=contents)
case PromptMessageRole.SYSTEM: case PromptMessageRole.SYSTEM:
return SystemPromptMessage(content=[TextPromptMessageContent(data=text)]) return SystemPromptMessage(content=contents)
raise NotImplementedError(f"Role {role} is not supported") raise NotImplementedError(f"Role {role} is not supported")
@ -877,7 +877,9 @@ def _handle_list_messages(
jinjia2_variables=jinja2_variables, jinjia2_variables=jinja2_variables,
variable_pool=variable_pool, variable_pool=variable_pool,
) )
prompt_message = _combine_text_message_with_role(text=result_text, role=message.role) prompt_message = _combine_message_content_with_role(
contents=[TextPromptMessageContent(data=result_text)], role=message.role
)
prompt_messages.append(prompt_message) prompt_messages.append(prompt_message)
else: else:
# Get segment group from basic message # Get segment group from basic message
@ -908,12 +910,14 @@ def _handle_list_messages(
# Create message with text from all segments # Create message with text from all segments
plain_text = segment_group.text plain_text = segment_group.text
if plain_text: if plain_text:
prompt_message = _combine_text_message_with_role(text=plain_text, role=message.role) prompt_message = _combine_message_content_with_role(
contents=[TextPromptMessageContent(data=plain_text)], role=message.role
)
prompt_messages.append(prompt_message) prompt_messages.append(prompt_message)
if file_contents: if file_contents:
# Create message with image contents # Create message with image contents
prompt_message = UserPromptMessage(content=file_contents) prompt_message = _combine_message_content_with_role(contents=file_contents, role=message.role)
prompt_messages.append(prompt_message) prompt_messages.append(prompt_message)
return prompt_messages return prompt_messages
@ -1018,6 +1022,8 @@ def _handle_completion_template(
else: else:
template_text = template.text template_text = template.text
result_text = variable_pool.convert_template(template_text).text result_text = variable_pool.convert_template(template_text).text
prompt_message = _combine_text_message_with_role(text=result_text, role=PromptMessageRole.USER) prompt_message = _combine_message_content_with_role(
contents=[TextPromptMessageContent(data=result_text)], role=PromptMessageRole.USER
)
prompt_messages.append(prompt_message) prompt_messages.append(prompt_message)
return prompt_messages return prompt_messages

View File

@ -31,12 +31,12 @@ class AppIconUrlField(fields.Raw):
if obj is None: if obj is None:
return None return None
from models.model import App, IconType from models.model import App, IconType, Site
if isinstance(obj, dict) and "app" in obj: if isinstance(obj, dict) and "app" in obj:
obj = obj["app"] obj = obj["app"]
if isinstance(obj, App) and obj.icon_type == IconType.IMAGE.value: if isinstance(obj, App | Site) and obj.icon_type == IconType.IMAGE.value:
return file_helpers.get_signed_file_url(obj.icon) return file_helpers.get_signed_file_url(obj.icon)
return None return None

View File

@ -59,8 +59,8 @@ class Account(UserMixin, Base):
self._current_tenant = tenant self._current_tenant = tenant
@property @property
def current_tenant_id(self): def current_tenant_id(self) -> str | None:
return self._current_tenant.id return self._current_tenant.id if self._current_tenant else None
@current_tenant_id.setter @current_tenant_id.setter
def current_tenant_id(self, value: str): def current_tenant_id(self, value: str):

View File

@ -6,6 +6,7 @@ from typing import TYPE_CHECKING, Any, Optional, Union
if TYPE_CHECKING: if TYPE_CHECKING:
from models.model import AppMode from models.model import AppMode
from enum import StrEnum
import sqlalchemy as sa import sqlalchemy as sa
from sqlalchemy import Index, PrimaryKeyConstraint, func from sqlalchemy import Index, PrimaryKeyConstraint, func
@ -318,7 +319,7 @@ class Workflow(Base):
) )
class WorkflowRunStatus(Enum): class WorkflowRunStatus(StrEnum):
""" """
Workflow Run Status Enum Workflow Run Status Enum
""" """
@ -397,13 +398,13 @@ class WorkflowRun(Base):
version = db.Column(db.String(255), nullable=False) version = db.Column(db.String(255), nullable=False)
graph = db.Column(db.Text) graph = db.Column(db.Text)
inputs = db.Column(db.Text) inputs = db.Column(db.Text)
status = db.Column(db.String(255), nullable=False) status = db.Column(db.String(255), nullable=False) # running, succeeded, failed, stopped
outputs: Mapped[str] = db.Column(db.Text) outputs: Mapped[str] = mapped_column(sa.Text, default="{}")
error = db.Column(db.Text) error = db.Column(db.Text)
elapsed_time = db.Column(db.Float, nullable=False, server_default=db.text("0")) elapsed_time = db.Column(db.Float, nullable=False, server_default=db.text("0"))
total_tokens = db.Column(db.Integer, nullable=False, server_default=db.text("0")) total_tokens = db.Column(db.Integer, nullable=False, server_default=db.text("0"))
total_steps = db.Column(db.Integer, server_default=db.text("0")) total_steps = db.Column(db.Integer, server_default=db.text("0"))
created_by_role = db.Column(db.String(255), nullable=False) created_by_role = db.Column(db.String(255), nullable=False) # account, end_user
created_by = db.Column(StringUUID, nullable=False) created_by = db.Column(StringUUID, nullable=False)
created_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)")) created_at = db.Column(db.DateTime, nullable=False, server_default=db.text("CURRENT_TIMESTAMP(0)"))
finished_at = db.Column(db.DateTime) finished_at = db.Column(db.DateTime)

View File

@ -1,3 +1,4 @@
from collections.abc import Callable
from datetime import UTC, datetime from datetime import UTC, datetime
from typing import Optional, Union from typing import Optional, Union
@ -74,14 +75,14 @@ class ConversationService:
return InfiniteScrollPagination(data=conversations, limit=limit, has_more=has_more) return InfiniteScrollPagination(data=conversations, limit=limit, has_more=has_more)
@classmethod @classmethod
def _get_sort_params(cls, sort_by: str) -> tuple[str, callable]: def _get_sort_params(cls, sort_by: str):
if sort_by.startswith("-"): if sort_by.startswith("-"):
return sort_by[1:], desc return sort_by[1:], desc
return sort_by, asc return sort_by, asc
@classmethod @classmethod
def _build_filter_condition( def _build_filter_condition(
cls, sort_field: str, sort_direction: callable, reference_conversation: Conversation, is_next_page: bool = False cls, sort_field: str, sort_direction: Callable, reference_conversation: Conversation, is_next_page: bool = False
): ):
field_value = getattr(reference_conversation, sort_field) field_value = getattr(reference_conversation, sort_field)
if (sort_direction == desc and not is_next_page) or (sort_direction == asc and is_next_page): if (sort_direction == desc and not is_next_page) or (sort_direction == asc and is_next_page):
@ -160,5 +161,5 @@ class ConversationService:
conversation = cls.get_conversation(app_model, conversation_id, user) conversation = cls.get_conversation(app_model, conversation_id, user)
conversation.is_deleted = True conversation.is_deleted = True
conversation.updated_at = datetime.now(timezone.utc).replace(tzinfo=None) conversation.updated_at = datetime.now(UTC).replace(tzinfo=None)
db.session.commit() db.session.commit()

View File

@ -1,7 +1,7 @@
services: services:
# Chroma vector store. # Chroma vector store.
chroma: chroma:
image: ghcr.io/chroma-core/chroma:0.5.1 image: ghcr.io/chroma-core/chroma:0.5.20
restart: always restart: always
volumes: volumes:
- ./volumes/chroma:/chroma/chroma - ./volumes/chroma:/chroma/chroma

View File

@ -2,7 +2,7 @@ version: '3'
services: services:
# API service # API service
api: api:
image: langgenius/dify-api:0.11.2 image: langgenius/dify-api:0.12.1
restart: always restart: always
environment: environment:
# Startup mode, 'api' starts the API server. # Startup mode, 'api' starts the API server.
@ -227,7 +227,7 @@ services:
# worker service # worker service
# The Celery worker for processing the queue. # The Celery worker for processing the queue.
worker: worker:
image: langgenius/dify-api:0.11.2 image: langgenius/dify-api:0.12.1
restart: always restart: always
environment: environment:
CONSOLE_WEB_URL: '' CONSOLE_WEB_URL: ''
@ -397,7 +397,7 @@ services:
# Frontend web application. # Frontend web application.
web: web:
image: langgenius/dify-web:0.11.2 image: langgenius/dify-web:0.12.1
restart: always restart: always
environment: environment:
# The base URL of console application api server, refers to the Console base URL of WEB service if console domain is # The base URL of console application api server, refers to the Console base URL of WEB service if console domain is

View File

@ -291,7 +291,7 @@ x-shared-env: &shared-api-worker-env
services: services:
# API service # API service
api: api:
image: langgenius/dify-api:0.11.2 image: langgenius/dify-api:0.12.1
restart: always restart: always
environment: environment:
# Use the shared environment variables. # Use the shared environment variables.
@ -311,7 +311,7 @@ services:
# worker service # worker service
# The Celery worker for processing the queue. # The Celery worker for processing the queue.
worker: worker:
image: langgenius/dify-api:0.11.2 image: langgenius/dify-api:0.12.1
restart: always restart: always
environment: environment:
# Use the shared environment variables. # Use the shared environment variables.
@ -330,7 +330,7 @@ services:
# Frontend web application. # Frontend web application.
web: web:
image: langgenius/dify-web:0.11.2 image: langgenius/dify-web:0.12.1
restart: always restart: always
environment: environment:
CONSOLE_API_URL: ${CONSOLE_API_URL:-} CONSOLE_API_URL: ${CONSOLE_API_URL:-}
@ -605,7 +605,7 @@ services:
# Chroma vector database # Chroma vector database
chroma: chroma:
image: ghcr.io/chroma-core/chroma:0.5.1 image: ghcr.io/chroma-core/chroma:0.5.20
profiles: profiles:
- chroma - chroma
restart: always restart: always

View File

@ -3,17 +3,21 @@ import React from 'react'
import { type VariantProps, cva } from 'class-variance-authority' import { type VariantProps, cva } from 'class-variance-authority'
import classNames from '@/utils/classnames' import classNames from '@/utils/classnames'
const dividerVariants = cva( const dividerVariants = cva('',
'bg-divider-regular',
{ {
variants: { variants: {
type: { type: {
horizontal: 'w-full h-[0.5px] my-2', horizontal: 'w-full h-[0.5px] my-2 ',
vertical: 'w-[1px] h-full mx-2', vertical: 'w-[1px] h-full mx-2',
}, },
bgStyle: {
gradient: 'bg-gradient-to-r from-divider-regular to-background-gradient-mask-transparent',
solid: 'bg-divider-regular',
},
}, },
defaultVariants: { defaultVariants: {
type: 'horizontal', type: 'horizontal',
bgStyle: 'solid',
}, },
}, },
) )
@ -23,9 +27,9 @@ type DividerProps = {
style?: CSSProperties style?: CSSProperties
} & VariantProps<typeof dividerVariants> } & VariantProps<typeof dividerVariants>
const Divider: FC<DividerProps> = ({ type, className = '', style }) => { const Divider: FC<DividerProps> = ({ type, bgStyle, className = '', style }) => {
return ( return (
<div className={classNames(dividerVariants({ type }), className)} style={style}></div> <div className={classNames(dividerVariants({ type, bgStyle }), className)} style={style}></div>
) )
} }

View File

@ -47,6 +47,12 @@ gtag('config', '${gaIdMaps[gaType]}');
nonce={nonce!} nonce={nonce!}
> >
</Script> </Script>
{/* Cookie banner */}
<Script
id="cookieyes"
src='https://cdn-cookieyes.com/client_data/2a645945fcae53f8e025a2b1/script.js'
nonce={nonce!}
></Script>
</> </>
) )

View File

@ -14,7 +14,7 @@ import type { App } from '@/models/explore'
import Category from '@/app/components/explore/category' import Category from '@/app/components/explore/category'
import AppCard from '@/app/components/explore/app-card' import AppCard from '@/app/components/explore/app-card'
import { fetchAppDetail, fetchAppList } from '@/service/explore' import { fetchAppDetail, fetchAppList } from '@/service/explore'
import { importApp } from '@/service/apps' import { importDSL } from '@/service/apps'
import { useTabSearchParams } from '@/hooks/use-tab-searchparams' import { useTabSearchParams } from '@/hooks/use-tab-searchparams'
import CreateAppModal from '@/app/components/explore/create-app-modal' import CreateAppModal from '@/app/components/explore/create-app-modal'
import AppTypeSelector from '@/app/components/app/type-selector' import AppTypeSelector from '@/app/components/app/type-selector'
@ -24,6 +24,7 @@ import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
import { useAppContext } from '@/context/app-context' import { useAppContext } from '@/context/app-context'
import { getRedirection } from '@/utils/app-redirection' import { getRedirection } from '@/utils/app-redirection'
import Input from '@/app/components/base/input' import Input from '@/app/components/base/input'
import { DSLImportMode } from '@/models/app'
type AppsProps = { type AppsProps = {
pageType?: PageType pageType?: PageType
@ -127,8 +128,9 @@ const Apps = ({
currApp?.app.id as string, currApp?.app.id as string,
) )
try { try {
const app = await importApp({ const app = await importDSL({
data: export_data, mode: DSLImportMode.YAML_CONTENT,
yaml_content: export_data,
name, name,
icon_type, icon_type,
icon, icon,
@ -143,7 +145,7 @@ const Apps = ({
if (onSuccess) if (onSuccess)
onSuccess() onSuccess()
localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1') localStorage.setItem(NEED_REFRESH_APP_LIST_KEY, '1')
getRedirection(isCurrentWorkspaceEditor, app, push) getRedirection(isCurrentWorkspaceEditor, { id: app.app_id }, push)
} }
catch (e) { catch (e) {
Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') }) Toast.notify({ type: 'error', message: t('app.newApp.appCreateFailed') })

View File

@ -53,7 +53,7 @@ type Props = {
const MEMORY_DEFAULT: Memory = { const MEMORY_DEFAULT: Memory = {
window: { enabled: false, size: WINDOW_SIZE_DEFAULT }, window: { enabled: false, size: WINDOW_SIZE_DEFAULT },
query_prompt_template: '', query_prompt_template: '{{#sys.query#}}',
} }
const MemoryConfig: FC<Props> = ({ const MemoryConfig: FC<Props> = ({

View File

@ -1,25 +1,10 @@
import Script from 'next/script'
import Header from './_header' import Header from './_header'
import style from './page.module.css' import style from './page.module.css'
import cn from '@/utils/classnames' import cn from '@/utils/classnames'
import { IS_CE_EDITION } from '@/config'
export default async function SignInLayout({ children }: any) { export default async function SignInLayout({ children }: any) {
return <> return <>
{!IS_CE_EDITION && (
<>
<Script strategy="beforeInteractive" async src={'https://www.googletagmanager.com/gtag/js?id=AW-11217955271'}></Script>
<Script
id="ga-monitor-register"
dangerouslySetInnerHTML={{
__html: 'window.dataLayer2 = window.dataLayer2 || [];function gtag(){dataLayer2.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'AW-11217955271"\');',
}}
>
</Script>
</>
)}
<div className={cn( <div className={cn(
style.background, style.background,
'flex w-full min-h-screen', 'flex w-full min-h-screen',

View File

@ -1,6 +1,6 @@
{ {
"name": "dify-web", "name": "dify-web",
"version": "0.11.2", "version": "0.12.1",
"private": true, "private": true,
"engines": { "engines": {
"node": ">=18.17.0" "node": ">=18.17.0"

View File

@ -85,6 +85,10 @@ html[data-theme="dark"] {
--color-components-button-secondary-accent-border-hover: #FFFFFF1F; --color-components-button-secondary-accent-border-hover: #FFFFFF1F;
--color-components-button-secondary-accent-border-disabled: #FFFFFF0D; --color-components-button-secondary-accent-border-disabled: #FFFFFF0D;
--color-components-button-indigo-bg: #444CE7;
--color-components-button-indigo-bg-hover: #6172F3;
--color-components-button-indigo-bg-disabled: #FFFFFF08;
--color-components-checkbox-icon: #FFFFFFF2; --color-components-checkbox-icon: #FFFFFFF2;
--color-components-checkbox-icon-disabled: #FFFFFF33; --color-components-checkbox-icon-disabled: #FFFFFF33;
--color-components-checkbox-bg: #296DFF; --color-components-checkbox-bg: #296DFF;
@ -95,10 +99,11 @@ html[data-theme="dark"] {
--color-components-checkbox-border-disabled: #FFFFFF03; --color-components-checkbox-border-disabled: #FFFFFF03;
--color-components-checkbox-bg-unchecked: #FFFFFF08; --color-components-checkbox-bg-unchecked: #FFFFFF08;
--color-components-checkbox-bg-unchecked-hover: #FFFFFF0D; --color-components-checkbox-bg-unchecked-hover: #FFFFFF0D;
--color-components-checkbox-bg-disabled-checked: #155AEF33;
--color-components-radio-border-checked: #296DFF; --color-components-radio-border-checked: #296DFF;
--color-components-radio-border-checked-hover: #5289FF; --color-components-radio-border-checked-hover: #5289FF;
--color-components-radio-border-checked-disabled: #FFFFFF14; --color-components-radio-border-checked-disabled: #155AEF33;
--color-components-radio-bg-disabled: #FFFFFF08; --color-components-radio-bg-disabled: #FFFFFF08;
--color-components-radio-border: #FFFFFF66; --color-components-radio-border: #FFFFFF66;
--color-components-radio-border-hover: #FFFFFF99; --color-components-radio-border-hover: #FFFFFF99;
@ -135,6 +140,9 @@ html[data-theme="dark"] {
--color-components-panel-on-panel-item-bg: #27272B; --color-components-panel-on-panel-item-bg: #27272B;
--color-components-panel-on-panel-item-bg-hover: #3A3A40; --color-components-panel-on-panel-item-bg-hover: #3A3A40;
--color-components-panel-on-panel-item-bg-alt: #3A3A40; --color-components-panel-on-panel-item-bg-alt: #3A3A40;
--color-components-panel-on-panel-item-bg-transparent: #2C2C30F2;
--color-components-panel-on-panel-item-bg-hover-transparent: #3A3A4000;
--color-components-panel-on-panel-item-bg-destructive-hover-transparent: #FFFBFA00;
--color-components-panel-bg-transparent: #22222500; --color-components-panel-bg-transparent: #22222500;
@ -208,10 +216,12 @@ html[data-theme="dark"] {
--color-components-actionbar-bg: #222225; --color-components-actionbar-bg: #222225;
--color-components-actionbar-border: #C8CEDA14; --color-components-actionbar-border: #C8CEDA14;
--color-components-actionbar-bg-accent: #27272B;
--color-components-actionbar-border-accent: #5289FF;
--color-components-dropzone-bg-alt: #18181BCC; --color-components-dropzone-bg-alt: #18181BCC;
--color-components-dropzone-bg: #18181B66; --color-components-dropzone-bg: #18181B66;
--color-components-dropzone-bg-accent: #155AEF24; --color-components-dropzone-bg-accent: #155AEF33;
--color-components-dropzone-border: #C8CEDA24; --color-components-dropzone-border: #C8CEDA24;
--color-components-dropzone-border-alt: #C8CEDA33; --color-components-dropzone-border-alt: #C8CEDA33;
--color-components-dropzone-border-accent: #84ABFF; --color-components-dropzone-border-accent: #84ABFF;
@ -228,6 +238,14 @@ html[data-theme="dark"] {
--color-components-progress-gray-border: #98A2B2; --color-components-progress-gray-border: #98A2B2;
--color-components-progress-gray-bg: #C8CEDA05; --color-components-progress-gray-bg: #C8CEDA05;
--color-components-progress-warning-progress: #FDB022;
--color-components-progress-warning-border: #FDB022;
--color-components-progress-warning-bg: #F790090A;
--color-components-progress-error-progress: #F97066;
--color-components-progress-error-border: #F97066;
--color-components-progress-error-bg: #F044380A;
--color-components-chat-input-audio-bg: #155AEF33; --color-components-chat-input-audio-bg: #155AEF33;
--color-components-chat-input-audio-wave-default: #C8CEDA24; --color-components-chat-input-audio-wave-default: #C8CEDA24;
--color-components-chat-input-bg-mask-1: #18181B0A; --color-components-chat-input-bg-mask-1: #18181B0A;
@ -236,13 +254,103 @@ html[data-theme="dark"] {
--color-components-chat-input-audio-wave-active: #84ABFF; --color-components-chat-input-audio-wave-active: #84ABFF;
--color-components-chat-input-audio-bg-alt: #18181BE5; --color-components-chat-input-audio-bg-alt: #18181BE5;
--color-components-Avatar-shape-fill-stop-0: #FFFFFFF2; --color-components-avatar-shape-fill-stop-0: #FFFFFFF2;
--color-components-Avatar-shape-fill-stop-100: #FFFFFFCC; --color-components-avatar-shape-fill-stop-100: #FFFFFFCC;
--color-components-Avatar-bg-mask-stop-0: #FFFFFF33; --color-components-avatar-bg-mask-stop-0: #FFFFFF33;
--color-components-Avatar-bg-mask-stop-100: #FFFFFF08; --color-components-avatar-bg-mask-stop-100: #FFFFFF08;
--color-components-Avatar-default-avatar-bg: #222225; --color-components-avatar-default-avatar-bg: #222225;
--color-components-avatar-mask-darkmode-dimmed: #0000001F;
--color-components-label-gray: #C8CEDA24;
--color-components-premium-badge-blue-bg-stop-0: #5289FF;
--color-components-premium-badge-blue-bg-stop-100: #296DFF;
--color-components-premium-badge-blue-stroke-stop-0: #FFFFFF33;
--color-components-premium-badge-blue-stroke-stop-100: #296DFF;
--color-components-premium-badge-blue-text-stop-0: #EFF4FF;
--color-components-premium-badge-blue-text-stop-100: #B2CAFF;
--color-components-premium-badge-blue-glow: #004AEB;
--color-components-premium-badge-blue-bg-stop-0-hover: #84ABFF;
--color-components-premium-badge-blue-bg-stop-100-hover: #004AEB;
--color-components-premium-badge-blue-glow-hover: #D1E0FF;
--color-components-premium-badge-blue-stroke-stop-0-hover: #FFFFFF80;
--color-components-premium-badge-blue-stroke-stop-100-hover: #296DFF;
--color-components-premium-badge-highlight-stop-0: #FFFFFF1F;
--color-components-premium-badge-highlight-stop-100: #FFFFFF33;
--color-components-premium-badge-indigo-bg-stop-0: #6172F3;
--color-components-premium-badge-indigo-bg-stop-100: #3538CD;
--color-components-premium-badge-indigo-stroke-stop-0: #FFFFFF33;
--color-components-premium-badge-indigo-stroke-stop-100: #444CE7;
--color-components-premium-badge-indigo-text-stop-0: #EEF4FF;
--color-components-premium-badge-indigo-text-stop-100: #C7D7FE;
--color-components-premium-badge-indigo-glow: #3538CD;
--color-components-premium-badge-indigo-glow-hover: #E0EAFF;
--color-components-premium-badge-indigo-bg-stop-0-hover: #A4BCFD;
--color-components-premium-badge-indigo-bg-stop-100-hover: #3538CD;
--color-components-premium-badge-indigo-stroke-stop-0-hover: #FFFFFF80;
--color-components-premium-badge-indigo-stroke-stop-100-hover: #444CE7;
--color-components-premium-badge-grey-bg-stop-0: #676F83;
--color-components-premium-badge-grey-bg-stop-100: #495464;
--color-components-premium-badge-grey-stroke-stop-0: #FFFFFF1F;
--color-components-premium-badge-grey-stroke-stop-100: #495464;
--color-components-premium-badge-grey-text-stop-0: #F9FAFB;
--color-components-premium-badge-grey-text-stop-100: #E9EBF0;
--color-components-premium-badge-grey-glow: #354052;
--color-components-premium-badge-grey-glow-hover: #F2F4F7;
--color-components-premium-badge-grey-bg-stop-0-hover: #98A2B2;
--color-components-premium-badge-grey-bg-stop-100-hover: #354052;
--color-components-premium-badge-grey-stroke-stop-0-hover: #FFFFFF80;
--color-components-premium-badge-grey-stroke-stop-100-hover: #676F83;
--color-components-premium-badge-orange-bg-stop-0: #FF692E;
--color-components-premium-badge-orange-bg-stop-100: #E04F16;
--color-components-premium-badge-orange-stroke-stop-0: #FFFFFF33;
--color-components-premium-badge-orange-stroke-stop-100: #FF4405;
--color-components-premium-badge-orange-text-stop-0: #FEF6EE;
--color-components-premium-badge-orange-text-stop-100: #F9DBAF;
--color-components-premium-badge-orange-glow: #B93815;
--color-components-premium-badge-orange-glow-hover: #FDEAD7;
--color-components-premium-badge-orange-bg-stop-0-hover: #FF692E;
--color-components-premium-badge-orange-bg-stop-100-hover: #B93815;
--color-components-premium-badge-orange-stroke-stop-0-hover: #FFFFFF80;
--color-components-premium-badge-orange-stroke-stop-100-hover: #FF4405;
--color-components-progress-bar-bg: #C8CEDA14;
--color-components-progress-bar-progress: #C8CEDA24;
--color-components-progress-bar-border: #FFFFFF08;
--color-components-progress-bar-progress-solid: #FFFFFFF2;
--color-components-progress-bar-progress-highlight: #C8CEDA33;
--color-components-icon-bg-red-solid: #D92D20;
--color-components-icon-bg-rose-solid: #E31B54;
--color-components-icon-bg-pink-solid: #DD2590;
--color-components-icon-bg-orange-dark-solid: #FF4405;
--color-components-icon-bg-yellow-solid: #EAAA08;
--color-components-icon-bg-green-solid: #4CA30D;
--color-components-icon-bg-teal-solid: #0E9384;
--color-components-icon-bg-blue-light-solid: #0BA5EC;
--color-components-icon-bg-blue-solid: #155AEF;
--color-components-icon-bg-indigo-solid: #444CE7;
--color-components-icon-bg-violet-solid: #7839EE;
--color-components-icon-bg-midnight-solid: #5D698D;
--color-components-icon-bg-rose-soft: #F63D6833;
--color-components-icon-bg-pink-soft: #EE46BC33;
--color-components-icon-bg-orange-dark-soft: #FF440533;
--color-components-icon-bg-yellow-soft: #EAAA0833;
--color-components-icon-bg-green-soft: #66C61C33;
--color-components-icon-bg-teal-soft: #15B79E33;
--color-components-icon-bg-blue-light-soft: #0BA5EC33;
--color-components-icon-bg-blue-soft: #155AEF33;
--color-components-icon-bg-indigo-soft: #6172F333;
--color-components-icon-bg-violet-soft: #875BF733;
--color-components-icon-bg-midnight-soft: #828DAD33;
--color-components-icon-bg-red-soft: #F0443833;
--color-components-icon-bg-orange-solid: #F79009;
--color-components-icon-bg-orange-soft: #F7900933;
--color-text-primary: #FBFBFC; --color-text-primary: #FBFBFC;
--color-text-secondary: #D9D9DE; --color-text-secondary: #D9D9DE;
@ -302,6 +410,7 @@ html[data-theme="dark"] {
--color-background-overlay-alt: #18181B66; --color-background-overlay-alt: #18181B66;
--color-background-surface-white: #FFFFFFE5; --color-background-surface-white: #FFFFFFE5;
--color-background-overlay-destructive: #F044384D; --color-background-overlay-destructive: #F044384D;
--color-background-overlay-backdrop: #18181BF2;
--color-shadow-shadow-1: #0000000D; --color-shadow-shadow-1: #0000000D;
--color-shadow-shadow-3: #0000001A; --color-shadow-shadow-3: #0000001A;
@ -317,14 +426,20 @@ html[data-theme="dark"] {
--color-workflow-block-border: #FFFFFF14; --color-workflow-block-border: #FFFFFF14;
--color-workflow-block-parma-bg: #FFFFFF0D; --color-workflow-block-parma-bg: #FFFFFF0D;
--color-workflow-block-bg: #27272B; --color-workflow-block-bg: #27272B;
--color-workflow-block-bg-transparent: #27272BF5;
--color-workflow-block-border-highlight: #C8CEDA33; --color-workflow-block-border-highlight: #C8CEDA33;
--color-workflow-canvas-workflow-dot-color: #8585AD26; --color-workflow-canvas-workflow-dot-color: #8585AD26;
--color-workflow-canvas-workflow-bg: #1D1D20; --color-workflow-canvas-workflow-bg: #1D1D20;
--color-workflow-link-line-active: #296DFF; --color-workflow-link-line-active: #5289FF;
--color-workflow-link-line-normal: #676F83; --color-workflow-link-line-normal: #676F83;
--color-workflow-link-line-handle: #296DFF; --color-workflow-link-line-handle: #5289FF;
--color-workflow-link-line-normal-transparent: #676F8333;
--color-workflow-link-line-failure-active: #FDB022;
--color-workflow-link-line-failure-handle: #FDB022;
--color-workflow-link-line-failure-button-bg: #F79009;
--color-workflow-link-line-failure-button-hover: #DC6803;
--color-workflow-link-line-success-active: #47CD89; --color-workflow-link-line-success-active: #47CD89;
--color-workflow-link-line-success-handle: #47CD89; --color-workflow-link-line-success-handle: #47CD89;
@ -341,8 +456,8 @@ html[data-theme="dark"] {
--color-workflow-display-success-vignette-color: #17B26A40; --color-workflow-display-success-vignette-color: #17B26A40;
--color-workflow-display-success-bg-line-pattern: #18181BCC; --color-workflow-display-success-bg-line-pattern: #18181BCC;
--color-workflow-display-glass-1: #FFFFFF03; --color-workflow-display-glass-1: #FFFFFF08;
--color-workflow-display-glass-2: #FFFFFF08; --color-workflow-display-glass-2: #FFFFFF0D;
--color-workflow-display-vignette-dark: #00000066; --color-workflow-display-vignette-dark: #00000066;
--color-workflow-display-highlight: #FFFFFF1F; --color-workflow-display-highlight: #FFFFFF1F;
--color-workflow-display-outline: #18181BF2; --color-workflow-display-outline: #18181BF2;
@ -431,6 +546,7 @@ html[data-theme="dark"] {
--color-util-colors-orange-orange-500: #EF6820; --color-util-colors-orange-orange-500: #EF6820;
--color-util-colors-orange-orange-600: #F38744; --color-util-colors-orange-orange-600: #F38744;
--color-util-colors-orange-orange-700: #F7B27A; --color-util-colors-orange-orange-700: #F7B27A;
--color-util-colors-orange-orange-100-transparent: #77291700;
--color-util-colors-pink-pink-50: #4E0D30; --color-util-colors-pink-pink-50: #4E0D30;
--color-util-colors-pink-pink-100: #851651; --color-util-colors-pink-pink-100: #851651;
@ -606,4 +722,16 @@ html[data-theme="dark"] {
--color-third-party-LangChain: #FFFFFF; --color-third-party-LangChain: #FFFFFF;
--color-third-party-Langfuse: #FFFFFF; --color-third-party-Langfuse: #FFFFFF;
--color-third-party-Github: #FFFFFF; --color-third-party-Github: #FFFFFF;
--color-third-party-Github-tertiary: #C8CEDA99;
--color-third-party-Github-secondary: #D9D9DE;
--color-third-party-model-bg-openai: #121212;
--color-third-party-model-bg-anthropic: #1D1917;
--color-third-party-model-bg-default: #0B0B0E;
--color-third-party-aws: #141F2E;
--color-third-party-aws-alt: #192639;
--color-saas-background: #0B0B0E;
--color-saas-pricing-grid-bg: #C8CEDA33;
} }

View File

@ -85,8 +85,12 @@ html[data-theme="light"] {
--color-components-button-secondary-accent-border-hover: #10182824; --color-components-button-secondary-accent-border-hover: #10182824;
--color-components-button-secondary-accent-border-disabled: #1018280A; --color-components-button-secondary-accent-border-disabled: #1018280A;
--color-components-button-indigo-bg: #444CE7;
--color-components-button-indigo-bg-hover: #3538CD;
--color-components-button-indigo-bg-disabled: #6172F324;
--color-components-checkbox-icon: #FFFFFF; --color-components-checkbox-icon: #FFFFFF;
--color-components-checkbox-icon-disabled: #D0D5DC; --color-components-checkbox-icon-disabled: #FFFFFF80;
--color-components-checkbox-bg: #155AEF; --color-components-checkbox-bg: #155AEF;
--color-components-checkbox-bg-hover: #004AEB; --color-components-checkbox-bg-hover: #004AEB;
--color-components-checkbox-bg-disabled: #F2F4F7; --color-components-checkbox-bg-disabled: #F2F4F7;
@ -95,10 +99,11 @@ html[data-theme="light"] {
--color-components-checkbox-border-disabled: #18181B0A; --color-components-checkbox-border-disabled: #18181B0A;
--color-components-checkbox-bg-unchecked: #FFFFFF; --color-components-checkbox-bg-unchecked: #FFFFFF;
--color-components-checkbox-bg-unchecked-hover: #FFFFFF; --color-components-checkbox-bg-unchecked-hover: #FFFFFF;
--color-components-checkbox-bg-disabled-checked: #B2CAFF;
--color-components-radio-border-checked: #155AEF; --color-components-radio-border-checked: #155AEF;
--color-components-radio-border-checked-hover: #004AEB; --color-components-radio-border-checked-hover: #004AEB;
--color-components-radio-border-checked-disabled: #F2F4F7; --color-components-radio-border-checked-disabled: #B2CAFF;
--color-components-radio-bg-disabled: #FFFFFF00; --color-components-radio-bg-disabled: #FFFFFF00;
--color-components-radio-border: #D0D5DC; --color-components-radio-border: #D0D5DC;
--color-components-radio-border-hover: #98A2B2; --color-components-radio-border-hover: #98A2B2;
@ -135,6 +140,9 @@ html[data-theme="light"] {
--color-components-panel-on-panel-item-bg: #FFFFFF; --color-components-panel-on-panel-item-bg: #FFFFFF;
--color-components-panel-on-panel-item-bg-hover: #F9FAFB; --color-components-panel-on-panel-item-bg-hover: #F9FAFB;
--color-components-panel-on-panel-item-bg-alt: #F9FAFB; --color-components-panel-on-panel-item-bg-alt: #F9FAFB;
--color-components-panel-on-panel-item-bg-transparent: #FFFFFFF2;
--color-components-panel-on-panel-item-bg-hover-transparent: #F9FAFB00;
--color-components-panel-on-panel-item-bg-destructive-hover-transparent: #FEF3F200;
--color-components-panel-bg-transparent: #FFFFFF00; --color-components-panel-bg-transparent: #FFFFFF00;
@ -161,10 +169,10 @@ html[data-theme="light"] {
--color-components-segmented-control-item-active-accent-bg: #FFFFFF; --color-components-segmented-control-item-active-accent-bg: #FFFFFF;
--color-components-segmented-control-item-active-accent-border: #FFFFFF; --color-components-segmented-control-item-active-accent-border: #FFFFFF;
--color-components-option-card-option-bg: #F9FAFB; --color-components-option-card-option-bg: #FCFCFD;
--color-components-option-card-option-selected-bg: #FFFFFF; --color-components-option-card-option-selected-bg: #FFFFFF;
--color-components-option-card-option-selected-border: #296DFF; --color-components-option-card-option-selected-border: #296DFF;
--color-components-option-card-option-border: #F2F4F7; --color-components-option-card-option-border: #E9EBF0;
--color-components-option-card-option-bg-hover: #FFFFFF; --color-components-option-card-option-bg-hover: #FFFFFF;
--color-components-option-card-option-border-hover: #D0D5DC; --color-components-option-card-option-border-hover: #D0D5DC;
@ -208,10 +216,12 @@ html[data-theme="light"] {
--color-components-actionbar-bg: #FFFFFFF2; --color-components-actionbar-bg: #FFFFFFF2;
--color-components-actionbar-border: #1018280A; --color-components-actionbar-border: #1018280A;
--color-components-actionbar-bg-accent: #F5F7FF;
--color-components-actionbar-border-accent: #B2CAFF;
--color-components-dropzone-bg-alt: #F2F4F7; --color-components-dropzone-bg-alt: #F2F4F7;
--color-components-dropzone-bg: #F9FAFB; --color-components-dropzone-bg: #F9FAFB;
--color-components-dropzone-bg-accent: #EFF4FF; --color-components-dropzone-bg-accent: #155AEF24;
--color-components-dropzone-border: #10182814; --color-components-dropzone-border: #10182814;
--color-components-dropzone-border-alt: #10182833; --color-components-dropzone-border-alt: #10182833;
--color-components-dropzone-border-accent: #84ABFF; --color-components-dropzone-border-accent: #84ABFF;
@ -228,6 +238,14 @@ html[data-theme="light"] {
--color-components-progress-gray-border: #98A2B2; --color-components-progress-gray-border: #98A2B2;
--color-components-progress-gray-bg: #C8CEDA05; --color-components-progress-gray-bg: #C8CEDA05;
--color-components-progress-warning-progress: #F79009;
--color-components-progress-warning-border: #F79009;
--color-components-progress-warning-bg: #F790090A;
--color-components-progress-error-progress: #F04438;
--color-components-progress-error-border: #F04438;
--color-components-progress-error-bg: #F044380A;
--color-components-chat-input-audio-bg: #EFF4FF; --color-components-chat-input-audio-bg: #EFF4FF;
--color-components-chat-input-audio-wave-default: #155AEF33; --color-components-chat-input-audio-wave-default: #155AEF33;
--color-components-chat-input-bg-mask-1: #FFFFFF03; --color-components-chat-input-bg-mask-1: #FFFFFF03;
@ -236,13 +254,103 @@ html[data-theme="light"] {
--color-components-chat-input-audio-wave-active: #296DFF; --color-components-chat-input-audio-wave-active: #296DFF;
--color-components-chat-input-audio-bg-alt: #FCFCFD; --color-components-chat-input-audio-bg-alt: #FCFCFD;
--color-components-Avatar-shape-fill-stop-0: #FFFFFF; --color-components-avatar-shape-fill-stop-0: #FFFFFF;
--color-components-Avatar-shape-fill-stop-100: #FFFFFFE5; --color-components-avatar-shape-fill-stop-100: #FFFFFFE5;
--color-components-Avatar-bg-mask-stop-0: #FFFFFF1F; --color-components-avatar-bg-mask-stop-0: #FFFFFF1F;
--color-components-Avatar-bg-mask-stop-100: #FFFFFF14; --color-components-avatar-bg-mask-stop-100: #FFFFFF14;
--color-components-Avatar-default-avatar-bg: #D0D5DC; --color-components-avatar-default-avatar-bg: #D0D5DC;
--color-components-avatar-mask-darkmode-dimmed: #FFFFFF00;
--color-components-label-gray: #F2F4F7;
--color-components-premium-badge-blue-bg-stop-0: #5289FF;
--color-components-premium-badge-blue-bg-stop-100: #155AEF;
--color-components-premium-badge-blue-stroke-stop-0: #FFFFFFF2;
--color-components-premium-badge-blue-stroke-stop-100: #155AEF;
--color-components-premium-badge-blue-text-stop-0: #F5F7FF;
--color-components-premium-badge-blue-text-stop-100: #D1E0FF;
--color-components-premium-badge-blue-glow: #00329E;
--color-components-premium-badge-blue-bg-stop-0-hover: #296DFF;
--color-components-premium-badge-blue-bg-stop-100-hover: #004AEB;
--color-components-premium-badge-blue-glow-hover: #84ABFF;
--color-components-premium-badge-blue-stroke-stop-0-hover: #FFFFFFF2;
--color-components-premium-badge-blue-stroke-stop-100-hover: #00329E;
--color-components-premium-badge-highlight-stop-0: #FFFFFF1F;
--color-components-premium-badge-highlight-stop-100: #FFFFFF4D;
--color-components-premium-badge-indigo-bg-stop-0: #8098F9;
--color-components-premium-badge-indigo-bg-stop-100: #444CE7;
--color-components-premium-badge-indigo-stroke-stop-0: #FFFFFFF2;
--color-components-premium-badge-indigo-stroke-stop-100: #6172F3;
--color-components-premium-badge-indigo-text-stop-0: #F5F8FF;
--color-components-premium-badge-indigo-text-stop-100: #E0EAFF;
--color-components-premium-badge-indigo-glow: #2D3282;
--color-components-premium-badge-indigo-glow-hover: #A4BCFD;
--color-components-premium-badge-indigo-bg-stop-0-hover: #6172F3;
--color-components-premium-badge-indigo-bg-stop-100-hover: #2D31A6;
--color-components-premium-badge-indigo-stroke-stop-0-hover: #FFFFFFF2;
--color-components-premium-badge-indigo-stroke-stop-100-hover: #2D31A6;
--color-components-premium-badge-grey-bg-stop-0: #98A2B2;
--color-components-premium-badge-grey-bg-stop-100: #676F83;
--color-components-premium-badge-grey-stroke-stop-0: #FFFFFFF2;
--color-components-premium-badge-grey-stroke-stop-100: #676F83;
--color-components-premium-badge-grey-text-stop-0: #FCFCFD;
--color-components-premium-badge-grey-text-stop-100: #F2F4F7;
--color-components-premium-badge-grey-glow: #101828;
--color-components-premium-badge-grey-glow-hover: #D0D5DC;
--color-components-premium-badge-grey-bg-stop-0-hover: #676F83;
--color-components-premium-badge-grey-bg-stop-100-hover: #354052;
--color-components-premium-badge-grey-stroke-stop-0-hover: #FFFFFFF2;
--color-components-premium-badge-grey-stroke-stop-100-hover: #354052;
--color-components-premium-badge-orange-bg-stop-0: #FF692E;
--color-components-premium-badge-orange-bg-stop-100: #E04F16;
--color-components-premium-badge-orange-stroke-stop-0: #FFFFFFF2;
--color-components-premium-badge-orange-stroke-stop-100: #E62E05;
--color-components-premium-badge-orange-text-stop-0: #FEFAF5;
--color-components-premium-badge-orange-text-stop-100: #FDEAD7;
--color-components-premium-badge-orange-glow: #772917;
--color-components-premium-badge-orange-glow-hover: #F7B27A;
--color-components-premium-badge-orange-bg-stop-0-hover: #FF4405;
--color-components-premium-badge-orange-bg-stop-100-hover: #B93815;
--color-components-premium-badge-orange-stroke-stop-0-hover: #FFFFFFF2;
--color-components-premium-badge-orange-stroke-stop-100-hover: #BC1B06;
--color-components-progress-bar-bg: #155AEF0A;
--color-components-progress-bar-progress: #155AEF24;
--color-components-progress-bar-border: #1018280A;
--color-components-progress-bar-progress-solid: #296DFF;
--color-components-progress-bar-progress-highlight: #155AEF33;
--color-components-icon-bg-red-solid: #D92D20;
--color-components-icon-bg-rose-solid: #E31B54;
--color-components-icon-bg-pink-solid: #DD2590;
--color-components-icon-bg-orange-dark-solid: #FF4405;
--color-components-icon-bg-yellow-solid: #EAAA08;
--color-components-icon-bg-green-solid: #4CA30D;
--color-components-icon-bg-teal-solid: #0E9384;
--color-components-icon-bg-blue-light-solid: #0BA5EC;
--color-components-icon-bg-blue-solid: #155AEF;
--color-components-icon-bg-indigo-solid: #444CE7;
--color-components-icon-bg-violet-solid: #7839EE;
--color-components-icon-bg-midnight-solid: #828DAD;
--color-components-icon-bg-rose-soft: #FFF1F3;
--color-components-icon-bg-pink-soft: #FDF2FA;
--color-components-icon-bg-orange-dark-soft: #FFF4ED;
--color-components-icon-bg-yellow-soft: #FEFBE8;
--color-components-icon-bg-green-soft: #F3FEE7;
--color-components-icon-bg-teal-soft: #F0FDF9;
--color-components-icon-bg-blue-light-soft: #F0F9FF;
--color-components-icon-bg-blue-soft: #EFF4FF;
--color-components-icon-bg-indigo-soft: #EEF4FF;
--color-components-icon-bg-violet-soft: #F5F3FF;
--color-components-icon-bg-midnight-soft: #F0F2F5;
--color-components-icon-bg-red-soft: #FEF3F2;
--color-components-icon-bg-orange-solid: #F79009;
--color-components-icon-bg-orange-soft: #FFFAEB;
--color-text-primary: #101828; --color-text-primary: #101828;
--color-text-secondary: #354052; --color-text-secondary: #354052;
@ -302,6 +410,7 @@ html[data-theme="light"] {
--color-background-overlay-alt: #10182866; --color-background-overlay-alt: #10182866;
--color-background-surface-white: #FFFFFFF2; --color-background-surface-white: #FFFFFFF2;
--color-background-overlay-destructive: #F044384D; --color-background-overlay-destructive: #F044384D;
--color-background-overlay-backdrop: #F2F4F7F2;
--color-shadow-shadow-1: #09090B08; --color-shadow-shadow-1: #09090B08;
--color-shadow-shadow-3: #09090B0D; --color-shadow-shadow-3: #09090B0D;
@ -317,6 +426,7 @@ html[data-theme="light"] {
--color-workflow-block-border: #FFFFFF; --color-workflow-block-border: #FFFFFF;
--color-workflow-block-parma-bg: #F2F4F7; --color-workflow-block-parma-bg: #F2F4F7;
--color-workflow-block-bg: #FCFCFD; --color-workflow-block-bg: #FCFCFD;
--color-workflow-block-bg-transparent: #FCFCFDE5;
--color-workflow-block-border-highlight: #155AEF24; --color-workflow-block-border-highlight: #155AEF24;
--color-workflow-canvas-workflow-dot-color: #8585AD26; --color-workflow-canvas-workflow-dot-color: #8585AD26;
@ -436,6 +546,7 @@ html[data-theme="light"] {
--color-util-colors-orange-orange-500: #EF6820; --color-util-colors-orange-orange-500: #EF6820;
--color-util-colors-orange-orange-600: #E04F16; --color-util-colors-orange-orange-600: #E04F16;
--color-util-colors-orange-orange-700: #B93815; --color-util-colors-orange-orange-700: #B93815;
--color-util-colors-orange-orange-100-transparent: #FDEAD700;
--color-util-colors-pink-pink-50: #FDF2FA; --color-util-colors-pink-pink-50: #FDF2FA;
--color-util-colors-pink-pink-100: #FCE7F6; --color-util-colors-pink-pink-100: #FCE7F6;
@ -610,6 +721,17 @@ html[data-theme="light"] {
--color-third-party-LangChain: #1C3C3C; --color-third-party-LangChain: #1C3C3C;
--color-third-party-Langfuse: #000000; --color-third-party-Langfuse: #000000;
--color-third-party-Github: #1B1F24; --color-third-party-Github: #1B1F24;
--color-third-party-Github-tertiary: #1B1F24;
--color-third-party-Github-secondary: #1B1F24;
--color-third-party-model-bg-openai: #E3E5E8;
--color-third-party-model-bg-anthropic: #EEEDE7;
--color-third-party-model-bg-default: #F9FAFB;
--color-third-party-aws: #141F2E;
--color-third-party-aws-alt: #0F1824;
--color-saas-background: #FCFCFD;
--color-saas-pricing-grid-bg: #C8CEDA80;
} }

View File

@ -85,6 +85,10 @@ const vars = {
'components-button-secondary-accent-border-hover': 'var(--color-components-button-secondary-accent-border-hover)', 'components-button-secondary-accent-border-hover': 'var(--color-components-button-secondary-accent-border-hover)',
'components-button-secondary-accent-border-disabled': 'var(--color-components-button-secondary-accent-border-disabled)', 'components-button-secondary-accent-border-disabled': 'var(--color-components-button-secondary-accent-border-disabled)',
'components-button-indigo-bg': 'var(--color-components-button-indigo-bg)',
'components-button-indigo-bg-hover': 'var(--color-components-button-indigo-bg-hover)',
'components-button-indigo-bg-disabled': 'var(--color-components-button-indigo-bg-disabled)',
'components-checkbox-icon': 'var(--color-components-checkbox-icon)', 'components-checkbox-icon': 'var(--color-components-checkbox-icon)',
'components-checkbox-icon-disabled': 'var(--color-components-checkbox-icon-disabled)', 'components-checkbox-icon-disabled': 'var(--color-components-checkbox-icon-disabled)',
'components-checkbox-bg': 'var(--color-components-checkbox-bg)', 'components-checkbox-bg': 'var(--color-components-checkbox-bg)',
@ -95,6 +99,7 @@ const vars = {
'components-checkbox-border-disabled': 'var(--color-components-checkbox-border-disabled)', 'components-checkbox-border-disabled': 'var(--color-components-checkbox-border-disabled)',
'components-checkbox-bg-unchecked': 'var(--color-components-checkbox-bg-unchecked)', 'components-checkbox-bg-unchecked': 'var(--color-components-checkbox-bg-unchecked)',
'components-checkbox-bg-unchecked-hover': 'var(--color-components-checkbox-bg-unchecked-hover)', 'components-checkbox-bg-unchecked-hover': 'var(--color-components-checkbox-bg-unchecked-hover)',
'components-checkbox-bg-disabled-checked': 'var(--color-components-checkbox-bg-disabled-checked)',
'components-radio-border-checked': 'var(--color-components-radio-border-checked)', 'components-radio-border-checked': 'var(--color-components-radio-border-checked)',
'components-radio-border-checked-hover': 'var(--color-components-radio-border-checked-hover)', 'components-radio-border-checked-hover': 'var(--color-components-radio-border-checked-hover)',
@ -135,6 +140,9 @@ const vars = {
'components-panel-on-panel-item-bg': 'var(--color-components-panel-on-panel-item-bg)', 'components-panel-on-panel-item-bg': 'var(--color-components-panel-on-panel-item-bg)',
'components-panel-on-panel-item-bg-hover': 'var(--color-components-panel-on-panel-item-bg-hover)', 'components-panel-on-panel-item-bg-hover': 'var(--color-components-panel-on-panel-item-bg-hover)',
'components-panel-on-panel-item-bg-alt': 'var(--color-components-panel-on-panel-item-bg-alt)', 'components-panel-on-panel-item-bg-alt': 'var(--color-components-panel-on-panel-item-bg-alt)',
'components-panel-on-panel-item-bg-transparent': 'var(--color-components-panel-on-panel-item-bg-transparent)',
'components-panel-on-panel-item-bg-hover-transparent': 'var(--color-components-panel-on-panel-item-bg-hover-transparent)',
'components-panel-on-panel-item-bg-destructive-hover-transparent': 'var(--color-components-panel-on-panel-item-bg-destructive-hover-transparent)',
'components-panel-bg-transparent': 'var(--color-components-panel-bg-transparent)', 'components-panel-bg-transparent': 'var(--color-components-panel-bg-transparent)',
@ -208,6 +216,8 @@ const vars = {
'components-actionbar-bg': 'var(--color-components-actionbar-bg)', 'components-actionbar-bg': 'var(--color-components-actionbar-bg)',
'components-actionbar-border': 'var(--color-components-actionbar-border)', 'components-actionbar-border': 'var(--color-components-actionbar-border)',
'components-actionbar-bg-accent': 'var(--color-components-actionbar-bg-accent)',
'components-actionbar-border-accent': 'var(--color-components-actionbar-border-accent)',
'components-dropzone-bg-alt': 'var(--color-components-dropzone-bg-alt)', 'components-dropzone-bg-alt': 'var(--color-components-dropzone-bg-alt)',
'components-dropzone-bg': 'var(--color-components-dropzone-bg)', 'components-dropzone-bg': 'var(--color-components-dropzone-bg)',
@ -228,6 +238,14 @@ const vars = {
'components-progress-gray-border': 'var(--color-components-progress-gray-border)', 'components-progress-gray-border': 'var(--color-components-progress-gray-border)',
'components-progress-gray-bg': 'var(--color-components-progress-gray-bg)', 'components-progress-gray-bg': 'var(--color-components-progress-gray-bg)',
'components-progress-warning-progress': 'var(--color-components-progress-warning-progress)',
'components-progress-warning-border': 'var(--color-components-progress-warning-border)',
'components-progress-warning-bg': 'var(--color-components-progress-warning-bg)',
'components-progress-error-progress': 'var(--color-components-progress-error-progress)',
'components-progress-error-border': 'var(--color-components-progress-error-border)',
'components-progress-error-bg': 'var(--color-components-progress-error-bg)',
'components-chat-input-audio-bg': 'var(--color-components-chat-input-audio-bg)', 'components-chat-input-audio-bg': 'var(--color-components-chat-input-audio-bg)',
'components-chat-input-audio-wave-default': 'var(--color-components-chat-input-audio-wave-default)', 'components-chat-input-audio-wave-default': 'var(--color-components-chat-input-audio-wave-default)',
'components-chat-input-bg-mask-1': 'var(--color-components-chat-input-bg-mask-1)', 'components-chat-input-bg-mask-1': 'var(--color-components-chat-input-bg-mask-1)',
@ -236,13 +254,103 @@ const vars = {
'components-chat-input-audio-wave-active': 'var(--color-components-chat-input-audio-wave-active)', 'components-chat-input-audio-wave-active': 'var(--color-components-chat-input-audio-wave-active)',
'components-chat-input-audio-bg-alt': 'var(--color-components-chat-input-audio-bg-alt)', 'components-chat-input-audio-bg-alt': 'var(--color-components-chat-input-audio-bg-alt)',
'components-Avatar-shape-fill-stop-0': 'var(--color-components-Avatar-shape-fill-stop-0)', 'components-avatar-shape-fill-stop-0': 'var(--color-components-avatar-shape-fill-stop-0)',
'components-Avatar-shape-fill-stop-100': 'var(--color-components-Avatar-shape-fill-stop-100)', 'components-avatar-shape-fill-stop-100': 'var(--color-components-avatar-shape-fill-stop-100)',
'components-Avatar-bg-mask-stop-0': 'var(--color-components-Avatar-bg-mask-stop-0)', 'components-avatar-bg-mask-stop-0': 'var(--color-components-avatar-bg-mask-stop-0)',
'components-Avatar-bg-mask-stop-100': 'var(--color-components-Avatar-bg-mask-stop-100)', 'components-avatar-bg-mask-stop-100': 'var(--color-components-avatar-bg-mask-stop-100)',
'components-Avatar-default-avatar-bg': 'var(--color-components-Avatar-default-avatar-bg)', 'components-avatar-default-avatar-bg': 'var(--color-components-avatar-default-avatar-bg)',
'components-avatar-mask-darkmode-dimmed': 'var(--color-components-avatar-mask-darkmode-dimmed)',
'components-label-gray': 'var(--color-components-label-gray)',
'components-premium-badge-blue-bg-stop-0': 'var(--color-components-premium-badge-blue-bg-stop-0)',
'components-premium-badge-blue-bg-stop-100': 'var(--color-components-premium-badge-blue-bg-stop-100)',
'components-premium-badge-blue-stroke-stop-0': 'var(--color-components-premium-badge-blue-stroke-stop-0)',
'components-premium-badge-blue-stroke-stop-100': 'var(--color-components-premium-badge-blue-stroke-stop-100)',
'components-premium-badge-blue-text-stop-0': 'var(--color-components-premium-badge-blue-text-stop-0)',
'components-premium-badge-blue-text-stop-100': 'var(--color-components-premium-badge-blue-text-stop-100)',
'components-premium-badge-blue-glow': 'var(--color-components-premium-badge-blue-glow)',
'components-premium-badge-blue-bg-stop-0-hover': 'var(--color-components-premium-badge-blue-bg-stop-0-hover)',
'components-premium-badge-blue-bg-stop-100-hover': 'var(--color-components-premium-badge-blue-bg-stop-100-hover)',
'components-premium-badge-blue-glow-hover': 'var(--color-components-premium-badge-blue-glow-hover)',
'components-premium-badge-blue-stroke-stop-0-hover': 'var(--color-components-premium-badge-blue-stroke-stop-0-hover)',
'components-premium-badge-blue-stroke-stop-100-hover': 'var(--color-components-premium-badge-blue-stroke-stop-100-hover)',
'components-premium-badge-highlight-stop-0': 'var(--color-components-premium-badge-highlight-stop-0)',
'components-premium-badge-highlight-stop-100': 'var(--color-components-premium-badge-highlight-stop-100)',
'components-premium-badge-indigo-bg-stop-0': 'var(--color-components-premium-badge-indigo-bg-stop-0)',
'components-premium-badge-indigo-bg-stop-100': 'var(--color-components-premium-badge-indigo-bg-stop-100)',
'components-premium-badge-indigo-stroke-stop-0': 'var(--color-components-premium-badge-indigo-stroke-stop-0)',
'components-premium-badge-indigo-stroke-stop-100': 'var(--color-components-premium-badge-indigo-stroke-stop-100)',
'components-premium-badge-indigo-text-stop-0': 'var(--color-components-premium-badge-indigo-text-stop-0)',
'components-premium-badge-indigo-text-stop-100': 'var(--color-components-premium-badge-indigo-text-stop-100)',
'components-premium-badge-indigo-glow': 'var(--color-components-premium-badge-indigo-glow)',
'components-premium-badge-indigo-glow-hover': 'var(--color-components-premium-badge-indigo-glow-hover)',
'components-premium-badge-indigo-bg-stop-0-hover': 'var(--color-components-premium-badge-indigo-bg-stop-0-hover)',
'components-premium-badge-indigo-bg-stop-100-hover': 'var(--color-components-premium-badge-indigo-bg-stop-100-hover)',
'components-premium-badge-indigo-stroke-stop-0-hover': 'var(--color-components-premium-badge-indigo-stroke-stop-0-hover)',
'components-premium-badge-indigo-stroke-stop-100-hover': 'var(--color-components-premium-badge-indigo-stroke-stop-100-hover)',
'components-premium-badge-grey-bg-stop-0': 'var(--color-components-premium-badge-grey-bg-stop-0)',
'components-premium-badge-grey-bg-stop-100': 'var(--color-components-premium-badge-grey-bg-stop-100)',
'components-premium-badge-grey-stroke-stop-0': 'var(--color-components-premium-badge-grey-stroke-stop-0)',
'components-premium-badge-grey-stroke-stop-100': 'var(--color-components-premium-badge-grey-stroke-stop-100)',
'components-premium-badge-grey-text-stop-0': 'var(--color-components-premium-badge-grey-text-stop-0)',
'components-premium-badge-grey-text-stop-100': 'var(--color-components-premium-badge-grey-text-stop-100)',
'components-premium-badge-grey-glow': 'var(--color-components-premium-badge-grey-glow)',
'components-premium-badge-grey-glow-hover': 'var(--color-components-premium-badge-grey-glow-hover)',
'components-premium-badge-grey-bg-stop-0-hover': 'var(--color-components-premium-badge-grey-bg-stop-0-hover)',
'components-premium-badge-grey-bg-stop-100-hover': 'var(--color-components-premium-badge-grey-bg-stop-100-hover)',
'components-premium-badge-grey-stroke-stop-0-hover': 'var(--color-components-premium-badge-grey-stroke-stop-0-hover)',
'components-premium-badge-grey-stroke-stop-100-hover': 'var(--color-components-premium-badge-grey-stroke-stop-100-hover)',
'components-premium-badge-orange-bg-stop-0': 'var(--color-components-premium-badge-orange-bg-stop-0)',
'components-premium-badge-orange-bg-stop-100': 'var(--color-components-premium-badge-orange-bg-stop-100)',
'components-premium-badge-orange-stroke-stop-0': 'var(--color-components-premium-badge-orange-stroke-stop-0)',
'components-premium-badge-orange-stroke-stop-100': 'var(--color-components-premium-badge-orange-stroke-stop-100)',
'components-premium-badge-orange-text-stop-0': 'var(--color-components-premium-badge-orange-text-stop-0)',
'components-premium-badge-orange-text-stop-100': 'var(--color-components-premium-badge-orange-text-stop-100)',
'components-premium-badge-orange-glow': 'var(--color-components-premium-badge-orange-glow)',
'components-premium-badge-orange-glow-hover': 'var(--color-components-premium-badge-orange-glow-hover)',
'components-premium-badge-orange-bg-stop-0-hover': 'var(--color-components-premium-badge-orange-bg-stop-0-hover)',
'components-premium-badge-orange-bg-stop-100-hover': 'var(--color-components-premium-badge-orange-bg-stop-100-hover)',
'components-premium-badge-orange-stroke-stop-0-hover': 'var(--color-components-premium-badge-orange-stroke-stop-0-hover)',
'components-premium-badge-orange-stroke-stop-100-hover': 'var(--color-components-premium-badge-orange-stroke-stop-100-hover)',
'components-progress-bar-bg': 'var(--color-components-progress-bar-bg)',
'components-progress-bar-progress': 'var(--color-components-progress-bar-progress)',
'components-progress-bar-border': 'var(--color-components-progress-bar-border)',
'components-progress-bar-progress-solid': 'var(--color-components-progress-bar-progress-solid)',
'components-progress-bar-progress-highlight': 'var(--color-components-progress-bar-progress-highlight)',
'components-icon-bg-red-solid': 'var(--color-components-icon-bg-red-solid)',
'components-icon-bg-rose-solid': 'var(--color-components-icon-bg-rose-solid)',
'components-icon-bg-pink-solid': 'var(--color-components-icon-bg-pink-solid)',
'components-icon-bg-orange-dark-solid': 'var(--color-components-icon-bg-orange-dark-solid)',
'components-icon-bg-yellow-solid': 'var(--color-components-icon-bg-yellow-solid)',
'components-icon-bg-green-solid': 'var(--color-components-icon-bg-green-solid)',
'components-icon-bg-teal-solid': 'var(--color-components-icon-bg-teal-solid)',
'components-icon-bg-blue-light-solid': 'var(--color-components-icon-bg-blue-light-solid)',
'components-icon-bg-blue-solid': 'var(--color-components-icon-bg-blue-solid)',
'components-icon-bg-indigo-solid': 'var(--color-components-icon-bg-indigo-solid)',
'components-icon-bg-violet-solid': 'var(--color-components-icon-bg-violet-solid)',
'components-icon-bg-midnight-solid': 'var(--color-components-icon-bg-midnight-solid)',
'components-icon-bg-rose-soft': 'var(--color-components-icon-bg-rose-soft)',
'components-icon-bg-pink-soft': 'var(--color-components-icon-bg-pink-soft)',
'components-icon-bg-orange-dark-soft': 'var(--color-components-icon-bg-orange-dark-soft)',
'components-icon-bg-yellow-soft': 'var(--color-components-icon-bg-yellow-soft)',
'components-icon-bg-green-soft': 'var(--color-components-icon-bg-green-soft)',
'components-icon-bg-teal-soft': 'var(--color-components-icon-bg-teal-soft)',
'components-icon-bg-blue-light-soft': 'var(--color-components-icon-bg-blue-light-soft)',
'components-icon-bg-blue-soft': 'var(--color-components-icon-bg-blue-soft)',
'components-icon-bg-indigo-soft': 'var(--color-components-icon-bg-indigo-soft)',
'components-icon-bg-violet-soft': 'var(--color-components-icon-bg-violet-soft)',
'components-icon-bg-midnight-soft': 'var(--color-components-icon-bg-midnight-soft)',
'components-icon-bg-red-soft': 'var(--color-components-icon-bg-red-soft)',
'components-icon-bg-orange-solid': 'var(--color-components-icon-bg-orange-solid)',
'components-icon-bg-orange-soft': 'var(--color-components-icon-bg-orange-soft)',
'text-primary': 'var(--color-text-primary)', 'text-primary': 'var(--color-text-primary)',
'text-secondary': 'var(--color-text-secondary)', 'text-secondary': 'var(--color-text-secondary)',
@ -302,6 +410,7 @@ const vars = {
'background-overlay-alt': 'var(--color-background-overlay-alt)', 'background-overlay-alt': 'var(--color-background-overlay-alt)',
'background-surface-white': 'var(--color-background-surface-white)', 'background-surface-white': 'var(--color-background-surface-white)',
'background-overlay-destructive': 'var(--color-background-overlay-destructive)', 'background-overlay-destructive': 'var(--color-background-overlay-destructive)',
'background-overlay-backdrop': 'var(--color-background-overlay-backdrop)',
'shadow-shadow-1': 'var(--color-shadow-shadow-1)', 'shadow-shadow-1': 'var(--color-shadow-shadow-1)',
'shadow-shadow-3': 'var(--color-shadow-shadow-3)', 'shadow-shadow-3': 'var(--color-shadow-shadow-3)',
@ -317,6 +426,7 @@ const vars = {
'workflow-block-border': 'var(--color-workflow-block-border)', 'workflow-block-border': 'var(--color-workflow-block-border)',
'workflow-block-parma-bg': 'var(--color-workflow-block-parma-bg)', 'workflow-block-parma-bg': 'var(--color-workflow-block-parma-bg)',
'workflow-block-bg': 'var(--color-workflow-block-bg)', 'workflow-block-bg': 'var(--color-workflow-block-bg)',
'workflow-block-bg-transparent': 'var(--color-workflow-block-bg-transparent)',
'workflow-block-border-highlight': 'var(--color-workflow-block-border-highlight)', 'workflow-block-border-highlight': 'var(--color-workflow-block-border-highlight)',
'workflow-canvas-workflow-dot-color': 'var(--color-workflow-canvas-workflow-dot-color)', 'workflow-canvas-workflow-dot-color': 'var(--color-workflow-canvas-workflow-dot-color)',
@ -436,6 +546,7 @@ const vars = {
'util-colors-orange-orange-500': 'var(--color-util-colors-orange-orange-500)', 'util-colors-orange-orange-500': 'var(--color-util-colors-orange-orange-500)',
'util-colors-orange-orange-600': 'var(--color-util-colors-orange-orange-600)', 'util-colors-orange-orange-600': 'var(--color-util-colors-orange-orange-600)',
'util-colors-orange-orange-700': 'var(--color-util-colors-orange-orange-700)', 'util-colors-orange-orange-700': 'var(--color-util-colors-orange-orange-700)',
'util-colors-orange-orange-100-transparent': 'var(--color-util-colors-orange-orange-100-transparent)',
'util-colors-pink-pink-50': 'var(--color-util-colors-pink-pink-50)', 'util-colors-pink-pink-50': 'var(--color-util-colors-pink-pink-50)',
'util-colors-pink-pink-100': 'var(--color-util-colors-pink-pink-100)', 'util-colors-pink-pink-100': 'var(--color-util-colors-pink-pink-100)',
@ -611,6 +722,17 @@ const vars = {
'third-party-LangChain': 'var(--color-third-party-LangChain)', 'third-party-LangChain': 'var(--color-third-party-LangChain)',
'third-party-Langfuse': 'var(--color-third-party-Langfuse)', 'third-party-Langfuse': 'var(--color-third-party-Langfuse)',
'third-party-Github': 'var(--color-third-party-Github)', 'third-party-Github': 'var(--color-third-party-Github)',
} 'third-party-Github-tertiary': 'var(--color-third-party-Github-tertiary)',
'third-party-Github-secondary': 'var(--color-third-party-Github-secondary)',
'third-party-model-bg-openai': 'var(--color-third-party-model-bg-openai)',
'third-party-model-bg-anthropic': 'var(--color-third-party-model-bg-anthropic)',
'third-party-model-bg-default': 'var(--color-third-party-model-bg-default)',
'third-party-aws': 'var(--color-third-party-aws)',
'third-party-aws-alt': 'var(--color-third-party-aws-alt)',
'saas-background': 'var(--color-saas-background)',
'saas-pricing-grid-bg': 'var(--color-saas-pricing-grid-bg)',
}
export default vars export default vars