mirror of
https://github.com/YFGaia/dify-plus.git
synced 2026-06-04 10:14:00 +08:00
fix: 升级依赖并修复相关问题
- 升级web依赖到最新版本 - 修复1.11.4版本兼容性问题 - 解决google字体dockerfile访问问题 - 恢复丢失的相关文件 - 添加多语言支持 - 调整docker版本及worker镜像配置
This commit is contained in:
@@ -36,10 +36,10 @@ if [[ "${MODE}" == "worker" ]]; then
|
||||
if [[ -z "${CELERY_QUEUES}" ]]; then
|
||||
if [[ "${EDITION}" == "CLOUD" ]]; then
|
||||
# Cloud edition: separate queues for dataset and trigger tasks
|
||||
DEFAULT_QUEUES="priority_dataset,priority_pipeline,pipeline,mail,ops_trace,app_deletion,plugin,workflow_storage,conversation,workflow_professional,workflow_team,workflow_sandbox,schedule_poller,schedule_executor,triggered_workflow_dispatcher,trigger_refresh_executor,retention"
|
||||
DEFAULT_QUEUES="priority_pipeline,pipeline,mail,ops_trace,app_deletion,plugin,workflow_storage,conversation,workflow_professional,workflow_team,workflow_sandbox,schedule_poller,schedule_executor,triggered_workflow_dispatcher,trigger_refresh_executor,retention"
|
||||
else
|
||||
# Community edition (SELF_HOSTED): dataset, pipeline and workflow have separate queues
|
||||
DEFAULT_QUEUES="priority_dataset,priority_pipeline,pipeline,mail,ops_trace,app_deletion,plugin,workflow_storage,conversation,workflow,schedule_poller,schedule_executor,triggered_workflow_dispatcher,trigger_refresh_executor,retention"
|
||||
DEFAULT_QUEUES="priority_pipeline,pipeline,mail,ops_trace,app_deletion,plugin,workflow_storage,conversation,workflow,schedule_poller,schedule_executor,triggered_workflow_dispatcher,trigger_refresh_executor,retention"
|
||||
fi
|
||||
else
|
||||
DEFAULT_QUEUES="${CELERY_QUEUES}"
|
||||
@@ -64,20 +64,11 @@ if [[ "${MODE}" == "worker" ]]; then
|
||||
WORKER_POOL="${CELERY_WORKER_POOL:-${CELERY_WORKER_CLASS:-gevent}}"
|
||||
echo "Starting Celery worker with queues: ${DEFAULT_QUEUES}"
|
||||
|
||||
## 二开部分,额度计算移动到新的队列中
|
||||
exec celery -A celery_entrypoint.celery worker -P ${WORKER_POOL} $CONCURRENCY_OPTION \
|
||||
--max-tasks-per-child ${MAX_TASKS_PER_CHILD:-50} --loglevel ${LOG_LEVEL:-INFO} \
|
||||
-Q ${DEFAULT_QUEUES} \
|
||||
--prefetch-multiplier=${CELERY_PREFETCH_MULTIPLIER:-1}
|
||||
|
||||
## 二开部分,额度计算移动到新的队列中
|
||||
## 二开部分,额度计算
|
||||
elif [[ "${MODE}" == "worker-gaia" ]]; then
|
||||
exec celery -A app.celery worker -P gevent -c 1 -Q extend_high,extend_low --loglevel INFO
|
||||
## 二开部分,单一运行的知识库,多容器执行会导致卡住问题
|
||||
elif [[ "${MODE}" == "worker-dataset" ]]; then
|
||||
exec celery -A app.celery worker -P gevent -c 1 -Q dataset --prefetch-multiplier=1 --loglevel INFO
|
||||
## 二开部分,end
|
||||
elif [[ "${MODE}" == "beat" ]]; then
|
||||
exec celery -A app.celery beat --loglevel ${LOG_LEVEL:-INFO}
|
||||
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
"""add_app_extend
|
||||
|
||||
Revision ID: 012_app_extend
|
||||
Revises: 011_system_integration_fields
|
||||
Create Date: 2025-01-15 12:00:00.000000
|
||||
|
||||
"""
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
from sqlalchemy.engine.reflection import Inspector
|
||||
|
||||
from models import types
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '012_app_extend'
|
||||
down_revision = '011_system_integration_fields'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
conn = op.get_bind()
|
||||
inspector = Inspector.from_engine(conn)
|
||||
tables = inspector.get_table_names()
|
||||
|
||||
if 'app_extend' not in tables:
|
||||
op.create_table('app_extend',
|
||||
sa.Column('id', types.StringUUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
|
||||
sa.Column('app_id', types.StringUUID(), nullable=False),
|
||||
sa.Column('retention_number', sa.Integer(), nullable=True),
|
||||
sa.PrimaryKeyConstraint('id', name='app_extend_joins_pkey')
|
||||
)
|
||||
with op.batch_alter_table('app_extend', schema=None) as batch_op:
|
||||
batch_op.create_index('app_extend_id_app_id_idx', ['app_id'], unique=False)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('app_extend', schema=None) as batch_op:
|
||||
batch_op.drop_index('app_extend_id_app_id_idx')
|
||||
|
||||
op.drop_table('app_extend')
|
||||
# ### end Alembic commands ###
|
||||
@@ -1,48 +0,0 @@
|
||||
"""add_message_context_extend
|
||||
|
||||
Revision ID: 013_message_context_extend
|
||||
Revises: 012_app_extend
|
||||
Create Date: 2025-01-15 13:00:00.000000
|
||||
|
||||
"""
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
from sqlalchemy.engine.reflection import Inspector
|
||||
|
||||
from models import types
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '013_message_context_extend'
|
||||
down_revision = '012_app_extend'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
conn = op.get_bind()
|
||||
inspector = Inspector.from_engine(conn)
|
||||
tables = inspector.get_table_names()
|
||||
|
||||
if 'message_context_extend' not in tables:
|
||||
op.create_table('message_context_extend',
|
||||
sa.Column('id', types.StringUUID(), server_default=sa.text('uuid_generate_v4()'), nullable=False),
|
||||
sa.Column('created_at', sa.DateTime(), server_default=sa.text('CURRENT_TIMESTAMP(0)'), nullable=False),
|
||||
sa.Column('conversation_id', sa.String(length=36), nullable=True),
|
||||
sa.Column('message_id', sa.String(length=36), nullable=False),
|
||||
sa.PrimaryKeyConstraint('id', name='message_context_extend_joins_pkey')
|
||||
)
|
||||
with op.batch_alter_table('message_context_extend', schema=None) as batch_op:
|
||||
batch_op.create_index('message_context_conversation_id_idx', ['conversation_id'], unique=False)
|
||||
batch_op.create_index('message_context_created_at_idx', ['created_at'], unique=False)
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
with op.batch_alter_table('message_context_extend', schema=None) as batch_op:
|
||||
batch_op.drop_index('message_context_created_at_idx')
|
||||
batch_op.drop_index('message_context_conversation_id_idx')
|
||||
|
||||
op.drop_table('message_context_extend')
|
||||
# ### end Alembic commands ###
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
"""add_account_money_extend_unique_constraint
|
||||
|
||||
Revision ID: 012_account_money_extend_unique
|
||||
Revises: 011_system_integration_fields
|
||||
Create Date: 2025-10-21 18:00:00.000000
|
||||
|
||||
"""
|
||||
import sqlalchemy as sa
|
||||
from alembic import op
|
||||
from sqlalchemy.engine.reflection import Inspector
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision = '012_account_money_extend_unique'
|
||||
down_revision = '011_system_integration_fields'
|
||||
branch_labels = None
|
||||
depends_on = None
|
||||
|
||||
|
||||
def upgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
conn = op.get_bind()
|
||||
inspector = Inspector.from_engine(conn)
|
||||
tables = inspector.get_table_names()
|
||||
|
||||
if 'account_money_extend' in tables:
|
||||
# 首先删除重复数据,只保留每个account_id中updated_at最大的记录
|
||||
conn.execute(sa.text("""
|
||||
DELETE FROM account_money_extend
|
||||
WHERE id NOT IN (
|
||||
SELECT DISTINCT ON (account_id) id
|
||||
FROM account_money_extend
|
||||
ORDER BY account_id, updated_at DESC
|
||||
)
|
||||
"""))
|
||||
|
||||
# 删除现有的普通索引
|
||||
with op.batch_alter_table('account_money_extend', schema=None) as batch_op:
|
||||
try:
|
||||
batch_op.drop_index('idx_account_money_account_id')
|
||||
except Exception:
|
||||
# 如果索引不存在,忽略错误
|
||||
pass
|
||||
|
||||
# 创建唯一约束
|
||||
with op.batch_alter_table('account_money_extend', schema=None) as batch_op:
|
||||
batch_op.create_unique_constraint('idx_account_money_account_id_unique', ['account_id'])
|
||||
# ### end Alembic commands ###
|
||||
|
||||
|
||||
def downgrade():
|
||||
# ### commands auto generated by Alembic - please adjust! ###
|
||||
if 'account_money_extend' in tables:
|
||||
with op.batch_alter_table('account_money_extend', schema=None) as batch_op:
|
||||
try:
|
||||
batch_op.drop_constraint('idx_account_money_account_id_unique', type_='unique')
|
||||
except Exception:
|
||||
# 如果约束不存在,忽略错误
|
||||
pass
|
||||
|
||||
# 重新创建普通索引
|
||||
batch_op.create_index('idx_account_money_account_id', ['account_id'], unique=False)
|
||||
# ### end Alembic commands ###
|
||||
@@ -8,14 +8,16 @@ x-shared-env: &shared-api-worker-env
|
||||
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
||||
CONSOLE_WEB_URL: ${CONSOLE_WEB_URL:-}
|
||||
SERVICE_API_URL: ${SERVICE_API_URL:-}
|
||||
TRIGGER_URL: ${TRIGGER_URL:-http://localhost}
|
||||
APP_API_URL: ${APP_API_URL:-}
|
||||
APP_WEB_URL: ${APP_WEB_URL:-}
|
||||
FILES_URL: ${FILES_URL:-}
|
||||
INTERNAL_FILES_URL: ${INTERNAL_FILES_URL:-}
|
||||
LANG: ${LANG:-en_US.UTF-8}
|
||||
LC_ALL: ${LC_ALL:-en_US.UTF-8}
|
||||
LANG: ${LANG:-C.UTF-8}
|
||||
LC_ALL: ${LC_ALL:-C.UTF-8}
|
||||
PYTHONIOENCODING: ${PYTHONIOENCODING:-utf-8}
|
||||
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
||||
LOG_OUTPUT_FORMAT: ${LOG_OUTPUT_FORMAT:-text}
|
||||
LOG_FILE: ${LOG_FILE:-/app/logs/server.log}
|
||||
LOG_FILE_MAX_SIZE: ${LOG_FILE_MAX_SIZE:-20}
|
||||
LOG_FILE_BACKUP_COUNT: ${LOG_FILE_BACKUP_COUNT:-5}
|
||||
@@ -33,6 +35,7 @@ x-shared-env: &shared-api-worker-env
|
||||
FILES_ACCESS_TIMEOUT: ${FILES_ACCESS_TIMEOUT:-300}
|
||||
ACCESS_TOKEN_EXPIRE_MINUTES: ${ACCESS_TOKEN_EXPIRE_MINUTES:-60}
|
||||
REFRESH_TOKEN_EXPIRE_DAYS: ${REFRESH_TOKEN_EXPIRE_DAYS:-30}
|
||||
APP_DEFAULT_ACTIVE_REQUESTS: ${APP_DEFAULT_ACTIVE_REQUESTS:-0}
|
||||
APP_MAX_ACTIVE_REQUESTS: ${APP_MAX_ACTIVE_REQUESTS:-0}
|
||||
APP_MAX_EXECUTION_TIME: ${APP_MAX_EXECUTION_TIME:-1200}
|
||||
DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS:-0.0.0.0}
|
||||
@@ -53,7 +56,7 @@ x-shared-env: &shared-api-worker-env
|
||||
ENABLE_WEBSITE_WATERCRAWL: ${ENABLE_WEBSITE_WATERCRAWL:-true}
|
||||
DB_USERNAME: ${DB_USERNAME:-postgres}
|
||||
DB_PASSWORD: ${DB_PASSWORD:-difyai123456}
|
||||
DB_HOST: ${DB_HOST:-db}
|
||||
DB_HOST: ${DB_HOST:-db_postgres}
|
||||
DB_PORT: ${DB_PORT:-5432}
|
||||
DB_DATABASE: ${DB_DATABASE:-dify}
|
||||
SQLALCHEMY_POOL_SIZE: ${SQLALCHEMY_POOL_SIZE:-30}
|
||||
@@ -62,11 +65,18 @@ x-shared-env: &shared-api-worker-env
|
||||
SQLALCHEMY_ECHO: ${SQLALCHEMY_ECHO:-false}
|
||||
SQLALCHEMY_POOL_PRE_PING: ${SQLALCHEMY_POOL_PRE_PING:-false}
|
||||
SQLALCHEMY_POOL_USE_LIFO: ${SQLALCHEMY_POOL_USE_LIFO:-false}
|
||||
SQLALCHEMY_POOL_TIMEOUT: ${SQLALCHEMY_POOL_TIMEOUT:-30}
|
||||
POSTGRES_MAX_CONNECTIONS: ${POSTGRES_MAX_CONNECTIONS:-100}
|
||||
POSTGRES_SHARED_BUFFERS: ${POSTGRES_SHARED_BUFFERS:-128MB}
|
||||
POSTGRES_WORK_MEM: ${POSTGRES_WORK_MEM:-4MB}
|
||||
POSTGRES_MAINTENANCE_WORK_MEM: ${POSTGRES_MAINTENANCE_WORK_MEM:-64MB}
|
||||
POSTGRES_EFFECTIVE_CACHE_SIZE: ${POSTGRES_EFFECTIVE_CACHE_SIZE:-4096MB}
|
||||
POSTGRES_STATEMENT_TIMEOUT: ${POSTGRES_STATEMENT_TIMEOUT:-0}
|
||||
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT: ${POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT:-0}
|
||||
MYSQL_MAX_CONNECTIONS: ${MYSQL_MAX_CONNECTIONS:-1000}
|
||||
MYSQL_INNODB_BUFFER_POOL_SIZE: ${MYSQL_INNODB_BUFFER_POOL_SIZE:-512M}
|
||||
MYSQL_INNODB_LOG_FILE_SIZE: ${MYSQL_INNODB_LOG_FILE_SIZE:-128M}
|
||||
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT: ${MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT:-2}
|
||||
REDIS_HOST: ${REDIS_HOST:-redis}
|
||||
REDIS_PORT: ${REDIS_PORT:-6379}
|
||||
REDIS_USERNAME: ${REDIS_USERNAME:-}
|
||||
@@ -95,6 +105,9 @@ x-shared-env: &shared-api-worker-env
|
||||
CELERY_SENTINEL_SOCKET_TIMEOUT: ${CELERY_SENTINEL_SOCKET_TIMEOUT:-0.1}
|
||||
WEB_API_CORS_ALLOW_ORIGINS: ${WEB_API_CORS_ALLOW_ORIGINS:-*}
|
||||
CONSOLE_CORS_ALLOW_ORIGINS: ${CONSOLE_CORS_ALLOW_ORIGINS:-*}
|
||||
COOKIE_DOMAIN: ${COOKIE_DOMAIN:-}
|
||||
NEXT_PUBLIC_COOKIE_DOMAIN: ${NEXT_PUBLIC_COOKIE_DOMAIN:-}
|
||||
NEXT_PUBLIC_BATCH_CONCURRENCY: ${NEXT_PUBLIC_BATCH_CONCURRENCY:-5}
|
||||
STORAGE_TYPE: ${STORAGE_TYPE:-opendal}
|
||||
OPENDAL_SCHEME: ${OPENDAL_SCHEME:-fs}
|
||||
OPENDAL_FS_ROOT: ${OPENDAL_FS_ROOT:-storage}
|
||||
@@ -108,6 +121,13 @@ x-shared-env: &shared-api-worker-env
|
||||
S3_ACCESS_KEY: ${S3_ACCESS_KEY:-}
|
||||
S3_SECRET_KEY: ${S3_SECRET_KEY:-}
|
||||
S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM:-false}
|
||||
ARCHIVE_STORAGE_ENABLED: ${ARCHIVE_STORAGE_ENABLED:-false}
|
||||
ARCHIVE_STORAGE_ENDPOINT: ${ARCHIVE_STORAGE_ENDPOINT:-}
|
||||
ARCHIVE_STORAGE_ARCHIVE_BUCKET: ${ARCHIVE_STORAGE_ARCHIVE_BUCKET:-}
|
||||
ARCHIVE_STORAGE_EXPORT_BUCKET: ${ARCHIVE_STORAGE_EXPORT_BUCKET:-}
|
||||
ARCHIVE_STORAGE_ACCESS_KEY: ${ARCHIVE_STORAGE_ACCESS_KEY:-}
|
||||
ARCHIVE_STORAGE_SECRET_KEY: ${ARCHIVE_STORAGE_SECRET_KEY:-}
|
||||
ARCHIVE_STORAGE_REGION: ${ARCHIVE_STORAGE_REGION:-auto}
|
||||
AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME:-difyai}
|
||||
AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY:-difyai}
|
||||
AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME:-difyai-container}
|
||||
@@ -121,11 +141,13 @@ x-shared-env: &shared-api-worker-env
|
||||
ALIYUN_OSS_REGION: ${ALIYUN_OSS_REGION:-ap-southeast-1}
|
||||
ALIYUN_OSS_AUTH_VERSION: ${ALIYUN_OSS_AUTH_VERSION:-v4}
|
||||
ALIYUN_OSS_PATH: ${ALIYUN_OSS_PATH:-your-path}
|
||||
ALIYUN_CLOUDBOX_ID: ${ALIYUN_CLOUDBOX_ID:-your-cloudbox-id}
|
||||
TENCENT_COS_BUCKET_NAME: ${TENCENT_COS_BUCKET_NAME:-your-bucket-name}
|
||||
TENCENT_COS_SECRET_KEY: ${TENCENT_COS_SECRET_KEY:-your-secret-key}
|
||||
TENCENT_COS_SECRET_ID: ${TENCENT_COS_SECRET_ID:-your-secret-id}
|
||||
TENCENT_COS_REGION: ${TENCENT_COS_REGION:-your-region}
|
||||
TENCENT_COS_SCHEME: ${TENCENT_COS_SCHEME:-your-scheme}
|
||||
TENCENT_COS_CUSTOM_DOMAIN: ${TENCENT_COS_CUSTOM_DOMAIN:-your-custom-domain}
|
||||
OCI_ENDPOINT: ${OCI_ENDPOINT:-https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com}
|
||||
OCI_BUCKET_NAME: ${OCI_BUCKET_NAME:-your-bucket-name}
|
||||
OCI_ACCESS_KEY: ${OCI_ACCESS_KEY:-your-access-key}
|
||||
@@ -135,6 +157,7 @@ x-shared-env: &shared-api-worker-env
|
||||
HUAWEI_OBS_SECRET_KEY: ${HUAWEI_OBS_SECRET_KEY:-your-secret-key}
|
||||
HUAWEI_OBS_ACCESS_KEY: ${HUAWEI_OBS_ACCESS_KEY:-your-access-key}
|
||||
HUAWEI_OBS_SERVER: ${HUAWEI_OBS_SERVER:-your-server-url}
|
||||
HUAWEI_OBS_PATH_STYLE: ${HUAWEI_OBS_PATH_STYLE:-false}
|
||||
VOLCENGINE_TOS_BUCKET_NAME: ${VOLCENGINE_TOS_BUCKET_NAME:-your-bucket-name}
|
||||
VOLCENGINE_TOS_SECRET_KEY: ${VOLCENGINE_TOS_SECRET_KEY:-your-secret-key}
|
||||
VOLCENGINE_TOS_ACCESS_KEY: ${VOLCENGINE_TOS_ACCESS_KEY:-your-access-key}
|
||||
@@ -151,6 +174,18 @@ x-shared-env: &shared-api-worker-env
|
||||
VECTOR_INDEX_NAME_PREFIX: ${VECTOR_INDEX_NAME_PREFIX:-Vector_index}
|
||||
WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT:-http://weaviate:8080}
|
||||
WEAVIATE_API_KEY: ${WEAVIATE_API_KEY:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
|
||||
WEAVIATE_GRPC_ENDPOINT: ${WEAVIATE_GRPC_ENDPOINT:-grpc://weaviate:50051}
|
||||
WEAVIATE_TOKENIZATION: ${WEAVIATE_TOKENIZATION:-word}
|
||||
OCEANBASE_VECTOR_HOST: ${OCEANBASE_VECTOR_HOST:-oceanbase}
|
||||
OCEANBASE_VECTOR_PORT: ${OCEANBASE_VECTOR_PORT:-2881}
|
||||
OCEANBASE_VECTOR_USER: ${OCEANBASE_VECTOR_USER:-root@test}
|
||||
OCEANBASE_VECTOR_PASSWORD: ${OCEANBASE_VECTOR_PASSWORD:-difyai123456}
|
||||
OCEANBASE_VECTOR_DATABASE: ${OCEANBASE_VECTOR_DATABASE:-test}
|
||||
OCEANBASE_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai}
|
||||
OCEANBASE_MEMORY_LIMIT: ${OCEANBASE_MEMORY_LIMIT:-6G}
|
||||
OCEANBASE_ENABLE_HYBRID_SEARCH: ${OCEANBASE_ENABLE_HYBRID_SEARCH:-false}
|
||||
OCEANBASE_FULLTEXT_PARSER: ${OCEANBASE_FULLTEXT_PARSER:-ik}
|
||||
SEEKDB_MEMORY_LIMIT: ${SEEKDB_MEMORY_LIMIT:-2G}
|
||||
QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333}
|
||||
QDRANT_API_KEY: ${QDRANT_API_KEY:-difyai123456}
|
||||
QDRANT_CLIENT_TIMEOUT: ${QDRANT_CLIENT_TIMEOUT:-20}
|
||||
@@ -243,7 +278,7 @@ x-shared-env: &shared-api-worker-env
|
||||
ORACLE_WALLET_LOCATION: ${ORACLE_WALLET_LOCATION:-/app/api/storage/wallet}
|
||||
ORACLE_WALLET_PASSWORD: ${ORACLE_WALLET_PASSWORD:-dify}
|
||||
ORACLE_IS_AUTONOMOUS: ${ORACLE_IS_AUTONOMOUS:-false}
|
||||
RELYT_HOST: ${RELYT_HOST:-db}
|
||||
RELYT_HOST: ${RELYT_HOST:-db_postgres}
|
||||
RELYT_PORT: ${RELYT_PORT:-5432}
|
||||
RELYT_USER: ${RELYT_USER:-postgres}
|
||||
RELYT_PASSWORD: ${RELYT_PASSWORD:-difyai123456}
|
||||
@@ -285,6 +320,8 @@ x-shared-env: &shared-api-worker-env
|
||||
BAIDU_VECTOR_DB_DATABASE: ${BAIDU_VECTOR_DB_DATABASE:-dify}
|
||||
BAIDU_VECTOR_DB_SHARD: ${BAIDU_VECTOR_DB_SHARD:-1}
|
||||
BAIDU_VECTOR_DB_REPLICAS: ${BAIDU_VECTOR_DB_REPLICAS:-3}
|
||||
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER: ${BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER:-DEFAULT_ANALYZER}
|
||||
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE: ${BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE:-COARSE_MODE}
|
||||
VIKINGDB_ACCESS_KEY: ${VIKINGDB_ACCESS_KEY:-your-ak}
|
||||
VIKINGDB_SECRET_KEY: ${VIKINGDB_SECRET_KEY:-your-sk}
|
||||
VIKINGDB_REGION: ${VIKINGDB_REGION:-cn-shanghai}
|
||||
@@ -292,9 +329,10 @@ x-shared-env: &shared-api-worker-env
|
||||
VIKINGDB_SCHEMA: ${VIKINGDB_SCHEMA:-http}
|
||||
VIKINGDB_CONNECTION_TIMEOUT: ${VIKINGDB_CONNECTION_TIMEOUT:-30}
|
||||
VIKINGDB_SOCKET_TIMEOUT: ${VIKINGDB_SOCKET_TIMEOUT:-30}
|
||||
LINDORM_URL: ${LINDORM_URL:-http://lindorm:30070}
|
||||
LINDORM_USERNAME: ${LINDORM_USERNAME:-lindorm}
|
||||
LINDORM_PASSWORD: ${LINDORM_PASSWORD:-lindorm}
|
||||
LINDORM_URL: ${LINDORM_URL:-http://localhost:30070}
|
||||
LINDORM_USERNAME: ${LINDORM_USERNAME:-admin}
|
||||
LINDORM_PASSWORD: ${LINDORM_PASSWORD:-admin}
|
||||
LINDORM_USING_UGC: ${LINDORM_USING_UGC:-True}
|
||||
LINDORM_QUERY_TIMEOUT: ${LINDORM_QUERY_TIMEOUT:-1}
|
||||
OCEANBASE_VECTOR_HOST: ${OCEANBASE_VECTOR_HOST:-oceanbase}
|
||||
OCEANBASE_VECTOR_PORT: ${OCEANBASE_VECTOR_PORT:-2881}
|
||||
@@ -334,8 +372,47 @@ x-shared-env: &shared-api-worker-env
|
||||
CLICKZETTA_ANALYZER_TYPE: ${CLICKZETTA_ANALYZER_TYPE:-chinese}
|
||||
CLICKZETTA_ANALYZER_MODE: ${CLICKZETTA_ANALYZER_MODE:-smart}
|
||||
CLICKZETTA_VECTOR_DISTANCE_FUNCTION: ${CLICKZETTA_VECTOR_DISTANCE_FUNCTION:-cosine_distance}
|
||||
IRIS_HOST: ${IRIS_HOST:-iris}
|
||||
IRIS_SUPER_SERVER_PORT: ${IRIS_SUPER_SERVER_PORT:-1972}
|
||||
IRIS_WEB_SERVER_PORT: ${IRIS_WEB_SERVER_PORT:-52773}
|
||||
IRIS_USER: ${IRIS_USER:-_SYSTEM}
|
||||
IRIS_PASSWORD: ${IRIS_PASSWORD:-Dify@1234}
|
||||
IRIS_DATABASE: ${IRIS_DATABASE:-USER}
|
||||
IRIS_SCHEMA: ${IRIS_SCHEMA:-dify}
|
||||
IRIS_CONNECTION_URL: ${IRIS_CONNECTION_URL:-}
|
||||
IRIS_MIN_CONNECTION: ${IRIS_MIN_CONNECTION:-1}
|
||||
IRIS_MAX_CONNECTION: ${IRIS_MAX_CONNECTION:-3}
|
||||
IRIS_TEXT_INDEX: ${IRIS_TEXT_INDEX:-true}
|
||||
IRIS_TEXT_INDEX_LANGUAGE: ${IRIS_TEXT_INDEX_LANGUAGE:-en}
|
||||
IRIS_TIMEZONE: ${IRIS_TIMEZONE:-UTC}
|
||||
HUAWEI_CLOUD_USER: ${HUAWEI_CLOUD_USER:-admin}
|
||||
HUAWEI_CLOUD_PASSWORD: ${HUAWEI_CLOUD_PASSWORD:-admin}
|
||||
UPSTASH_VECTOR_URL: ${UPSTASH_VECTOR_URL:-https://xxx-vector.upstash.io}
|
||||
UPSTASH_VECTOR_TOKEN: ${UPSTASH_VECTOR_TOKEN:-dify}
|
||||
TABLESTORE_ENDPOINT: ${TABLESTORE_ENDPOINT:-https://instance-name.cn-hangzhou.ots.aliyuncs.com}
|
||||
TABLESTORE_INSTANCE_NAME: ${TABLESTORE_INSTANCE_NAME:-instance-name}
|
||||
TABLESTORE_ACCESS_KEY_ID: ${TABLESTORE_ACCESS_KEY_ID:-xxx}
|
||||
TABLESTORE_ACCESS_KEY_SECRET: ${TABLESTORE_ACCESS_KEY_SECRET:-xxx}
|
||||
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE: ${TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE:-false}
|
||||
CLICKZETTA_USERNAME: ${CLICKZETTA_USERNAME:-}
|
||||
CLICKZETTA_PASSWORD: ${CLICKZETTA_PASSWORD:-}
|
||||
CLICKZETTA_INSTANCE: ${CLICKZETTA_INSTANCE:-}
|
||||
CLICKZETTA_SERVICE: ${CLICKZETTA_SERVICE:-api.clickzetta.com}
|
||||
CLICKZETTA_WORKSPACE: ${CLICKZETTA_WORKSPACE:-quick_start}
|
||||
CLICKZETTA_VCLUSTER: ${CLICKZETTA_VCLUSTER:-default_ap}
|
||||
CLICKZETTA_SCHEMA: ${CLICKZETTA_SCHEMA:-dify}
|
||||
CLICKZETTA_BATCH_SIZE: ${CLICKZETTA_BATCH_SIZE:-100}
|
||||
CLICKZETTA_ENABLE_INVERTED_INDEX: ${CLICKZETTA_ENABLE_INVERTED_INDEX:-true}
|
||||
CLICKZETTA_ANALYZER_TYPE: ${CLICKZETTA_ANALYZER_TYPE:-chinese}
|
||||
CLICKZETTA_ANALYZER_MODE: ${CLICKZETTA_ANALYZER_MODE:-smart}
|
||||
CLICKZETTA_VECTOR_DISTANCE_FUNCTION: ${CLICKZETTA_VECTOR_DISTANCE_FUNCTION:-cosine_distance}
|
||||
UPLOAD_FILE_SIZE_LIMIT: ${UPLOAD_FILE_SIZE_LIMIT:-15}
|
||||
UPLOAD_FILE_BATCH_LIMIT: ${UPLOAD_FILE_BATCH_LIMIT:-5}
|
||||
UPLOAD_FILE_EXTENSION_BLACKLIST: ${UPLOAD_FILE_EXTENSION_BLACKLIST:-}
|
||||
SINGLE_CHUNK_ATTACHMENT_LIMIT: ${SINGLE_CHUNK_ATTACHMENT_LIMIT:-10}
|
||||
IMAGE_FILE_BATCH_LIMIT: ${IMAGE_FILE_BATCH_LIMIT:-10}
|
||||
ATTACHMENT_IMAGE_FILE_SIZE_LIMIT: ${ATTACHMENT_IMAGE_FILE_SIZE_LIMIT:-2}
|
||||
ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT: ${ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT:-60}
|
||||
ETL_TYPE: ${ETL_TYPE:-dify}
|
||||
UNSTRUCTURED_API_URL: ${UNSTRUCTURED_API_URL:-}
|
||||
UNSTRUCTURED_API_KEY: ${UNSTRUCTURED_API_KEY:-}
|
||||
@@ -368,31 +445,41 @@ x-shared-env: &shared-api-worker-env
|
||||
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
|
||||
SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
|
||||
SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS:-false}
|
||||
SMTP_LOCAL_HOSTNAME: ${SMTP_LOCAL_HOSTNAME:-}
|
||||
SENDGRID_API_KEY: ${SENDGRID_API_KEY:-}
|
||||
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-4000}
|
||||
INVITE_EXPIRY_HOURS: ${INVITE_EXPIRY_HOURS:-72}
|
||||
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: ${RESET_PASSWORD_TOKEN_EXPIRY_MINUTES:-5}
|
||||
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES: ${EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES:-5}
|
||||
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES: ${CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES:-5}
|
||||
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES: ${OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES:-5}
|
||||
CODE_EXECUTION_ENDPOINT: ${CODE_EXECUTION_ENDPOINT:-http://sandbox:8194}
|
||||
CODE_EXECUTION_API_KEY: ${CODE_EXECUTION_API_KEY:-dify-sandbox}
|
||||
CODE_EXECUTION_SSL_VERIFY: ${CODE_EXECUTION_SSL_VERIFY:-True}
|
||||
CODE_EXECUTION_POOL_MAX_CONNECTIONS: ${CODE_EXECUTION_POOL_MAX_CONNECTIONS:-100}
|
||||
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS: ${CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS:-20}
|
||||
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY: ${CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY:-5.0}
|
||||
CODE_EXECUTION_API_KEY: ${CODE_EXECUTION_API_KEY:-dify-sandbox}
|
||||
CODE_MAX_NUMBER: ${CODE_MAX_NUMBER:-9223372036854775807}
|
||||
CODE_MIN_NUMBER: ${CODE_MIN_NUMBER:--9223372036854775808}
|
||||
CODE_MAX_DEPTH: ${CODE_MAX_DEPTH:-5}
|
||||
CODE_MAX_PRECISION: ${CODE_MAX_PRECISION:-20}
|
||||
CODE_MAX_STRING_LENGTH: ${CODE_MAX_STRING_LENGTH:-80000}
|
||||
CODE_MAX_STRING_LENGTH: ${CODE_MAX_STRING_LENGTH:-400000}
|
||||
CODE_MAX_STRING_ARRAY_LENGTH: ${CODE_MAX_STRING_ARRAY_LENGTH:-30}
|
||||
CODE_MAX_OBJECT_ARRAY_LENGTH: ${CODE_MAX_OBJECT_ARRAY_LENGTH:-30}
|
||||
CODE_MAX_NUMBER_ARRAY_LENGTH: ${CODE_MAX_NUMBER_ARRAY_LENGTH:-1000}
|
||||
CODE_EXECUTION_CONNECT_TIMEOUT: ${CODE_EXECUTION_CONNECT_TIMEOUT:-10}
|
||||
CODE_EXECUTION_READ_TIMEOUT: ${CODE_EXECUTION_READ_TIMEOUT:-60}
|
||||
CODE_EXECUTION_WRITE_TIMEOUT: ${CODE_EXECUTION_WRITE_TIMEOUT:-10}
|
||||
TEMPLATE_TRANSFORM_MAX_LENGTH: ${TEMPLATE_TRANSFORM_MAX_LENGTH:-80000}
|
||||
TEMPLATE_TRANSFORM_MAX_LENGTH: ${TEMPLATE_TRANSFORM_MAX_LENGTH:-400000}
|
||||
WORKFLOW_MAX_EXECUTION_STEPS: ${WORKFLOW_MAX_EXECUTION_STEPS:-500}
|
||||
WORKFLOW_MAX_EXECUTION_TIME: ${WORKFLOW_MAX_EXECUTION_TIME:-1200}
|
||||
WORKFLOW_CALL_MAX_DEPTH: ${WORKFLOW_CALL_MAX_DEPTH:-5}
|
||||
MAX_VARIABLE_SIZE: ${MAX_VARIABLE_SIZE:-204800}
|
||||
WORKFLOW_PARALLEL_DEPTH_LIMIT: ${WORKFLOW_PARALLEL_DEPTH_LIMIT:-3}
|
||||
GRAPH_ENGINE_MIN_WORKERS: ${GRAPH_ENGINE_MIN_WORKERS:-1}
|
||||
GRAPH_ENGINE_MAX_WORKERS: ${GRAPH_ENGINE_MAX_WORKERS:-10}
|
||||
GRAPH_ENGINE_SCALE_UP_THRESHOLD: ${GRAPH_ENGINE_SCALE_UP_THRESHOLD:-3}
|
||||
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME: ${GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME:-5.0}
|
||||
WORKFLOW_FILE_UPLOAD_LIMIT: ${WORKFLOW_FILE_UPLOAD_LIMIT:-10}
|
||||
WORKFLOW_NODE_EXECUTION_STORAGE: ${WORKFLOW_NODE_EXECUTION_STORAGE:-rdbms}
|
||||
CORE_WORKFLOW_EXECUTION_REPOSITORY: ${CORE_WORKFLOW_EXECUTION_REPOSITORY:-core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository}
|
||||
@@ -402,9 +489,22 @@ x-shared-env: &shared-api-worker-env
|
||||
WORKFLOW_LOG_CLEANUP_ENABLED: ${WORKFLOW_LOG_CLEANUP_ENABLED:-false}
|
||||
WORKFLOW_LOG_RETENTION_DAYS: ${WORKFLOW_LOG_RETENTION_DAYS:-30}
|
||||
WORKFLOW_LOG_CLEANUP_BATCH_SIZE: ${WORKFLOW_LOG_CLEANUP_BATCH_SIZE:-100}
|
||||
ALIYUN_SLS_ACCESS_KEY_ID: ${ALIYUN_SLS_ACCESS_KEY_ID:-}
|
||||
ALIYUN_SLS_ACCESS_KEY_SECRET: ${ALIYUN_SLS_ACCESS_KEY_SECRET:-}
|
||||
ALIYUN_SLS_ENDPOINT: ${ALIYUN_SLS_ENDPOINT:-}
|
||||
ALIYUN_SLS_REGION: ${ALIYUN_SLS_REGION:-}
|
||||
ALIYUN_SLS_PROJECT_NAME: ${ALIYUN_SLS_PROJECT_NAME:-}
|
||||
ALIYUN_SLS_LOGSTORE_TTL: ${ALIYUN_SLS_LOGSTORE_TTL:-365}
|
||||
LOGSTORE_DUAL_WRITE_ENABLED: ${LOGSTORE_DUAL_WRITE_ENABLED:-false}
|
||||
LOGSTORE_DUAL_READ_ENABLED: ${LOGSTORE_DUAL_READ_ENABLED:-true}
|
||||
LOGSTORE_ENABLE_PUT_GRAPH_FIELD: ${LOGSTORE_ENABLE_PUT_GRAPH_FIELD:-true}
|
||||
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: ${HTTP_REQUEST_NODE_MAX_BINARY_SIZE:-10485760}
|
||||
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: ${HTTP_REQUEST_NODE_MAX_TEXT_SIZE:-1048576}
|
||||
HTTP_REQUEST_NODE_SSL_VERIFY: ${HTTP_REQUEST_NODE_SSL_VERIFY:-True}
|
||||
HTTP_REQUEST_MAX_CONNECT_TIMEOUT: ${HTTP_REQUEST_MAX_CONNECT_TIMEOUT:-10}
|
||||
HTTP_REQUEST_MAX_READ_TIMEOUT: ${HTTP_REQUEST_MAX_READ_TIMEOUT:-600}
|
||||
HTTP_REQUEST_MAX_WRITE_TIMEOUT: ${HTTP_REQUEST_MAX_WRITE_TIMEOUT:-600}
|
||||
WEBHOOK_REQUEST_BODY_MAX_SIZE: ${WEBHOOK_REQUEST_BODY_MAX_SIZE:-10485760}
|
||||
RESPECT_XFORWARD_HEADERS_ENABLED: ${RESPECT_XFORWARD_HEADERS_ENABLED:-false}
|
||||
SSRF_PROXY_HTTP_URL: ${SSRF_PROXY_HTTP_URL:-http://ssrf_proxy:3128}
|
||||
SSRF_PROXY_HTTPS_URL: ${SSRF_PROXY_HTTPS_URL:-http://ssrf_proxy:3128}
|
||||
@@ -415,6 +515,8 @@ x-shared-env: &shared-api-worker-env
|
||||
TEXT_GENERATION_TIMEOUT_MS: ${TEXT_GENERATION_TIMEOUT_MS:-60000}
|
||||
ALLOW_UNSAFE_DATA_SCHEME: ${ALLOW_UNSAFE_DATA_SCHEME:-false}
|
||||
MAX_TREE_DEPTH: ${MAX_TREE_DEPTH:-50}
|
||||
PGDATA: ${PGDATA:-/var/lib/postgresql/data/pgdata}
|
||||
MYSQL_HOST_VOLUME: ${MYSQL_HOST_VOLUME:-./volumes/mysql/data}
|
||||
POSTGRES_USER: ${POSTGRES_USER:-${DB_USERNAME}}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-${DB_PASSWORD}}
|
||||
POSTGRES_DB: ${POSTGRES_DB:-${DB_DATABASE}}
|
||||
@@ -469,9 +571,9 @@ x-shared-env: &shared-api-worker-env
|
||||
NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443}
|
||||
NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-dify.crt}
|
||||
NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-dify.key}
|
||||
NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.1 TLSv1.2 TLSv1.3}
|
||||
NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.2 TLSv1.3}
|
||||
NGINX_WORKER_PROCESSES: ${NGINX_WORKER_PROCESSES:-auto}
|
||||
NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M}
|
||||
NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-100M}
|
||||
NGINX_KEEPALIVE_TIMEOUT: ${NGINX_KEEPALIVE_TIMEOUT:-65}
|
||||
NGINX_PROXY_READ_TIMEOUT: ${NGINX_PROXY_READ_TIMEOUT:-3600s}
|
||||
NGINX_PROXY_SEND_TIMEOUT: ${NGINX_PROXY_SEND_TIMEOUT:-3600s}
|
||||
@@ -515,11 +617,13 @@ x-shared-env: &shared-api-worker-env
|
||||
ENDPOINT_URL_TEMPLATE: ${ENDPOINT_URL_TEMPLATE:-http://localhost/e/{hook_id}}
|
||||
MARKETPLACE_ENABLED: ${MARKETPLACE_ENABLED:-true}
|
||||
MARKETPLACE_API_URL: ${MARKETPLACE_API_URL:-https://marketplace.dify.ai}
|
||||
FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-false}
|
||||
FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-true}
|
||||
ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES: ${ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES:-true}
|
||||
PLUGIN_STDIO_BUFFER_SIZE: ${PLUGIN_STDIO_BUFFER_SIZE:-1024}
|
||||
PLUGIN_STDIO_MAX_BUFFER_SIZE: ${PLUGIN_STDIO_MAX_BUFFER_SIZE:-5242880}
|
||||
PLUGIN_PYTHON_ENV_INIT_TIMEOUT: ${PLUGIN_PYTHON_ENV_INIT_TIMEOUT:-120}
|
||||
PLUGIN_MAX_EXECUTION_TIMEOUT: ${PLUGIN_MAX_EXECUTION_TIMEOUT:-600}
|
||||
PLUGIN_DAEMON_TIMEOUT: ${PLUGIN_DAEMON_TIMEOUT:-600.0}
|
||||
PIP_MIRROR_URL: ${PIP_MIRROR_URL:-}
|
||||
PLUGIN_STORAGE_TYPE: ${PLUGIN_STORAGE_TYPE:-local}
|
||||
PLUGIN_STORAGE_LOCAL_ROOT: ${PLUGIN_STORAGE_LOCAL_ROOT:-/app/storage}
|
||||
@@ -568,21 +672,59 @@ x-shared-env: &shared-api-worker-env
|
||||
QUEUE_MONITOR_THRESHOLD: ${QUEUE_MONITOR_THRESHOLD:-200}
|
||||
QUEUE_MONITOR_ALERT_EMAILS: ${QUEUE_MONITOR_ALERT_EMAILS:-}
|
||||
QUEUE_MONITOR_INTERVAL: ${QUEUE_MONITOR_INTERVAL:-30}
|
||||
SWAGGER_UI_ENABLED: ${SWAGGER_UI_ENABLED:-true}
|
||||
SWAGGER_UI_ENABLED: ${SWAGGER_UI_ENABLED:-false}
|
||||
SWAGGER_UI_PATH: ${SWAGGER_UI_PATH:-/swagger-ui.html}
|
||||
ENABLE_CLEAN_EMBEDDING_CACHE_TASK: ${ENABLE_CLEAN_EMBEDDING_CACHE_TASK:-true}
|
||||
DSL_EXPORT_ENCRYPT_DATASET_ID: ${DSL_EXPORT_ENCRYPT_DATASET_ID:-true}
|
||||
DATASET_MAX_SEGMENTS_PER_REQUEST: ${DATASET_MAX_SEGMENTS_PER_REQUEST:-0}
|
||||
ENABLE_CLEAN_EMBEDDING_CACHE_TASK: ${ENABLE_CLEAN_EMBEDDING_CACHE_TASK:-false}
|
||||
ENABLE_CLEAN_UNUSED_DATASETS_TASK: ${ENABLE_CLEAN_UNUSED_DATASETS_TASK:-true}
|
||||
ENABLE_CREATE_TIDB_SERVERLESS_TASK: ${ENABLE_CREATE_TIDB_SERVERLESS_TASK:-true}
|
||||
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: ${ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK:-true}
|
||||
ENABLE_CLEAN_MESSAGES: ${ENABLE_CLEAN_MESSAGES:-true}
|
||||
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: ${ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK:-true}
|
||||
ENABLE_DATASETS_QUEUE_MONITOR: ${ENABLE_DATASETS_QUEUE_MONITOR:-true}
|
||||
ENABLE_CREATE_TIDB_SERVERLESS_TASK: ${ENABLE_CREATE_TIDB_SERVERLESS_TASK:-false}
|
||||
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: ${ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK:-false}
|
||||
ENABLE_CLEAN_MESSAGES: ${ENABLE_CLEAN_MESSAGES:-false}
|
||||
ENABLE_WORKFLOW_RUN_CLEANUP_TASK: ${ENABLE_WORKFLOW_RUN_CLEANUP_TASK:-false}
|
||||
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: ${ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK:-false}
|
||||
ENABLE_DATASETS_QUEUE_MONITOR: ${ENABLE_DATASETS_QUEUE_MONITOR:-false}
|
||||
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: ${ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK:-true}
|
||||
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK: ${ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK:-true}
|
||||
WORKFLOW_SCHEDULE_POLLER_INTERVAL: ${WORKFLOW_SCHEDULE_POLLER_INTERVAL:-1}
|
||||
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE: ${WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE:-100}
|
||||
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK: ${WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK:-0}
|
||||
TENANT_ISOLATED_TASK_CONCURRENCY: ${TENANT_ISOLATED_TASK_CONCURRENCY:-1}
|
||||
ANNOTATION_IMPORT_FILE_SIZE_LIMIT: ${ANNOTATION_IMPORT_FILE_SIZE_LIMIT:-2}
|
||||
ANNOTATION_IMPORT_MAX_RECORDS: ${ANNOTATION_IMPORT_MAX_RECORDS:-10000}
|
||||
ANNOTATION_IMPORT_MIN_RECORDS: ${ANNOTATION_IMPORT_MIN_RECORDS:-1}
|
||||
ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE: ${ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE:-5}
|
||||
ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR: ${ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR:-20}
|
||||
ANNOTATION_IMPORT_MAX_CONCURRENT: ${ANNOTATION_IMPORT_MAX_CONCURRENT:-5}
|
||||
AMPLITUDE_API_KEY: ${AMPLITUDE_API_KEY:-}
|
||||
SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD: ${SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD:-21}
|
||||
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE: ${SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE:-1000}
|
||||
SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS: ${SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS:-30}
|
||||
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL: ${SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL:-90000}
|
||||
|
||||
services:
|
||||
# Init container to fix permissions
|
||||
init_permissions:
|
||||
image: busybox:latest
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- |
|
||||
FLAG_FILE="/app/api/storage/.init_permissions"
|
||||
if [ -f "$${FLAG_FILE}" ]; then
|
||||
echo "Permissions already initialized. Exiting."
|
||||
exit 0
|
||||
fi
|
||||
echo "Initializing permissions for /app/api/storage"
|
||||
chown -R 1001:1001 /app/api/storage && touch "$${FLAG_FILE}"
|
||||
echo "Permissions initialized. Exiting."
|
||||
volumes:
|
||||
- ./volumes/app/storage:/app/api/storage
|
||||
restart: "no"
|
||||
|
||||
# API service
|
||||
api:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.8.1.fix
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.11.4
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
@@ -595,12 +737,27 @@ services:
|
||||
PLUGIN_REMOTE_INSTALL_HOST: ${EXPOSE_PLUGIN_DEBUGGING_HOST:-localhost}
|
||||
PLUGIN_REMOTE_INSTALL_PORT: ${EXPOSE_PLUGIN_DEBUGGING_PORT:-5003}
|
||||
PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
|
||||
PLUGIN_DAEMON_TIMEOUT: ${PLUGIN_DAEMON_TIMEOUT:-600.0}
|
||||
INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
|
||||
FULL_CODE_EXECUTION_ENDPOINT: ${FULL_CODE_EXECUTION_ENDPOINT:-http://sandbox-full:8194}
|
||||
ALLOW_REGISTER: ${ALLOW_REGISTER:-True}
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
init_permissions:
|
||||
condition: service_completed_successfully
|
||||
db_postgres:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
db_mysql:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
oceanbase:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
seekdb:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
redis:
|
||||
condition: service_started
|
||||
volumes:
|
||||
# Mount the storage directory to the container, for storing user files.
|
||||
- ./volumes/app/storage:/app/api/storage
|
||||
@@ -611,7 +768,7 @@ services:
|
||||
# worker service
|
||||
# The Celery worker for processing the queue.
|
||||
worker:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.8.1.fix
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.11.4
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
@@ -624,8 +781,22 @@ services:
|
||||
PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
|
||||
INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
init_permissions:
|
||||
condition: service_completed_successfully
|
||||
db_postgres:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
db_mysql:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
oceanbase:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
seekdb:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
redis:
|
||||
condition: service_started
|
||||
volumes:
|
||||
# Mount the storage directory to the container, for storing user files.
|
||||
- ./volumes/app/storage:/app/api/storage
|
||||
@@ -636,20 +807,21 @@ services:
|
||||
# worker-gaia service
|
||||
# The Celery worker-gaia for processing the queue.
|
||||
worker-gaia:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.8.1.fix
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.11.4
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
<<: *shared-api-worker-env
|
||||
# Startup mode, 'worker-gaia' starts the Celery worker-gaia for processing the queue.
|
||||
MODE: worker-gaia
|
||||
MODE: worker
|
||||
SENTRY_DSN: ${API_SENTRY_DSN:-}
|
||||
CELERY_QUEUES: ${CELERY_QUEUES:-extend_high,extend_low}
|
||||
SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0}
|
||||
SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}
|
||||
PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
|
||||
INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
|
||||
depends_on:
|
||||
- db
|
||||
- db_postgres
|
||||
- redis
|
||||
volumes:
|
||||
# Mount the storage directory to the container, for storing user files.
|
||||
@@ -661,20 +833,21 @@ services:
|
||||
# worker-dataset service
|
||||
# The Celery worker-dataset for processing the queue.
|
||||
worker-dataset:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.8.1.fix
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.11.4
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
<<: *shared-api-worker-env
|
||||
# Startup mode, 'worker-dataset' starts the Celery worker-dataset for processing the queue.
|
||||
MODE: worker-dataset
|
||||
MODE: worker
|
||||
SENTRY_DSN: ${API_SENTRY_DSN:-}
|
||||
CELERY_QUEUES: ${CELERY_QUEUES:-dataset,priority_dataset}
|
||||
SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0}
|
||||
SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}
|
||||
PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
|
||||
INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
|
||||
depends_on:
|
||||
- db
|
||||
- db_postgres
|
||||
- redis
|
||||
volumes:
|
||||
# Mount the storage directory to the container, for storing user files.
|
||||
@@ -683,34 +856,40 @@ services:
|
||||
- ssrf_proxy_network
|
||||
- default
|
||||
|
||||
# beat service
|
||||
# The Celery worker for schedule tasks.
|
||||
beat:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.8.1.fix
|
||||
# worker_beat service
|
||||
# Celery beat for scheduling periodic tasks.
|
||||
worker_beat:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-api:1.11.4
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
<<: *shared-api-worker-env
|
||||
# Startup mode, 'worker' starts the Celery worker for processing the queue.
|
||||
# Startup mode, 'worker_beat' starts the Celery beat for scheduling periodic tasks.
|
||||
MODE: beat
|
||||
SENTRY_DSN: ${API_SENTRY_DSN:-}
|
||||
SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0}
|
||||
SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}
|
||||
PLUGIN_MAX_PACKAGE_SIZE: ${PLUGIN_MAX_PACKAGE_SIZE:-52428800}
|
||||
INNER_API_KEY_FOR_PLUGIN: ${PLUGIN_DIFY_INNER_API_KEY:-QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1}
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
volumes:
|
||||
# Mount the storage directory to the container, for storing user files.
|
||||
- ./volumes/app/storage:/app/api/storage
|
||||
init_permissions:
|
||||
condition: service_completed_successfully
|
||||
db_postgres:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
db_mysql:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
oceanbase:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
seekdb:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
redis:
|
||||
condition: service_started
|
||||
networks:
|
||||
- ssrf_proxy_network
|
||||
- default
|
||||
|
||||
# Frontend web application.
|
||||
web:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-web:1.8.1.fix.3
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-web:1.11.4
|
||||
restart: always
|
||||
environment:
|
||||
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
||||
@@ -736,7 +915,7 @@ services:
|
||||
ENABLE_WEBSITE_WATERCRAWL: ${ENABLE_WEBSITE_WATERCRAWL:-true}
|
||||
|
||||
# The postgres database.
|
||||
db:
|
||||
db_postgres:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/postgres:15-alpine
|
||||
restart: always
|
||||
environment:
|
||||
@@ -750,6 +929,8 @@ services:
|
||||
-c 'work_mem=${POSTGRES_WORK_MEM:-4MB}'
|
||||
-c 'maintenance_work_mem=${POSTGRES_MAINTENANCE_WORK_MEM:-64MB}'
|
||||
-c 'effective_cache_size=${POSTGRES_EFFECTIVE_CACHE_SIZE:-4096MB}'
|
||||
-c 'statement_timeout=${POSTGRES_STATEMENT_TIMEOUT:-0}'
|
||||
-c 'idle_in_transaction_session_timeout=${POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT:-0}'
|
||||
volumes:
|
||||
- ./volumes/db/data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
@@ -758,11 +939,11 @@ services:
|
||||
"CMD",
|
||||
"pg_isready",
|
||||
"-h",
|
||||
"db",
|
||||
"db_postgres",
|
||||
"-U",
|
||||
"${POSTGRES_USER:-postgres}",
|
||||
"${DB_USERNAME:-postgres}",
|
||||
"-d",
|
||||
"${POSTGRES_DB:-dify}",
|
||||
"${DB_DATABASE:-dify}",
|
||||
]
|
||||
interval: 1s
|
||||
timeout: 3s
|
||||
@@ -816,7 +997,7 @@ services:
|
||||
|
||||
# plugin daemon
|
||||
plugin_daemon:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plugin-daemon:0.2.0-local
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plugin-daemon:0.5.2-local
|
||||
restart: always
|
||||
environment:
|
||||
# Use the shared environment variables.
|
||||
@@ -831,7 +1012,7 @@ services:
|
||||
PLUGIN_REMOTE_INSTALLING_HOST: ${PLUGIN_DEBUGGING_HOST:-0.0.0.0}
|
||||
PLUGIN_REMOTE_INSTALLING_PORT: ${PLUGIN_DEBUGGING_PORT:-5003}
|
||||
PLUGIN_WORKING_PATH: ${PLUGIN_WORKING_PATH:-/app/storage/cwd}
|
||||
FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-false}
|
||||
FORCE_VERIFYING_SIGNATURE: ${FORCE_VERIFYING_SIGNATURE:-true}
|
||||
PYTHON_ENV_INIT_TIMEOUT: ${PLUGIN_PYTHON_ENV_INIT_TIMEOUT:-120}
|
||||
PLUGIN_MAX_EXECUTION_TIMEOUT: ${PLUGIN_MAX_EXECUTION_TIMEOUT:-600}
|
||||
PLUGIN_STDIO_BUFFER_SIZE: ${PLUGIN_STDIO_BUFFER_SIZE:-1024}
|
||||
@@ -872,8 +1053,18 @@ services:
|
||||
volumes:
|
||||
- ./volumes/plugin_daemon:/app/storage
|
||||
depends_on:
|
||||
db:
|
||||
db_postgres:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
db_mysql:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
oceanbase:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
seekdb:
|
||||
condition: service_healthy
|
||||
required: false
|
||||
|
||||
# ssrf_proxy server
|
||||
# for more information, please refer to
|
||||
@@ -941,9 +1132,9 @@ services:
|
||||
# and modify the env vars below in .env if HTTPS_ENABLED is true.
|
||||
NGINX_SSL_CERT_FILENAME: ${NGINX_SSL_CERT_FILENAME:-dify.crt}
|
||||
NGINX_SSL_CERT_KEY_FILENAME: ${NGINX_SSL_CERT_KEY_FILENAME:-dify.key}
|
||||
NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.1 TLSv1.2 TLSv1.3}
|
||||
NGINX_SSL_PROTOCOLS: ${NGINX_SSL_PROTOCOLS:-TLSv1.2 TLSv1.3}
|
||||
NGINX_WORKER_PROCESSES: ${NGINX_WORKER_PROCESSES:-auto}
|
||||
NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-15M}
|
||||
NGINX_CLIENT_MAX_BODY_SIZE: ${NGINX_CLIENT_MAX_BODY_SIZE:-100M}
|
||||
NGINX_KEEPALIVE_TIMEOUT: ${NGINX_KEEPALIVE_TIMEOUT:-65}
|
||||
NGINX_PROXY_READ_TIMEOUT: ${NGINX_PROXY_READ_TIMEOUT:-3600s}
|
||||
NGINX_PROXY_SEND_TIMEOUT: ${NGINX_PROXY_SEND_TIMEOUT:-3600s}
|
||||
@@ -979,6 +1170,10 @@ services:
|
||||
AUTHENTICATION_APIKEY_USERS: ${WEAVIATE_AUTHENTICATION_APIKEY_USERS:-hello@dify.ai}
|
||||
AUTHORIZATION_ADMINLIST_ENABLED: ${WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED:-true}
|
||||
AUTHORIZATION_ADMINLIST_USERS: ${WEAVIATE_AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai}
|
||||
DISABLE_TELEMETRY: ${WEAVIATE_DISABLE_TELEMETRY:-false}
|
||||
ENABLE_TOKENIZER_GSE: ${WEAVIATE_ENABLE_TOKENIZER_GSE:-false}
|
||||
ENABLE_TOKENIZER_KAGOME_JA: ${WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA:-false}
|
||||
ENABLE_TOKENIZER_KAGOME_KR: ${WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR:-false}
|
||||
|
||||
# Qdrant vector store.
|
||||
# (if used, you need to set VECTOR_STORE to qdrant in the api & worker service.)
|
||||
@@ -1375,7 +1570,7 @@ services:
|
||||
|
||||
# Extend - admin-web
|
||||
admin-web:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-admin-web:1.8.1.fix
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-admin-web:1.11.4
|
||||
restart: always
|
||||
ports:
|
||||
- '8081:8081'
|
||||
@@ -1387,7 +1582,7 @@ services:
|
||||
|
||||
# Extend - admin-server
|
||||
admin-server:
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-admin-server:1.8.1.fix
|
||||
image: ccr.ccs.tencentyun.com/yfgaia/dify-plus-admin-server:1.11.4
|
||||
restart: always
|
||||
environment:
|
||||
# JWT signing key must match API's SECRET_KEY for token compatibility
|
||||
@@ -1396,12 +1591,12 @@ services:
|
||||
ports:
|
||||
- '8888:8888'
|
||||
depends_on:
|
||||
db:
|
||||
db_postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
links:
|
||||
- db
|
||||
- db_postgres
|
||||
- redis
|
||||
networks:
|
||||
- ssrf_proxy_network
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
'use client'
|
||||
|
||||
import type { CreateAppModalProps } from '@/app/components/explore/create-app-modal'
|
||||
import type { App } from '@/models/explore'
|
||||
import { useDebounceFn } from 'ahooks'
|
||||
import { useQueryState } from 'nuqs'
|
||||
@@ -10,7 +9,6 @@ import { useCallback, useMemo, useState } from 'react'
|
||||
import { useTranslation } from 'react-i18next'
|
||||
import Loading from '@/app/components/base/loading'
|
||||
import Category from '@/app/components/explore/category'
|
||||
import { fetchAppDetail } from '@/service/explore'
|
||||
import { useInstalledAppList } from '@/service/use-explore'
|
||||
import { cn } from '@/utils/classnames'
|
||||
import s from './style.module.css'
|
||||
@@ -65,7 +63,7 @@ const Apps = ({
|
||||
const filteredListExtend = useMemo(() => {
|
||||
if (!data)
|
||||
return []
|
||||
|
||||
|
||||
let result = data.allList
|
||||
|
||||
// Apply category filter
|
||||
@@ -87,7 +85,17 @@ const Apps = ({
|
||||
)
|
||||
}
|
||||
|
||||
return result
|
||||
// Deduplicate by app_id (same app may appear multiple times due to multiple tags)
|
||||
const seenAppIds = new Set<string>()
|
||||
const deduplicatedResult: App[] = []
|
||||
for (const item of result) {
|
||||
if (!seenAppIds.has(item.app_id)) {
|
||||
seenAppIds.add(item.app_id)
|
||||
deduplicatedResult.push(item)
|
||||
}
|
||||
}
|
||||
|
||||
return deduplicatedResult
|
||||
}, [data, currCategory, allCategoriesEn, tagFilterValue, keywordsValue])
|
||||
// Extend: stop Filtered list with search and tag filter
|
||||
|
||||
@@ -120,11 +128,6 @@ const Apps = ({
|
||||
'flex h-full flex-col border-l-[0.5px] border-divider-regular',
|
||||
)}
|
||||
>
|
||||
<div className="shrink-0 px-12 pt-6">
|
||||
<div className={`mb-1 ${s.textGradient} text-xl font-semibold`}>{t('apps.title', { ns: 'explore' })}</div>
|
||||
<div className="text-sm text-text-tertiary">{t('apps.description', { ns: 'explore' })}</div>
|
||||
</div>
|
||||
|
||||
<div className={cn(
|
||||
'mt-6 flex items-center justify-between px-12',
|
||||
)}
|
||||
@@ -154,7 +157,7 @@ const Apps = ({
|
||||
>
|
||||
{filteredListExtend.map(app => (
|
||||
<AppCard
|
||||
key={app.app_id}
|
||||
key={app.installed_id}
|
||||
isExplore
|
||||
app={app}
|
||||
// Extend: start Create new conversation for installed app
|
||||
|
||||
@@ -117,15 +117,11 @@ const Apps = ({
|
||||
|
||||
return result
|
||||
}, [data, currCategory, allCategoriesEn, tagFilterValue, keywordsValue])
|
||||
// Extend: stop Filtered list with search and tag filter
|
||||
|
||||
const handleTagsChange = (value: string[]) => {
|
||||
setTagFilterValue(value)
|
||||
}
|
||||
|
||||
const handleKeywordsChange = (value: string) => {
|
||||
setKeywordsValue(value)
|
||||
}
|
||||
// Extend: stop Filtered list with search and tag filter
|
||||
|
||||
const [currApp, setCurrApp] = React.useState<App | null>(null)
|
||||
const [isShowCreateModal, setIsShowCreateModal] = React.useState(false)
|
||||
@@ -227,15 +223,6 @@ const Apps = ({
|
||||
{/* Extend: stop Explore Add Search */}
|
||||
</div>
|
||||
|
||||
<div className="mt-2 px-12">
|
||||
<Category
|
||||
list={categories}
|
||||
value={currCategory}
|
||||
onChange={setCurrCategory}
|
||||
allCategoriesEn={allCategoriesEn}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className={cn(
|
||||
'relative mt-4 flex flex-1 shrink-0 grow flex-col overflow-auto pb-6',
|
||||
)}
|
||||
|
||||
@@ -122,7 +122,7 @@ const SideBar: FC<IExploreSideBarProps> = ({
|
||||
style={isDiscoverySelected ? { boxShadow: '0px 1px 2px rgba(16, 24, 40, 0.05)' } : {}}
|
||||
>
|
||||
{isDiscoverySelected ? <SelectedDiscoveryIcon /> : <DiscoveryIcon />}
|
||||
{!isMobile && <div className='text-sm'>{t('sidebar.discovery', { ns: 'explore' })}</div>}
|
||||
{!isMobile && <div className='text-sm'>{t('sidebar.discovery', { ns: 'extend' })}</div>}
|
||||
</Link>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -22,7 +22,7 @@ const ExploreNav = ({
|
||||
|
||||
return (
|
||||
<Link
|
||||
href="/explore/apps"
|
||||
href="/explore/apps-center-extend"
|
||||
className={cn(className, 'group', activated && 'bg-components-main-nav-nav-button-bg-active shadow-md', activated ? 'text-components-main-nav-nav-button-text-active' : 'text-components-main-nav-nav-button-text hover:bg-components-main-nav-nav-button-bg-hover')}
|
||||
>
|
||||
{
|
||||
|
||||
@@ -74,6 +74,7 @@ export type IMainProps = {
|
||||
|
||||
const TextGeneration: FC<IMainProps> = ({
|
||||
isInstalledApp = false,
|
||||
installedAppInfo,
|
||||
isWorkflow = false,
|
||||
}) => {
|
||||
const { notify } = Toast
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,93 @@
|
||||
Copyright 2022 The Instrument Serif Project Authors (https://github.com/Instrument/instrument-serif)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
+17
-6
@@ -1,7 +1,8 @@
|
||||
import type { Viewport } from 'next'
|
||||
import { Provider as JotaiProvider } from 'jotai'
|
||||
import { ThemeProvider } from 'next-themes'
|
||||
import { Instrument_Serif } from 'next/font/google'
|
||||
// extend: dockefile 构建访问不到google,改成本地
|
||||
import localFont from 'next/font/local'
|
||||
import { NuqsAdapter } from 'nuqs/adapters/next/app'
|
||||
import GlobalPublicStoreProvider from '@/context/global-public-context'
|
||||
import { TanstackQueryInitializer } from '@/context/query-client'
|
||||
@@ -25,13 +26,23 @@ export const viewport: Viewport = {
|
||||
viewportFit: 'cover',
|
||||
userScalable: false,
|
||||
}
|
||||
|
||||
const instrumentSerif = Instrument_Serif({
|
||||
weight: ['400'],
|
||||
style: ['normal', 'italic'],
|
||||
subsets: ['latin'],
|
||||
// extend: start dockefile 构建访问不到google,改成本地
|
||||
const instrumentSerif = localFont({
|
||||
src: [
|
||||
{
|
||||
path: './fonts/InstrumentSerif-Regular.ttf',
|
||||
weight: '400',
|
||||
style: 'normal',
|
||||
},
|
||||
{
|
||||
path: './fonts/InstrumentSerif-Italic.ttf',
|
||||
weight: '400',
|
||||
style: 'italic',
|
||||
},
|
||||
],
|
||||
variable: '--font-instrument-serif',
|
||||
})
|
||||
// extend: stop dockefile 构建访问不到google,改成本地
|
||||
|
||||
const LocaleLayout = async ({
|
||||
children,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "KI-Zeichnung",
|
||||
"aiVideo.title": "KI-Video",
|
||||
"aiVideo.translate": "Video übersetzen",
|
||||
"apiKeyModal.accumulatedLimit": "Kumulierte Nutzung",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "App zur Entdeckungsseite synchronisieren und zugehörige Tags erstellen",
|
||||
"app.syncAppOk": "Synchronisierung erfolgreich",
|
||||
"app.syncToAppTemplate": "Zur App-Vorlage synchronisieren",
|
||||
"appCard.newConversation": "Neue Unterhaltung",
|
||||
"appCenter.description": "Hier ist der App-Center, wo Sie kategorisierte Apps finden und nutzen können",
|
||||
"appMenus.userOverview": "Persönliche Überwachung",
|
||||
"batchWorkflow.batchJobs": "{{num}} Stapelaufgaben",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Fehler aufgetreten",
|
||||
"batchWorkflow.failed": "Fehlgeschlagen",
|
||||
"batchWorkflow.initializing": "Stapelaufgabe wird initialisiert...",
|
||||
"batchWorkflow.noBatchTasks": "Keine Stapelverarbeitungsaufgaben",
|
||||
"batchWorkflow.pending": "Ausstehend",
|
||||
"batchWorkflow.pleaseWait": "Bitte warten",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}} Zeilen verarbeitet",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Link",
|
||||
"billingList.open": "Erweitern",
|
||||
"billingList.router": "Router",
|
||||
"configuration.clearContext": "Kontext gelöscht",
|
||||
"configuration.restoreContext": "Klicken, um Kontext wiederherzustellen",
|
||||
"fileUploader.fileUpload": "Datei-Upload",
|
||||
"fileUploader.pasteFileLink": "Datei-Link einfügen",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Datei-Link hier einfügen",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Datei-Upload fehlgeschlagen, bitte erneut hochladen.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Arbeitsbereich auswählen",
|
||||
"sidebar.appCenter": "App-Center",
|
||||
"sidebar.withDingTalk": "Anmelden mit DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Entdecken",
|
||||
"sidebar.withDingTalk": "Anmelden mit DingTalk",
|
||||
"user.credit": "Guthaben",
|
||||
"user.used": "Verwendet:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI Drawing",
|
||||
"aiVideo.title": "AI Video",
|
||||
"aiVideo.translate": "Video Translation",
|
||||
"apiKeyModal.accumulatedLimit": "Cumulative Usage Limit",
|
||||
@@ -65,6 +66,8 @@
|
||||
"billingList.link": "Link",
|
||||
"billingList.open": "Expand",
|
||||
"billingList.router": "Route",
|
||||
"configuration.clearContext": "Context cleared",
|
||||
"configuration.restoreContext": "Click to restore context",
|
||||
"fileUploader.fileUpload": "File upload",
|
||||
"fileUploader.pasteFileLink": "Paste file link",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Paste file link here",
|
||||
@@ -75,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "File upload failed, please upload again.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Select workspace",
|
||||
"sidebar.appCenter": "App Center",
|
||||
"sidebar.withDingTalk": "Log in with DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Discovery",
|
||||
"sidebar.withDingTalk": "Log in with DingTalk",
|
||||
"user.credit": "Credit",
|
||||
"user.used": "Used:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Dibujo IA",
|
||||
"aiVideo.title": "Video de IA",
|
||||
"aiVideo.translate": "Traducción de video",
|
||||
"apiKeyModal.accumulatedLimit": "Límite de uso acumulado",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Sincronizar aplicación a la interfaz de exploración y crear etiquetas relacionadas",
|
||||
"app.syncAppOk": "Sincronización exitosa",
|
||||
"app.syncToAppTemplate": "Sincronizar a plantilla de aplicación",
|
||||
"appCard.newConversation": "Nueva conversación",
|
||||
"appCenter.description": "A continuación se encuentra el centro de aplicaciones, donde puedes ver aplicaciones categorizadas y utilizarlas",
|
||||
"appMenus.userOverview": "Monitoreo personal",
|
||||
"batchWorkflow.batchJobs": "{{num}} tareas por lotes",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Ocurrió un error",
|
||||
"batchWorkflow.failed": "Fallido",
|
||||
"batchWorkflow.initializing": "Inicializando tarea por lotes...",
|
||||
"batchWorkflow.noBatchTasks": "No hay tareas de procesamiento por lotes",
|
||||
"batchWorkflow.pending": "Pendiente",
|
||||
"batchWorkflow.pleaseWait": "Por favor espere",
|
||||
"batchWorkflow.processed": "Procesadas {{processed}}/{{total}} filas",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Enlace",
|
||||
"billingList.open": "Expandir",
|
||||
"billingList.router": "Enrutador",
|
||||
"configuration.clearContext": "Contexto borrado",
|
||||
"configuration.restoreContext": "Haga clic para restaurar el contexto",
|
||||
"fileUploader.fileUpload": "Carga de archivo",
|
||||
"fileUploader.pasteFileLink": "Pegar enlace de archivo",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Pegue el enlace del archivo aquí",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Error al cargar el archivo, por favor vuelva a cargar.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Seleccionar espacio de trabajo",
|
||||
"sidebar.appCenter": "Centro de aplicaciones",
|
||||
"sidebar.withDingTalk": "Iniciar sesión con DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Descubrimiento",
|
||||
"sidebar.withDingTalk": "Iniciar sesión con DingTalk",
|
||||
"user.credit": "Crédito",
|
||||
"user.used": "Usado:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "نقاشی AI",
|
||||
"aiVideo.title": "ویدیوی هوش مصنوعی",
|
||||
"aiVideo.translate": "ترجمه ویدیو",
|
||||
"apiKeyModal.accumulatedLimit": "سهمیه استفاده تجمعی",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "همگامسازی برنامه به صفحه کشف و ایجاد برچسبهای مرتبط",
|
||||
"app.syncAppOk": "همگامسازی موفقیتآمیز بود",
|
||||
"app.syncToAppTemplate": "همگامسازی به قالب برنامه",
|
||||
"appCard.newConversation": "مکالمه جدید",
|
||||
"appCenter.description": "این مرکز برنامههاست، جایی که میتوانید برنامههای دستهبندی شده را مشاهده و استفاده کنید",
|
||||
"appMenus.userOverview": "نظارت شخصی",
|
||||
"batchWorkflow.batchJobs": "{{num}} وظیفه دستهای",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "خطا رخ داد",
|
||||
"batchWorkflow.failed": "شکست خورد",
|
||||
"batchWorkflow.initializing": "در حال راهاندازی وظیفه دستهای...",
|
||||
"batchWorkflow.noBatchTasks": "هیچ کار پردازش دستهای وجود ندارد",
|
||||
"batchWorkflow.pending": "در انتظار پردازش",
|
||||
"batchWorkflow.pleaseWait": "لطفاً منتظر بمانید",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}} ردیف پردازش شد",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "پیوند",
|
||||
"billingList.open": "باز کردن",
|
||||
"billingList.router": "مسیریاب",
|
||||
"configuration.clearContext": "زمینه پاک شد",
|
||||
"configuration.restoreContext": "برای بازیابی زمینه کلیک کنید",
|
||||
"fileUploader.fileUpload": "بارگذاری فایل",
|
||||
"fileUploader.pasteFileLink": "چسباندن لینک فایل",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "لینک فایل را در اینجا بچسبانید",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "بارگذاری فایل شکست خورد، لطفاً مجدداً بارگذاری کنید.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "انتخاب فضای کاری",
|
||||
"sidebar.appCenter": "مرکز برنامهها",
|
||||
"sidebar.withDingTalk": "ورود با DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "کشف",
|
||||
"sidebar.withDingTalk": "ورود با DingTalk",
|
||||
"user.credit": "اعتبار",
|
||||
"user.used": "استفاده شده:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Dessin IA",
|
||||
"aiVideo.title": "Vidéo IA",
|
||||
"aiVideo.translate": "Traduction vidéo",
|
||||
"apiKeyModal.accumulatedLimit": "Quota d'utilisation cumulé",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Synchroniser l'application avec l'interface de découverte et créer des étiquettes associées",
|
||||
"app.syncAppOk": "Synchronisation réussie",
|
||||
"app.syncToAppTemplate": "Synchroniser avec le modèle d'application",
|
||||
"appCard.newConversation": "Nouvelle conversation",
|
||||
"appCenter.description": "Voici le centre d'applications, où vous pouvez voir des applications classées et les utiliser.",
|
||||
"appMenus.userOverview": "Surveillance personnelle",
|
||||
"batchWorkflow.batchJobs": "{{num}} tâches par lots",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Une erreur s'est produite",
|
||||
"batchWorkflow.failed": "Échoué",
|
||||
"batchWorkflow.initializing": "Initialisation de la tâche par lots...",
|
||||
"batchWorkflow.noBatchTasks": "Aucune tâche de traitement par lots",
|
||||
"batchWorkflow.pending": "En attente",
|
||||
"batchWorkflow.pleaseWait": "Veuillez patienter",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}} lignes traitées",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Lien",
|
||||
"billingList.open": "Développer",
|
||||
"billingList.router": "Routeur",
|
||||
"configuration.clearContext": "Contexte effacé",
|
||||
"configuration.restoreContext": "Cliquez pour restaurer le contexte",
|
||||
"fileUploader.fileUpload": "Téléchargement de fichier",
|
||||
"fileUploader.pasteFileLink": "Coller le lien du fichier",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Collez le lien du fichier ici",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Échec du téléchargement du fichier, veuillez réessayer.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Sélectionner un espace de travail",
|
||||
"sidebar.appCenter": "Centre d'applications",
|
||||
"sidebar.withDingTalk": "Connexion avec DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Découverte",
|
||||
"sidebar.withDingTalk": "Connexion avec DingTalk",
|
||||
"user.credit": "Crédit",
|
||||
"user.used": "Utilisé:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI ड्राइंग",
|
||||
"aiVideo.title": "AI वीडियो",
|
||||
"aiVideo.translate": "वीडियो अनुवाद",
|
||||
"apiKeyModal.accumulatedLimit": "संचयी उपयोग सीमा",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "खोज इंटरफ़ेस पर ऐप सिंक्रोनाइज़ करें और संबंधित टैग बनाएं",
|
||||
"app.syncAppOk": "सिंक्रोनाइज़ सफल",
|
||||
"app.syncToAppTemplate": "ऐप टेम्पलेट में सिंक्रोनाइज़ करें",
|
||||
"appCard.newConversation": "नई बातचीत",
|
||||
"appCenter.description": "यह ऐप केंद्र है, जहां आप श्रेणीबद्ध ऐप्स देख और उपयोग कर सकते हैं",
|
||||
"appMenus.userOverview": "व्यक्तिगत निगरानी",
|
||||
"batchWorkflow.batchJobs": "{{num}} बैच कार्य",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "त्रुटि हुई",
|
||||
"batchWorkflow.failed": "विफल",
|
||||
"batchWorkflow.initializing": "बैच कार्य प्रारंभ हो रहा है...",
|
||||
"batchWorkflow.noBatchTasks": "कोई बैच प्रसंस्करण कार्य नहीं",
|
||||
"batchWorkflow.pending": "लंबित",
|
||||
"batchWorkflow.pleaseWait": "कृपया प्रतीक्षा करें",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}} पंक्तियाँ प्रोसेस की गईं",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "लिंक",
|
||||
"billingList.open": "खोलें",
|
||||
"billingList.router": "राउटर",
|
||||
"configuration.clearContext": "संदर्भ साफ़ कर दिया गया",
|
||||
"configuration.restoreContext": "संदर्भ पुनर्स्थापित करने के लिए क्लिक करें",
|
||||
"fileUploader.fileUpload": "फ़ाइल अपलोड",
|
||||
"fileUploader.pasteFileLink": "फ़ाइल लिंक पेस्ट करें",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "अपना फ़ाइल लिंक यहाँ पेस्ट करें",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "फ़ाइल अपलोड करने में त्रुटि, कृपया फिर से अपलोड करें।",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "कार्यस्थल चुनें",
|
||||
"sidebar.appCenter": "ऐप केंद्र",
|
||||
"sidebar.withDingTalk": "डिंगटॉक के साथ लॉगिन करें"
|
||||
}
|
||||
"sidebar.discovery": "खोज",
|
||||
"sidebar.withDingTalk": "डिंगटॉक के साथ लॉगिन करें",
|
||||
"user.credit": "क्रेडिट",
|
||||
"user.used": "उपयोग किया गया:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Gambar AI",
|
||||
"aiVideo.title": "Video AI",
|
||||
"aiVideo.translate": "Terjemahan Video",
|
||||
"apiKeyModal.accumulatedLimit": "Batas penggunaan kumulatif",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Sinkronkan aplikasi ke halaman Jelajah dan buat tag terkait",
|
||||
"app.syncAppOk": "Sinkronisasi berhasil",
|
||||
"app.syncToAppTemplate": "Sinkronkan ke template aplikasi",
|
||||
"appCard.newConversation": "Percakapan baru",
|
||||
"appCenter.description": "Berikut adalah Pusat Aplikasi, di mana Anda dapat melihat aplikasi yang dikategorikan dan menggunakannya",
|
||||
"appMenus.userOverview": "Pemantauan Pribadi",
|
||||
"batchWorkflow.batchJobs": "{{num}} tugas batch",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Terjadi kesalahan",
|
||||
"batchWorkflow.failed": "Gagal",
|
||||
"batchWorkflow.initializing": "Menginisialisasi tugas batch...",
|
||||
"batchWorkflow.noBatchTasks": "Tidak ada tugas pemrosesan batch",
|
||||
"batchWorkflow.pending": "Tertunda",
|
||||
"batchWorkflow.pleaseWait": "Mohon tunggu",
|
||||
"batchWorkflow.processed": "Diproses {{processed}}/{{total}} baris",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Tautan",
|
||||
"billingList.open": "Perluas",
|
||||
"billingList.router": "Router",
|
||||
"configuration.clearContext": "Konteks dibersihkan",
|
||||
"configuration.restoreContext": "Klik untuk memulihkan konteks",
|
||||
"fileUploader.fileUpload": "Unggah file",
|
||||
"fileUploader.pasteFileLink": "Tempel tautan file",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Tempel tautan file di sini",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Gagal mengunggah file, silakan unggah ulang.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Pilih workspace",
|
||||
"sidebar.appCenter": "Pusat Aplikasi",
|
||||
"sidebar.withDingTalk": "Masuk dengan DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Penemuan",
|
||||
"sidebar.withDingTalk": "Masuk dengan DingTalk",
|
||||
"user.credit": "Kredit",
|
||||
"user.used": "Digunakan:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Disegno IA",
|
||||
"aiVideo.title": "Video AI",
|
||||
"aiVideo.translate": "Traduzione video",
|
||||
"apiKeyModal.accumulatedLimit": "Limite utilizzo cumulativo",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Sincronizza app con la pagina di esplorazione e crea tag correlati",
|
||||
"app.syncAppOk": "Sincronizzazione riuscita",
|
||||
"app.syncToAppTemplate": "Sincronizza con modello app",
|
||||
"appCard.newConversation": "Nuova conversazione",
|
||||
"appCenter.description": "Qui di seguito è il centro app, dove puoi visualizzare le applicazioni categorizzate e utilizzarle",
|
||||
"appMenus.userOverview": "Panoramica utente",
|
||||
"batchWorkflow.batchJobs": "{{num}} attività batch",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Si è verificato un errore",
|
||||
"batchWorkflow.failed": "Non riuscito",
|
||||
"batchWorkflow.initializing": "Inizializzazione attività batch...",
|
||||
"batchWorkflow.noBatchTasks": "Nessuna attività di elaborazione batch",
|
||||
"batchWorkflow.pending": "In attesa",
|
||||
"batchWorkflow.pleaseWait": "Si prega di attendere",
|
||||
"batchWorkflow.processed": "Elaborate {{processed}}/{{total}} righe",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Link",
|
||||
"billingList.open": "Espandi",
|
||||
"billingList.router": "Router",
|
||||
"configuration.clearContext": "Contesto cancellato",
|
||||
"configuration.restoreContext": "Fare clic per ripristinare il contesto",
|
||||
"fileUploader.fileUpload": "Caricamento file",
|
||||
"fileUploader.pasteFileLink": "Incolla link file",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Incolla qui il link del file",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Caricamento file non riuscito, ricaricare.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Seleziona spazio di lavoro",
|
||||
"sidebar.appCenter": "Centro App",
|
||||
"sidebar.withDingTalk": "Accedi con DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Scoperta",
|
||||
"sidebar.withDingTalk": "Accedi con DingTalk",
|
||||
"user.credit": "Credito",
|
||||
"user.used": "Usato:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI 作図",
|
||||
"aiVideo.title": "AI ビデオ",
|
||||
"aiVideo.translate": "ビデオ翻訳",
|
||||
"apiKeyModal.accumulatedLimit": "累計使用制限",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "探索画面にアプリを同期し、関連するタグを作成",
|
||||
"app.syncAppOk": "同期に成功しました",
|
||||
"app.syncToAppTemplate": "アプリテンプレートに同期",
|
||||
"appCard.newConversation": "新しい会話",
|
||||
"appCenter.description": "以下はアプリセンターです。ここでカテゴリ分けされたアプリを閲覧できます",
|
||||
"appMenus.userOverview": "個人モニタリング",
|
||||
"batchWorkflow.batchJobs": "{{num}} 個のバッチタスク",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "エラーが発生しました",
|
||||
"batchWorkflow.failed": "失敗",
|
||||
"batchWorkflow.initializing": "バッチタスクを初期化中...",
|
||||
"batchWorkflow.noBatchTasks": "バッチ処理タスクがありません",
|
||||
"batchWorkflow.pending": "処理待ち",
|
||||
"batchWorkflow.pleaseWait": "お待ちください",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}} 行を処理済み",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "リンク",
|
||||
"billingList.open": "展開",
|
||||
"billingList.router": "ルーター",
|
||||
"configuration.clearContext": "コンテキストがクリアされました",
|
||||
"configuration.restoreContext": "クリックしてコンテキストを復元",
|
||||
"fileUploader.fileUpload": "ファイルアップロード",
|
||||
"fileUploader.pasteFileLink": "ファイルリンクを貼り付け",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "ここにファイルリンクを貼り付けてください",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "ファイルのアップロードに失敗しました。もう一度アップロードしてください。",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "ワークスペースを選択",
|
||||
"sidebar.appCenter": "アプリセンター",
|
||||
"sidebar.withDingTalk": "DingTalkでログイン"
|
||||
}
|
||||
"sidebar.discovery": "発見",
|
||||
"sidebar.withDingTalk": "DingTalkでログイン",
|
||||
"user.credit": "クレジット",
|
||||
"user.used": "使用済み:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI 그림",
|
||||
"aiVideo.title": "AI 비디오",
|
||||
"aiVideo.translate": "비디오 번역",
|
||||
"apiKeyModal.accumulatedLimit": "누적 사용 한도",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "탐색 화면에 앱 동기화 및 관련 태그 생성",
|
||||
"app.syncAppOk": "동기화 완료",
|
||||
"app.syncToAppTemplate": "앱 템플릿으로 동기화",
|
||||
"appCard.newConversation": "새 대화",
|
||||
"appCenter.description": "앱 센터입니다. 여기서 분류된 앱을 보고 사용할 수 있습니다.",
|
||||
"appMenus.userOverview": "개인 모니터링",
|
||||
"batchWorkflow.batchJobs": "{{num}}개의 일괄 작업",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "오류가 발생했습니다",
|
||||
"batchWorkflow.failed": "실패",
|
||||
"batchWorkflow.initializing": "일괄 작업을 초기화하는 중...",
|
||||
"batchWorkflow.noBatchTasks": "일괄 처리 작업 없음",
|
||||
"batchWorkflow.pending": "대기 중",
|
||||
"batchWorkflow.pleaseWait": "잠시만 기다려 주세요",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}}행 처리됨",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "링크",
|
||||
"billingList.open": "펼치기",
|
||||
"billingList.router": "라우터",
|
||||
"configuration.clearContext": "컨텍스트가 지워졌습니다",
|
||||
"configuration.restoreContext": "클릭하여 컨텍스트 복원",
|
||||
"fileUploader.fileUpload": "파일 업로드",
|
||||
"fileUploader.pasteFileLink": "파일 링크 붙여넣기",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "여기에 파일 링크를 붙여넣으세요",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "파일 업로드 실패. 다시 업로드해 주세요.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "작업 공간 선택",
|
||||
"sidebar.appCenter": "앱 센터",
|
||||
"sidebar.withDingTalk": "딩톡으로 로그인"
|
||||
}
|
||||
"sidebar.discovery": "발견",
|
||||
"sidebar.withDingTalk": "딩톡으로 로그인",
|
||||
"user.credit": "크레딧",
|
||||
"user.used": "사용됨:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Rysowanie AI",
|
||||
"aiVideo.title": "Wideo AI",
|
||||
"aiVideo.translate": "Tłumaczenie wideo",
|
||||
"apiKeyModal.accumulatedLimit": "Skumulowany limit użycia",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Synchronizuj aplikację z interfejsem odkrywania i powiąż utworzone tagi",
|
||||
"app.syncAppOk": "Synchronizacja zakończona sukcesem",
|
||||
"app.syncToAppTemplate": "Synchronizuj z szablonem aplikacji",
|
||||
"appCard.newConversation": "Nowa rozmowa",
|
||||
"appCenter.description": "Oto Centrum Aplikacji, gdzie możesz zobaczyć sklasyfikowane aplikacje i z nich korzystać",
|
||||
"appMenus.userOverview": "Przegląd użytkownika",
|
||||
"batchWorkflow.batchJobs": "{{num}} zadań wsadowych",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Wystąpił błąd",
|
||||
"batchWorkflow.failed": "Nieudane",
|
||||
"batchWorkflow.initializing": "Inicjalizacja zadania wsadowego...",
|
||||
"batchWorkflow.noBatchTasks": "Brak zadań przetwarzania wsadowego",
|
||||
"batchWorkflow.pending": "Oczekujące",
|
||||
"batchWorkflow.pleaseWait": "Proszę czekać",
|
||||
"batchWorkflow.processed": "Przetworzono {{processed}}/{{total}} wierszy",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Link",
|
||||
"billingList.open": "Rozwiń",
|
||||
"billingList.router": "Router",
|
||||
"configuration.clearContext": "Kontekst wyczyszczony",
|
||||
"configuration.restoreContext": "Kliknij, aby przywrócić kontekst",
|
||||
"fileUploader.fileUpload": "Przesyłanie pliku",
|
||||
"fileUploader.pasteFileLink": "Wklej link do pliku",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Wklej link do pliku tutaj",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Przesyłanie pliku nie powiodło się, prześlij ponownie.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Wybierz przestrzeń roboczą",
|
||||
"sidebar.appCenter": "Centrum Aplikacji",
|
||||
"sidebar.withDingTalk": "Zaloguj się za pomocą DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Odkrywanie",
|
||||
"sidebar.withDingTalk": "Zaloguj się za pomocą DingTalk",
|
||||
"user.credit": "Kredyt",
|
||||
"user.used": "Użyto:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Desenho IA",
|
||||
"aiVideo.title": "Vídeo de IA",
|
||||
"aiVideo.translate": "Tradução de vídeo",
|
||||
"apiKeyModal.accumulatedLimit": "Limite de uso acumulado",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Sincronizar aplicativo para a interface de exploração e criar tags relacionadas",
|
||||
"app.syncAppOk": "Sincronização bem-sucedida",
|
||||
"app.syncToAppTemplate": "Sincronizar para modelo de aplicativo",
|
||||
"appCard.newConversation": "Nova conversa",
|
||||
"appCenter.description": "Aqui está o Centro de Aplicativos, onde você pode ver aplicativos categorizados e utilizá-los",
|
||||
"appMenus.userOverview": "Visão geral do usuário",
|
||||
"batchWorkflow.batchJobs": "{{num}} tarefas em lote",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Ocorreu um erro",
|
||||
"batchWorkflow.failed": "Falhou",
|
||||
"batchWorkflow.initializing": "Inicializando tarefa em lote...",
|
||||
"batchWorkflow.noBatchTasks": "Nenhuma tarefa de processamento em lote",
|
||||
"batchWorkflow.pending": "Pendente",
|
||||
"batchWorkflow.pleaseWait": "Por favor, aguarde",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}} linhas processadas",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Link",
|
||||
"billingList.open": "Expandir",
|
||||
"billingList.router": "Rota",
|
||||
"configuration.clearContext": "Contexto limpo",
|
||||
"configuration.restoreContext": "Clique para restaurar o contexto",
|
||||
"fileUploader.fileUpload": "Upload de arquivo",
|
||||
"fileUploader.pasteFileLink": "Colar link do arquivo",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Cole o link do arquivo aqui",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Falha no upload do arquivo, por favor, carregue novamente.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Escolher espaço de trabalho",
|
||||
"sidebar.appCenter": "Centro de Aplicativos",
|
||||
"sidebar.withDingTalk": "Iniciar sessão com DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Descoberta",
|
||||
"sidebar.withDingTalk": "Iniciar sessão com DingTalk",
|
||||
"user.credit": "Crédito",
|
||||
"user.used": "Usado:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Desen AI",
|
||||
"aiVideo.title": "Video AI",
|
||||
"aiVideo.translate": "Traducere video",
|
||||
"apiKeyModal.accumulatedLimit": "Limită de utilizare cumulată",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Sincronizează aplicația la interfața de explorare și creează etichete asociate",
|
||||
"app.syncAppOk": "Sincronizare reușită",
|
||||
"app.syncToAppTemplate": "Sincronizează la șablonul de aplicație",
|
||||
"appCard.newConversation": "Conversație nouă",
|
||||
"appCenter.description": "Aceasta este Centrul de Aplicații, unde puteți vedea aplicațiile organizate pe categorii și le puteți utiliza",
|
||||
"appMenus.userOverview": "Monitorizare personală",
|
||||
"batchWorkflow.batchJobs": "{{num}} sarcini în lot",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "A apărut o eroare",
|
||||
"batchWorkflow.failed": "Eșuat",
|
||||
"batchWorkflow.initializing": "Se inițializează sarcina în lot...",
|
||||
"batchWorkflow.noBatchTasks": "Nu există sarcini de procesare în lot",
|
||||
"batchWorkflow.pending": "În așteptare",
|
||||
"batchWorkflow.pleaseWait": "Vă rugăm să așteptați",
|
||||
"batchWorkflow.processed": "Procesate {{processed}}/{{total}} rânduri",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Link",
|
||||
"billingList.open": "Deschide",
|
||||
"billingList.router": "Rută",
|
||||
"configuration.clearContext": "Context șters",
|
||||
"configuration.restoreContext": "Faceți clic pentru a restabili contextul",
|
||||
"fileUploader.fileUpload": "Încărcare fișier",
|
||||
"fileUploader.pasteFileLink": "Lipire link fișier",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Lipiți linkul fișierului aici",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Încărcarea fișierului a eșuat, vă rugăm să încărcați din nou.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Selectați spațiul de lucru",
|
||||
"sidebar.appCenter": "Centru de aplicații",
|
||||
"sidebar.withDingTalk": "Conectați-vă cu DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Descoperire",
|
||||
"sidebar.withDingTalk": "Conectați-vă cu DingTalk",
|
||||
"user.credit": "Credit",
|
||||
"user.used": "Folosit:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI Рисование",
|
||||
"aiVideo.title": "AI-видео",
|
||||
"aiVideo.translate": "Перевод видео",
|
||||
"apiKeyModal.accumulatedLimit": "Накопленный лимит использования",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Синхронизировать приложение со страницей \"Исследование\" и связать созданные теги",
|
||||
"app.syncAppOk": "Синхронизация успешна",
|
||||
"app.syncToAppTemplate": "Синхронизировать с шаблоном приложения",
|
||||
"appCard.newConversation": "Новый разговор",
|
||||
"appCenter.description": "Ниже представлен Центр приложений, где вы можете просмотреть категоризированные приложения и использовать их",
|
||||
"appMenus.userOverview": "Личный обзор",
|
||||
"batchWorkflow.batchJobs": "{{num}} пакетных задач",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Произошла ошибка",
|
||||
"batchWorkflow.failed": "Не удалось",
|
||||
"batchWorkflow.initializing": "Инициализация пакетной задачи...",
|
||||
"batchWorkflow.noBatchTasks": "Нет задач пакетной обработки",
|
||||
"batchWorkflow.pending": "В ожидании",
|
||||
"batchWorkflow.pleaseWait": "Пожалуйста, подождите",
|
||||
"batchWorkflow.processed": "Обработано {{processed}}/{{total}} строк",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Ссылка",
|
||||
"billingList.open": "Развернуть",
|
||||
"billingList.router": "Маршрутизатор",
|
||||
"configuration.clearContext": "Контекст очищен",
|
||||
"configuration.restoreContext": "Нажмите, чтобы восстановить контекст",
|
||||
"fileUploader.fileUpload": "Загрузка файла",
|
||||
"fileUploader.pasteFileLink": "Вставить ссылку на файл",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Вставьте здесь ссылку на файл",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Не удалось загрузить файл, пожалуйста, загрузите его снова.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Выберите рабочее пространство",
|
||||
"sidebar.appCenter": "Центр приложений",
|
||||
"sidebar.withDingTalk": "Войти с помощью DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Обнаружение",
|
||||
"sidebar.withDingTalk": "Войти с помощью DingTalk",
|
||||
"user.credit": "Кредит",
|
||||
"user.used": "Использовано:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI risanje",
|
||||
"aiVideo.title": "AI Video",
|
||||
"aiVideo.translate": "Prevod videoposnetka",
|
||||
"apiKeyModal.accumulatedLimit": "Skupna poraba",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Sinhroniziraj aplikacijo v raziskovalni vmesnik in ustvari povezane oznake",
|
||||
"app.syncAppOk": "Sinhronizacija uspešna",
|
||||
"app.syncToAppTemplate": "Sinhroniziraj v predlogo aplikacije",
|
||||
"appCard.newConversation": "Nov pogovor",
|
||||
"appCenter.description": "To je center aplikacij, kjer lahko vidite razvrščene aplikacije in jih uporabljate",
|
||||
"appMenus.userOverview": "Pregled uporabnika",
|
||||
"batchWorkflow.batchJobs": "{{num}} paketnih nalog",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Prišlo je do napake",
|
||||
"batchWorkflow.failed": "Neuspešno",
|
||||
"batchWorkflow.initializing": "Inicializacija paketne naloge...",
|
||||
"batchWorkflow.noBatchTasks": "Ni nalog za paketno obdelavo",
|
||||
"batchWorkflow.pending": "Na čakanju",
|
||||
"batchWorkflow.pleaseWait": "Prosimo počakajte",
|
||||
"batchWorkflow.processed": "Obdelanih {{processed}}/{{total}} vrstic",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Povezava",
|
||||
"billingList.open": "Razširi",
|
||||
"billingList.router": "Usmerjevalnik",
|
||||
"configuration.clearContext": "Kontekst počiščen",
|
||||
"configuration.restoreContext": "Kliknite za obnovitev konteksta",
|
||||
"fileUploader.fileUpload": "Nalaganje datoteke",
|
||||
"fileUploader.pasteFileLink": "Prilepi povezavo do datoteke",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Tukaj prilepite povezavo do datoteke",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Nalaganje datoteke ni uspelo, prosimo poskusite znova.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Izberite delovni prostor",
|
||||
"sidebar.appCenter": "Center aplikacij",
|
||||
"sidebar.withDingTalk": "Vpis z DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Odkritje",
|
||||
"sidebar.withDingTalk": "Vpis z DingTalk",
|
||||
"user.credit": "Kredit",
|
||||
"user.used": "Uporabljeno:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "วาดภาพ AI",
|
||||
"aiVideo.title": "วิดีโอ AI",
|
||||
"aiVideo.translate": "แปลวิดีโอ",
|
||||
"apiKeyModal.accumulatedLimit": "ข้อจำกัดการใช้งานรวม",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "ซิงค์แอปไปยังหน้าค้นหาและเชื่อมโยงการสร้างแท็กที่เกี่ยวข้อง",
|
||||
"app.syncAppOk": "ซิงค์สำเร็จ",
|
||||
"app.syncToAppTemplate": "ซิงค์ไปยังแม่แบบแอป",
|
||||
"appCard.newConversation": "การสนทนาใหม่",
|
||||
"appCenter.description": "นี่คือศูนย์แอป คุณสามารถดูแอปที่จัดประเภทและใช้งานได้ที่นี่",
|
||||
"appMenus.userOverview": "การติดตามส่วนบุคคล",
|
||||
"batchWorkflow.batchJobs": "{{num}} งานแบตช์",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "เกิดข้อผิดพลาด",
|
||||
"batchWorkflow.failed": "ล้มเหลว",
|
||||
"batchWorkflow.initializing": "กำลังเริ่มต้นงานแบตช์...",
|
||||
"batchWorkflow.noBatchTasks": "ไม่มีงานประมวลผลแบบกลุ่ม",
|
||||
"batchWorkflow.pending": "กำลังรอดำเนินการ",
|
||||
"batchWorkflow.pleaseWait": "กรุณารอสักครู่",
|
||||
"batchWorkflow.processed": "ประมวลผลแล้ว {{processed}}/{{total}} แถว",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "ลิงก์",
|
||||
"billingList.open": "ขยาย",
|
||||
"billingList.router": "เส้นทาง",
|
||||
"configuration.clearContext": "ล้างบริบทแล้ว",
|
||||
"configuration.restoreContext": "คลิกเพื่อกู้คืนบริบท",
|
||||
"fileUploader.fileUpload": "อัปโหลดไฟล์",
|
||||
"fileUploader.pasteFileLink": "วางลิงก์ไฟล์",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "วางลิงก์ไฟล์ที่นี่",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "อัปโหลดไฟล์ล้มเหลว กรุณาอัปโหลดใหม่อีกครั้ง。",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "เลือกพื้นที่ทำงาน",
|
||||
"sidebar.appCenter": "ศูนย์รับสมัครงาน",
|
||||
"sidebar.withDingTalk": "เข้าสู่ระบบโดยใช้ DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "การค้นพบ",
|
||||
"sidebar.withDingTalk": "เข้าสู่ระบบโดยใช้ DingTalk",
|
||||
"user.credit": "เครดิต",
|
||||
"user.used": "ใช้แล้ว:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI Çizim",
|
||||
"aiVideo.title": "AI Video",
|
||||
"aiVideo.translate": "Video Çevirisi",
|
||||
"apiKeyModal.accumulatedLimit": "Toplam Kullanım Sınırı",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Uygulamayı Keşif Sayfasına Senkronize Et ve İlgili Etiketleri Oluştur",
|
||||
"app.syncAppOk": "Senkronizasyon Başarılı",
|
||||
"app.syncToAppTemplate": "Uygulama Şablonuna Senkronize Et",
|
||||
"appCard.newConversation": "Yeni Konuşma",
|
||||
"appCenter.description": "İşte Uygulama Merkezi, kategorize edilmiş uygulamaları görüp kullanabileceğiniz yer",
|
||||
"appMenus.userOverview": "Kullanıcı Görünümü",
|
||||
"batchWorkflow.batchJobs": "{{num}} toplu görev",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Bir hata oluştu",
|
||||
"batchWorkflow.failed": "Başarısız",
|
||||
"batchWorkflow.initializing": "Toplu görev başlatılıyor...",
|
||||
"batchWorkflow.noBatchTasks": "Toplu işleme görevi yok",
|
||||
"batchWorkflow.pending": "Beklemede",
|
||||
"batchWorkflow.pleaseWait": "Lütfen bekleyin",
|
||||
"batchWorkflow.processed": "{{processed}}/{{total}} satır işlendi",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Bağlantı",
|
||||
"billingList.open": "Genişlet",
|
||||
"billingList.router": "Yönlendirici",
|
||||
"configuration.clearContext": "Bağlam temizlendi",
|
||||
"configuration.restoreContext": "Bağlamı geri yüklemek için tıklayın",
|
||||
"fileUploader.fileUpload": "Dosya Yükleme",
|
||||
"fileUploader.pasteFileLink": "Dosya Bağlantısını Yapıştır",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Dosya bağlantısını buraya yapıştırın",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Dosya yükleme hatası, lütfen tekrar yükleyin.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Çalışma Alanı Seç",
|
||||
"sidebar.appCenter": "Uygulama Merkezi",
|
||||
"sidebar.withDingTalk": "DingTalk ile Giriş Yap"
|
||||
}
|
||||
"sidebar.discovery": "Keşif",
|
||||
"sidebar.withDingTalk": "DingTalk ile Giriş Yap",
|
||||
"user.credit": "Kredi",
|
||||
"user.used": "Kullanılan:"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "Vẽ AI",
|
||||
"aiVideo.title": "Video AI",
|
||||
"aiVideo.translate": "Dịch video",
|
||||
"apiKeyModal.accumulatedLimit": "Mức sử dụng tích lũy",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "Đồng bộ hóa ứng dụng với giao diện khám phá và tạo các thẻ liên quan",
|
||||
"app.syncAppOk": "Đồng bộ hóa thành công",
|
||||
"app.syncToAppTemplate": "Đồng bộ hóa với mẫu ứng dụng",
|
||||
"appCard.newConversation": "Cuộc trò chuyện mới",
|
||||
"appCenter.description": "Dưới đây là Trung tâm ứng dụng, nơi bạn có thể xem các ứng dụng được phân loại và sử dụng",
|
||||
"appMenus.userOverview": "Tổng quan người dùng",
|
||||
"batchWorkflow.batchJobs": "{{num}} tác vụ hàng loạt",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "Đã xảy ra lỗi",
|
||||
"batchWorkflow.failed": "Thất bại",
|
||||
"batchWorkflow.initializing": "Đang khởi tạo tác vụ hàng loạt...",
|
||||
"batchWorkflow.noBatchTasks": "Không có tác vụ xử lý hàng loạt",
|
||||
"batchWorkflow.pending": "Đang chờ xử lý",
|
||||
"batchWorkflow.pleaseWait": "Vui lòng đợi",
|
||||
"batchWorkflow.processed": "Đã xử lý {{processed}}/{{total}} hàng",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "Liên kết",
|
||||
"billingList.open": "Mở rộng",
|
||||
"billingList.router": "Định tuyến",
|
||||
"configuration.clearContext": "Đã xóa ngữ cảnh",
|
||||
"configuration.restoreContext": "Nhấp để khôi phục ngữ cảnh",
|
||||
"fileUploader.fileUpload": "Tải lên tệp",
|
||||
"fileUploader.pasteFileLink": "Dán liên kết tệp",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "Dán liên kết tệp tại đây",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "Tải lên tệp thất bại, vui lòng tải lên lại.",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "Chọn không gian làm việc",
|
||||
"sidebar.appCenter": "Trung tâm ứng dụng",
|
||||
"sidebar.withDingTalk": "Đăng nhập bằng DingTalk"
|
||||
}
|
||||
"sidebar.discovery": "Khám phá",
|
||||
"sidebar.withDingTalk": "Đăng nhập bằng DingTalk",
|
||||
"user.credit": "Tín dụng",
|
||||
"user.used": "Đã sử dụng:"
|
||||
}
|
||||
|
||||
@@ -79,5 +79,7 @@
|
||||
"sidebar.appCenter": "应用中心",
|
||||
"sidebar.withDingTalk": "使用 钉钉 登录",
|
||||
"configuration.clearContext": "上下文已清除",
|
||||
"configuration.restoreContext": "点击恢复上下文"
|
||||
"configuration.restoreContext": "点击恢复上下文",
|
||||
"sidebar.discovery": "发现",
|
||||
"aiDraw.title": "AI 作图"
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"aiDraw.title": "AI 作圖",
|
||||
"aiVideo.title": "AI 視頻",
|
||||
"aiVideo.translate": "視頻翻譯",
|
||||
"apiKeyModal.accumulatedLimit": "累計使用額度",
|
||||
@@ -18,6 +19,7 @@
|
||||
"app.confirmSyncAppContent": "同步應用至探索介面,並關聯創建相關標籤",
|
||||
"app.syncAppOk": "同步成功",
|
||||
"app.syncToAppTemplate": "同步至應用模板",
|
||||
"appCard.newConversation": "新對話",
|
||||
"appCenter.description": "以下是應用中心,你可以在這裡看到分類好的應用,進行使用",
|
||||
"appMenus.userOverview": "個人監測",
|
||||
"batchWorkflow.batchJobs": "{{num}} 個批量任務",
|
||||
@@ -37,6 +39,7 @@
|
||||
"batchWorkflow.errorOccurred": "發生錯誤",
|
||||
"batchWorkflow.failed": "失敗",
|
||||
"batchWorkflow.initializing": "正在初始化批量任務...",
|
||||
"batchWorkflow.noBatchTasks": "暫無批量處理任務",
|
||||
"batchWorkflow.pending": "待處理",
|
||||
"batchWorkflow.pleaseWait": "請稍候",
|
||||
"batchWorkflow.processed": "已處理 {{processed}}/{{total}} 行",
|
||||
@@ -63,6 +66,8 @@
|
||||
"billingList.link": "鏈接",
|
||||
"billingList.open": "展開",
|
||||
"billingList.router": "路由",
|
||||
"configuration.clearContext": "上下文已清除",
|
||||
"configuration.restoreContext": "點擊恢復上下文",
|
||||
"fileUploader.fileUpload": "文件上傳",
|
||||
"fileUploader.pasteFileLink": "粘貼文件鏈接",
|
||||
"fileUploader.pasteFileLinkInputPlaceholder": "將文件鏈接粘貼到此處",
|
||||
@@ -73,5 +78,8 @@
|
||||
"fileUploader.uploadFromComputerUploadError": "文件上傳失敗,請重新上傳。",
|
||||
"modelSyncWorkspaceCustomize.workspacePlaceholder": "選擇工作空間",
|
||||
"sidebar.appCenter": "應用中心",
|
||||
"sidebar.withDingTalk": "使用 釘釘 登錄"
|
||||
}
|
||||
"sidebar.discovery": "發現",
|
||||
"sidebar.withDingTalk": "使用 釘釘 登錄",
|
||||
"user.credit": "額度",
|
||||
"user.used": "已用:"
|
||||
}
|
||||
|
||||
@@ -86,6 +86,7 @@
|
||||
"class-variance-authority": "0.7.1",
|
||||
"clsx": "2.1.1",
|
||||
"cmdk": "1.1.1",
|
||||
"dingtalk-jsapi": "3.2.5",
|
||||
"copy-to-clipboard": "3.3.3",
|
||||
"cron-parser": "5.4.0",
|
||||
"dayjs": "1.11.19",
|
||||
@@ -109,6 +110,7 @@
|
||||
"js-audio-recorder": "1.0.7",
|
||||
"js-cookie": "3.0.5",
|
||||
"js-yaml": "4.1.1",
|
||||
"jschardet": "3.1.4",
|
||||
"jsonschema": "1.5.0",
|
||||
"katex": "0.16.25",
|
||||
"ky": "1.12.0",
|
||||
@@ -122,6 +124,7 @@
|
||||
"next": "16.1.4",
|
||||
"next-themes": "0.4.6",
|
||||
"nuqs": "2.8.6",
|
||||
"papaparse": "5.5.3",
|
||||
"pinyin-pro": "3.27.0",
|
||||
"qrcode.react": "4.2.0",
|
||||
"qs": "6.14.1",
|
||||
@@ -191,6 +194,7 @@
|
||||
"@types/js-yaml": "4.0.9",
|
||||
"@types/negotiator": "0.6.4",
|
||||
"@types/node": "18.15.0",
|
||||
"@types/papaparse": "5.5.2",
|
||||
"@types/qs": "6.14.0",
|
||||
"@types/react": "19.2.7",
|
||||
"@types/react-dom": "19.2.3",
|
||||
|
||||
Generated
+95
-4
@@ -162,6 +162,9 @@ importers:
|
||||
decimal.js:
|
||||
specifier: 10.6.0
|
||||
version: 10.6.0
|
||||
dingtalk-jsapi:
|
||||
specifier: 3.2.5
|
||||
version: 3.2.5
|
||||
dompurify:
|
||||
specifier: 3.3.0
|
||||
version: 3.3.0
|
||||
@@ -219,6 +222,9 @@ importers:
|
||||
js-yaml:
|
||||
specifier: 4.1.1
|
||||
version: 4.1.1
|
||||
jschardet:
|
||||
specifier: 3.1.4
|
||||
version: 3.1.4
|
||||
jsonschema:
|
||||
specifier: 1.5.0
|
||||
version: 1.5.0
|
||||
@@ -258,6 +264,9 @@ importers:
|
||||
nuqs:
|
||||
specifier: 2.8.6
|
||||
version: 2.8.6(next@16.1.4(@babel/core@7.28.5)(@playwright/test@1.57.0)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(sass@1.93.2))(react@19.2.3)
|
||||
papaparse:
|
||||
specifier: 5.5.3
|
||||
version: 5.5.3
|
||||
pinyin-pro:
|
||||
specifier: 3.27.0
|
||||
version: 3.27.0
|
||||
@@ -460,6 +469,9 @@ importers:
|
||||
'@types/node':
|
||||
specifier: 18.15.0
|
||||
version: 18.15.0
|
||||
'@types/papaparse':
|
||||
specifier: 5.5.2
|
||||
version: 5.5.2
|
||||
'@types/qs':
|
||||
specifier: 6.14.0
|
||||
version: 6.14.0
|
||||
@@ -1842,155 +1854,183 @@ packages:
|
||||
resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-arm64@1.2.4':
|
||||
resolution: {integrity: sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-arm@1.0.5':
|
||||
resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-arm@1.2.4':
|
||||
resolution: {integrity: sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-ppc64@1.2.4':
|
||||
resolution: {integrity: sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-riscv64@1.2.4':
|
||||
resolution: {integrity: sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-s390x@1.0.4':
|
||||
resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-s390x@1.2.4':
|
||||
resolution: {integrity: sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-x64@1.0.4':
|
||||
resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linux-x64@1.2.4':
|
||||
resolution: {integrity: sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-libvips-linuxmusl-arm64@1.0.4':
|
||||
resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-libvips-linuxmusl-arm64@1.2.4':
|
||||
resolution: {integrity: sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-libvips-linuxmusl-x64@1.0.4':
|
||||
resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-libvips-linuxmusl-x64@1.2.4':
|
||||
resolution: {integrity: sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-linux-arm64@0.33.5':
|
||||
resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-arm64@0.34.5':
|
||||
resolution: {integrity: sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-arm@0.33.5':
|
||||
resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-arm@0.34.5':
|
||||
resolution: {integrity: sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-ppc64@0.34.5':
|
||||
resolution: {integrity: sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-riscv64@0.34.5':
|
||||
resolution: {integrity: sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-s390x@0.33.5':
|
||||
resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-s390x@0.34.5':
|
||||
resolution: {integrity: sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-x64@0.33.5':
|
||||
resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linux-x64@0.34.5':
|
||||
resolution: {integrity: sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@img/sharp-linuxmusl-arm64@0.33.5':
|
||||
resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-linuxmusl-arm64@0.34.5':
|
||||
resolution: {integrity: sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-linuxmusl-x64@0.33.5':
|
||||
resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-linuxmusl-x64@0.34.5':
|
||||
resolution: {integrity: sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==}
|
||||
engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@img/sharp-wasm32@0.33.5':
|
||||
resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==}
|
||||
@@ -2214,24 +2254,28 @@ packages:
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@next/swc-linux-arm64-musl@16.1.4':
|
||||
resolution: {integrity: sha512-3Wm0zGYVCs6qDFAiSSDL+Z+r46EdtCv/2l+UlIdMbAq9hPJBvGu/rZOeuvCaIUjbArkmXac8HnTyQPJFzFWA0Q==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@next/swc-linux-x64-gnu@16.1.4':
|
||||
resolution: {integrity: sha512-lWAYAezFinaJiD5Gv8HDidtsZdT3CDaCeqoPoJjeB57OqzvMajpIhlZFce5sCAH6VuX4mdkxCRqecCJFwfm2nQ==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@next/swc-linux-x64-musl@16.1.4':
|
||||
resolution: {integrity: sha512-fHaIpT7x4gA6VQbdEpYUXRGyge/YbRrkG6DXM60XiBqDM2g2NcrsQaIuj375egnGFkJow4RHacgBOEsHfGbiUw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@next/swc-win32-arm64-msvc@16.1.4':
|
||||
resolution: {integrity: sha512-MCrXxrTSE7jPN1NyXJr39E+aNFBrQZtO154LoCz7n99FuKqJDekgxipoodLNWdQP7/DZ5tKMc/efybx1l159hw==}
|
||||
@@ -2425,41 +2469,49 @@ packages:
|
||||
resolution: {integrity: sha512-SVjjjtMW66Mza76PBGJLqB0KKyFTBnxmtDXLJPbL6ZPGSctcXVmujz7/WAc0rb9m2oV0cHQTtVjnq6orQnI/jg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxc-resolver/binding-linux-arm64-musl@11.15.0':
|
||||
resolution: {integrity: sha512-JDv2/AycPF2qgzEiDeMJCcSzKNDm3KxNg0KKWipoKEMDFqfM7LxNwwSVyAOGmrYlE4l3dg290hOMsr9xG7jv9g==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@oxc-resolver/binding-linux-ppc64-gnu@11.15.0':
|
||||
resolution: {integrity: sha512-zbu9FhvBLW4KJxo7ElFvZWbSt4vP685Qc/Gyk/Ns3g2gR9qh2qWXouH8PWySy+Ko/qJ42+HJCLg+ZNcxikERfg==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxc-resolver/binding-linux-riscv64-gnu@11.15.0':
|
||||
resolution: {integrity: sha512-Kfleehe6B09C2qCnyIU01xLFqFXCHI4ylzkicfX/89j+gNHh9xyNdpEvit88Kq6i5tTGdavVnM6DQfOE2qNtlg==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxc-resolver/binding-linux-riscv64-musl@11.15.0':
|
||||
resolution: {integrity: sha512-J7LPiEt27Tpm8P+qURDwNc8q45+n+mWgyys4/V6r5A8v5gDentHRGUx3iVk5NxdKhgoGulrzQocPTZVosq25Eg==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@oxc-resolver/binding-linux-s390x-gnu@11.15.0':
|
||||
resolution: {integrity: sha512-+8/d2tAScPjVJNyqa7GPGnqleTB/XW9dZJQ2D/oIM3wpH3TG+DaFEXBbk4QFJ9K9AUGBhvQvWU2mQyhK/yYn3Q==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxc-resolver/binding-linux-x64-gnu@11.15.0':
|
||||
resolution: {integrity: sha512-xtvSzH7Nr5MCZI2FKImmOdTl9kzuQ51RPyLh451tvD2qnkg3BaqI9Ox78bTk57YJhlXPuxWSOL5aZhKAc9J6qg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@oxc-resolver/binding-linux-x64-musl@11.15.0':
|
||||
resolution: {integrity: sha512-14YL1zuXj06+/tqsuUZuzL0T425WA/I4nSVN1kBXeC5WHxem6lQ+2HGvG+crjeJEqHgZUT62YIgj88W+8E7eyg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@oxc-resolver/binding-openharmony-arm64@11.15.0':
|
||||
resolution: {integrity: sha512-/7Qli+1Wk93coxnrQaU8ySlICYN8HsgyIrzqjgIkQEpI//9eUeaeIHZptNl2fMvBGeXa7k2QgLbRNaBRgpnvMw==}
|
||||
@@ -2515,36 +2567,42 @@ packages:
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@parcel/watcher-linux-arm-musl@2.5.1':
|
||||
resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@parcel/watcher-linux-arm64-glibc@2.5.1':
|
||||
resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@parcel/watcher-linux-arm64-musl@2.5.1':
|
||||
resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@parcel/watcher-linux-x64-glibc@2.5.1':
|
||||
resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@parcel/watcher-linux-x64-musl@2.5.1':
|
||||
resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==}
|
||||
engines: {node: '>= 10.0.0'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@parcel/watcher-win32-arm64@2.5.1':
|
||||
resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==}
|
||||
@@ -2954,56 +3012,67 @@ packages:
|
||||
resolution: {integrity: sha512-dV3T9MyAf0w8zPVLVBptVlzaXxka6xg1f16VAQmjg+4KMSTWDvhimI/Y6mp8oHwNrmnmVl9XxJ/w/mO4uIQONA==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-arm-musleabihf@4.53.5':
|
||||
resolution: {integrity: sha512-wIGYC1x/hyjP+KAu9+ewDI+fi5XSNiUi9Bvg6KGAh2TsNMA3tSEs+Sh6jJ/r4BV/bx/CyWu2ue9kDnIdRyafcQ==}
|
||||
cpu: [arm]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rollup/rollup-linux-arm64-gnu@4.53.5':
|
||||
resolution: {integrity: sha512-Y+qVA0D9d0y2FRNiG9oM3Hut/DgODZbU9I8pLLPwAsU0tUKZ49cyV1tzmB/qRbSzGvY8lpgGkJuMyuhH7Ma+Vg==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-arm64-musl@4.53.5':
|
||||
resolution: {integrity: sha512-juaC4bEgJsyFVfqhtGLz8mbopaWD+WeSOYr5E16y+1of6KQjc0BpwZLuxkClqY1i8sco+MdyoXPNiCkQou09+g==}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rollup/rollup-linux-loong64-gnu@4.53.5':
|
||||
resolution: {integrity: sha512-rIEC0hZ17A42iXtHX+EPJVL/CakHo+tT7W0pbzdAGuWOt2jxDFh7A/lRhsNHBcqL4T36+UiAgwO8pbmn3dE8wA==}
|
||||
cpu: [loong64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-ppc64-gnu@4.53.5':
|
||||
resolution: {integrity: sha512-T7l409NhUE552RcAOcmJHj3xyZ2h7vMWzcwQI0hvn5tqHh3oSoclf9WgTl+0QqffWFG8MEVZZP1/OBglKZx52Q==}
|
||||
cpu: [ppc64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-gnu@4.53.5':
|
||||
resolution: {integrity: sha512-7OK5/GhxbnrMcxIFoYfhV/TkknarkYC1hqUw1wU2xUN3TVRLNT5FmBv4KkheSG2xZ6IEbRAhTooTV2+R5Tk0lQ==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-riscv64-musl@4.53.5':
|
||||
resolution: {integrity: sha512-GwuDBE/PsXaTa76lO5eLJTyr2k8QkPipAyOrs4V/KJufHCZBJ495VCGJol35grx9xryk4V+2zd3Ri+3v7NPh+w==}
|
||||
cpu: [riscv64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rollup/rollup-linux-s390x-gnu@4.53.5':
|
||||
resolution: {integrity: sha512-IAE1Ziyr1qNfnmiQLHBURAD+eh/zH1pIeJjeShleII7Vj8kyEm2PF77o+lf3WTHDpNJcu4IXJxNO0Zluro8bOw==}
|
||||
cpu: [s390x]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-x64-gnu@4.53.5':
|
||||
resolution: {integrity: sha512-Pg6E+oP7GvZ4XwgRJBuSXZjcqpIW3yCBhK4BcsANvb47qMvAbCjR6E+1a/U2WXz1JJxp9/4Dno3/iSJLcm5auw==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@rollup/rollup-linux-x64-musl@4.53.5':
|
||||
resolution: {integrity: sha512-txGtluxDKTxaMDzUduGP0wdfng24y1rygUMnmlUJ88fzCCULCLn7oE5kb2+tRB+MWq1QDZT6ObT5RrR8HFRKqg==}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@rollup/rollup-openharmony-arm64@4.53.5':
|
||||
resolution: {integrity: sha512-3DFiLPnTxiOQV993fMc+KO8zXHTcIjgaInrqlG8zDp1TlhYl6WgrOHuJkJQ6M8zHEcntSJsUp1XFZSY8C1DYbg==}
|
||||
@@ -3289,24 +3358,28 @@ packages:
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/core-linux-arm64-musl@1.15.8':
|
||||
resolution: {integrity: sha512-koiCqL09EwOP1S2RShCI7NbsQuG6r2brTqUYE7pV7kZm9O17wZ0LSz22m6gVibpwEnw8jI3IE1yYsQTVpluALw==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [arm64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@swc/core-linux-x64-gnu@1.15.8':
|
||||
resolution: {integrity: sha512-4p6lOMU3bC+Vd5ARtKJ/FxpIC5G8v3XLoPEZ5s7mLR8h7411HWC/LmTXDHcrSXRC55zvAVia1eldy6zDLz8iFQ==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [glibc]
|
||||
|
||||
'@swc/core-linux-x64-musl@1.15.8':
|
||||
resolution: {integrity: sha512-z3XBnbrZAL+6xDGAhJoN4lOueIxC/8rGrJ9tg+fEaeqLEuAtHSW2QHDHxDwkxZMjuF/pZ6MUTjHjbp8wLbuRLA==}
|
||||
engines: {node: '>=10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
libc: [musl]
|
||||
|
||||
'@swc/core-win32-arm64-msvc@1.15.8':
|
||||
resolution: {integrity: sha512-djQPJ9Rh9vP8GTS/Df3hcc6XP6xnG5c8qsngWId/BLA9oX6C7UzCPAn74BG/wGb9a6j4w3RINuoaieJB3t+7iQ==}
|
||||
@@ -3718,8 +3791,8 @@ packages:
|
||||
'@types/node@20.19.30':
|
||||
resolution: {integrity: sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==}
|
||||
|
||||
'@types/papaparse@5.5.1':
|
||||
resolution: {integrity: sha512-esEO+VISsLIyE+JZBmb89NzsYYbpwV8lmv2rPo6oX5y9KhBaIP7hhHgjuTut54qjdKVMufTEcrh5fUl9+58huw==}
|
||||
'@types/papaparse@5.5.2':
|
||||
resolution: {integrity: sha512-gFnFp/JMzLHCwRf7tQHrNnfhN4eYBVYYI897CGX4MY1tzY9l2aLkVyx2IlKZ/SAqDbB3I1AOZW5gTMGGsqWliA==}
|
||||
|
||||
'@types/parse-json@4.0.2':
|
||||
resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
|
||||
@@ -4936,6 +5009,9 @@ packages:
|
||||
diffie-hellman@5.0.3:
|
||||
resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==}
|
||||
|
||||
dingtalk-jsapi@3.2.5:
|
||||
resolution: {integrity: sha512-GHtDTmilJQhr07GNarjlzhvgUkPWc0+52zbN2ToW+JzkydaOwmhiJCTO42+BI+onAlhdfLUbtUnGsjQNDTrM1w==}
|
||||
|
||||
dlv@1.1.3:
|
||||
resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
|
||||
|
||||
@@ -6108,6 +6184,10 @@ packages:
|
||||
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
|
||||
hasBin: true
|
||||
|
||||
jschardet@3.1.4:
|
||||
resolution: {integrity: sha512-/kmVISmrwVwtyYU40iQUOp3SUPk2dhNCMsZBQX0R1/jZ8maaXJ/oZIzUOiyOqcgtLnETFKYChbJ5iDC/eWmFHg==}
|
||||
engines: {node: '>=0.1.90'}
|
||||
|
||||
jsdoc-type-pratt-parser@4.8.0:
|
||||
resolution: {integrity: sha512-iZ8Bdb84lWRuGHamRXFyML07r21pcwBrLkHEuHgEY5UbCouBwv7ECknDRKzsQIXMiqpPymqtIf8TC/shYKB5rw==}
|
||||
engines: {node: '>=12.0.0'}
|
||||
@@ -7137,6 +7217,9 @@ packages:
|
||||
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
|
||||
engines: {node: '>= 0.6.0'}
|
||||
|
||||
promise-polyfill@7.1.2:
|
||||
resolution: {integrity: sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ==}
|
||||
|
||||
prop-types@15.8.1:
|
||||
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
|
||||
|
||||
@@ -12187,7 +12270,7 @@ snapshots:
|
||||
dependencies:
|
||||
undici-types: 6.21.0
|
||||
|
||||
'@types/papaparse@5.5.1':
|
||||
'@types/papaparse@5.5.2':
|
||||
dependencies:
|
||||
'@types/node': 18.15.0
|
||||
|
||||
@@ -13535,6 +13618,10 @@ snapshots:
|
||||
miller-rabin: 4.0.1
|
||||
randombytes: 2.1.0
|
||||
|
||||
dingtalk-jsapi@3.2.5:
|
||||
dependencies:
|
||||
promise-polyfill: 7.1.2
|
||||
|
||||
dlv@1.1.3: {}
|
||||
|
||||
doctrine@3.0.0:
|
||||
@@ -14958,6 +15045,8 @@ snapshots:
|
||||
dependencies:
|
||||
argparse: 2.0.1
|
||||
|
||||
jschardet@3.1.4: {}
|
||||
|
||||
jsdoc-type-pratt-parser@4.8.0: {}
|
||||
|
||||
jsdoc-type-pratt-parser@7.0.0: {}
|
||||
@@ -16329,6 +16418,8 @@ snapshots:
|
||||
|
||||
process@0.11.10: {}
|
||||
|
||||
promise-polyfill@7.1.2: {}
|
||||
|
||||
prop-types@15.8.1:
|
||||
dependencies:
|
||||
loose-envify: 1.4.0
|
||||
@@ -16497,7 +16588,7 @@ snapshots:
|
||||
|
||||
react-papaparse@4.4.0:
|
||||
dependencies:
|
||||
'@types/papaparse': 5.5.1
|
||||
'@types/papaparse': 5.5.2
|
||||
papaparse: 5.5.3
|
||||
|
||||
react-pdf-highlighter@8.0.0-rc.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3):
|
||||
|
||||
@@ -2,7 +2,15 @@ import type { App, AppCategory } from '@/models/explore'
|
||||
import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import { useGlobalPublicStore } from '@/context/global-public-context'
|
||||
import { AccessMode } from '@/models/access-control'
|
||||
import { fetchAppList, fetchBanners, fetchInstalledAppList, getAppAccessModeByAppId, uninstallApp, updatePinStatus } from './explore'
|
||||
import {
|
||||
fetchAppList,
|
||||
fetchBanners,
|
||||
fetchInstalledAppList,
|
||||
fetchOpenInstalledAppList,
|
||||
getAppAccessModeByAppId,
|
||||
uninstallApp,
|
||||
updatePinStatus,
|
||||
} from './explore'
|
||||
import { AppSourceType, fetchAppMeta, fetchAppParams } from './share'
|
||||
|
||||
const NAME_SPACE = 'explore'
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
"compilerOptions": {
|
||||
"incremental": true,
|
||||
"target": "es2022",
|
||||
"jsx": "preserve",
|
||||
"jsx": "react-jsx",
|
||||
"lib": [
|
||||
"dom",
|
||||
"dom.iterable",
|
||||
|
||||
Reference in New Issue
Block a user