mirror of
https://github.com/langgenius/dify.git
synced 2026-04-24 04:45:51 +08:00
Compare commits
1 Commits
chore/ente
...
fix/index-
| Author | SHA1 | Date | |
|---|---|---|---|
| ea5e8ee7cc |
@ -349,7 +349,7 @@ class DocumentIndexingEstimateApi(DocumentResource):
|
||||
document = self.get_document(dataset_id, document_id)
|
||||
|
||||
if document.indexing_status in ['completed', 'error']:
|
||||
raise DocumentAlreadyFinishedError()
|
||||
indexing_runner.calculate_tokens(document)
|
||||
|
||||
data_process_rule = document.dataset_process_rule
|
||||
data_process_rule_dict = data_process_rule.to_dict()
|
||||
|
||||
@ -3,9 +3,8 @@ from functools import wraps
|
||||
from hashlib import sha1
|
||||
from hmac import new as hmac_new
|
||||
|
||||
from flask import abort, request
|
||||
from flask import abort, current_app, request
|
||||
|
||||
from configs import dify_config
|
||||
from extensions.ext_database import db
|
||||
from models.model import EndUser
|
||||
|
||||
@ -13,12 +12,12 @@ from models.model import EndUser
|
||||
def inner_api_only(view):
|
||||
@wraps(view)
|
||||
def decorated(*args, **kwargs):
|
||||
if not dify_config.INNER_API:
|
||||
if not current_app.config['INNER_API']:
|
||||
abort(404)
|
||||
|
||||
# get header 'X-Inner-Api-Key'
|
||||
inner_api_key = request.headers.get('X-Inner-Api-Key')
|
||||
if not inner_api_key or inner_api_key != dify_config.INNER_API_KEY:
|
||||
if not inner_api_key or inner_api_key != current_app.config['INNER_API_KEY']:
|
||||
abort(404)
|
||||
|
||||
return view(*args, **kwargs)
|
||||
@ -29,7 +28,7 @@ def inner_api_only(view):
|
||||
def inner_api_user_auth(view):
|
||||
@wraps(view)
|
||||
def decorated(*args, **kwargs):
|
||||
if not dify_config.INNER_API:
|
||||
if not current_app.config['INNER_API']:
|
||||
return view(*args, **kwargs)
|
||||
|
||||
# get header 'X-Inner-Api-Key'
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
from flask import current_app
|
||||
from flask_restful import Resource, fields, marshal_with
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.service_api import api
|
||||
from controllers.service_api.app.error import AppUnavailableError
|
||||
from controllers.service_api.wraps import validate_app_token
|
||||
@ -78,7 +78,7 @@ class AppParameterApi(Resource):
|
||||
"transfer_methods": ["remote_url", "local_file"]
|
||||
}}),
|
||||
'system_parameters': {
|
||||
'image_file_size_limit': dify_config.UPLOAD_IMAGE_FILE_SIZE_LIMIT
|
||||
'image_file_size_limit': current_app.config.get('UPLOAD_IMAGE_FILE_SIZE_LIMIT')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
from flask import current_app
|
||||
from flask_restful import Resource
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.service_api import api
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@ class IndexApi(Resource):
|
||||
return {
|
||||
"welcome": "Dify OpenAPI",
|
||||
"api_version": "v1",
|
||||
"server_version": dify_config.CURRENT_VERSION,
|
||||
"server_version": current_app.config['CURRENT_VERSION']
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
from flask import current_app
|
||||
from flask_restful import fields, marshal_with
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.web import api
|
||||
from controllers.web.error import AppUnavailableError
|
||||
from controllers.web.wraps import WebApiResource
|
||||
@ -75,7 +75,7 @@ class AppParameterApi(WebApiResource):
|
||||
"transfer_methods": ["remote_url", "local_file"]
|
||||
}}),
|
||||
'system_parameters': {
|
||||
'image_file_size_limit': dify_config.UPLOAD_IMAGE_FILE_SIZE_LIMIT
|
||||
'image_file_size_limit': current_app.config.get('UPLOAD_IMAGE_FILE_SIZE_LIMIT')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
|
||||
from flask import current_app
|
||||
from flask_restful import fields, marshal_with
|
||||
from werkzeug.exceptions import Forbidden
|
||||
|
||||
from configs import dify_config
|
||||
from controllers.web import api
|
||||
from controllers.web.wraps import WebApiResource
|
||||
from extensions.ext_database import db
|
||||
@ -84,7 +84,7 @@ class AppSiteInfo:
|
||||
self.can_replace_logo = can_replace_logo
|
||||
|
||||
if can_replace_logo:
|
||||
base_url = dify_config.FILES_URL
|
||||
base_url = current_app.config.get('FILES_URL')
|
||||
remove_webapp_brand = tenant.custom_config_dict.get('remove_webapp_brand', False)
|
||||
replace_webapp_logo = f'{base_url}/files/workspaces/{tenant.id}/webapp-logo' if tenant.custom_config_dict.get('replace_webapp_logo') else None
|
||||
self.custom_config = {
|
||||
|
||||
@ -255,12 +255,6 @@ class AdvancedChatAppRunner(AppRunner):
|
||||
)
|
||||
index += 1
|
||||
time.sleep(0.01)
|
||||
else:
|
||||
queue_manager.publish(
|
||||
QueueTextChunkEvent(
|
||||
text=text
|
||||
), PublishFrom.APPLICATION_MANAGER
|
||||
)
|
||||
|
||||
queue_manager.publish(
|
||||
QueueStopEvent(stopped_by=stopped_by),
|
||||
|
||||
@ -214,6 +214,61 @@ class IndexingRunner:
|
||||
dataset_document.stopped_at = datetime.datetime.now(datetime.timezone.utc).replace(tzinfo=None)
|
||||
db.session.commit()
|
||||
|
||||
def calculate_tokens(self, tenant_id: str, tokens: int, dataset_id: str = None,
|
||||
indexing_technique: str = 'economy') -> dict:
|
||||
"""
|
||||
Estimate the indexing for the document.
|
||||
"""
|
||||
embedding_model_instance = None
|
||||
if dataset_id:
|
||||
dataset = Dataset.query.filter_by(
|
||||
id=dataset_id
|
||||
).first()
|
||||
if not dataset:
|
||||
raise ValueError('Dataset not found.')
|
||||
if dataset.indexing_technique == 'high_quality' or indexing_technique == 'high_quality':
|
||||
if dataset.embedding_model_provider:
|
||||
embedding_model_instance = self.model_manager.get_model_instance(
|
||||
tenant_id=tenant_id,
|
||||
provider=dataset.embedding_model_provider,
|
||||
model_type=ModelType.TEXT_EMBEDDING,
|
||||
model=dataset.embedding_model
|
||||
)
|
||||
else:
|
||||
embedding_model_instance = self.model_manager.get_default_model_instance(
|
||||
tenant_id=tenant_id,
|
||||
model_type=ModelType.TEXT_EMBEDDING,
|
||||
)
|
||||
else:
|
||||
if indexing_technique == 'high_quality':
|
||||
embedding_model_instance = self.model_manager.get_default_model_instance(
|
||||
tenant_id=tenant_id,
|
||||
model_type=ModelType.TEXT_EMBEDDING,
|
||||
)
|
||||
preview_texts = []
|
||||
total_segments = 0
|
||||
total_price = 0
|
||||
currency = 'USD'
|
||||
if embedding_model_instance:
|
||||
embedding_model_type_instance = cast(TextEmbeddingModel, embedding_model_instance.model_type_instance)
|
||||
embedding_price_info = embedding_model_type_instance.get_price(
|
||||
model=embedding_model_instance.model,
|
||||
credentials=embedding_model_instance.credentials,
|
||||
price_type=PriceType.INPUT,
|
||||
tokens=tokens
|
||||
)
|
||||
total_price = '{:f}'.format(embedding_price_info.total_amount)
|
||||
currency = embedding_price_info.currency
|
||||
return {
|
||||
"total_segments": total_segments,
|
||||
"tokens": tokens,
|
||||
"total_price": total_price,
|
||||
"currency": currency,
|
||||
"preview": preview_texts
|
||||
}
|
||||
|
||||
|
||||
|
||||
def indexing_estimate(self, tenant_id: str, extract_settings: list[ExtractSetting], tmp_processing_rule: dict,
|
||||
doc_form: str = None, doc_language: str = 'English', dataset_id: str = None,
|
||||
indexing_technique: str = 'economy') -> dict:
|
||||
|
||||
@ -7,7 +7,7 @@ features:
|
||||
- agent-thought
|
||||
model_properties:
|
||||
mode: chat
|
||||
context_size: 128000
|
||||
context_size: 32000
|
||||
parameter_rules:
|
||||
- name: temperature
|
||||
use_template: temperature
|
||||
|
||||
@ -7,7 +7,7 @@ features:
|
||||
- agent-thought
|
||||
model_properties:
|
||||
mode: chat
|
||||
context_size: 128000
|
||||
context_size: 32000
|
||||
parameter_rules:
|
||||
- name: temperature
|
||||
use_template: temperature
|
||||
|
||||
@ -616,34 +616,30 @@ class OAIAPICompatLargeLanguageModel(_CommonOAI_API_Compat, LargeLanguageModel):
|
||||
message = cast(AssistantPromptMessage, message)
|
||||
message_dict = {"role": "assistant", "content": message.content}
|
||||
if message.tool_calls:
|
||||
function_calling_type = credentials.get('function_calling_type', 'no_call')
|
||||
if function_calling_type == 'tool_call':
|
||||
message_dict["tool_calls"] = [tool_call.dict() for tool_call in
|
||||
message.tool_calls]
|
||||
elif function_calling_type == 'function_call':
|
||||
function_call = message.tool_calls[0]
|
||||
message_dict["function_call"] = {
|
||||
"name": function_call.function.name,
|
||||
"arguments": function_call.function.arguments,
|
||||
}
|
||||
# message_dict["tool_calls"] = [helper.dump_model(PromptMessageFunction(function=tool_call)) for tool_call
|
||||
# in
|
||||
# message.tool_calls]
|
||||
|
||||
function_call = message.tool_calls[0]
|
||||
message_dict["function_call"] = {
|
||||
"name": function_call.function.name,
|
||||
"arguments": function_call.function.arguments,
|
||||
}
|
||||
elif isinstance(message, SystemPromptMessage):
|
||||
message = cast(SystemPromptMessage, message)
|
||||
message_dict = {"role": "system", "content": message.content}
|
||||
elif isinstance(message, ToolPromptMessage):
|
||||
message = cast(ToolPromptMessage, message)
|
||||
function_calling_type = credentials.get('function_calling_type', 'no_call')
|
||||
if function_calling_type == 'tool_call':
|
||||
message_dict = {
|
||||
"role": "tool",
|
||||
"content": message.content,
|
||||
"tool_call_id": message.tool_call_id
|
||||
}
|
||||
elif function_calling_type == 'function_call':
|
||||
message_dict = {
|
||||
"role": "function",
|
||||
"content": message.content,
|
||||
"name": message.tool_call_id
|
||||
}
|
||||
# message_dict = {
|
||||
# "role": "tool",
|
||||
# "content": message.content,
|
||||
# "tool_call_id": message.tool_call_id
|
||||
# }
|
||||
message_dict = {
|
||||
"role": "tool" if credentials and credentials.get('function_calling_type', 'no_call') == 'tool_call' else "function",
|
||||
"content": message.content,
|
||||
"name": message.tool_call_id
|
||||
}
|
||||
else:
|
||||
raise ValueError(f"Got unknown type {message}")
|
||||
|
||||
|
||||
@ -1,40 +0,0 @@
|
||||
model: ernie-4.0-turbo-8k-preview
|
||||
label:
|
||||
en_US: Ernie-4.0-turbo-8k-preview
|
||||
model_type: llm
|
||||
features:
|
||||
- agent-thought
|
||||
model_properties:
|
||||
mode: chat
|
||||
context_size: 8192
|
||||
parameter_rules:
|
||||
- name: temperature
|
||||
use_template: temperature
|
||||
min: 0.1
|
||||
max: 1.0
|
||||
default: 0.8
|
||||
- name: top_p
|
||||
use_template: top_p
|
||||
- name: max_tokens
|
||||
use_template: max_tokens
|
||||
default: 1024
|
||||
min: 2
|
||||
max: 2048
|
||||
- name: presence_penalty
|
||||
use_template: presence_penalty
|
||||
default: 1.0
|
||||
min: 1.0
|
||||
max: 2.0
|
||||
- name: frequency_penalty
|
||||
use_template: frequency_penalty
|
||||
- name: response_format
|
||||
use_template: response_format
|
||||
- name: disable_search
|
||||
label:
|
||||
zh_Hans: 禁用搜索
|
||||
en_US: Disable Search
|
||||
type: boolean
|
||||
help:
|
||||
zh_Hans: 禁用模型自行进行外部搜索。
|
||||
en_US: Disable the model to perform external search.
|
||||
required: false
|
||||
@ -138,7 +138,6 @@ class ErnieBotModel:
|
||||
'ernie-lite-8k-0922': 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant',
|
||||
'ernie-lite-8k-0308': 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-lite-8k',
|
||||
'ernie-character-8k-0321': 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-char-8k',
|
||||
'ernie-4.0-tutbo-8k-preview': 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-4.0-turbo-8k-preview',
|
||||
}
|
||||
|
||||
function_calling_supports = [
|
||||
@ -150,7 +149,6 @@ class ErnieBotModel:
|
||||
'ernie-3.5-4k-0205',
|
||||
'ernie-3.5-128k',
|
||||
'ernie-4.0-8k'
|
||||
'ernie-4.0-turbo-8k-preview'
|
||||
]
|
||||
|
||||
api_key: str = ''
|
||||
|
||||
@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Optional
|
||||
import httpx
|
||||
|
||||
from ..core._base_api import BaseAPI
|
||||
from ..core._base_type import NOT_GIVEN, Body, Headers, NotGiven
|
||||
from ..core._base_type import NOT_GIVEN, Headers, NotGiven
|
||||
from ..core._http_client import make_user_request_input
|
||||
from ..types.image import ImagesResponded
|
||||
|
||||
@ -28,9 +28,7 @@ class Images(BaseAPI):
|
||||
size: Optional[str] | NotGiven = NOT_GIVEN,
|
||||
style: Optional[str] | NotGiven = NOT_GIVEN,
|
||||
user: str | NotGiven = NOT_GIVEN,
|
||||
request_id: Optional[str] | NotGiven = NOT_GIVEN,
|
||||
extra_headers: Headers | None = None,
|
||||
extra_body: Body | None = None,
|
||||
disable_strict_validation: Optional[bool] | None = None,
|
||||
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
||||
) -> ImagesResponded:
|
||||
@ -48,12 +46,9 @@ class Images(BaseAPI):
|
||||
"size": size,
|
||||
"style": style,
|
||||
"user": user,
|
||||
"request_id": request_id,
|
||||
},
|
||||
options=make_user_request_input(
|
||||
extra_headers=extra_headers,
|
||||
extra_body=extra_body,
|
||||
timeout=timeout
|
||||
extra_headers=extra_headers, timeout=timeout
|
||||
),
|
||||
cast_type=_cast_type,
|
||||
enable_stream=False,
|
||||
|
||||
@ -11,7 +11,7 @@ from tenacity import retry
|
||||
from tenacity.stop import stop_after_attempt
|
||||
|
||||
from . import _errors
|
||||
from ._base_type import NOT_GIVEN, AnyMapping, Body, Data, Headers, NotGiven, Query, RequestFiles, ResponseT
|
||||
from ._base_type import NOT_GIVEN, Body, Data, Headers, NotGiven, Query, RequestFiles, ResponseT
|
||||
from ._errors import APIResponseValidationError, APIStatusError, APITimeoutError
|
||||
from ._files import make_httpx_files
|
||||
from ._request_opt import ClientRequestParam, UserRequestInput
|
||||
@ -358,7 +358,6 @@ def make_user_request_input(
|
||||
max_retries: int | None = None,
|
||||
timeout: float | Timeout | None | NotGiven = NOT_GIVEN,
|
||||
extra_headers: Headers = None,
|
||||
extra_body: Body | None = None,
|
||||
query: Query | None = None,
|
||||
) -> UserRequestInput:
|
||||
options: UserRequestInput = {}
|
||||
@ -371,7 +370,5 @@ def make_user_request_input(
|
||||
options['timeout'] = timeout
|
||||
if query is not None:
|
||||
options["params"] = query
|
||||
if extra_body is not None:
|
||||
options["extra_json"] = cast(AnyMapping, extra_body)
|
||||
|
||||
return options
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
from typing import Any
|
||||
|
||||
from configs import dify_config
|
||||
from flask import current_app
|
||||
|
||||
from core.rag.datasource.keyword.jieba.jieba import Jieba
|
||||
from core.rag.datasource.keyword.keyword_base import BaseKeyword
|
||||
from core.rag.models.document import Document
|
||||
@ -13,8 +14,8 @@ class Keyword:
|
||||
self._keyword_processor = self._init_keyword()
|
||||
|
||||
def _init_keyword(self) -> BaseKeyword:
|
||||
config = dify_config
|
||||
keyword_type = config.KEYWORD_STORE
|
||||
config = current_app.config
|
||||
keyword_type = config.get('KEYWORD_STORE')
|
||||
|
||||
if not keyword_type:
|
||||
raise ValueError("Keyword store must be specified.")
|
||||
|
||||
@ -46,6 +46,7 @@ class FirecrawlApp:
|
||||
raise Exception(f'Failed to scrape URL. Status code: {response.status_code}')
|
||||
|
||||
def crawl_url(self, url, params=None) -> str:
|
||||
start_time = time.time()
|
||||
headers = self._prepare_headers()
|
||||
json_data = {'url': url}
|
||||
if params:
|
||||
|
||||
@ -18,8 +18,8 @@ class MarkdownExtractor(BaseExtractor):
|
||||
def __init__(
|
||||
self,
|
||||
file_path: str,
|
||||
remove_hyperlinks: bool = False,
|
||||
remove_images: bool = False,
|
||||
remove_hyperlinks: bool = True,
|
||||
remove_images: bool = True,
|
||||
encoding: Optional[str] = None,
|
||||
autodetect_encoding: bool = True,
|
||||
):
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB |
@ -1,27 +0,0 @@
|
||||
""" Provide the input parameters type for the cogview provider class """
|
||||
from typing import Any
|
||||
|
||||
from core.tools.errors import ToolProviderCredentialValidationError
|
||||
from core.tools.provider.builtin.cogview.tools.cogview3 import CogView3Tool
|
||||
from core.tools.provider.builtin_tool_provider import BuiltinToolProviderController
|
||||
|
||||
|
||||
class COGVIEWProvider(BuiltinToolProviderController):
|
||||
""" cogview provider """
|
||||
def _validate_credentials(self, credentials: dict[str, Any]) -> None:
|
||||
try:
|
||||
CogView3Tool().fork_tool_runtime(
|
||||
runtime={
|
||||
"credentials": credentials,
|
||||
}
|
||||
).invoke(
|
||||
user_id='',
|
||||
tool_parameters={
|
||||
"prompt": "一个城市在水晶瓶中欢快生活的场景,水彩画风格,展现出微观与珠宝般的美丽。",
|
||||
"size": "square",
|
||||
"n": 1
|
||||
},
|
||||
)
|
||||
except Exception as e:
|
||||
raise ToolProviderCredentialValidationError(str(e)) from e
|
||||
|
||||
@ -1,61 +0,0 @@
|
||||
identity:
|
||||
author: Waffle
|
||||
name: cogview
|
||||
label:
|
||||
en_US: CogView
|
||||
zh_Hans: CogView 绘画
|
||||
pt_BR: CogView
|
||||
description:
|
||||
en_US: CogView art
|
||||
zh_Hans: CogView 绘画
|
||||
pt_BR: CogView art
|
||||
icon: icon.png
|
||||
tags:
|
||||
- image
|
||||
- productivity
|
||||
credentials_for_provider:
|
||||
zhipuai_api_key:
|
||||
type: secret-input
|
||||
required: true
|
||||
label:
|
||||
en_US: ZhipuAI API key
|
||||
zh_Hans: ZhipuAI API key
|
||||
pt_BR: ZhipuAI API key
|
||||
help:
|
||||
en_US: Please input your ZhipuAI API key
|
||||
zh_Hans: 请输入你的 ZhipuAI API key
|
||||
pt_BR: Please input your ZhipuAI API key
|
||||
placeholder:
|
||||
en_US: Please input your ZhipuAI API key
|
||||
zh_Hans: 请输入你的 ZhipuAI API key
|
||||
pt_BR: Please input your ZhipuAI API key
|
||||
zhipuai_organizaion_id:
|
||||
type: text-input
|
||||
required: false
|
||||
label:
|
||||
en_US: ZhipuAI organization ID
|
||||
zh_Hans: ZhipuAI organization ID
|
||||
pt_BR: ZhipuAI organization ID
|
||||
help:
|
||||
en_US: Please input your ZhipuAI organization ID
|
||||
zh_Hans: 请输入你的 ZhipuAI organization ID
|
||||
pt_BR: Please input your ZhipuAI organization ID
|
||||
placeholder:
|
||||
en_US: Please input your ZhipuAI organization ID
|
||||
zh_Hans: 请输入你的 ZhipuAI organization ID
|
||||
pt_BR: Please input your ZhipuAI organization ID
|
||||
zhipuai_base_url:
|
||||
type: text-input
|
||||
required: false
|
||||
label:
|
||||
en_US: ZhipuAI base URL
|
||||
zh_Hans: ZhipuAI base URL
|
||||
pt_BR: ZhipuAI base URL
|
||||
help:
|
||||
en_US: Please input your ZhipuAI base URL
|
||||
zh_Hans: 请输入你的 ZhipuAI base URL
|
||||
pt_BR: Please input your ZhipuAI base URL
|
||||
placeholder:
|
||||
en_US: Please input your ZhipuAI base URL
|
||||
zh_Hans: 请输入你的 ZhipuAI base URL
|
||||
pt_BR: Please input your ZhipuAI base URL
|
||||
@ -1,69 +0,0 @@
|
||||
import random
|
||||
from typing import Any, Union
|
||||
|
||||
from core.model_runtime.model_providers.zhipuai.zhipuai_sdk._client import ZhipuAI
|
||||
from core.tools.entities.tool_entities import ToolInvokeMessage
|
||||
from core.tools.tool.builtin_tool import BuiltinTool
|
||||
|
||||
|
||||
class CogView3Tool(BuiltinTool):
|
||||
""" CogView3 Tool """
|
||||
|
||||
def _invoke(self,
|
||||
user_id: str,
|
||||
tool_parameters: dict[str, Any]
|
||||
) -> Union[ToolInvokeMessage, list[ToolInvokeMessage]]:
|
||||
"""
|
||||
Invoke CogView3 tool
|
||||
"""
|
||||
client = ZhipuAI(
|
||||
base_url=self.runtime.credentials['zhipuai_base_url'],
|
||||
api_key=self.runtime.credentials['zhipuai_api_key'],
|
||||
)
|
||||
size_mapping = {
|
||||
'square': '1024x1024',
|
||||
'vertical': '1024x1792',
|
||||
'horizontal': '1792x1024',
|
||||
}
|
||||
# prompt
|
||||
prompt = tool_parameters.get('prompt', '')
|
||||
if not prompt:
|
||||
return self.create_text_message('Please input prompt')
|
||||
# get size
|
||||
print(tool_parameters.get('prompt', 'square'))
|
||||
size = size_mapping[tool_parameters.get('size', 'square')]
|
||||
# get n
|
||||
n = tool_parameters.get('n', 1)
|
||||
# get quality
|
||||
quality = tool_parameters.get('quality', 'standard')
|
||||
if quality not in ['standard', 'hd']:
|
||||
return self.create_text_message('Invalid quality')
|
||||
# get style
|
||||
style = tool_parameters.get('style', 'vivid')
|
||||
if style not in ['natural', 'vivid']:
|
||||
return self.create_text_message('Invalid style')
|
||||
# set extra body
|
||||
seed_id = tool_parameters.get('seed_id', self._generate_random_id(8))
|
||||
extra_body = {'seed': seed_id}
|
||||
response = client.images.generations(
|
||||
prompt=prompt,
|
||||
model="cogview-3",
|
||||
size=size,
|
||||
n=n,
|
||||
extra_body=extra_body,
|
||||
style=style,
|
||||
quality=quality,
|
||||
response_format='b64_json'
|
||||
)
|
||||
result = []
|
||||
for image in response.data:
|
||||
result.append(self.create_image_message(image=image.url))
|
||||
result.append(self.create_text_message(
|
||||
f'\nGenerate image source to Seed ID: {seed_id}'))
|
||||
return result
|
||||
|
||||
@staticmethod
|
||||
def _generate_random_id(length=8):
|
||||
characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
|
||||
random_id = ''.join(random.choices(characters, k=length))
|
||||
return random_id
|
||||
@ -1,123 +0,0 @@
|
||||
identity:
|
||||
name: cogview3
|
||||
author: Waffle
|
||||
label:
|
||||
en_US: CogView 3
|
||||
zh_Hans: CogView 3 绘画
|
||||
pt_BR: CogView 3
|
||||
description:
|
||||
en_US: CogView 3 is a powerful drawing tool that can draw the image you want based on your prompt
|
||||
zh_Hans: CogView 3 是一个强大的绘画工具,它可以根据您的提示词绘制出您想要的图像
|
||||
pt_BR: CogView 3 is a powerful drawing tool that can draw the image you want based on your prompt
|
||||
description:
|
||||
human:
|
||||
en_US: CogView 3 is a text to image tool
|
||||
zh_Hans: CogView 3 是一个文本到图像的工具
|
||||
pt_BR: CogView 3 is a text to image tool
|
||||
llm: CogView 3 is a tool used to generate images from text
|
||||
parameters:
|
||||
- name: prompt
|
||||
type: string
|
||||
required: true
|
||||
label:
|
||||
en_US: Prompt
|
||||
zh_Hans: 提示词
|
||||
pt_BR: Prompt
|
||||
human_description:
|
||||
en_US: Image prompt, you can check the official documentation of CogView 3
|
||||
zh_Hans: 图像提示词,您可以查看CogView 3 的官方文档
|
||||
pt_BR: Image prompt, you can check the official documentation of CogView 3
|
||||
llm_description: Image prompt of CogView 3, you should describe the image you want to generate as a list of words as possible as detailed
|
||||
form: llm
|
||||
- name: size
|
||||
type: select
|
||||
required: true
|
||||
human_description:
|
||||
en_US: selecting the image size
|
||||
zh_Hans: 选择图像大小
|
||||
pt_BR: selecting the image size
|
||||
label:
|
||||
en_US: Image size
|
||||
zh_Hans: 图像大小
|
||||
pt_BR: Image size
|
||||
form: form
|
||||
options:
|
||||
- value: square
|
||||
label:
|
||||
en_US: Squre(1024x1024)
|
||||
zh_Hans: 方(1024x1024)
|
||||
pt_BR: Squre(1024x1024)
|
||||
- value: vertical
|
||||
label:
|
||||
en_US: Vertical(1024x1792)
|
||||
zh_Hans: 竖屏(1024x1792)
|
||||
pt_BR: Vertical(1024x1792)
|
||||
- value: horizontal
|
||||
label:
|
||||
en_US: Horizontal(1792x1024)
|
||||
zh_Hans: 横屏(1792x1024)
|
||||
pt_BR: Horizontal(1792x1024)
|
||||
default: square
|
||||
- name: n
|
||||
type: number
|
||||
required: true
|
||||
human_description:
|
||||
en_US: selecting the number of images
|
||||
zh_Hans: 选择图像数量
|
||||
pt_BR: selecting the number of images
|
||||
label:
|
||||
en_US: Number of images
|
||||
zh_Hans: 图像数量
|
||||
pt_BR: Number of images
|
||||
form: form
|
||||
min: 1
|
||||
max: 1
|
||||
default: 1
|
||||
- name: quality
|
||||
type: select
|
||||
required: true
|
||||
human_description:
|
||||
en_US: selecting the image quality
|
||||
zh_Hans: 选择图像质量
|
||||
pt_BR: selecting the image quality
|
||||
label:
|
||||
en_US: Image quality
|
||||
zh_Hans: 图像质量
|
||||
pt_BR: Image quality
|
||||
form: form
|
||||
options:
|
||||
- value: standard
|
||||
label:
|
||||
en_US: Standard
|
||||
zh_Hans: 标准
|
||||
pt_BR: Standard
|
||||
- value: hd
|
||||
label:
|
||||
en_US: HD
|
||||
zh_Hans: 高清
|
||||
pt_BR: HD
|
||||
default: standard
|
||||
- name: style
|
||||
type: select
|
||||
required: true
|
||||
human_description:
|
||||
en_US: selecting the image style
|
||||
zh_Hans: 选择图像风格
|
||||
pt_BR: selecting the image style
|
||||
label:
|
||||
en_US: Image style
|
||||
zh_Hans: 图像风格
|
||||
pt_BR: Image style
|
||||
form: form
|
||||
options:
|
||||
- value: vivid
|
||||
label:
|
||||
en_US: Vivid
|
||||
zh_Hans: 生动
|
||||
pt_BR: Vivid
|
||||
- value: natural
|
||||
label:
|
||||
en_US: Natural
|
||||
zh_Hans: 自然
|
||||
pt_BR: Natural
|
||||
default: vivid
|
||||
@ -1,4 +1,3 @@
|
||||
import logging
|
||||
import time
|
||||
from collections.abc import Mapping
|
||||
from typing import Any
|
||||
@ -6,7 +5,6 @@ from typing import Any
|
||||
import requests
|
||||
from requests.exceptions import HTTPError
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class FirecrawlApp:
|
||||
def __init__(self, api_key: str | None = None, base_url: str | None = None):
|
||||
@ -50,7 +48,6 @@ class FirecrawlApp:
|
||||
headers = self._prepare_headers()
|
||||
data = {'url': url, **kwargs}
|
||||
response = self._request('POST', endpoint, data, headers)
|
||||
logger.debug(f"Sent request to {endpoint=} body={data}")
|
||||
if response is None:
|
||||
raise HTTPError("Failed to scrape URL after multiple retries")
|
||||
return response
|
||||
@ -60,7 +57,6 @@ class FirecrawlApp:
|
||||
headers = self._prepare_headers()
|
||||
data = {'query': query, **kwargs}
|
||||
response = self._request('POST', endpoint, data, headers)
|
||||
logger.debug(f"Sent request to {endpoint=} body={data}")
|
||||
if response is None:
|
||||
raise HTTPError("Failed to perform search after multiple retries")
|
||||
return response
|
||||
@ -70,9 +66,8 @@ class FirecrawlApp:
|
||||
):
|
||||
endpoint = f'{self.base_url}/v0/crawl'
|
||||
headers = self._prepare_headers(idempotency_key)
|
||||
data = {'url': url, **kwargs['params']}
|
||||
data = {'url': url, **kwargs}
|
||||
response = self._request('POST', endpoint, data, headers)
|
||||
logger.debug(f"Sent request to {endpoint=} body={data}")
|
||||
if response is None:
|
||||
raise HTTPError("Failed to initiate crawl after multiple retries")
|
||||
job_id: str = response['jobId']
|
||||
|
||||
@ -238,7 +238,7 @@ class ApiTool(Tool):
|
||||
return int(value)
|
||||
elif property['type'] == 'number':
|
||||
# check if it is a float
|
||||
if '.' in str(value):
|
||||
if '.' in value:
|
||||
return float(value)
|
||||
else:
|
||||
return int(value)
|
||||
|
||||
@ -60,8 +60,6 @@ class IfElseNode(BaseNode):
|
||||
|
||||
final_result = all(group_result) if node_data.logical_operator == "and" else any(group_result)
|
||||
|
||||
selected_case_id = "true" if final_result else "false"
|
||||
|
||||
process_datas["condition_results"].append(
|
||||
{
|
||||
"group": "default",
|
||||
@ -80,7 +78,11 @@ class IfElseNode(BaseNode):
|
||||
error=str(e)
|
||||
)
|
||||
|
||||
outputs = {"result": final_result, "selected_case_id": selected_case_id}
|
||||
outputs = {
|
||||
"result": final_result
|
||||
}
|
||||
if node_data.cases:
|
||||
outputs["selected_case_id"] = selected_case_id
|
||||
|
||||
data = NodeRunResult(
|
||||
status=WorkflowNodeExecutionStatus.SUCCEEDED,
|
||||
|
||||
@ -38,8 +38,9 @@ class AzureStorage(BaseStorage):
|
||||
def generate(filename: str = filename) -> Generator:
|
||||
blob = client.get_blob_client(container=self.bucket_name, blob=filename)
|
||||
blob_data = blob.download_blob()
|
||||
yield from blob_data.chunks()
|
||||
return generate(filename)
|
||||
for chunk in blob_data.chunks():
|
||||
yield from chunk
|
||||
return generate()
|
||||
|
||||
def download(self, filename, target_filepath):
|
||||
client = self._sync_client()
|
||||
|
||||
@ -2,10 +2,10 @@ import datetime
|
||||
import time
|
||||
|
||||
import click
|
||||
from flask import current_app
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
import app
|
||||
from configs import dify_config
|
||||
from extensions.ext_database import db
|
||||
from models.dataset import Embedding
|
||||
|
||||
@ -13,7 +13,7 @@ from models.dataset import Embedding
|
||||
@app.celery.task(queue='dataset')
|
||||
def clean_embedding_cache_task():
|
||||
click.echo(click.style('Start clean embedding cache.', fg='green'))
|
||||
clean_days = int(dify_config.CLEAN_DAY_SETTING)
|
||||
clean_days = int(current_app.config.get('CLEAN_DAY_SETTING'))
|
||||
start_at = time.perf_counter()
|
||||
thirty_days_ago = datetime.datetime.now() - datetime.timedelta(days=clean_days)
|
||||
page = 1
|
||||
|
||||
@ -2,10 +2,10 @@ import datetime
|
||||
import time
|
||||
|
||||
import click
|
||||
from flask import current_app
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
import app
|
||||
from configs import dify_config
|
||||
from core.rag.index_processor.index_processor_factory import IndexProcessorFactory
|
||||
from extensions.ext_database import db
|
||||
from models.dataset import Dataset, DatasetQuery, Document
|
||||
@ -14,7 +14,7 @@ from models.dataset import Dataset, DatasetQuery, Document
|
||||
@app.celery.task(queue='dataset')
|
||||
def clean_unused_datasets_task():
|
||||
click.echo(click.style('Start clean unused datasets indexes.', fg='green'))
|
||||
clean_days = int(dify_config.CLEAN_DAY_SETTING)
|
||||
clean_days = int(current_app.config.get('CLEAN_DAY_SETTING'))
|
||||
start_at = time.perf_counter()
|
||||
thirty_days_ago = datetime.datetime.now() - datetime.timedelta(days=clean_days)
|
||||
page = 1
|
||||
|
||||
@ -6,10 +6,10 @@ from datetime import datetime, timedelta, timezone
|
||||
from hashlib import sha256
|
||||
from typing import Any, Optional
|
||||
|
||||
from flask import current_app
|
||||
from sqlalchemy import func
|
||||
from werkzeug.exceptions import Unauthorized
|
||||
|
||||
from configs import dify_config
|
||||
from constants.languages import language_timezone_mapping, languages
|
||||
from events.tenant_event import tenant_was_created
|
||||
from extensions.ext_redis import redis_client
|
||||
@ -80,7 +80,7 @@ class AccountService:
|
||||
payload = {
|
||||
"user_id": account.id,
|
||||
"exp": datetime.now(timezone.utc).replace(tzinfo=None) + exp,
|
||||
"iss": dify_config.EDITION,
|
||||
"iss": current_app.config['EDITION'],
|
||||
"sub": 'Console API Passport',
|
||||
}
|
||||
|
||||
@ -524,7 +524,7 @@ class RegisterService:
|
||||
TenantService.create_owner_tenant_if_not_exist(account)
|
||||
|
||||
dify_setup = DifySetup(
|
||||
version=dify_config.CURRENT_VERSION
|
||||
version=current_app.config['CURRENT_VERSION']
|
||||
)
|
||||
db.session.add(dify_setup)
|
||||
db.session.commit()
|
||||
@ -559,7 +559,7 @@ class RegisterService:
|
||||
|
||||
if open_id is not None or provider is not None:
|
||||
AccountService.link_account_integrate(provider, open_id, account)
|
||||
if dify_config.EDITION != 'SELF_HOSTED':
|
||||
if current_app.config['EDITION'] != 'SELF_HOSTED':
|
||||
tenant = TenantService.create_tenant(f"{account.name}'s Workspace")
|
||||
|
||||
TenantService.create_tenant_member(tenant, account, role='owner')
|
||||
@ -623,7 +623,7 @@ class RegisterService:
|
||||
'email': account.email,
|
||||
'workspace_id': tenant.id,
|
||||
}
|
||||
expiryHours = dify_config.INVITE_EXPIRY_HOURS
|
||||
expiryHours = current_app.config['INVITE_EXPIRY_HOURS']
|
||||
redis_client.setex(
|
||||
cls._get_invitation_token_key(token),
|
||||
expiryHours * 60 * 60,
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
from collections.abc import Generator
|
||||
from typing import Any, Union
|
||||
|
||||
from configs import dify_config
|
||||
from core.app.apps.advanced_chat.app_generator import AdvancedChatAppGenerator
|
||||
from core.app.apps.agent_chat.app_generator import AgentChatAppGenerator
|
||||
from core.app.apps.chat.app_generator import ChatAppGenerator
|
||||
@ -90,7 +89,8 @@ class AppGenerateService:
|
||||
def _get_max_active_requests(app_model: App) -> int:
|
||||
max_active_requests = app_model.max_active_requests
|
||||
if app_model.max_active_requests is None:
|
||||
max_active_requests = int(dify_config.APP_MAX_ACTIVE_REQUESTS)
|
||||
from flask import current_app
|
||||
max_active_requests = int(current_app.config['APP_MAX_ACTIVE_REQUESTS'])
|
||||
return max_active_requests
|
||||
|
||||
@classmethod
|
||||
|
||||
@ -4,10 +4,10 @@ from datetime import datetime, timezone
|
||||
from typing import cast
|
||||
|
||||
import yaml
|
||||
from flask import current_app
|
||||
from flask_login import current_user
|
||||
from flask_sqlalchemy.pagination import Pagination
|
||||
|
||||
from configs import dify_config
|
||||
from constants.model_template import default_app_templates
|
||||
from core.agent.entities import AgentToolEntity
|
||||
from core.app.features.rate_limiting import RateLimit
|
||||
@ -446,7 +446,7 @@ class AppService:
|
||||
# get all tools
|
||||
tools = agent_config.get('tools', [])
|
||||
|
||||
url_prefix = (dify_config.CONSOLE_API_URL
|
||||
url_prefix = (current_app.config.get("CONSOLE_API_URL")
|
||||
+ "/console/api/workspaces/current/tool-provider/builtin/")
|
||||
|
||||
for tool in tools:
|
||||
|
||||
@ -6,10 +6,10 @@ import time
|
||||
import uuid
|
||||
from typing import Optional
|
||||
|
||||
from flask import current_app
|
||||
from flask_login import current_user
|
||||
from sqlalchemy import func
|
||||
|
||||
from configs import dify_config
|
||||
from core.errors.error import LLMBadRequestError, ProviderTokenNotInitError
|
||||
from core.model_manager import ModelManager
|
||||
from core.model_runtime.entities.model_entities import ModelType
|
||||
@ -650,7 +650,7 @@ class DocumentService:
|
||||
elif document_data["data_source"]["type"] == "website_crawl":
|
||||
website_info = document_data["data_source"]['info_list']['website_info_list']
|
||||
count = len(website_info['urls'])
|
||||
batch_upload_limit = int(dify_config.BATCH_UPLOAD_LIMIT)
|
||||
batch_upload_limit = int(current_app.config['BATCH_UPLOAD_LIMIT'])
|
||||
if count > batch_upload_limit:
|
||||
raise ValueError(f"You have reached the batch upload limit of {batch_upload_limit}.")
|
||||
|
||||
@ -1028,7 +1028,7 @@ class DocumentService:
|
||||
elif document_data["data_source"]["type"] == "website_crawl":
|
||||
website_info = document_data["data_source"]['info_list']['website_info_list']
|
||||
count = len(website_info['urls'])
|
||||
batch_upload_limit = int(dify_config.BATCH_UPLOAD_LIMIT)
|
||||
batch_upload_limit = int(current_app.config['BATCH_UPLOAD_LIMIT'])
|
||||
if count > batch_upload_limit:
|
||||
raise ValueError(f"You have reached the batch upload limit of {batch_upload_limit}.")
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
from enum import Enum
|
||||
from typing import Optional
|
||||
|
||||
from flask import current_app
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
from configs import dify_config
|
||||
from core.entities.model_entities import ModelWithProviderEntity, ProviderModelWithStatusEntity
|
||||
from core.entities.provider_entities import QuotaConfiguration
|
||||
from core.model_runtime.entities.common_entities import I18nObject
|
||||
@ -67,7 +67,7 @@ class ProviderResponse(BaseModel):
|
||||
def __init__(self, **data) -> None:
|
||||
super().__init__(**data)
|
||||
|
||||
url_prefix = (dify_config.CONSOLE_API_URL
|
||||
url_prefix = (current_app.config.get("CONSOLE_API_URL")
|
||||
+ f"/console/api/workspaces/current/model-providers/{self.provider}")
|
||||
if self.icon_small is not None:
|
||||
self.icon_small = I18nObject(
|
||||
@ -96,7 +96,7 @@ class ProviderWithModelsResponse(BaseModel):
|
||||
def __init__(self, **data) -> None:
|
||||
super().__init__(**data)
|
||||
|
||||
url_prefix = (dify_config.CONSOLE_API_URL
|
||||
url_prefix = (current_app.config.get("CONSOLE_API_URL")
|
||||
+ f"/console/api/workspaces/current/model-providers/{self.provider}")
|
||||
if self.icon_small is not None:
|
||||
self.icon_small = I18nObject(
|
||||
@ -119,7 +119,7 @@ class SimpleProviderEntityResponse(SimpleProviderEntity):
|
||||
def __init__(self, **data) -> None:
|
||||
super().__init__(**data)
|
||||
|
||||
url_prefix = (dify_config.CONSOLE_API_URL
|
||||
url_prefix = (current_app.config.get("CONSOLE_API_URL")
|
||||
+ f"/console/api/workspaces/current/model-providers/{self.provider}")
|
||||
if self.icon_small is not None:
|
||||
self.icon_small = I18nObject(
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
from flask import current_app
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
from configs import dify_config
|
||||
from services.billing_service import BillingService
|
||||
from services.enterprise.enterprise_service import EnterpriseService
|
||||
|
||||
@ -51,7 +51,7 @@ class FeatureService:
|
||||
|
||||
cls._fulfill_params_from_env(features)
|
||||
|
||||
if dify_config.BILLING_ENABLED:
|
||||
if current_app.config['BILLING_ENABLED']:
|
||||
cls._fulfill_params_from_billing_api(features, tenant_id)
|
||||
|
||||
return features
|
||||
@ -60,16 +60,16 @@ class FeatureService:
|
||||
def get_system_features(cls) -> SystemFeatureModel:
|
||||
system_features = SystemFeatureModel()
|
||||
|
||||
if dify_config.ENTERPRISE_ENABLED:
|
||||
if current_app.config['ENTERPRISE_ENABLED']:
|
||||
cls._fulfill_params_from_enterprise(system_features)
|
||||
|
||||
return system_features
|
||||
|
||||
@classmethod
|
||||
def _fulfill_params_from_env(cls, features: FeatureModel):
|
||||
features.can_replace_logo = dify_config.CAN_REPLACE_LOGO
|
||||
features.model_load_balancing_enabled = dify_config.MODEL_LB_ENABLED
|
||||
features.dataset_operator_enabled = dify_config.DATASET_OPERATOR_ENABLED
|
||||
features.can_replace_logo = current_app.config['CAN_REPLACE_LOGO']
|
||||
features.model_load_balancing_enabled = current_app.config['MODEL_LB_ENABLED']
|
||||
features.dataset_operator_enabled = current_app.config['DATASET_OPERATOR_ENABLED']
|
||||
|
||||
@classmethod
|
||||
def _fulfill_params_from_billing_api(cls, features: FeatureModel, tenant_id: str):
|
||||
|
||||
@ -4,11 +4,11 @@ import uuid
|
||||
from collections.abc import Generator
|
||||
from typing import Union
|
||||
|
||||
from flask import current_app
|
||||
from flask_login import current_user
|
||||
from werkzeug.datastructures import FileStorage
|
||||
from werkzeug.exceptions import NotFound
|
||||
|
||||
from configs import dify_config
|
||||
from core.file.upload_file_parser import UploadFileParser
|
||||
from core.rag.extractor.extract_processor import ExtractProcessor
|
||||
from extensions.ext_database import db
|
||||
@ -35,7 +35,7 @@ class FileService:
|
||||
extension = file.filename.split('.')[-1]
|
||||
if len(filename) > 200:
|
||||
filename = filename.split('.')[0][:200] + '.' + extension
|
||||
etl_type = dify_config.ETL_TYPE
|
||||
etl_type = current_app.config['ETL_TYPE']
|
||||
allowed_extensions = UNSTRUCTURED_ALLOWED_EXTENSIONS + IMAGE_EXTENSIONS if etl_type == 'Unstructured' \
|
||||
else ALLOWED_EXTENSIONS + IMAGE_EXTENSIONS
|
||||
if extension.lower() not in allowed_extensions:
|
||||
@ -50,9 +50,9 @@ class FileService:
|
||||
file_size = len(file_content)
|
||||
|
||||
if extension.lower() in IMAGE_EXTENSIONS:
|
||||
file_size_limit = dify_config.UPLOAD_IMAGE_FILE_SIZE_LIMIT * 1024 * 1024
|
||||
file_size_limit = current_app.config.get("UPLOAD_IMAGE_FILE_SIZE_LIMIT") * 1024 * 1024
|
||||
else:
|
||||
file_size_limit = dify_config.UPLOAD_FILE_SIZE_LIMIT * 1024 * 1024
|
||||
file_size_limit = current_app.config.get("UPLOAD_FILE_SIZE_LIMIT") * 1024 * 1024
|
||||
|
||||
if file_size > file_size_limit:
|
||||
message = f'File size exceeded. {file_size} > {file_size_limit}'
|
||||
@ -73,9 +73,10 @@ class FileService:
|
||||
storage.save(file_key, file_content)
|
||||
|
||||
# save file to db
|
||||
config = current_app.config
|
||||
upload_file = UploadFile(
|
||||
tenant_id=current_tenant_id,
|
||||
storage_type=dify_config.STORAGE_TYPE,
|
||||
storage_type=config['STORAGE_TYPE'],
|
||||
key=file_key,
|
||||
name=filename,
|
||||
size=file_size,
|
||||
@ -105,9 +106,10 @@ class FileService:
|
||||
storage.save(file_key, text.encode('utf-8'))
|
||||
|
||||
# save file to db
|
||||
config = current_app.config
|
||||
upload_file = UploadFile(
|
||||
tenant_id=current_user.current_tenant_id,
|
||||
storage_type=dify_config.STORAGE_TYPE,
|
||||
storage_type=config['STORAGE_TYPE'],
|
||||
key=file_key,
|
||||
name=text_name + '.txt',
|
||||
size=len(text),
|
||||
@ -136,7 +138,7 @@ class FileService:
|
||||
|
||||
# extract text from file
|
||||
extension = upload_file.extension
|
||||
etl_type = dify_config.ETL_TYPE
|
||||
etl_type = current_app.config['ETL_TYPE']
|
||||
allowed_extensions = UNSTRUCTURED_ALLOWED_EXTENSIONS if etl_type == 'Unstructured' else ALLOWED_EXTENSIONS
|
||||
if extension.lower() not in allowed_extensions:
|
||||
raise UnsupportedFileTypeError()
|
||||
|
||||
@ -4,8 +4,8 @@ from os import path
|
||||
from typing import Optional
|
||||
|
||||
import requests
|
||||
from flask import current_app
|
||||
|
||||
from configs import dify_config
|
||||
from constants.languages import languages
|
||||
from extensions.ext_database import db
|
||||
from models.model import App, RecommendedApp
|
||||
@ -25,7 +25,7 @@ class RecommendedAppService:
|
||||
:param language: language
|
||||
:return:
|
||||
"""
|
||||
mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE
|
||||
mode = current_app.config.get('HOSTED_FETCH_APP_TEMPLATES_MODE', 'remote')
|
||||
if mode == 'remote':
|
||||
try:
|
||||
result = cls._fetch_recommended_apps_from_dify_official(language)
|
||||
@ -104,7 +104,7 @@ class RecommendedAppService:
|
||||
:param language: language
|
||||
:return:
|
||||
"""
|
||||
domain = dify_config.HOSTED_FETCH_APP_TEMPLATES_REMOTE_DOMAIN
|
||||
domain = current_app.config.get('HOSTED_FETCH_APP_TEMPLATES_REMOTE_DOMAIN', 'https://tmpl.dify.ai')
|
||||
url = f'{domain}/apps?language={language}'
|
||||
response = requests.get(url, timeout=(3, 10))
|
||||
if response.status_code != 200:
|
||||
@ -134,7 +134,7 @@ class RecommendedAppService:
|
||||
:param app_id: app id
|
||||
:return:
|
||||
"""
|
||||
mode = dify_config.HOSTED_FETCH_APP_TEMPLATES_MODE
|
||||
mode = current_app.config.get('HOSTED_FETCH_APP_TEMPLATES_MODE', 'remote')
|
||||
if mode == 'remote':
|
||||
try:
|
||||
result = cls._fetch_recommended_app_detail_from_dify_official(app_id)
|
||||
@ -157,7 +157,7 @@ class RecommendedAppService:
|
||||
:param app_id: App ID
|
||||
:return:
|
||||
"""
|
||||
domain = dify_config.HOSTED_FETCH_APP_TEMPLATES_REMOTE_DOMAIN
|
||||
domain = current_app.config.get('HOSTED_FETCH_APP_TEMPLATES_REMOTE_DOMAIN', 'https://tmpl.dify.ai')
|
||||
url = f'{domain}/apps/{app_id}'
|
||||
response = requests.get(url, timeout=(3, 10))
|
||||
if response.status_code != 200:
|
||||
|
||||
@ -429,7 +429,6 @@ class ApiToolManageService:
|
||||
db_provider=provider,
|
||||
decrypt_credentials=True
|
||||
)
|
||||
user_provider.labels = labels
|
||||
|
||||
# add icon
|
||||
ToolTransformService.repack_provider(user_provider)
|
||||
|
||||
@ -2,7 +2,8 @@ import json
|
||||
import logging
|
||||
from typing import Optional, Union
|
||||
|
||||
from configs import dify_config
|
||||
from flask import current_app
|
||||
|
||||
from core.tools.entities.api_entities import UserTool, UserToolProvider
|
||||
from core.tools.entities.common_entities import I18nObject
|
||||
from core.tools.entities.tool_bundle import ApiToolBundle
|
||||
@ -28,7 +29,7 @@ class ToolTransformService:
|
||||
"""
|
||||
get tool provider icon url
|
||||
"""
|
||||
url_prefix = (dify_config.CONSOLE_API_URL
|
||||
url_prefix = (current_app.config.get("CONSOLE_API_URL")
|
||||
+ "/console/api/workspaces/current/tool-provider/")
|
||||
|
||||
if provider_type == ToolProviderType.BUILT_IN.value:
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
from flask import current_app
|
||||
from flask_login import current_user
|
||||
|
||||
from configs import dify_config
|
||||
from extensions.ext_database import db
|
||||
from models.account import Tenant, TenantAccountJoin, TenantAccountJoinRole
|
||||
from services.account_service import TenantService
|
||||
@ -35,7 +35,7 @@ class WorkspaceService:
|
||||
|
||||
if can_replace_logo and TenantService.has_roles(tenant,
|
||||
[TenantAccountJoinRole.OWNER, TenantAccountJoinRole.ADMIN]):
|
||||
base_url = dify_config.FILES_URL
|
||||
base_url = current_app.config.get('FILES_URL')
|
||||
replace_webapp_logo = f'{base_url}/files/workspaces/{tenant.id}/webapp-logo' if tenant.custom_config_dict.get('replace_webapp_logo') else None
|
||||
remove_webapp_brand = tenant.custom_config_dict.get('remove_webapp_brand', False)
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@ import time
|
||||
|
||||
import click
|
||||
from celery import shared_task
|
||||
from flask import current_app
|
||||
|
||||
from configs import dify_config
|
||||
from core.indexing_runner import DocumentIsPausedException, IndexingRunner
|
||||
from extensions.ext_database import db
|
||||
from models.dataset import Dataset, Document
|
||||
@ -32,7 +32,7 @@ def document_indexing_task(dataset_id: str, document_ids: list):
|
||||
if features.billing.enabled:
|
||||
vector_space = features.vector_space
|
||||
count = len(document_ids)
|
||||
batch_upload_limit = int(dify_config.BATCH_UPLOAD_LIMIT)
|
||||
batch_upload_limit = int(current_app.config['BATCH_UPLOAD_LIMIT'])
|
||||
if count > batch_upload_limit:
|
||||
raise ValueError(f"You have reached the batch upload limit of {batch_upload_limit}.")
|
||||
if 0 < vector_space.limit <= vector_space.size:
|
||||
|
||||
@ -4,8 +4,8 @@ import time
|
||||
|
||||
import click
|
||||
from celery import shared_task
|
||||
from flask import current_app
|
||||
|
||||
from configs import dify_config
|
||||
from core.indexing_runner import DocumentIsPausedException, IndexingRunner
|
||||
from core.rag.index_processor.index_processor_factory import IndexProcessorFactory
|
||||
from extensions.ext_database import db
|
||||
@ -33,7 +33,7 @@ def duplicate_document_indexing_task(dataset_id: str, document_ids: list):
|
||||
if features.billing.enabled:
|
||||
vector_space = features.vector_space
|
||||
count = len(document_ids)
|
||||
batch_upload_limit = int(dify_config.BATCH_UPLOAD_LIMIT)
|
||||
batch_upload_limit = int(current_app.config['BATCH_UPLOAD_LIMIT'])
|
||||
if count > batch_upload_limit:
|
||||
raise ValueError(f"You have reached the batch upload limit of {batch_upload_limit}.")
|
||||
if 0 < vector_space.limit <= vector_space.size:
|
||||
|
||||
@ -3,9 +3,8 @@ import time
|
||||
|
||||
import click
|
||||
from celery import shared_task
|
||||
from flask import render_template
|
||||
from flask import current_app, render_template
|
||||
|
||||
from configs import dify_config
|
||||
from extensions.ext_mail import mail
|
||||
|
||||
|
||||
@ -30,7 +29,7 @@ def send_invite_member_mail_task(language: str, to: str, token: str, inviter_nam
|
||||
|
||||
# send invite member mail using different languages
|
||||
try:
|
||||
url = f'{dify_config.CONSOLE_WEB_URL}/activate?token={token}'
|
||||
url = f'{current_app.config.get("CONSOLE_WEB_URL")}/activate?token={token}'
|
||||
if language == 'zh-Hans':
|
||||
html_content = render_template('invite_member_mail_template_zh-CN.html',
|
||||
to=to,
|
||||
|
||||
@ -3,9 +3,8 @@ import time
|
||||
|
||||
import click
|
||||
from celery import shared_task
|
||||
from flask import render_template
|
||||
from flask import current_app, render_template
|
||||
|
||||
from configs import dify_config
|
||||
from extensions.ext_mail import mail
|
||||
|
||||
|
||||
@ -25,7 +24,7 @@ def send_reset_password_mail_task(language: str, to: str, token: str):
|
||||
|
||||
# send reset password mail using different languages
|
||||
try:
|
||||
url = f'{dify_config.CONSOLE_WEB_URL}/forgot-password?token={token}'
|
||||
url = f'{current_app.config.get("CONSOLE_WEB_URL")}/forgot-password?token={token}'
|
||||
if language == 'zh-Hans':
|
||||
html_content = render_template('reset_password_mail_template_zh-CN.html',
|
||||
to=to,
|
||||
|
||||
@ -40,7 +40,7 @@ services:
|
||||
# The default value is 300 seconds.
|
||||
FILES_ACCESS_TIMEOUT: 300
|
||||
# The maximum number of active requests for the application, where 0 means unlimited, should be a non-negative integer.
|
||||
APP_MAX_ACTIVE_REQUESTS: 0
|
||||
APP_MAX_ACTIVE_REQUESTS: ${FILES_ACCESS_TIMEOUT:-0}
|
||||
# When enabled, migrations will be executed prior to application startup and the application will start after the migrations have completed.
|
||||
MIGRATION_ENABLED: 'true'
|
||||
# The configurations of postgres database connection.
|
||||
|
||||
@ -12,7 +12,7 @@ x-shared-env: &shared-api-worker-env
|
||||
OPENAI_API_BASE: ${OPENAI_API_BASE:-https://api.openai.com/v1}
|
||||
FILES_URL: ${FILES_URL:-}
|
||||
FILES_ACCESS_TIMEOUT: ${FILES_ACCESS_TIMEOUT:-300}
|
||||
APP_MAX_ACTIVE_REQUESTS: ${APP_MAX_ACTIVE_REQUESTS:-0}
|
||||
APP_MAX_ACTIVE_REQUESTS: ${FILES_ACCESS_TIMEOUT:-0}
|
||||
MIGRATION_ENABLED: ${MIGRATION_ENABLED:-true}
|
||||
DEPLOY_ENV: ${DEPLOY_ENV:-PRODUCTION}
|
||||
DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS:-0.0.0.0}
|
||||
|
||||
@ -8,7 +8,6 @@ import Header from '@/app/components/header'
|
||||
import { EventEmitterContextProvider } from '@/context/event-emitter'
|
||||
import { ProviderContextProvider } from '@/context/provider-context'
|
||||
import { ModalContextProvider } from '@/context/modal-context'
|
||||
import LicenseInfo from '@/app/components/system-features-initor/license-info'
|
||||
|
||||
const Layout = ({ children }: { children: ReactNode }) => {
|
||||
return (
|
||||
@ -23,7 +22,6 @@ const Layout = ({ children }: { children: ReactNode }) => {
|
||||
<Header />
|
||||
</HeaderWrapper>
|
||||
{children}
|
||||
<LicenseInfo />
|
||||
</ModalContextProvider>
|
||||
</ProviderContextProvider>
|
||||
</EventEmitterContextProvider>
|
||||
|
||||
@ -17,6 +17,7 @@ import Switch from '@/app/components/base/switch'
|
||||
import { ChangeType, InputVarType } from '@/app/components/workflow/types'
|
||||
|
||||
const TEXT_MAX_LENGTH = 256
|
||||
const PARAGRAPH_MAX_LENGTH = 1032 * 32
|
||||
|
||||
export type IConfigModalProps = {
|
||||
isCreate?: boolean
|
||||
@ -166,7 +167,7 @@ const ConfigModal: FC<IConfigModalProps> = ({
|
||||
|
||||
{isStringInput && (
|
||||
<Field title={t('appDebug.variableConig.maxLength')}>
|
||||
<ConfigString maxLength={type === InputVarType.textInput ? TEXT_MAX_LENGTH : Infinity} modelId={modelConfig.model_id} value={max_length} onChange={handlePayloadChange('max_length')} />
|
||||
<ConfigString maxLength={type === InputVarType.textInput ? TEXT_MAX_LENGTH : PARAGRAPH_MAX_LENGTH} modelId={modelConfig.model_id} value={max_length} onChange={handlePayloadChange('max_length')} />
|
||||
</Field>
|
||||
|
||||
)}
|
||||
|
||||
@ -1,8 +1,6 @@
|
||||
import React, { useEffect, useRef, useState } from 'react'
|
||||
import mermaid from 'mermaid'
|
||||
import { usePrevious } from 'ahooks'
|
||||
import CryptoJS from 'crypto-js'
|
||||
import { ExclamationTriangleIcon } from '@heroicons/react/24/outline'
|
||||
import LoadingAnim from '@/app/components/base/chat/chat/loading-anim'
|
||||
|
||||
let mermaidAPI: any
|
||||
@ -42,15 +40,32 @@ const Flowchart = React.forwardRef((props: {
|
||||
}, ref) => {
|
||||
const [svgCode, setSvgCode] = useState(null)
|
||||
const chartId = useRef(`flowchart_${CryptoJS.MD5(props.PrimitiveCode).toString()}`)
|
||||
const prevPrimitiveCode = usePrevious(props.PrimitiveCode)
|
||||
const [isRender, setIsRender] = useState(false)
|
||||
const [isLoading, setIsLoading] = useState(true)
|
||||
const timeRef = useRef<NodeJS.Timeout>()
|
||||
const [errMsg, setErrMsg] = useState('')
|
||||
|
||||
const clearFlowchartCache = () => {
|
||||
for (let i = localStorage.length - 1; i >= 0; --i) {
|
||||
const key = localStorage.key(i)
|
||||
if (key && key.startsWith('flowchart_'))
|
||||
localStorage.removeItem(key)
|
||||
}
|
||||
}
|
||||
|
||||
const renderFlowchart = async (PrimitiveCode: string) => {
|
||||
try {
|
||||
const cachedSvg: any = localStorage.getItem(chartId.current)
|
||||
if (cachedSvg) {
|
||||
setSvgCode(cachedSvg)
|
||||
setIsLoading(false)
|
||||
return
|
||||
}
|
||||
|
||||
if (typeof window !== 'undefined' && mermaidAPI) {
|
||||
const svgGraph = await mermaidAPI.render(chartId.current, PrimitiveCode)
|
||||
const dom = new DOMParser().parseFromString(svgGraph.svg, 'text/xml')
|
||||
if (!dom.querySelector('g.main'))
|
||||
throw new Error('empty svg')
|
||||
|
||||
const base64Svg: any = await svgToBase64(svgGraph.svg)
|
||||
setSvgCode(base64Svg)
|
||||
setIsLoading(false)
|
||||
@ -59,26 +74,30 @@ const Flowchart = React.forwardRef((props: {
|
||||
}
|
||||
}
|
||||
catch (error) {
|
||||
if (prevPrimitiveCode === props.PrimitiveCode) {
|
||||
setIsLoading(false)
|
||||
setErrMsg((error as Error).message)
|
||||
}
|
||||
clearFlowchartCache()
|
||||
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
||||
handleReRender()
|
||||
}
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
const cachedSvg: any = localStorage.getItem(chartId.current)
|
||||
if (cachedSvg) {
|
||||
setSvgCode(cachedSvg)
|
||||
setIsLoading(false)
|
||||
return
|
||||
}
|
||||
if (timeRef.current)
|
||||
clearTimeout(timeRef.current)
|
||||
const handleReRender = () => {
|
||||
setIsRender(false)
|
||||
setSvgCode(null)
|
||||
if (chartId.current)
|
||||
localStorage.removeItem(chartId.current)
|
||||
|
||||
timeRef.current = setTimeout(() => {
|
||||
setTimeout(() => {
|
||||
setIsRender(true)
|
||||
renderFlowchart(props.PrimitiveCode)
|
||||
}, 300)
|
||||
}, 100)
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
setIsRender(false)
|
||||
setTimeout(() => {
|
||||
setIsRender(true)
|
||||
renderFlowchart(props.PrimitiveCode)
|
||||
}, 100)
|
||||
}, [props.PrimitiveCode])
|
||||
|
||||
return (
|
||||
@ -86,24 +105,16 @@ const Flowchart = React.forwardRef((props: {
|
||||
// @ts-expect-error
|
||||
<div ref={ref}>
|
||||
{
|
||||
svgCode
|
||||
&& <div className="mermaid" style={style}>
|
||||
{svgCode && <img src={svgCode} style={{ width: '100%', height: 'auto' }} alt="Mermaid chart" />}
|
||||
</div>
|
||||
isRender
|
||||
&& <div className="mermaid" style={style}>
|
||||
{svgCode && <img src={svgCode} style={{ width: '100%', height: 'auto' }} alt="Mermaid chart" />}
|
||||
</div>
|
||||
}
|
||||
{isLoading
|
||||
&& <div className='py-4 px-[26px]'>
|
||||
<LoadingAnim type='text' />
|
||||
</div>
|
||||
}
|
||||
{
|
||||
errMsg
|
||||
&& <div className='py-4 px-[26px]'>
|
||||
<ExclamationTriangleIcon className='w-6 h-6 text-red-500' />
|
||||
|
||||
{errMsg}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
)
|
||||
})
|
||||
|
||||
@ -213,7 +213,7 @@ Workflow applications offers non-session support and is ideal for translation, a
|
||||
---
|
||||
|
||||
<Heading
|
||||
url='/workflows/tasks/:task_id/stop'
|
||||
url='/workflows/:task_id/stop'
|
||||
method='POST'
|
||||
title='Stop Generate'
|
||||
name='#stop-generatebacks'
|
||||
@ -231,9 +231,9 @@ Workflow applications offers non-session support and is ideal for translation, a
|
||||
</Col>
|
||||
<Col sticky>
|
||||
### Request Example
|
||||
<CodeGroup title="Request" tag="POST" label="/workflows/tasks/:task_id/stop" targetCode={`curl -X POST '${props.appDetail.api_base_url}/workflows/tasks/:task_id/stop' \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{"user": "abc-123"}'`}>
|
||||
<CodeGroup title="Request" tag="POST" label="/workflows/:task_id/stop" targetCode={`curl -X POST '${props.appDetail.api_base_url}/workflows/:task_id/stop' \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{"user": "abc-123"}'`}>
|
||||
```bash {{ title: 'cURL' }}
|
||||
curl -X POST '${props.appDetail.api_base_url}/workflows/tasks/:task_id/stop' \
|
||||
curl -X POST '${props.appDetail.api_base_url}/workflows/:task_id/stop' \
|
||||
-H 'Authorization: Bearer {api_key}' \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
|
||||
@ -209,7 +209,7 @@ Workflow 应用无会话支持,适合用于翻译/文章写作/总结 AI 等
|
||||
---
|
||||
|
||||
<Heading
|
||||
url='/workflows/tasks/:task_id/stop'
|
||||
url='/workflows/:task_id/stop'
|
||||
method='POST'
|
||||
title='停止响应'
|
||||
name='#stop-generatebacks'
|
||||
@ -227,9 +227,9 @@ Workflow 应用无会话支持,适合用于翻译/文章写作/总结 AI 等
|
||||
</Col>
|
||||
<Col sticky>
|
||||
### Request Example
|
||||
<CodeGroup title="Request" tag="POST" label="/workflows/tasks/:task_id/stop" targetCode={`curl -X POST '${props.appDetail.api_base_url}/workflows/tasks/:task_id/stop' \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{"user": "abc-123"}'`}>
|
||||
<CodeGroup title="Request" tag="POST" label="/workflows/:task_id/stop" targetCode={`curl -X POST '${props.appDetail.api_base_url}/workflows/:task_id/stop' \\\n-H 'Authorization: Bearer {api_key}' \\\n-H 'Content-Type: application/json' \\\n--data-raw '{"user": "abc-123"}'`}>
|
||||
```bash {{ title: 'cURL' }}
|
||||
curl -X POST '${props.appDetail.api_base_url}/workflows/tasks/:task_id/stop' \
|
||||
curl -X POST '${props.appDetail.api_base_url}/workflows/:task_id/stop' \
|
||||
-H 'Authorization: Bearer {api_key}' \
|
||||
-H 'Content-Type: application/json' \
|
||||
--data-raw '{
|
||||
|
||||
@ -35,25 +35,20 @@ const ProviderCard: FC<ProviderCardProps> = ({
|
||||
|
||||
return (
|
||||
<div
|
||||
className='group relative flex flex-col px-4 py-3 h-[148px] border-[0.5px] border-black/5 rounded-xl shadow-xs hover:shadow-lg'
|
||||
className='group relative flex flex-col justify-between px-4 py-3 h-[148px] border-[0.5px] border-black/5 rounded-xl shadow-xs hover:shadow-lg'
|
||||
style={{ background: provider.background || DEFAULT_BACKGROUND_COLOR }}
|
||||
>
|
||||
<div className='grow h-0'>
|
||||
<div>
|
||||
<div className='py-0.5'>
|
||||
<ProviderIcon provider={provider} />
|
||||
</div>
|
||||
{
|
||||
provider.description && (
|
||||
<div
|
||||
className='mt-1 leading-4 text-xs text-black/[48] line-clamp-4'
|
||||
title={provider.description[language] || provider.description.en_US}
|
||||
>
|
||||
{provider.description[language] || provider.description.en_US}
|
||||
</div>
|
||||
<div className='mt-1 leading-4 text-xs text-black/[48]'>{provider.description[language] || provider.description.en_US}</div>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
<div className='shrink-0'>
|
||||
<div>
|
||||
<div className={'flex flex-wrap group-hover:hidden gap-0.5'}>
|
||||
{
|
||||
provider.supported_model_types.map(modelType => (
|
||||
|
||||
@ -1,25 +0,0 @@
|
||||
'use client'
|
||||
import {
|
||||
useEffect,
|
||||
useState,
|
||||
} from 'react'
|
||||
import { useSystemFeaturesStore } from './store'
|
||||
import { getSystemFeatures } from '@/service/common'
|
||||
|
||||
const SystemFeaturesInitor = ({
|
||||
children,
|
||||
}: { children: React.ReactElement }) => {
|
||||
const [init, setInit] = useState(false)
|
||||
const { setSystemFeatures } = useSystemFeaturesStore()
|
||||
|
||||
useEffect(() => {
|
||||
getSystemFeatures().then((res) => {
|
||||
setSystemFeatures(res)
|
||||
}).finally(() => {
|
||||
setInit(true)
|
||||
})
|
||||
}, [])
|
||||
return init ? children : null
|
||||
}
|
||||
|
||||
export default SystemFeaturesInitor
|
||||
@ -1,27 +0,0 @@
|
||||
'use client'
|
||||
import cn from 'classnames'
|
||||
import { useSystemFeaturesStore } from '../store'
|
||||
import s from './styles.module.css'
|
||||
|
||||
const LicenseInfo = () => {
|
||||
const { systemFeatures } = useSystemFeaturesStore()
|
||||
|
||||
if (systemFeatures.expired_at) {
|
||||
return (
|
||||
<div className='fixed inset-0 flex flex-col pt-14 z-[99999]'>
|
||||
<div className={cn(s.bg, 'grow flex flex-col items-center justify-center bg-white')}>
|
||||
<div className='mb-3 text-xl font-semibold'>
|
||||
Your organization's Dify Enterprise license has expired.
|
||||
</div>
|
||||
<div className='text-gray-300'>
|
||||
Please contact your administrator to continue using Dify.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
return null
|
||||
}
|
||||
|
||||
export default LicenseInfo
|
||||
@ -1,4 +0,0 @@
|
||||
.bg {
|
||||
background-image: url(../../../signin/assets/background.png);
|
||||
background-size: cover;
|
||||
}
|
||||
@ -1,18 +0,0 @@
|
||||
import { create } from 'zustand'
|
||||
import type { SystemFeatures } from '@/types/feature'
|
||||
|
||||
type StateAndAction = {
|
||||
systemFeatures: SystemFeatures
|
||||
setSystemFeatures: (features: SystemFeatures) => void
|
||||
}
|
||||
|
||||
export const useSystemFeaturesStore = create<StateAndAction>(set => ({
|
||||
systemFeatures: {
|
||||
sso_enforced_for_signin: false,
|
||||
sso_enforced_for_signin_protocol: '',
|
||||
sso_enforced_for_web: false,
|
||||
sso_enforced_for_web_protocol: '',
|
||||
expired_at: 0,
|
||||
},
|
||||
setSystemFeatures: features => set({ systemFeatures: features }),
|
||||
}))
|
||||
@ -3,7 +3,6 @@ import I18nServer from './components/i18n-server'
|
||||
import BrowerInitor from './components/browser-initor'
|
||||
import SentryInitor from './components/sentry-initor'
|
||||
import Topbar from './components/base/topbar'
|
||||
import SystemFeaturesInitor from './components/system-features-initor'
|
||||
import { getLocaleOnServer } from '@/i18n/server'
|
||||
import './styles/globals.css'
|
||||
import './styles/markdown.scss'
|
||||
@ -48,9 +47,7 @@ const LocaleLayout = ({
|
||||
<Topbar />
|
||||
<BrowerInitor>
|
||||
<SentryInitor>
|
||||
<SystemFeaturesInitor>
|
||||
<I18nServer>{children}</I18nServer>
|
||||
</SystemFeaturesInitor>
|
||||
<I18nServer>{children}</I18nServer>
|
||||
</SentryInitor>
|
||||
</BrowerInitor>
|
||||
</body>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
'use client'
|
||||
import React from 'react'
|
||||
import React, { useEffect, useState } from 'react'
|
||||
import Script from 'next/script'
|
||||
import { useSystemFeaturesStore } from '../components/system-features-initor/store'
|
||||
import Loading from '../components/base/loading'
|
||||
import Forms from './forms'
|
||||
import Header from './_header'
|
||||
import style from './page.module.css'
|
||||
@ -9,8 +9,21 @@ import UserSSOForm from './userSSOForm'
|
||||
import cn from '@/utils/classnames'
|
||||
import { IS_CE_EDITION } from '@/config'
|
||||
|
||||
import type { SystemFeatures } from '@/types/feature'
|
||||
import { defaultSystemFeatures } from '@/types/feature'
|
||||
import { getSystemFeatures } from '@/service/common'
|
||||
|
||||
const SignIn = () => {
|
||||
const { systemFeatures } = useSystemFeaturesStore()
|
||||
const [loading, setLoading] = useState<boolean>(true)
|
||||
const [systemFeatures, setSystemFeatures] = useState<SystemFeatures>(defaultSystemFeatures)
|
||||
|
||||
useEffect(() => {
|
||||
getSystemFeatures().then((res) => {
|
||||
setSystemFeatures(res)
|
||||
}).finally(() => {
|
||||
setLoading(false)
|
||||
})
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<>
|
||||
@ -46,7 +59,19 @@ gtag('config', 'AW-11217955271"');
|
||||
}>
|
||||
<Header />
|
||||
|
||||
{!systemFeatures.sso_enforced_for_signin && (
|
||||
{loading && (
|
||||
<div className={
|
||||
cn(
|
||||
'flex flex-col items-center w-full grow justify-center',
|
||||
'px-6',
|
||||
'md:px-[108px]',
|
||||
)
|
||||
}>
|
||||
<Loading type='area' />
|
||||
</div>
|
||||
)}
|
||||
|
||||
{!loading && !systemFeatures.sso_enforced_for_signin && (
|
||||
<>
|
||||
<Forms />
|
||||
<div className='px-8 py-6 text-sm font-normal text-gray-500'>
|
||||
@ -55,7 +80,7 @@ gtag('config', 'AW-11217955271"');
|
||||
</>
|
||||
)}
|
||||
|
||||
{systemFeatures.sso_enforced_for_signin && (
|
||||
{!loading && systemFeatures.sso_enforced_for_signin && (
|
||||
<UserSSOForm protocol={systemFeatures.sso_enforced_for_signin_protocol} />
|
||||
)}
|
||||
</div>
|
||||
|
||||
@ -174,7 +174,7 @@ html[data-theme="dark"] {
|
||||
--color-components-badge-status-light-success-halo: #17B26A4D;
|
||||
|
||||
--color-components-badge-status-light-border-outer: #222225;
|
||||
--color-components-badge-status-light-high-light: #FFFFFF4D;
|
||||
--color-components-badge-status-light-_high-light: #FFFFFF4D;
|
||||
--color-components-badge-status-light-warning-bg: #F79009;
|
||||
--color-components-badge-status-light-warning-border-inner: #FDB022;
|
||||
--color-components-badge-status-light-warning-halo: #F790094D;
|
||||
@ -249,7 +249,7 @@ html[data-theme="dark"] {
|
||||
--color-text-accent-secondary: #84ABFF;
|
||||
--color-text-accent-light-mode-only: #D9D9DE;
|
||||
--color-text-text-selected: #155AEF4D;
|
||||
--color-text-secondary-on-surface: #FFFFFFE5;
|
||||
--color-text-_secondary-on-surface: #FFFFFFE5;
|
||||
--color-text-logo-text: #E9E9EC;
|
||||
--color-text-empty-state-icon: #C8CEDA4D;
|
||||
|
||||
@ -298,12 +298,12 @@ html[data-theme="dark"] {
|
||||
--color-shadow-shadow-2: #00000014;
|
||||
--color-shadow-shadow-10: #00000066;
|
||||
|
||||
--color-workflow-block-border: #FFFFFF14;
|
||||
--color-workflow-block-panel-bg: #27272B;
|
||||
--color-workflow-block-_border: #FFFFFF14;
|
||||
--color-workflow-block-_panel-bg: #27272B;
|
||||
--color-workflow-block-border: #FFFFFF14;
|
||||
--color-workflow-block-parma-bg: #FFFFFF0D;
|
||||
--color-workflow-block-nav-bg: #1D1D20;
|
||||
--color-workflow-block-nav-border-right: #FFFFFF0D;
|
||||
--color-workflow-block-_nav-bg: #1D1D20;
|
||||
--color-workflow-block-_nav-border-right: #FFFFFF0D;
|
||||
--color-workflow-block-bg: #27272B;
|
||||
|
||||
--color-workflow-canvas-workflow-dot-color: #8585AD26;
|
||||
@ -395,167 +395,167 @@ html[data-theme="dark"] {
|
||||
--color-effects-highlight-lightmode-off: #C8CEDA14;
|
||||
--color-effects-image-frame: #FFFFFF;
|
||||
|
||||
--color-util-colors-orange-dark-orange-dark-50: #57130A;
|
||||
--color-util-colors-orange-dark-orange-dark-100: #771A0D;
|
||||
--color-util-colors-orange-dark-orange-dark-200: #97180C;
|
||||
--color-util-colors-orange-dark-orange-dark-300: #BC1B06;
|
||||
--color-util-colors-orange-dark-orange-dark-400: #E62E05;
|
||||
--color-util-colors-orange-dark-orange-dark-500: #FF4405;
|
||||
--color-util-colors-orange-dark-orange-dark-600: #FF692E;
|
||||
--color-util-colors-orange-dark-orange-dark-700: #FF9C66;
|
||||
--color-_util-colors-orange-dark-orange-dark-50: #57130A;
|
||||
--color-_util-colors-orange-dark-orange-dark-100: #771A0D;
|
||||
--color-_util-colors-orange-dark-orange-dark-200: #97180C;
|
||||
--color-_util-colors-orange-dark-orange-dark-300: #BC1B06;
|
||||
--color-_util-colors-orange-dark-orange-dark-400: #E62E05;
|
||||
--color-_util-colors-orange-dark-orange-dark-500: #FF4405;
|
||||
--color-_util-colors-orange-dark-orange-dark-600: #FF692E;
|
||||
--color-_util-colors-orange-dark-orange-dark-700: #FF9C66;
|
||||
|
||||
--color-util-colors-orange-orange-50: #511C10;
|
||||
--color-util-colors-orange-orange-100: #772917;
|
||||
--color-util-colors-orange-orange-200: #932F19;
|
||||
--color-util-colors-orange-orange-300: #B93815;
|
||||
--color-util-colors-orange-orange-400: #E04F16;
|
||||
--color-util-colors-orange-orange-500: #EF6820;
|
||||
--color-util-colors-orange-orange-600: #F38744;
|
||||
--color-util-colors-orange-orange-700: #F7B27A;
|
||||
--color-_util-colors-orange-orange-50: #511C10;
|
||||
--color-_util-colors-orange-orange-100: #772917;
|
||||
--color-_util-colors-orange-orange-200: #932F19;
|
||||
--color-_util-colors-orange-orange-300: #B93815;
|
||||
--color-_util-colors-orange-orange-400: #E04F16;
|
||||
--color-_util-colors-orange-orange-500: #EF6820;
|
||||
--color-_util-colors-orange-orange-600: #F38744;
|
||||
--color-_util-colors-orange-orange-700: #F7B27A;
|
||||
|
||||
--color-util-colors-pink-pink-50: #4E0D30;
|
||||
--color-util-colors-pink-pink-100: #851651;
|
||||
--color-util-colors-pink-pink-200: #9E165F;
|
||||
--color-util-colors-pink-pink-300: #C11574;
|
||||
--color-util-colors-pink-pink-400: #DD2590;
|
||||
--color-util-colors-pink-pink-500: #EE46BC;
|
||||
--color-util-colors-pink-pink-600: #F670C7;
|
||||
--color-util-colors-pink-pink-700: #FAA7E0;
|
||||
--color-_util-colors-pink-pink-50: #4E0D30;
|
||||
--color-_util-colors-pink-pink-100: #851651;
|
||||
--color-_util-colors-pink-pink-200: #9E165F;
|
||||
--color-_util-colors-pink-pink-300: #C11574;
|
||||
--color-_util-colors-pink-pink-400: #DD2590;
|
||||
--color-_util-colors-pink-pink-500: #EE46BC;
|
||||
--color-_util-colors-pink-pink-600: #F670C7;
|
||||
--color-_util-colors-pink-pink-700: #FAA7E0;
|
||||
|
||||
--color-util-colors-fuchsia-fuchsia-50: #47104C;
|
||||
--color-util-colors-fuchsia-fuchsia-100: #6F1877;
|
||||
--color-util-colors-fuchsia-fuchsia-200: #821890;
|
||||
--color-util-colors-fuchsia-fuchsia-300: #9F1AB1;
|
||||
--color-util-colors-fuchsia-fuchsia-400: #BA24D5;
|
||||
--color-util-colors-fuchsia-fuchsia-500: #D444F1;
|
||||
--color-util-colors-fuchsia-fuchsia-600: #E478FA;
|
||||
--color-util-colors-fuchsia-fuchsia-700: #EEAAFD;
|
||||
--color-_util-colors-fuchsia-fuchsia-50: #47104C;
|
||||
--color-_util-colors-fuchsia-fuchsia-100: #6F1877;
|
||||
--color-_util-colors-fuchsia-fuchsia-200: #821890;
|
||||
--color-_util-colors-fuchsia-fuchsia-300: #9F1AB1;
|
||||
--color-_util-colors-fuchsia-fuchsia-400: #BA24D5;
|
||||
--color-_util-colors-fuchsia-fuchsia-500: #D444F1;
|
||||
--color-_util-colors-fuchsia-fuchsia-600: #E478FA;
|
||||
--color-_util-colors-fuchsia-fuchsia-700: #EEAAFD;
|
||||
|
||||
--color-util-colors-purple-purple-50: #27115F;
|
||||
--color-util-colors-purple-purple-100: #3E1C96;
|
||||
--color-util-colors-purple-purple-200: #4A1FB8;
|
||||
--color-util-colors-purple-purple-300: #5925DC;
|
||||
--color-util-colors-purple-purple-400: #6938EF;
|
||||
--color-util-colors-purple-purple-500: #7A5AF8;
|
||||
--color-util-colors-purple-purple-600: #9B8AFB;
|
||||
--color-util-colors-purple-purple-700: #BDB4FE;
|
||||
--color-_util-colors-purple-purple-50: #27115F;
|
||||
--color-_util-colors-purple-purple-100: #3E1C96;
|
||||
--color-_util-colors-purple-purple-200: #4A1FB8;
|
||||
--color-_util-colors-purple-purple-300: #5925DC;
|
||||
--color-_util-colors-purple-purple-400: #6938EF;
|
||||
--color-_util-colors-purple-purple-500: #7A5AF8;
|
||||
--color-_util-colors-purple-purple-600: #9B8AFB;
|
||||
--color-_util-colors-purple-purple-700: #BDB4FE;
|
||||
|
||||
--color-util-colors-indigo-indigo-50: #1F235B;
|
||||
--color-util-colors-indigo-indigo-100: #2D3282;
|
||||
--color-util-colors-indigo-indigo-200: #2D31A6;
|
||||
--color-util-colors-indigo-indigo-300: #3538CD;
|
||||
--color-util-colors-indigo-indigo-400: #444CE7;
|
||||
--color-util-colors-indigo-indigo-500: #6172F3;
|
||||
--color-util-colors-indigo-indigo-600: #8098F9;
|
||||
--color-util-colors-indigo-indigo-700: #A4BCFD;
|
||||
--color-_util-colors-indigo-indigo-50: #1F235B;
|
||||
--color-_util-colors-indigo-indigo-100: #2D3282;
|
||||
--color-_util-colors-indigo-indigo-200: #2D31A6;
|
||||
--color-_util-colors-indigo-indigo-300: #3538CD;
|
||||
--color-_util-colors-indigo-indigo-400: #444CE7;
|
||||
--color-_util-colors-indigo-indigo-500: #6172F3;
|
||||
--color-_util-colors-indigo-indigo-600: #8098F9;
|
||||
--color-_util-colors-indigo-indigo-700: #A4BCFD;
|
||||
|
||||
--color-util-colors-blue-blue-50: #102A56;
|
||||
--color-util-colors-blue-blue-100: #194185;
|
||||
--color-util-colors-blue-blue-200: #1849A9;
|
||||
--color-util-colors-blue-blue-300: #175CD3;
|
||||
--color-util-colors-blue-blue-400: #1570EF;
|
||||
--color-util-colors-blue-blue-500: #2E90FA;
|
||||
--color-util-colors-blue-blue-600: #53B1FD;
|
||||
--color-util-colors-blue-blue-700: #84CAFF;
|
||||
--color-_util-colors-blue-blue-50: #102A56;
|
||||
--color-_util-colors-blue-blue-100: #194185;
|
||||
--color-_util-colors-blue-blue-200: #1849A9;
|
||||
--color-_util-colors-blue-blue-300: #175CD3;
|
||||
--color-_util-colors-blue-blue-400: #1570EF;
|
||||
--color-_util-colors-blue-blue-500: #2E90FA;
|
||||
--color-_util-colors-blue-blue-600: #53B1FD;
|
||||
--color-_util-colors-blue-blue-700: #84CAFF;
|
||||
|
||||
--color-util-colors-blue-light-blue-light-50: #062C41;
|
||||
--color-util-colors-blue-light-blue-light-100: #0B4A6F;
|
||||
--color-util-colors-blue-light-blue-light-200: #065986;
|
||||
--color-util-colors-blue-light-blue-light-300: #026AA2;
|
||||
--color-util-colors-blue-light-blue-light-400: #0086C9;
|
||||
--color-util-colors-blue-light-blue-light-500: #0BA5EC;
|
||||
--color-util-colors-blue-light-blue-light-600: #36BFFA;
|
||||
--color-util-colors-blue-light-blue-light-700: #7CD4FD;
|
||||
--color-_util-colors-blue-light-blue-light-50: #062C41;
|
||||
--color-_util-colors-blue-light-blue-light-100: #0B4A6F;
|
||||
--color-_util-colors-blue-light-blue-light-200: #065986;
|
||||
--color-_util-colors-blue-light-blue-light-300: #026AA2;
|
||||
--color-_util-colors-blue-light-blue-light-400: #0086C9;
|
||||
--color-_util-colors-blue-light-blue-light-500: #0BA5EC;
|
||||
--color-_util-colors-blue-light-blue-light-600: #36BFFA;
|
||||
--color-_util-colors-blue-light-blue-light-700: #7CD4FD;
|
||||
|
||||
--color-util-colors-gray-blue-gray-blue-50: #0D0F1C;
|
||||
--color-util-colors-gray-blue-gray-blue-100: #101323;
|
||||
--color-util-colors-gray-blue-gray-blue-200: #293056;
|
||||
--color-util-colors-gray-blue-gray-blue-300: #363F72;
|
||||
--color-util-colors-gray-blue-gray-blue-400: #3E4784;
|
||||
--color-util-colors-gray-blue-gray-blue-500: #4E5BA6;
|
||||
--color-util-colors-gray-blue-gray-blue-600: #717BBC;
|
||||
--color-util-colors-gray-blue-gray-blue-700: #B3B8DB;
|
||||
--color-_util-colors-gray-blue-gray-blue-50: #0D0F1C;
|
||||
--color-_util-colors-gray-blue-gray-blue-100: #101323;
|
||||
--color-_util-colors-gray-blue-gray-blue-200: #293056;
|
||||
--color-_util-colors-gray-blue-gray-blue-300: #363F72;
|
||||
--color-_util-colors-gray-blue-gray-blue-400: #3E4784;
|
||||
--color-_util-colors-gray-blue-gray-blue-500: #4E5BA6;
|
||||
--color-_util-colors-gray-blue-gray-blue-600: #717BBC;
|
||||
--color-_util-colors-gray-blue-gray-blue-700: #B3B8DB;
|
||||
|
||||
--color-util-colors-blue-brand-blue-brand-50: #002066;
|
||||
--color-util-colors-blue-brand-blue-brand-100: #00329E;
|
||||
--color-util-colors-blue-brand-blue-brand-200: #003DC1;
|
||||
--color-util-colors-blue-brand-blue-brand-300: #004AEB;
|
||||
--color-util-colors-blue-brand-blue-brand-400: #155AEF;
|
||||
--color-util-colors-blue-brand-blue-brand-500: #296DFF;
|
||||
--color-util-colors-blue-brand-blue-brand-600: #5289FF;
|
||||
--color-util-colors-blue-brand-blue-brand-700: #84ABFF;
|
||||
--color-_util-colors-blue-brand-blue-brand-50: #002066;
|
||||
--color-_util-colors-blue-brand-blue-brand-100: #00329E;
|
||||
--color-_util-colors-blue-brand-blue-brand-200: #003DC1;
|
||||
--color-_util-colors-blue-brand-blue-brand-300: #004AEB;
|
||||
--color-_util-colors-blue-brand-blue-brand-400: #155AEF;
|
||||
--color-_util-colors-blue-brand-blue-brand-500: #296DFF;
|
||||
--color-_util-colors-blue-brand-blue-brand-600: #5289FF;
|
||||
--color-_util-colors-blue-brand-blue-brand-700: #84ABFF;
|
||||
|
||||
--color-util-colors-red-red-50: #55160C;
|
||||
--color-util-colors-red-red-100: #7A271A;
|
||||
--color-util-colors-red-red-200: #912018;
|
||||
--color-util-colors-red-red-300: #B42318;
|
||||
--color-util-colors-red-red-400: #D92D20;
|
||||
--color-util-colors-red-red-500: #F04438;
|
||||
--color-util-colors-red-red-600: #F97066;
|
||||
--color-util-colors-red-red-700: #FDA29B;
|
||||
--color-_util-colors-red-red-50: #55160C;
|
||||
--color-_util-colors-red-red-100: #7A271A;
|
||||
--color-_util-colors-red-red-200: #912018;
|
||||
--color-_util-colors-red-red-300: #B42318;
|
||||
--color-_util-colors-red-red-400: #D92D20;
|
||||
--color-_util-colors-red-red-500: #F04438;
|
||||
--color-_util-colors-red-red-600: #F97066;
|
||||
--color-_util-colors-red-red-700: #FDA29B;
|
||||
|
||||
--color-util-colors-green-green-50: #053321;
|
||||
--color-util-colors-green-green-100: #074D31;
|
||||
--color-util-colors-green-green-200: #085D3A;
|
||||
--color-util-colors-green-green-300: #067647;
|
||||
--color-util-colors-green-green-400: #079455;
|
||||
--color-util-colors-green-green-500: #17B26A;
|
||||
--color-util-colors-green-green-600: #47CD89;
|
||||
--color-util-colors-green-green-700: #75E0A7;
|
||||
--color-_util-colors-green-green-50: #053321;
|
||||
--color-_util-colors-green-green-100: #074D31;
|
||||
--color-_util-colors-green-green-200: #085D3A;
|
||||
--color-_util-colors-green-green-300: #067647;
|
||||
--color-_util-colors-green-green-400: #079455;
|
||||
--color-_util-colors-green-green-500: #17B26A;
|
||||
--color-_util-colors-green-green-600: #47CD89;
|
||||
--color-_util-colors-green-green-700: #75E0A7;
|
||||
|
||||
--color-util-colors-warning-warning-50: #4E1D09;
|
||||
--color-util-colors-warning-warning-100: #7A2E0E;
|
||||
--color-util-colors-warning-warning-200: #93370D;
|
||||
--color-util-colors-warning-warning-300: #B54708;
|
||||
--color-util-colors-warning-warning-400: #DC6803;
|
||||
--color-util-colors-warning-warning-500: #F79009;
|
||||
--color-util-colors-warning-warning-600: #FDB022;
|
||||
--color-util-colors-warning-warning-700: #FEC84B;
|
||||
--color-_util-colors-warning-warning-50: #4E1D09;
|
||||
--color-_util-colors-warning-warning-100: #7A2E0E;
|
||||
--color-_util-colors-warning-warning-200: #93370D;
|
||||
--color-_util-colors-warning-warning-300: #B54708;
|
||||
--color-_util-colors-warning-warning-400: #DC6803;
|
||||
--color-_util-colors-warning-warning-500: #F79009;
|
||||
--color-_util-colors-warning-warning-600: #FDB022;
|
||||
--color-_util-colors-warning-warning-700: #FEC84B;
|
||||
|
||||
--color-util-colors-yellow-yellow-50: #542C0D;
|
||||
--color-util-colors-yellow-yellow-100: #713B12;
|
||||
--color-util-colors-yellow-yellow-200: #854A0E;
|
||||
--color-util-colors-yellow-yellow-300: #A15C07;
|
||||
--color-util-colors-yellow-yellow-400: #CA8504;
|
||||
--color-util-colors-yellow-yellow-500: #EAAA08;
|
||||
--color-util-colors-yellow-yellow-600: #FAC515;
|
||||
--color-util-colors-yellow-yellow-700: #FDE272;
|
||||
--color-_util-colors-yellow-yellow-50: #542C0D;
|
||||
--color-_util-colors-yellow-yellow-100: #713B12;
|
||||
--color-_util-colors-yellow-yellow-200: #854A0E;
|
||||
--color-_util-colors-yellow-yellow-300: #A15C07;
|
||||
--color-_util-colors-yellow-yellow-400: #CA8504;
|
||||
--color-_util-colors-yellow-yellow-500: #EAAA08;
|
||||
--color-_util-colors-yellow-yellow-600: #FAC515;
|
||||
--color-_util-colors-yellow-yellow-700: #FDE272;
|
||||
|
||||
--color-util-colors-teal-teal-50: #0A2926;
|
||||
--color-util-colors-teal-teal-100: #134E48;
|
||||
--color-util-colors-teal-teal-200: #125D56;
|
||||
--color-util-colors-teal-teal-300: #107569;
|
||||
--color-util-colors-teal-teal-400: #0E9384;
|
||||
--color-util-colors-teal-teal-500: #15B79E;
|
||||
--color-util-colors-teal-teal-600: #2ED3B7;
|
||||
--color-util-colors-teal-teal-700: #5FE9D0;
|
||||
--color-_util-colors-teal-teal-50: #0A2926;
|
||||
--color-_util-colors-teal-teal-100: #134E48;
|
||||
--color-_util-colors-teal-teal-200: #125D56;
|
||||
--color-_util-colors-teal-teal-300: #107569;
|
||||
--color-_util-colors-teal-teal-400: #0E9384;
|
||||
--color-_util-colors-teal-teal-500: #15B79E;
|
||||
--color-_util-colors-teal-teal-600: #2ED3B7;
|
||||
--color-_util-colors-teal-teal-700: #5FE9D0;
|
||||
|
||||
--color-util-colors-cyan-cyan-50: #0D2D3A;
|
||||
--color-util-colors-cyan-cyan-100: #164C63;
|
||||
--color-util-colors-cyan-cyan-200: #155B75;
|
||||
--color-util-colors-cyan-cyan-300: #0E7090;
|
||||
--color-util-colors-cyan-cyan-400: #088AB2;
|
||||
--color-util-colors-cyan-cyan-500: #06AED4;
|
||||
--color-util-colors-cyan-cyan-600: #22CCEE;
|
||||
--color-util-colors-cyan-cyan-700: #67E3F9;
|
||||
--color-_util-colors-cyan-cyan-50: #0D2D3A;
|
||||
--color-_util-colors-cyan-cyan-100: #164C63;
|
||||
--color-_util-colors-cyan-cyan-200: #155B75;
|
||||
--color-_util-colors-cyan-cyan-300: #0E7090;
|
||||
--color-_util-colors-cyan-cyan-400: #088AB2;
|
||||
--color-_util-colors-cyan-cyan-500: #06AED4;
|
||||
--color-_util-colors-cyan-cyan-600: #22CCEE;
|
||||
--color-_util-colors-cyan-cyan-700: #67E3F9;
|
||||
|
||||
--color-util-colors-violet-violet-50: #2E125E;
|
||||
--color-util-colors-violet-violet-100: #491C96;
|
||||
--color-util-colors-violet-violet-200: #5720B7;
|
||||
--color-util-colors-violet-violet-300: #6927DA;
|
||||
--color-util-colors-violet-violet-400: #7839EE;
|
||||
--color-util-colors-violet-violet-500: #875BF7;
|
||||
--color-util-colors-violet-violet-600: #A48AFB;
|
||||
--color-util-colors-violet-violet-700: #C3B5FD;
|
||||
--color-_util-colors-violet-violet-50: #2E125E;
|
||||
--color-_util-colors-violet-violet-100: #491C96;
|
||||
--color-_util-colors-violet-violet-200: #5720B7;
|
||||
--color-_util-colors-violet-violet-300: #6927DA;
|
||||
--color-_util-colors-violet-violet-400: #7839EE;
|
||||
--color-_util-colors-violet-violet-500: #875BF7;
|
||||
--color-_util-colors-violet-violet-600: #A48AFB;
|
||||
--color-_util-colors-violet-violet-700: #C3B5FD;
|
||||
|
||||
--color-util-colors-gray-gray-50: #0C111C;
|
||||
--color-util-colors-gray-gray-100: #101828;
|
||||
--color-util-colors-gray-gray-200: #18222F;
|
||||
--color-util-colors-gray-gray-300: #354052;
|
||||
--color-util-colors-gray-gray-400: #495464;
|
||||
--color-util-colors-gray-gray-500: #676F83;
|
||||
--color-util-colors-gray-gray-600: #98A2B2;
|
||||
--color-util-colors-gray-gray-700: #D0D5DC;
|
||||
--color-_util-colors-gray-gray-50: #0C111C;
|
||||
--color-_util-colors-gray-gray-100: #101828;
|
||||
--color-_util-colors-gray-gray-200: #18222F;
|
||||
--color-_util-colors-gray-gray-300: #354052;
|
||||
--color-_util-colors-gray-gray-400: #495464;
|
||||
--color-_util-colors-gray-gray-500: #676F83;
|
||||
--color-_util-colors-gray-gray-600: #98A2B2;
|
||||
--color-_util-colors-gray-gray-700: #D0D5DC;
|
||||
|
||||
--color-third-party-LangChain: #FFFFFF;
|
||||
--color-third-party-Langfuse: #FFFFFF;
|
||||
|
||||
@ -174,7 +174,7 @@ html[data-theme="light"] {
|
||||
--color-components-badge-status-light-success-halo: #17B26A40;
|
||||
|
||||
--color-components-badge-status-light-border-outer: #FFFFFF;
|
||||
--color-components-badge-status-light-high-light: #FFFFFF4D;
|
||||
--color-components-badge-status-light-_high-light: #FFFFFF4D;
|
||||
--color-components-badge-status-light-warning-bg: #FDB022;
|
||||
--color-components-badge-status-light-warning-border-inner: #F79009;
|
||||
--color-components-badge-status-light-warning-halo: #F7900940;
|
||||
@ -249,7 +249,7 @@ html[data-theme="light"] {
|
||||
--color-text-accent-secondary: #296DFF;
|
||||
--color-text-accent-light-mode-only: #155AEF;
|
||||
--color-text-text-selected: #155AEF24;
|
||||
--color-text-secondary-on-surface: #FFFFFFE5;
|
||||
--color-text-_secondary-on-surface: #FFFFFFE5;
|
||||
--color-text-logo-text: #18222F;
|
||||
--color-text-empty-state-icon: #D0D5DC;
|
||||
|
||||
@ -298,12 +298,12 @@ html[data-theme="light"] {
|
||||
--color-shadow-shadow-2: #09090B0A;
|
||||
--color-shadow-shadow-10: #09090B0D;
|
||||
|
||||
--color-workflow-block-border: #18181B14;
|
||||
--color-workflow-block-panel-bg: #FFFFFF;
|
||||
--color-workflow-block-_border: #18181B14;
|
||||
--color-workflow-block-_panel-bg: #FFFFFF;
|
||||
--color-workflow-block-border: #FFFFFF;
|
||||
--color-workflow-block-parma-bg: #F2F4F7;
|
||||
--color-workflow-block-nav-bg: #FFFFFF;
|
||||
--color-workflow-block-nav-border-right: #FFFFFF;
|
||||
--color-workflow-block-_nav-bg: #FFFFFF;
|
||||
--color-workflow-block-_nav-border-right: #FFFFFF;
|
||||
--color-workflow-block-bg: #FCFCFD;
|
||||
|
||||
--color-workflow-canvas-workflow-dot-color: #8585AD26;
|
||||
@ -395,167 +395,167 @@ html[data-theme="light"] {
|
||||
--color-effects-highlight-lightmode-off: #FFFFFF00;
|
||||
--color-effects-image-frame: #FFFFFF;
|
||||
|
||||
--color-util-colors-orange-dark-orange-dark-50: #FFF4ED;
|
||||
--color-util-colors-orange-dark-orange-dark-100: #FFE6D5;
|
||||
--color-util-colors-orange-dark-orange-dark-200: #FFD6AE;
|
||||
--color-util-colors-orange-dark-orange-dark-300: #FF9C66;
|
||||
--color-util-colors-orange-dark-orange-dark-400: #FF692E;
|
||||
--color-util-colors-orange-dark-orange-dark-500: #FF4405;
|
||||
--color-util-colors-orange-dark-orange-dark-600: #E62E05;
|
||||
--color-util-colors-orange-dark-orange-dark-700: #BC1B06;
|
||||
--color-_util-colors-orange-dark-orange-dark-50: #FFF4ED;
|
||||
--color-_util-colors-orange-dark-orange-dark-100: #FFE6D5;
|
||||
--color-_util-colors-orange-dark-orange-dark-200: #FFD6AE;
|
||||
--color-_util-colors-orange-dark-orange-dark-300: #FF9C66;
|
||||
--color-_util-colors-orange-dark-orange-dark-400: #FF692E;
|
||||
--color-_util-colors-orange-dark-orange-dark-500: #FF4405;
|
||||
--color-_util-colors-orange-dark-orange-dark-600: #E62E05;
|
||||
--color-_util-colors-orange-dark-orange-dark-700: #BC1B06;
|
||||
|
||||
--color-util-colors-orange-orange-50: #FEF6EE;
|
||||
--color-util-colors-orange-orange-100: #FDEAD7;
|
||||
--color-util-colors-orange-orange-200: #F9DBAF;
|
||||
--color-util-colors-orange-orange-300: #F7B27A;
|
||||
--color-util-colors-orange-orange-400: #F38744;
|
||||
--color-util-colors-orange-orange-500: #EF6820;
|
||||
--color-util-colors-orange-orange-600: #E04F16;
|
||||
--color-util-colors-orange-orange-700: #B93815;
|
||||
--color-_util-colors-orange-orange-50: #FEF6EE;
|
||||
--color-_util-colors-orange-orange-100: #FDEAD7;
|
||||
--color-_util-colors-orange-orange-200: #F9DBAF;
|
||||
--color-_util-colors-orange-orange-300: #F7B27A;
|
||||
--color-_util-colors-orange-orange-400: #F38744;
|
||||
--color-_util-colors-orange-orange-500: #EF6820;
|
||||
--color-_util-colors-orange-orange-600: #E04F16;
|
||||
--color-_util-colors-orange-orange-700: #B93815;
|
||||
|
||||
--color-util-colors-pink-pink-50: #FDF2FA;
|
||||
--color-util-colors-pink-pink-100: #FCE7F6;
|
||||
--color-util-colors-pink-pink-200: #FCCEEE;
|
||||
--color-util-colors-pink-pink-300: #FAA7E0;
|
||||
--color-util-colors-pink-pink-400: #F670C7;
|
||||
--color-util-colors-pink-pink-500: #EE46BC;
|
||||
--color-util-colors-pink-pink-600: #DD2590;
|
||||
--color-util-colors-pink-pink-700: #C11574;
|
||||
--color-_util-colors-pink-pink-50: #FDF2FA;
|
||||
--color-_util-colors-pink-pink-100: #FCE7F6;
|
||||
--color-_util-colors-pink-pink-200: #FCCEEE;
|
||||
--color-_util-colors-pink-pink-300: #FAA7E0;
|
||||
--color-_util-colors-pink-pink-400: #F670C7;
|
||||
--color-_util-colors-pink-pink-500: #EE46BC;
|
||||
--color-_util-colors-pink-pink-600: #DD2590;
|
||||
--color-_util-colors-pink-pink-700: #C11574;
|
||||
|
||||
--color-util-colors-fuchsia-fuchsia-50: #FDF4FF;
|
||||
--color-util-colors-fuchsia-fuchsia-100: #FBE8FF;
|
||||
--color-util-colors-fuchsia-fuchsia-200: #F6D0FE;
|
||||
--color-util-colors-fuchsia-fuchsia-300: #EEAAFD;
|
||||
--color-util-colors-fuchsia-fuchsia-400: #E478FA;
|
||||
--color-util-colors-fuchsia-fuchsia-500: #D444F1;
|
||||
--color-util-colors-fuchsia-fuchsia-600: #BA24D5;
|
||||
--color-util-colors-fuchsia-fuchsia-700: #9F1AB1;
|
||||
--color-_util-colors-fuchsia-fuchsia-50: #FDF4FF;
|
||||
--color-_util-colors-fuchsia-fuchsia-100: #FBE8FF;
|
||||
--color-_util-colors-fuchsia-fuchsia-200: #F6D0FE;
|
||||
--color-_util-colors-fuchsia-fuchsia-300: #EEAAFD;
|
||||
--color-_util-colors-fuchsia-fuchsia-400: #E478FA;
|
||||
--color-_util-colors-fuchsia-fuchsia-500: #D444F1;
|
||||
--color-_util-colors-fuchsia-fuchsia-600: #BA24D5;
|
||||
--color-_util-colors-fuchsia-fuchsia-700: #9F1AB1;
|
||||
|
||||
--color-util-colors-purple-purple-50: #F4F3FF;
|
||||
--color-util-colors-purple-purple-100: #EBE9FE;
|
||||
--color-util-colors-purple-purple-200: #D9D6FE;
|
||||
--color-util-colors-purple-purple-300: #BDB4FE;
|
||||
--color-util-colors-purple-purple-400: #9B8AFB;
|
||||
--color-util-colors-purple-purple-500: #7A5AF8;
|
||||
--color-util-colors-purple-purple-600: #6938EF;
|
||||
--color-util-colors-purple-purple-700: #5925DC;
|
||||
--color-_util-colors-purple-purple-50: #F4F3FF;
|
||||
--color-_util-colors-purple-purple-100: #EBE9FE;
|
||||
--color-_util-colors-purple-purple-200: #D9D6FE;
|
||||
--color-_util-colors-purple-purple-300: #BDB4FE;
|
||||
--color-_util-colors-purple-purple-400: #9B8AFB;
|
||||
--color-_util-colors-purple-purple-500: #7A5AF8;
|
||||
--color-_util-colors-purple-purple-600: #6938EF;
|
||||
--color-_util-colors-purple-purple-700: #5925DC;
|
||||
|
||||
--color-util-colors-indigo-indigo-50: #EEF4FF;
|
||||
--color-util-colors-indigo-indigo-100: #E0EAFF;
|
||||
--color-util-colors-indigo-indigo-200: #C7D7FE;
|
||||
--color-util-colors-indigo-indigo-300: #A4BCFD;
|
||||
--color-util-colors-indigo-indigo-400: #8098F9;
|
||||
--color-util-colors-indigo-indigo-500: #6172F3;
|
||||
--color-util-colors-indigo-indigo-600: #444CE7;
|
||||
--color-util-colors-indigo-indigo-700: #3538CD;
|
||||
--color-_util-colors-indigo-indigo-50: #EEF4FF;
|
||||
--color-_util-colors-indigo-indigo-100: #E0EAFF;
|
||||
--color-_util-colors-indigo-indigo-200: #C7D7FE;
|
||||
--color-_util-colors-indigo-indigo-300: #A4BCFD;
|
||||
--color-_util-colors-indigo-indigo-400: #8098F9;
|
||||
--color-_util-colors-indigo-indigo-500: #6172F3;
|
||||
--color-_util-colors-indigo-indigo-600: #444CE7;
|
||||
--color-_util-colors-indigo-indigo-700: #3538CD;
|
||||
|
||||
--color-util-colors-blue-blue-50: #EFF8FF;
|
||||
--color-util-colors-blue-blue-100: #D1E9FF;
|
||||
--color-util-colors-blue-blue-200: #B2DDFF;
|
||||
--color-util-colors-blue-blue-300: #84CAFF;
|
||||
--color-util-colors-blue-blue-400: #53B1FD;
|
||||
--color-util-colors-blue-blue-500: #2E90FA;
|
||||
--color-util-colors-blue-blue-600: #1570EF;
|
||||
--color-util-colors-blue-blue-700: #175CD3;
|
||||
--color-_util-colors-blue-blue-50: #EFF8FF;
|
||||
--color-_util-colors-blue-blue-100: #D1E9FF;
|
||||
--color-_util-colors-blue-blue-200: #B2DDFF;
|
||||
--color-_util-colors-blue-blue-300: #84CAFF;
|
||||
--color-_util-colors-blue-blue-400: #53B1FD;
|
||||
--color-_util-colors-blue-blue-500: #2E90FA;
|
||||
--color-_util-colors-blue-blue-600: #1570EF;
|
||||
--color-_util-colors-blue-blue-700: #175CD3;
|
||||
|
||||
--color-util-colors-blue-light-blue-light-50: #F0F9FF;
|
||||
--color-util-colors-blue-light-blue-light-100: #E0F2FE;
|
||||
--color-util-colors-blue-light-blue-light-200: #B9E6FE;
|
||||
--color-util-colors-blue-light-blue-light-300: #7CD4FD;
|
||||
--color-util-colors-blue-light-blue-light-400: #36BFFA;
|
||||
--color-util-colors-blue-light-blue-light-500: #0BA5EC;
|
||||
--color-util-colors-blue-light-blue-light-600: #0086C9;
|
||||
--color-util-colors-blue-light-blue-light-700: #026AA2;
|
||||
--color-_util-colors-blue-light-blue-light-50: #F0F9FF;
|
||||
--color-_util-colors-blue-light-blue-light-100: #E0F2FE;
|
||||
--color-_util-colors-blue-light-blue-light-200: #B9E6FE;
|
||||
--color-_util-colors-blue-light-blue-light-300: #7CD4FD;
|
||||
--color-_util-colors-blue-light-blue-light-400: #36BFFA;
|
||||
--color-_util-colors-blue-light-blue-light-500: #0BA5EC;
|
||||
--color-_util-colors-blue-light-blue-light-600: #0086C9;
|
||||
--color-_util-colors-blue-light-blue-light-700: #026AA2;
|
||||
|
||||
--color-util-colors-gray-blue-gray-blue-50: #F8F9FC;
|
||||
--color-util-colors-gray-blue-gray-blue-100: #EAECF5;
|
||||
--color-util-colors-gray-blue-gray-blue-200: #D5D9EB;
|
||||
--color-util-colors-gray-blue-gray-blue-300: #B3B8DB;
|
||||
--color-util-colors-gray-blue-gray-blue-400: #717BBC;
|
||||
--color-util-colors-gray-blue-gray-blue-500: #4E5BA6;
|
||||
--color-util-colors-gray-blue-gray-blue-600: #3E4784;
|
||||
--color-util-colors-gray-blue-gray-blue-700: #363F72;
|
||||
--color-_util-colors-gray-blue-gray-blue-50: #F8F9FC;
|
||||
--color-_util-colors-gray-blue-gray-blue-100: #EAECF5;
|
||||
--color-_util-colors-gray-blue-gray-blue-200: #D5D9EB;
|
||||
--color-_util-colors-gray-blue-gray-blue-300: #B3B8DB;
|
||||
--color-_util-colors-gray-blue-gray-blue-400: #717BBC;
|
||||
--color-_util-colors-gray-blue-gray-blue-500: #4E5BA6;
|
||||
--color-_util-colors-gray-blue-gray-blue-600: #3E4784;
|
||||
--color-_util-colors-gray-blue-gray-blue-700: #363F72;
|
||||
|
||||
--color-util-colors-blue-brand-blue-brand-50: #F5F7FF;
|
||||
--color-util-colors-blue-brand-blue-brand-100: #D1E0FF;
|
||||
--color-util-colors-blue-brand-blue-brand-200: #B2CAFF;
|
||||
--color-util-colors-blue-brand-blue-brand-300: #84ABFF;
|
||||
--color-util-colors-blue-brand-blue-brand-400: #5289FF;
|
||||
--color-util-colors-blue-brand-blue-brand-500: #296DFF;
|
||||
--color-util-colors-blue-brand-blue-brand-600: #155AEF;
|
||||
--color-util-colors-blue-brand-blue-brand-700: #004AEB;
|
||||
--color-_util-colors-blue-brand-blue-brand-50: #F5F7FF;
|
||||
--color-_util-colors-blue-brand-blue-brand-100: #D1E0FF;
|
||||
--color-_util-colors-blue-brand-blue-brand-200: #B2CAFF;
|
||||
--color-_util-colors-blue-brand-blue-brand-300: #84ABFF;
|
||||
--color-_util-colors-blue-brand-blue-brand-400: #5289FF;
|
||||
--color-_util-colors-blue-brand-blue-brand-500: #296DFF;
|
||||
--color-_util-colors-blue-brand-blue-brand-600: #155AEF;
|
||||
--color-_util-colors-blue-brand-blue-brand-700: #004AEB;
|
||||
|
||||
--color-util-colors-red-red-50: #FEF3F2;
|
||||
--color-util-colors-red-red-100: #FEE4E2;
|
||||
--color-util-colors-red-red-200: #FECDCA;
|
||||
--color-util-colors-red-red-300: #FDA29B;
|
||||
--color-util-colors-red-red-400: #F97066;
|
||||
--color-util-colors-red-red-500: #F04438;
|
||||
--color-util-colors-red-red-600: #D92D20;
|
||||
--color-util-colors-red-red-700: #B42318;
|
||||
--color-_util-colors-red-red-50: #FEF3F2;
|
||||
--color-_util-colors-red-red-100: #FEE4E2;
|
||||
--color-_util-colors-red-red-200: #FECDCA;
|
||||
--color-_util-colors-red-red-300: #FDA29B;
|
||||
--color-_util-colors-red-red-400: #F97066;
|
||||
--color-_util-colors-red-red-500: #F04438;
|
||||
--color-_util-colors-red-red-600: #D92D20;
|
||||
--color-_util-colors-red-red-700: #B42318;
|
||||
|
||||
--color-util-colors-green-green-50: #ECFDF3;
|
||||
--color-util-colors-green-green-100: #DCFAE6;
|
||||
--color-util-colors-green-green-200: #ABEFC6;
|
||||
--color-util-colors-green-green-300: #75E0A7;
|
||||
--color-util-colors-green-green-400: #47CD89;
|
||||
--color-util-colors-green-green-500: #17B26A;
|
||||
--color-util-colors-green-green-600: #079455;
|
||||
--color-util-colors-green-green-700: #067647;
|
||||
--color-_util-colors-green-green-50: #ECFDF3;
|
||||
--color-_util-colors-green-green-100: #DCFAE6;
|
||||
--color-_util-colors-green-green-200: #ABEFC6;
|
||||
--color-_util-colors-green-green-300: #75E0A7;
|
||||
--color-_util-colors-green-green-400: #47CD89;
|
||||
--color-_util-colors-green-green-500: #17B26A;
|
||||
--color-_util-colors-green-green-600: #079455;
|
||||
--color-_util-colors-green-green-700: #067647;
|
||||
|
||||
--color-util-colors-warning-warning-50: #FFFAEB;
|
||||
--color-util-colors-warning-warning-100: #FEF0C7;
|
||||
--color-util-colors-warning-warning-200: #FEDF89;
|
||||
--color-util-colors-warning-warning-300: #FEC84B;
|
||||
--color-util-colors-warning-warning-400: #FDB022;
|
||||
--color-util-colors-warning-warning-500: #F79009;
|
||||
--color-util-colors-warning-warning-600: #DC6803;
|
||||
--color-util-colors-warning-warning-700: #B54708;
|
||||
--color-_util-colors-warning-warning-50: #FFFAEB;
|
||||
--color-_util-colors-warning-warning-100: #FEF0C7;
|
||||
--color-_util-colors-warning-warning-200: #FEDF89;
|
||||
--color-_util-colors-warning-warning-300: #FEC84B;
|
||||
--color-_util-colors-warning-warning-400: #FDB022;
|
||||
--color-_util-colors-warning-warning-500: #F79009;
|
||||
--color-_util-colors-warning-warning-600: #DC6803;
|
||||
--color-_util-colors-warning-warning-700: #B54708;
|
||||
|
||||
--color-util-colors-yellow-yellow-50: #FEFBE8;
|
||||
--color-util-colors-yellow-yellow-100: #FEF7C3;
|
||||
--color-util-colors-yellow-yellow-200: #FEEE95;
|
||||
--color-util-colors-yellow-yellow-300: #FDE272;
|
||||
--color-util-colors-yellow-yellow-400: #FAC515;
|
||||
--color-util-colors-yellow-yellow-500: #EAAA08;
|
||||
--color-util-colors-yellow-yellow-600: #CA8504;
|
||||
--color-util-colors-yellow-yellow-700: #A15C07;
|
||||
--color-_util-colors-yellow-yellow-50: #FEFBE8;
|
||||
--color-_util-colors-yellow-yellow-100: #FEF7C3;
|
||||
--color-_util-colors-yellow-yellow-200: #FEEE95;
|
||||
--color-_util-colors-yellow-yellow-300: #FDE272;
|
||||
--color-_util-colors-yellow-yellow-400: #FAC515;
|
||||
--color-_util-colors-yellow-yellow-500: #EAAA08;
|
||||
--color-_util-colors-yellow-yellow-600: #CA8504;
|
||||
--color-_util-colors-yellow-yellow-700: #A15C07;
|
||||
|
||||
--color-util-colors-teal-teal-50: #F0FDF9;
|
||||
--color-util-colors-teal-teal-100: #CCFBEF;
|
||||
--color-util-colors-teal-teal-200: #99F6E0;
|
||||
--color-util-colors-teal-teal-300: #5FE9D0;
|
||||
--color-util-colors-teal-teal-400: #2ED3B7;
|
||||
--color-util-colors-teal-teal-500: #15B79E;
|
||||
--color-util-colors-teal-teal-600: #0E9384;
|
||||
--color-util-colors-teal-teal-700: #107569;
|
||||
--color-_util-colors-teal-teal-50: #F0FDF9;
|
||||
--color-_util-colors-teal-teal-100: #CCFBEF;
|
||||
--color-_util-colors-teal-teal-200: #99F6E0;
|
||||
--color-_util-colors-teal-teal-300: #5FE9D0;
|
||||
--color-_util-colors-teal-teal-400: #2ED3B7;
|
||||
--color-_util-colors-teal-teal-500: #15B79E;
|
||||
--color-_util-colors-teal-teal-600: #0E9384;
|
||||
--color-_util-colors-teal-teal-700: #107569;
|
||||
|
||||
--color-util-colors-cyan-cyan-50: #ECFDFF;
|
||||
--color-util-colors-cyan-cyan-100: #CFF9FE;
|
||||
--color-util-colors-cyan-cyan-200: #A5F0FC;
|
||||
--color-util-colors-cyan-cyan-300: #67E3F9;
|
||||
--color-util-colors-cyan-cyan-400: #22CCEE;
|
||||
--color-util-colors-cyan-cyan-500: #06AED4;
|
||||
--color-util-colors-cyan-cyan-600: #088AB2;
|
||||
--color-util-colors-cyan-cyan-700: #0E7090;
|
||||
--color-_util-colors-cyan-cyan-50: #ECFDFF;
|
||||
--color-_util-colors-cyan-cyan-100: #CFF9FE;
|
||||
--color-_util-colors-cyan-cyan-200: #A5F0FC;
|
||||
--color-_util-colors-cyan-cyan-300: #67E3F9;
|
||||
--color-_util-colors-cyan-cyan-400: #22CCEE;
|
||||
--color-_util-colors-cyan-cyan-500: #06AED4;
|
||||
--color-_util-colors-cyan-cyan-600: #088AB2;
|
||||
--color-_util-colors-cyan-cyan-700: #0E7090;
|
||||
|
||||
--color-util-colors-violet-violet-50: #F5F3FF;
|
||||
--color-util-colors-violet-violet-100: #ECE9FE;
|
||||
--color-util-colors-violet-violet-200: #DDD6FE;
|
||||
--color-util-colors-violet-violet-300: #C3B5FD;
|
||||
--color-util-colors-violet-violet-400: #A48AFB;
|
||||
--color-util-colors-violet-violet-500: #875BF7;
|
||||
--color-util-colors-violet-violet-600: #7839EE;
|
||||
--color-util-colors-violet-violet-700: #6927DA;
|
||||
--color-_util-colors-violet-violet-50: #F5F3FF;
|
||||
--color-_util-colors-violet-violet-100: #ECE9FE;
|
||||
--color-_util-colors-violet-violet-200: #DDD6FE;
|
||||
--color-_util-colors-violet-violet-300: #C3B5FD;
|
||||
--color-_util-colors-violet-violet-400: #A48AFB;
|
||||
--color-_util-colors-violet-violet-500: #875BF7;
|
||||
--color-_util-colors-violet-violet-600: #7839EE;
|
||||
--color-_util-colors-violet-violet-700: #6927DA;
|
||||
|
||||
--color-util-colors-gray-gray-50: #F9FAFB;
|
||||
--color-util-colors-gray-gray-100: #F2F4F7;
|
||||
--color-util-colors-gray-gray-200: #E9EBF0;
|
||||
--color-util-colors-gray-gray-300: #D0D5DC;
|
||||
--color-util-colors-gray-gray-400: #98A2B2;
|
||||
--color-util-colors-gray-gray-500: #676F83;
|
||||
--color-util-colors-gray-gray-600: #495464;
|
||||
--color-util-colors-gray-gray-700: #354052;
|
||||
--color-_util-colors-gray-gray-50: #F9FAFB;
|
||||
--color-_util-colors-gray-gray-100: #F2F4F7;
|
||||
--color-_util-colors-gray-gray-200: #E9EBF0;
|
||||
--color-_util-colors-gray-gray-300: #D0D5DC;
|
||||
--color-_util-colors-gray-gray-400: #98A2B2;
|
||||
--color-_util-colors-gray-gray-500: #676F83;
|
||||
--color-_util-colors-gray-gray-600: #495464;
|
||||
--color-_util-colors-gray-gray-700: #354052;
|
||||
|
||||
--color-third-party-LangChain: #1C3C3C;
|
||||
--color-third-party-Langfuse: #000000;
|
||||
|
||||
@ -174,7 +174,7 @@ const vars = {
|
||||
'components-badge-status-light-success-halo': 'var(--color-components-badge-status-light-success-halo)',
|
||||
|
||||
'components-badge-status-light-border-outer': 'var(--color-components-badge-status-light-border-outer)',
|
||||
'components-badge-status-light-high-light': 'var(--color-components-badge-status-light-high-light)',
|
||||
'components-badge-status-light-_high-light': 'var(--color-components-badge-status-light-_high-light)',
|
||||
'components-badge-status-light-warning-bg': 'var(--color-components-badge-status-light-warning-bg)',
|
||||
'components-badge-status-light-warning-border-inner': 'var(--color-components-badge-status-light-warning-border-inner)',
|
||||
'components-badge-status-light-warning-halo': 'var(--color-components-badge-status-light-warning-halo)',
|
||||
@ -249,7 +249,7 @@ const vars = {
|
||||
'text-accent-secondary': 'var(--color-text-accent-secondary)',
|
||||
'text-accent-light-mode-only': 'var(--color-text-accent-light-mode-only)',
|
||||
'text-text-selected': 'var(--color-text-text-selected)',
|
||||
'text-secondary-on-surface': 'var(--color-text-secondary-on-surface)',
|
||||
'text-_secondary-on-surface': 'var(--color-text-_secondary-on-surface)',
|
||||
'text-logo-text': 'var(--color-text-logo-text)',
|
||||
'text-empty-state-icon': 'var(--color-text-empty-state-icon)',
|
||||
|
||||
@ -298,11 +298,12 @@ const vars = {
|
||||
'shadow-shadow-2': 'var(--color-shadow-shadow-2)',
|
||||
'shadow-shadow-10': 'var(--color-shadow-shadow-10)',
|
||||
|
||||
'workflow-block-_border': 'var(--color-workflow-block-_border)',
|
||||
'workflow-block-_panel-bg': 'var(--color-workflow-block-_panel-bg)',
|
||||
'workflow-block-border': 'var(--color-workflow-block-border)',
|
||||
'workflow-block-panel-bg': 'var(--color-workflow-block-panel-bg)',
|
||||
'workflow-block-parma-bg': 'var(--color-workflow-block-parma-bg)',
|
||||
'workflow-block-nav-bg': 'var(--color-workflow-block-nav-bg)',
|
||||
'workflow-block-nav-border-right': 'var(--color-workflow-block-nav-border-right)',
|
||||
'workflow-block-_nav-bg': 'var(--color-workflow-block-_nav-bg)',
|
||||
'workflow-block-_nav-border-right': 'var(--color-workflow-block-_nav-border-right)',
|
||||
'workflow-block-bg': 'var(--color-workflow-block-bg)',
|
||||
|
||||
'workflow-canvas-workflow-dot-color': 'var(--color-workflow-canvas-workflow-dot-color)',
|
||||
@ -394,167 +395,167 @@ const vars = {
|
||||
'effects-highlight-lightmode-off': 'var(--color-effects-highlight-lightmode-off)',
|
||||
'effects-image-frame': 'var(--color-effects-image-frame)',
|
||||
|
||||
'util-colors-orange-dark-orange-dark-50': 'var(--color-util-colors-orange-dark-orange-dark-50)',
|
||||
'util-colors-orange-dark-orange-dark-100': 'var(--color-util-colors-orange-dark-orange-dark-100)',
|
||||
'util-colors-orange-dark-orange-dark-200': 'var(--color-util-colors-orange-dark-orange-dark-200)',
|
||||
'util-colors-orange-dark-orange-dark-300': 'var(--color-util-colors-orange-dark-orange-dark-300)',
|
||||
'util-colors-orange-dark-orange-dark-400': 'var(--color-util-colors-orange-dark-orange-dark-400)',
|
||||
'util-colors-orange-dark-orange-dark-500': 'var(--color-util-colors-orange-dark-orange-dark-500)',
|
||||
'util-colors-orange-dark-orange-dark-600': 'var(--color-util-colors-orange-dark-orange-dark-600)',
|
||||
'util-colors-orange-dark-orange-dark-700': 'var(--color-util-colors-orange-dark-orange-dark-700)',
|
||||
'_util-colors-orange-dark-orange-dark-50': 'var(--color-_util-colors-orange-dark-orange-dark-50)',
|
||||
'_util-colors-orange-dark-orange-dark-100': 'var(--color-_util-colors-orange-dark-orange-dark-100)',
|
||||
'_util-colors-orange-dark-orange-dark-200': 'var(--color-_util-colors-orange-dark-orange-dark-200)',
|
||||
'_util-colors-orange-dark-orange-dark-300': 'var(--color-_util-colors-orange-dark-orange-dark-300)',
|
||||
'_util-colors-orange-dark-orange-dark-400': 'var(--color-_util-colors-orange-dark-orange-dark-400)',
|
||||
'_util-colors-orange-dark-orange-dark-500': 'var(--color-_util-colors-orange-dark-orange-dark-500)',
|
||||
'_util-colors-orange-dark-orange-dark-600': 'var(--color-_util-colors-orange-dark-orange-dark-600)',
|
||||
'_util-colors-orange-dark-orange-dark-700': 'var(--color-_util-colors-orange-dark-orange-dark-700)',
|
||||
|
||||
'util-colors-orange-orange-50': 'var(--color-util-colors-orange-orange-50)',
|
||||
'util-colors-orange-orange-100': 'var(--color-util-colors-orange-orange-100)',
|
||||
'util-colors-orange-orange-200': 'var(--color-util-colors-orange-orange-200)',
|
||||
'util-colors-orange-orange-300': 'var(--color-util-colors-orange-orange-300)',
|
||||
'util-colors-orange-orange-400': 'var(--color-util-colors-orange-orange-400)',
|
||||
'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-700': 'var(--color-util-colors-orange-orange-700)',
|
||||
'_util-colors-orange-orange-50': 'var(--color-_util-colors-orange-orange-50)',
|
||||
'_util-colors-orange-orange-100': 'var(--color-_util-colors-orange-orange-100)',
|
||||
'_util-colors-orange-orange-200': 'var(--color-_util-colors-orange-orange-200)',
|
||||
'_util-colors-orange-orange-300': 'var(--color-_util-colors-orange-orange-300)',
|
||||
'_util-colors-orange-orange-400': 'var(--color-_util-colors-orange-orange-400)',
|
||||
'_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-700': 'var(--color-_util-colors-orange-orange-700)',
|
||||
|
||||
'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-200': 'var(--color-util-colors-pink-pink-200)',
|
||||
'util-colors-pink-pink-300': 'var(--color-util-colors-pink-pink-300)',
|
||||
'util-colors-pink-pink-400': 'var(--color-util-colors-pink-pink-400)',
|
||||
'util-colors-pink-pink-500': 'var(--color-util-colors-pink-pink-500)',
|
||||
'util-colors-pink-pink-600': 'var(--color-util-colors-pink-pink-600)',
|
||||
'util-colors-pink-pink-700': 'var(--color-util-colors-pink-pink-700)',
|
||||
'_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-200': 'var(--color-_util-colors-pink-pink-200)',
|
||||
'_util-colors-pink-pink-300': 'var(--color-_util-colors-pink-pink-300)',
|
||||
'_util-colors-pink-pink-400': 'var(--color-_util-colors-pink-pink-400)',
|
||||
'_util-colors-pink-pink-500': 'var(--color-_util-colors-pink-pink-500)',
|
||||
'_util-colors-pink-pink-600': 'var(--color-_util-colors-pink-pink-600)',
|
||||
'_util-colors-pink-pink-700': 'var(--color-_util-colors-pink-pink-700)',
|
||||
|
||||
'util-colors-fuchsia-fuchsia-50': 'var(--color-util-colors-fuchsia-fuchsia-50)',
|
||||
'util-colors-fuchsia-fuchsia-100': 'var(--color-util-colors-fuchsia-fuchsia-100)',
|
||||
'util-colors-fuchsia-fuchsia-200': 'var(--color-util-colors-fuchsia-fuchsia-200)',
|
||||
'util-colors-fuchsia-fuchsia-300': 'var(--color-util-colors-fuchsia-fuchsia-300)',
|
||||
'util-colors-fuchsia-fuchsia-400': 'var(--color-util-colors-fuchsia-fuchsia-400)',
|
||||
'util-colors-fuchsia-fuchsia-500': 'var(--color-util-colors-fuchsia-fuchsia-500)',
|
||||
'util-colors-fuchsia-fuchsia-600': 'var(--color-util-colors-fuchsia-fuchsia-600)',
|
||||
'util-colors-fuchsia-fuchsia-700': 'var(--color-util-colors-fuchsia-fuchsia-700)',
|
||||
'_util-colors-fuchsia-fuchsia-50': 'var(--color-_util-colors-fuchsia-fuchsia-50)',
|
||||
'_util-colors-fuchsia-fuchsia-100': 'var(--color-_util-colors-fuchsia-fuchsia-100)',
|
||||
'_util-colors-fuchsia-fuchsia-200': 'var(--color-_util-colors-fuchsia-fuchsia-200)',
|
||||
'_util-colors-fuchsia-fuchsia-300': 'var(--color-_util-colors-fuchsia-fuchsia-300)',
|
||||
'_util-colors-fuchsia-fuchsia-400': 'var(--color-_util-colors-fuchsia-fuchsia-400)',
|
||||
'_util-colors-fuchsia-fuchsia-500': 'var(--color-_util-colors-fuchsia-fuchsia-500)',
|
||||
'_util-colors-fuchsia-fuchsia-600': 'var(--color-_util-colors-fuchsia-fuchsia-600)',
|
||||
'_util-colors-fuchsia-fuchsia-700': 'var(--color-_util-colors-fuchsia-fuchsia-700)',
|
||||
|
||||
'util-colors-purple-purple-50': 'var(--color-util-colors-purple-purple-50)',
|
||||
'util-colors-purple-purple-100': 'var(--color-util-colors-purple-purple-100)',
|
||||
'util-colors-purple-purple-200': 'var(--color-util-colors-purple-purple-200)',
|
||||
'util-colors-purple-purple-300': 'var(--color-util-colors-purple-purple-300)',
|
||||
'util-colors-purple-purple-400': 'var(--color-util-colors-purple-purple-400)',
|
||||
'util-colors-purple-purple-500': 'var(--color-util-colors-purple-purple-500)',
|
||||
'util-colors-purple-purple-600': 'var(--color-util-colors-purple-purple-600)',
|
||||
'util-colors-purple-purple-700': 'var(--color-util-colors-purple-purple-700)',
|
||||
'_util-colors-purple-purple-50': 'var(--color-_util-colors-purple-purple-50)',
|
||||
'_util-colors-purple-purple-100': 'var(--color-_util-colors-purple-purple-100)',
|
||||
'_util-colors-purple-purple-200': 'var(--color-_util-colors-purple-purple-200)',
|
||||
'_util-colors-purple-purple-300': 'var(--color-_util-colors-purple-purple-300)',
|
||||
'_util-colors-purple-purple-400': 'var(--color-_util-colors-purple-purple-400)',
|
||||
'_util-colors-purple-purple-500': 'var(--color-_util-colors-purple-purple-500)',
|
||||
'_util-colors-purple-purple-600': 'var(--color-_util-colors-purple-purple-600)',
|
||||
'_util-colors-purple-purple-700': 'var(--color-_util-colors-purple-purple-700)',
|
||||
|
||||
'util-colors-indigo-indigo-50': 'var(--color-util-colors-indigo-indigo-50)',
|
||||
'util-colors-indigo-indigo-100': 'var(--color-util-colors-indigo-indigo-100)',
|
||||
'util-colors-indigo-indigo-200': 'var(--color-util-colors-indigo-indigo-200)',
|
||||
'util-colors-indigo-indigo-300': 'var(--color-util-colors-indigo-indigo-300)',
|
||||
'util-colors-indigo-indigo-400': 'var(--color-util-colors-indigo-indigo-400)',
|
||||
'util-colors-indigo-indigo-500': 'var(--color-util-colors-indigo-indigo-500)',
|
||||
'util-colors-indigo-indigo-600': 'var(--color-util-colors-indigo-indigo-600)',
|
||||
'util-colors-indigo-indigo-700': 'var(--color-util-colors-indigo-indigo-700)',
|
||||
'_util-colors-indigo-indigo-50': 'var(--color-_util-colors-indigo-indigo-50)',
|
||||
'_util-colors-indigo-indigo-100': 'var(--color-_util-colors-indigo-indigo-100)',
|
||||
'_util-colors-indigo-indigo-200': 'var(--color-_util-colors-indigo-indigo-200)',
|
||||
'_util-colors-indigo-indigo-300': 'var(--color-_util-colors-indigo-indigo-300)',
|
||||
'_util-colors-indigo-indigo-400': 'var(--color-_util-colors-indigo-indigo-400)',
|
||||
'_util-colors-indigo-indigo-500': 'var(--color-_util-colors-indigo-indigo-500)',
|
||||
'_util-colors-indigo-indigo-600': 'var(--color-_util-colors-indigo-indigo-600)',
|
||||
'_util-colors-indigo-indigo-700': 'var(--color-_util-colors-indigo-indigo-700)',
|
||||
|
||||
'util-colors-blue-blue-50': 'var(--color-util-colors-blue-blue-50)',
|
||||
'util-colors-blue-blue-100': 'var(--color-util-colors-blue-blue-100)',
|
||||
'util-colors-blue-blue-200': 'var(--color-util-colors-blue-blue-200)',
|
||||
'util-colors-blue-blue-300': 'var(--color-util-colors-blue-blue-300)',
|
||||
'util-colors-blue-blue-400': 'var(--color-util-colors-blue-blue-400)',
|
||||
'util-colors-blue-blue-500': 'var(--color-util-colors-blue-blue-500)',
|
||||
'util-colors-blue-blue-600': 'var(--color-util-colors-blue-blue-600)',
|
||||
'util-colors-blue-blue-700': 'var(--color-util-colors-blue-blue-700)',
|
||||
'_util-colors-blue-blue-50': 'var(--color-_util-colors-blue-blue-50)',
|
||||
'_util-colors-blue-blue-100': 'var(--color-_util-colors-blue-blue-100)',
|
||||
'_util-colors-blue-blue-200': 'var(--color-_util-colors-blue-blue-200)',
|
||||
'_util-colors-blue-blue-300': 'var(--color-_util-colors-blue-blue-300)',
|
||||
'_util-colors-blue-blue-400': 'var(--color-_util-colors-blue-blue-400)',
|
||||
'_util-colors-blue-blue-500': 'var(--color-_util-colors-blue-blue-500)',
|
||||
'_util-colors-blue-blue-600': 'var(--color-_util-colors-blue-blue-600)',
|
||||
'_util-colors-blue-blue-700': 'var(--color-_util-colors-blue-blue-700)',
|
||||
|
||||
'util-colors-blue-light-blue-light-50': 'var(--color-util-colors-blue-light-blue-light-50)',
|
||||
'util-colors-blue-light-blue-light-100': 'var(--color-util-colors-blue-light-blue-light-100)',
|
||||
'util-colors-blue-light-blue-light-200': 'var(--color-util-colors-blue-light-blue-light-200)',
|
||||
'util-colors-blue-light-blue-light-300': 'var(--color-util-colors-blue-light-blue-light-300)',
|
||||
'util-colors-blue-light-blue-light-400': 'var(--color-util-colors-blue-light-blue-light-400)',
|
||||
'util-colors-blue-light-blue-light-500': 'var(--color-util-colors-blue-light-blue-light-500)',
|
||||
'util-colors-blue-light-blue-light-600': 'var(--color-util-colors-blue-light-blue-light-600)',
|
||||
'util-colors-blue-light-blue-light-700': 'var(--color-util-colors-blue-light-blue-light-700)',
|
||||
'_util-colors-blue-light-blue-light-50': 'var(--color-_util-colors-blue-light-blue-light-50)',
|
||||
'_util-colors-blue-light-blue-light-100': 'var(--color-_util-colors-blue-light-blue-light-100)',
|
||||
'_util-colors-blue-light-blue-light-200': 'var(--color-_util-colors-blue-light-blue-light-200)',
|
||||
'_util-colors-blue-light-blue-light-300': 'var(--color-_util-colors-blue-light-blue-light-300)',
|
||||
'_util-colors-blue-light-blue-light-400': 'var(--color-_util-colors-blue-light-blue-light-400)',
|
||||
'_util-colors-blue-light-blue-light-500': 'var(--color-_util-colors-blue-light-blue-light-500)',
|
||||
'_util-colors-blue-light-blue-light-600': 'var(--color-_util-colors-blue-light-blue-light-600)',
|
||||
'_util-colors-blue-light-blue-light-700': 'var(--color-_util-colors-blue-light-blue-light-700)',
|
||||
|
||||
'util-colors-gray-blue-gray-blue-50': 'var(--color-util-colors-gray-blue-gray-blue-50)',
|
||||
'util-colors-gray-blue-gray-blue-100': 'var(--color-util-colors-gray-blue-gray-blue-100)',
|
||||
'util-colors-gray-blue-gray-blue-200': 'var(--color-util-colors-gray-blue-gray-blue-200)',
|
||||
'util-colors-gray-blue-gray-blue-300': 'var(--color-util-colors-gray-blue-gray-blue-300)',
|
||||
'util-colors-gray-blue-gray-blue-400': 'var(--color-util-colors-gray-blue-gray-blue-400)',
|
||||
'util-colors-gray-blue-gray-blue-500': 'var(--color-util-colors-gray-blue-gray-blue-500)',
|
||||
'util-colors-gray-blue-gray-blue-600': 'var(--color-util-colors-gray-blue-gray-blue-600)',
|
||||
'util-colors-gray-blue-gray-blue-700': 'var(--color-util-colors-gray-blue-gray-blue-700)',
|
||||
'_util-colors-gray-blue-gray-blue-50': 'var(--color-_util-colors-gray-blue-gray-blue-50)',
|
||||
'_util-colors-gray-blue-gray-blue-100': 'var(--color-_util-colors-gray-blue-gray-blue-100)',
|
||||
'_util-colors-gray-blue-gray-blue-200': 'var(--color-_util-colors-gray-blue-gray-blue-200)',
|
||||
'_util-colors-gray-blue-gray-blue-300': 'var(--color-_util-colors-gray-blue-gray-blue-300)',
|
||||
'_util-colors-gray-blue-gray-blue-400': 'var(--color-_util-colors-gray-blue-gray-blue-400)',
|
||||
'_util-colors-gray-blue-gray-blue-500': 'var(--color-_util-colors-gray-blue-gray-blue-500)',
|
||||
'_util-colors-gray-blue-gray-blue-600': 'var(--color-_util-colors-gray-blue-gray-blue-600)',
|
||||
'_util-colors-gray-blue-gray-blue-700': 'var(--color-_util-colors-gray-blue-gray-blue-700)',
|
||||
|
||||
'util-colors-blue-brand-blue-brand-50': 'var(--color-util-colors-blue-brand-blue-brand-50)',
|
||||
'util-colors-blue-brand-blue-brand-100': 'var(--color-util-colors-blue-brand-blue-brand-100)',
|
||||
'util-colors-blue-brand-blue-brand-200': 'var(--color-util-colors-blue-brand-blue-brand-200)',
|
||||
'util-colors-blue-brand-blue-brand-300': 'var(--color-util-colors-blue-brand-blue-brand-300)',
|
||||
'util-colors-blue-brand-blue-brand-400': 'var(--color-util-colors-blue-brand-blue-brand-400)',
|
||||
'util-colors-blue-brand-blue-brand-500': 'var(--color-util-colors-blue-brand-blue-brand-500)',
|
||||
'util-colors-blue-brand-blue-brand-600': 'var(--color-util-colors-blue-brand-blue-brand-600)',
|
||||
'util-colors-blue-brand-blue-brand-700': 'var(--color-util-colors-blue-brand-blue-brand-700)',
|
||||
'_util-colors-blue-brand-blue-brand-50': 'var(--color-_util-colors-blue-brand-blue-brand-50)',
|
||||
'_util-colors-blue-brand-blue-brand-100': 'var(--color-_util-colors-blue-brand-blue-brand-100)',
|
||||
'_util-colors-blue-brand-blue-brand-200': 'var(--color-_util-colors-blue-brand-blue-brand-200)',
|
||||
'_util-colors-blue-brand-blue-brand-300': 'var(--color-_util-colors-blue-brand-blue-brand-300)',
|
||||
'_util-colors-blue-brand-blue-brand-400': 'var(--color-_util-colors-blue-brand-blue-brand-400)',
|
||||
'_util-colors-blue-brand-blue-brand-500': 'var(--color-_util-colors-blue-brand-blue-brand-500)',
|
||||
'_util-colors-blue-brand-blue-brand-600': 'var(--color-_util-colors-blue-brand-blue-brand-600)',
|
||||
'_util-colors-blue-brand-blue-brand-700': 'var(--color-_util-colors-blue-brand-blue-brand-700)',
|
||||
|
||||
'util-colors-red-red-50': 'var(--color-util-colors-red-red-50)',
|
||||
'util-colors-red-red-100': 'var(--color-util-colors-red-red-100)',
|
||||
'util-colors-red-red-200': 'var(--color-util-colors-red-red-200)',
|
||||
'util-colors-red-red-300': 'var(--color-util-colors-red-red-300)',
|
||||
'util-colors-red-red-400': 'var(--color-util-colors-red-red-400)',
|
||||
'util-colors-red-red-500': 'var(--color-util-colors-red-red-500)',
|
||||
'util-colors-red-red-600': 'var(--color-util-colors-red-red-600)',
|
||||
'util-colors-red-red-700': 'var(--color-util-colors-red-red-700)',
|
||||
'_util-colors-red-red-50': 'var(--color-_util-colors-red-red-50)',
|
||||
'_util-colors-red-red-100': 'var(--color-_util-colors-red-red-100)',
|
||||
'_util-colors-red-red-200': 'var(--color-_util-colors-red-red-200)',
|
||||
'_util-colors-red-red-300': 'var(--color-_util-colors-red-red-300)',
|
||||
'_util-colors-red-red-400': 'var(--color-_util-colors-red-red-400)',
|
||||
'_util-colors-red-red-500': 'var(--color-_util-colors-red-red-500)',
|
||||
'_util-colors-red-red-600': 'var(--color-_util-colors-red-red-600)',
|
||||
'_util-colors-red-red-700': 'var(--color-_util-colors-red-red-700)',
|
||||
|
||||
'util-colors-green-green-50': 'var(--color-util-colors-green-green-50)',
|
||||
'util-colors-green-green-100': 'var(--color-util-colors-green-green-100)',
|
||||
'util-colors-green-green-200': 'var(--color-util-colors-green-green-200)',
|
||||
'util-colors-green-green-300': 'var(--color-util-colors-green-green-300)',
|
||||
'util-colors-green-green-400': 'var(--color-util-colors-green-green-400)',
|
||||
'util-colors-green-green-500': 'var(--color-util-colors-green-green-500)',
|
||||
'util-colors-green-green-600': 'var(--color-util-colors-green-green-600)',
|
||||
'util-colors-green-green-700': 'var(--color-util-colors-green-green-700)',
|
||||
'_util-colors-green-green-50': 'var(--color-_util-colors-green-green-50)',
|
||||
'_util-colors-green-green-100': 'var(--color-_util-colors-green-green-100)',
|
||||
'_util-colors-green-green-200': 'var(--color-_util-colors-green-green-200)',
|
||||
'_util-colors-green-green-300': 'var(--color-_util-colors-green-green-300)',
|
||||
'_util-colors-green-green-400': 'var(--color-_util-colors-green-green-400)',
|
||||
'_util-colors-green-green-500': 'var(--color-_util-colors-green-green-500)',
|
||||
'_util-colors-green-green-600': 'var(--color-_util-colors-green-green-600)',
|
||||
'_util-colors-green-green-700': 'var(--color-_util-colors-green-green-700)',
|
||||
|
||||
'util-colors-warning-warning-50': 'var(--color-util-colors-warning-warning-50)',
|
||||
'util-colors-warning-warning-100': 'var(--color-util-colors-warning-warning-100)',
|
||||
'util-colors-warning-warning-200': 'var(--color-util-colors-warning-warning-200)',
|
||||
'util-colors-warning-warning-300': 'var(--color-util-colors-warning-warning-300)',
|
||||
'util-colors-warning-warning-400': 'var(--color-util-colors-warning-warning-400)',
|
||||
'util-colors-warning-warning-500': 'var(--color-util-colors-warning-warning-500)',
|
||||
'util-colors-warning-warning-600': 'var(--color-util-colors-warning-warning-600)',
|
||||
'util-colors-warning-warning-700': 'var(--color-util-colors-warning-warning-700)',
|
||||
'_util-colors-warning-warning-50': 'var(--color-_util-colors-warning-warning-50)',
|
||||
'_util-colors-warning-warning-100': 'var(--color-_util-colors-warning-warning-100)',
|
||||
'_util-colors-warning-warning-200': 'var(--color-_util-colors-warning-warning-200)',
|
||||
'_util-colors-warning-warning-300': 'var(--color-_util-colors-warning-warning-300)',
|
||||
'_util-colors-warning-warning-400': 'var(--color-_util-colors-warning-warning-400)',
|
||||
'_util-colors-warning-warning-500': 'var(--color-_util-colors-warning-warning-500)',
|
||||
'_util-colors-warning-warning-600': 'var(--color-_util-colors-warning-warning-600)',
|
||||
'_util-colors-warning-warning-700': 'var(--color-_util-colors-warning-warning-700)',
|
||||
|
||||
'util-colors-yellow-yellow-50': 'var(--color-util-colors-yellow-yellow-50)',
|
||||
'util-colors-yellow-yellow-100': 'var(--color-util-colors-yellow-yellow-100)',
|
||||
'util-colors-yellow-yellow-200': 'var(--color-util-colors-yellow-yellow-200)',
|
||||
'util-colors-yellow-yellow-300': 'var(--color-util-colors-yellow-yellow-300)',
|
||||
'util-colors-yellow-yellow-400': 'var(--color-util-colors-yellow-yellow-400)',
|
||||
'util-colors-yellow-yellow-500': 'var(--color-util-colors-yellow-yellow-500)',
|
||||
'util-colors-yellow-yellow-600': 'var(--color-util-colors-yellow-yellow-600)',
|
||||
'util-colors-yellow-yellow-700': 'var(--color-util-colors-yellow-yellow-700)',
|
||||
'_util-colors-yellow-yellow-50': 'var(--color-_util-colors-yellow-yellow-50)',
|
||||
'_util-colors-yellow-yellow-100': 'var(--color-_util-colors-yellow-yellow-100)',
|
||||
'_util-colors-yellow-yellow-200': 'var(--color-_util-colors-yellow-yellow-200)',
|
||||
'_util-colors-yellow-yellow-300': 'var(--color-_util-colors-yellow-yellow-300)',
|
||||
'_util-colors-yellow-yellow-400': 'var(--color-_util-colors-yellow-yellow-400)',
|
||||
'_util-colors-yellow-yellow-500': 'var(--color-_util-colors-yellow-yellow-500)',
|
||||
'_util-colors-yellow-yellow-600': 'var(--color-_util-colors-yellow-yellow-600)',
|
||||
'_util-colors-yellow-yellow-700': 'var(--color-_util-colors-yellow-yellow-700)',
|
||||
|
||||
'util-colors-teal-teal-50': 'var(--color-util-colors-teal-teal-50)',
|
||||
'util-colors-teal-teal-100': 'var(--color-util-colors-teal-teal-100)',
|
||||
'util-colors-teal-teal-200': 'var(--color-util-colors-teal-teal-200)',
|
||||
'util-colors-teal-teal-300': 'var(--color-util-colors-teal-teal-300)',
|
||||
'util-colors-teal-teal-400': 'var(--color-util-colors-teal-teal-400)',
|
||||
'util-colors-teal-teal-500': 'var(--color-util-colors-teal-teal-500)',
|
||||
'util-colors-teal-teal-600': 'var(--color-util-colors-teal-teal-600)',
|
||||
'util-colors-teal-teal-700': 'var(--color-util-colors-teal-teal-700)',
|
||||
'_util-colors-teal-teal-50': 'var(--color-_util-colors-teal-teal-50)',
|
||||
'_util-colors-teal-teal-100': 'var(--color-_util-colors-teal-teal-100)',
|
||||
'_util-colors-teal-teal-200': 'var(--color-_util-colors-teal-teal-200)',
|
||||
'_util-colors-teal-teal-300': 'var(--color-_util-colors-teal-teal-300)',
|
||||
'_util-colors-teal-teal-400': 'var(--color-_util-colors-teal-teal-400)',
|
||||
'_util-colors-teal-teal-500': 'var(--color-_util-colors-teal-teal-500)',
|
||||
'_util-colors-teal-teal-600': 'var(--color-_util-colors-teal-teal-600)',
|
||||
'_util-colors-teal-teal-700': 'var(--color-_util-colors-teal-teal-700)',
|
||||
|
||||
'util-colors-cyan-cyan-50': 'var(--color-util-colors-cyan-cyan-50)',
|
||||
'util-colors-cyan-cyan-100': 'var(--color-util-colors-cyan-cyan-100)',
|
||||
'util-colors-cyan-cyan-200': 'var(--color-util-colors-cyan-cyan-200)',
|
||||
'util-colors-cyan-cyan-300': 'var(--color-util-colors-cyan-cyan-300)',
|
||||
'util-colors-cyan-cyan-400': 'var(--color-util-colors-cyan-cyan-400)',
|
||||
'util-colors-cyan-cyan-500': 'var(--color-util-colors-cyan-cyan-500)',
|
||||
'util-colors-cyan-cyan-600': 'var(--color-util-colors-cyan-cyan-600)',
|
||||
'util-colors-cyan-cyan-700': 'var(--color-util-colors-cyan-cyan-700)',
|
||||
'_util-colors-cyan-cyan-50': 'var(--color-_util-colors-cyan-cyan-50)',
|
||||
'_util-colors-cyan-cyan-100': 'var(--color-_util-colors-cyan-cyan-100)',
|
||||
'_util-colors-cyan-cyan-200': 'var(--color-_util-colors-cyan-cyan-200)',
|
||||
'_util-colors-cyan-cyan-300': 'var(--color-_util-colors-cyan-cyan-300)',
|
||||
'_util-colors-cyan-cyan-400': 'var(--color-_util-colors-cyan-cyan-400)',
|
||||
'_util-colors-cyan-cyan-500': 'var(--color-_util-colors-cyan-cyan-500)',
|
||||
'_util-colors-cyan-cyan-600': 'var(--color-_util-colors-cyan-cyan-600)',
|
||||
'_util-colors-cyan-cyan-700': 'var(--color-_util-colors-cyan-cyan-700)',
|
||||
|
||||
'util-colors-violet-violet-50': 'var(--color-util-colors-violet-violet-50)',
|
||||
'util-colors-violet-violet-100': 'var(--color-util-colors-violet-violet-100)',
|
||||
'util-colors-violet-violet-200': 'var(--color-util-colors-violet-violet-200)',
|
||||
'util-colors-violet-violet-300': 'var(--color-util-colors-violet-violet-300)',
|
||||
'util-colors-violet-violet-400': 'var(--color-util-colors-violet-violet-400)',
|
||||
'util-colors-violet-violet-500': 'var(--color-util-colors-violet-violet-500)',
|
||||
'util-colors-violet-violet-600': 'var(--color-util-colors-violet-violet-600)',
|
||||
'util-colors-violet-violet-700': 'var(--color-util-colors-violet-violet-700)',
|
||||
'_util-colors-violet-violet-50': 'var(--color-_util-colors-violet-violet-50)',
|
||||
'_util-colors-violet-violet-100': 'var(--color-_util-colors-violet-violet-100)',
|
||||
'_util-colors-violet-violet-200': 'var(--color-_util-colors-violet-violet-200)',
|
||||
'_util-colors-violet-violet-300': 'var(--color-_util-colors-violet-violet-300)',
|
||||
'_util-colors-violet-violet-400': 'var(--color-_util-colors-violet-violet-400)',
|
||||
'_util-colors-violet-violet-500': 'var(--color-_util-colors-violet-violet-500)',
|
||||
'_util-colors-violet-violet-600': 'var(--color-_util-colors-violet-violet-600)',
|
||||
'_util-colors-violet-violet-700': 'var(--color-_util-colors-violet-violet-700)',
|
||||
|
||||
'util-colors-gray-gray-50': 'var(--color-util-colors-gray-gray-50)',
|
||||
'util-colors-gray-gray-100': 'var(--color-util-colors-gray-gray-100)',
|
||||
'util-colors-gray-gray-200': 'var(--color-util-colors-gray-gray-200)',
|
||||
'util-colors-gray-gray-300': 'var(--color-util-colors-gray-gray-300)',
|
||||
'util-colors-gray-gray-400': 'var(--color-util-colors-gray-gray-400)',
|
||||
'util-colors-gray-gray-500': 'var(--color-util-colors-gray-gray-500)',
|
||||
'util-colors-gray-gray-600': 'var(--color-util-colors-gray-gray-600)',
|
||||
'util-colors-gray-gray-700': 'var(--color-util-colors-gray-gray-700)',
|
||||
'_util-colors-gray-gray-50': 'var(--color-_util-colors-gray-gray-50)',
|
||||
'_util-colors-gray-gray-100': 'var(--color-_util-colors-gray-gray-100)',
|
||||
'_util-colors-gray-gray-200': 'var(--color-_util-colors-gray-gray-200)',
|
||||
'_util-colors-gray-gray-300': 'var(--color-_util-colors-gray-gray-300)',
|
||||
'_util-colors-gray-gray-400': 'var(--color-_util-colors-gray-gray-400)',
|
||||
'_util-colors-gray-gray-500': 'var(--color-_util-colors-gray-gray-500)',
|
||||
'_util-colors-gray-gray-600': 'var(--color-_util-colors-gray-gray-600)',
|
||||
'_util-colors-gray-gray-700': 'var(--color-_util-colors-gray-gray-700)',
|
||||
|
||||
'third-party-LangChain': 'var(--color-third-party-LangChain)',
|
||||
'third-party-Langfuse': 'var(--color-third-party-Langfuse)',
|
||||
|
||||
@ -3,7 +3,6 @@ export type SystemFeatures = {
|
||||
sso_enforced_for_signin_protocol: string
|
||||
sso_enforced_for_web: boolean
|
||||
sso_enforced_for_web_protocol: string
|
||||
expired_at?: number
|
||||
}
|
||||
|
||||
export const defaultSystemFeatures: SystemFeatures = {
|
||||
|
||||
Reference in New Issue
Block a user