gitextract_8lu11vbd/ ├── .agents/ │ └── skills/ │ ├── backend-code-review/ │ │ ├── SKILL.md │ │ └── references/ │ │ ├── architecture-rule.md │ │ ├── db-schema-rule.md │ │ ├── repositories-rule.md │ │ └── sqlalchemy-rule.md │ ├── component-refactoring/ │ │ ├── SKILL.md │ │ └── references/ │ │ ├── complexity-patterns.md │ │ ├── component-splitting.md │ │ └── hook-extraction.md │ ├── frontend-code-review/ │ │ ├── SKILL.md │ │ └── references/ │ │ ├── business-logic.md │ │ ├── code-quality.md │ │ └── performance.md │ ├── frontend-query-mutation/ │ │ ├── SKILL.md │ │ ├── agents/ │ │ │ └── openai.yaml │ │ └── references/ │ │ ├── contract-patterns.md │ │ └── runtime-rules.md │ └── frontend-testing/ │ ├── SKILL.md │ ├── assets/ │ │ ├── component-test.template.tsx │ │ ├── hook-test.template.ts │ │ └── utility-test.template.ts │ └── references/ │ ├── async-testing.md │ ├── checklist.md │ ├── common-patterns.md │ ├── domain-components.md │ ├── mocking.md │ └── workflow.md ├── .claude/ │ └── settings.json ├── .coveragerc ├── .devcontainer/ │ ├── Dockerfile │ ├── README.md │ ├── devcontainer.json │ ├── noop.txt │ ├── post_create_command.sh │ └── post_start_command.sh ├── .editorconfig ├── .gemini/ │ └── config.yaml ├── .gitattributes ├── .github/ │ ├── CODEOWNERS │ ├── CODE_OF_CONDUCT.md │ ├── DISCUSSION_TEMPLATE/ │ │ ├── general.yml │ │ ├── help.yml │ │ └── suggestion.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── feature_request.yml │ │ └── refactor.yml │ ├── actions/ │ │ └── setup-web/ │ │ └── action.yml │ ├── dependabot.yml │ ├── labeler.yml │ ├── linters/ │ │ ├── .hadolint.yaml │ │ ├── .isort.cfg │ │ ├── .yaml-lint.yml │ │ └── editorconfig-checker.json │ ├── pull_request_template.md │ └── workflows/ │ ├── anti-slop.yml │ ├── api-tests.yml │ ├── autofix.yml │ ├── build-push.yml │ ├── db-migration-test.yml │ ├── deploy-agent-dev.yml │ ├── deploy-dev.yml │ ├── deploy-enterprise.yml │ ├── deploy-hitl.yml │ ├── docker-build.yml │ ├── expose_service_ports.sh │ ├── labeler.yml │ ├── main-ci.yml │ ├── pyrefly-diff-comment.yml │ ├── pyrefly-diff.yml │ ├── semantic-pull-request.yml │ ├── stale.yml │ ├── style.yml │ ├── tool-test-sdks.yaml │ ├── translate-i18n-claude.yml │ ├── trigger-i18n-sync.yml │ ├── vdb-tests-full.yml │ ├── vdb-tests.yml │ ├── web-e2e.yml │ └── web-tests.yml ├── .gitignore ├── .nvmrc ├── .vite-hooks/ │ └── pre-commit ├── .vscode/ │ ├── README.md │ └── launch.json.template ├── AGENTS.md ├── AUTHORS ├── CONTRIBUTING.md ├── LICENSE ├── Makefile ├── README.md ├── api/ │ ├── .dockerignore │ ├── .importlinter │ ├── .ruff.toml │ ├── AGENTS.md │ ├── Dockerfile │ ├── README.md │ ├── app.py │ ├── app_factory.py │ ├── celery_entrypoint.py │ ├── cnt_base.sh │ ├── commands/ │ │ ├── __init__.py │ │ ├── account.py │ │ ├── plugin.py │ │ ├── retention.py │ │ ├── storage.py │ │ ├── system.py │ │ └── vector.py │ ├── configs/ │ │ ├── __init__.py │ │ ├── app_config.py │ │ ├── deploy/ │ │ │ └── __init__.py │ │ ├── enterprise/ │ │ │ └── __init__.py │ │ ├── extra/ │ │ │ ├── __init__.py │ │ │ ├── archive_config.py │ │ │ ├── notion_config.py │ │ │ └── sentry_config.py │ │ ├── feature/ │ │ │ ├── __init__.py │ │ │ └── hosted_service/ │ │ │ └── __init__.py │ │ ├── middleware/ │ │ │ ├── __init__.py │ │ │ ├── cache/ │ │ │ │ ├── __init__.py │ │ │ │ ├── redis_config.py │ │ │ │ └── redis_pubsub_config.py │ │ │ ├── storage/ │ │ │ │ ├── aliyun_oss_storage_config.py │ │ │ │ ├── amazon_s3_storage_config.py │ │ │ │ ├── azure_blob_storage_config.py │ │ │ │ ├── baidu_obs_storage_config.py │ │ │ │ ├── clickzetta_volume_storage_config.py │ │ │ │ ├── google_cloud_storage_config.py │ │ │ │ ├── huawei_obs_storage_config.py │ │ │ │ ├── oci_storage_config.py │ │ │ │ ├── opendal_storage_config.py │ │ │ │ ├── supabase_storage_config.py │ │ │ │ ├── tencent_cos_storage_config.py │ │ │ │ └── volcengine_tos_storage_config.py │ │ │ └── vdb/ │ │ │ ├── alibabacloud_mysql_config.py │ │ │ ├── analyticdb_config.py │ │ │ ├── baidu_vector_config.py │ │ │ ├── chroma_config.py │ │ │ ├── clickzetta_config.py │ │ │ ├── couchbase_config.py │ │ │ ├── elasticsearch_config.py │ │ │ ├── hologres_config.py │ │ │ ├── huawei_cloud_config.py │ │ │ ├── iris_config.py │ │ │ ├── lindorm_config.py │ │ │ ├── matrixone_config.py │ │ │ ├── milvus_config.py │ │ │ ├── myscale_config.py │ │ │ ├── oceanbase_config.py │ │ │ ├── opengauss_config.py │ │ │ ├── opensearch_config.py │ │ │ ├── oracle_config.py │ │ │ ├── pgvector_config.py │ │ │ ├── pgvectors_config.py │ │ │ ├── qdrant_config.py │ │ │ ├── relyt_config.py │ │ │ ├── tablestore_config.py │ │ │ ├── tencent_vector_config.py │ │ │ ├── tidb_on_qdrant_config.py │ │ │ ├── tidb_vector_config.py │ │ │ ├── upstash_config.py │ │ │ ├── vastbase_vector_config.py │ │ │ ├── vikingdb_config.py │ │ │ └── weaviate_config.py │ │ ├── observability/ │ │ │ ├── __init__.py │ │ │ └── otel/ │ │ │ └── otel_config.py │ │ ├── packaging/ │ │ │ ├── __init__.py │ │ │ └── pyproject.py │ │ └── remote_settings_sources/ │ │ ├── __init__.py │ │ ├── apollo/ │ │ │ ├── __init__.py │ │ │ ├── client.py │ │ │ ├── python_3x.py │ │ │ └── utils.py │ │ ├── base.py │ │ ├── enums.py │ │ └── nacos/ │ │ ├── __init__.py │ │ ├── http_request.py │ │ └── utils.py │ ├── constants/ │ │ ├── __init__.py │ │ ├── languages.py │ │ ├── mimetypes.py │ │ ├── model_template.py │ │ ├── pipeline_templates.json │ │ ├── recommended_apps.json │ │ └── tts_auto_play_timeout.py │ ├── context/ │ │ ├── __init__.py │ │ ├── execution_context.py │ │ ├── flask_app_context.py │ │ └── models.py │ ├── contexts/ │ │ ├── __init__.py │ │ └── wrapper.py │ ├── controllers/ │ │ ├── __init__.py │ │ ├── common/ │ │ │ ├── errors.py │ │ │ ├── fields.py │ │ │ ├── file_response.py │ │ │ ├── helpers.py │ │ │ └── schema.py │ │ ├── console/ │ │ │ ├── __init__.py │ │ │ ├── admin.py │ │ │ ├── apikey.py │ │ │ ├── app/ │ │ │ │ ├── __init__.py │ │ │ │ ├── advanced_prompt_template.py │ │ │ │ ├── agent.py │ │ │ │ ├── annotation.py │ │ │ │ ├── app.py │ │ │ │ ├── app_import.py │ │ │ │ ├── audio.py │ │ │ │ ├── completion.py │ │ │ │ ├── conversation.py │ │ │ │ ├── conversation_variables.py │ │ │ │ ├── error.py │ │ │ │ ├── generator.py │ │ │ │ ├── mcp_server.py │ │ │ │ ├── message.py │ │ │ │ ├── model_config.py │ │ │ │ ├── ops_trace.py │ │ │ │ ├── site.py │ │ │ │ ├── statistic.py │ │ │ │ ├── workflow.py │ │ │ │ ├── workflow_app_log.py │ │ │ │ ├── workflow_draft_variable.py │ │ │ │ ├── workflow_run.py │ │ │ │ ├── workflow_statistic.py │ │ │ │ ├── workflow_trigger.py │ │ │ │ └── wraps.py │ │ │ ├── auth/ │ │ │ │ ├── activate.py │ │ │ │ ├── data_source_bearer_auth.py │ │ │ │ ├── data_source_oauth.py │ │ │ │ ├── email_register.py │ │ │ │ ├── error.py │ │ │ │ ├── forgot_password.py │ │ │ │ ├── login.py │ │ │ │ ├── oauth.py │ │ │ │ └── oauth_server.py │ │ │ ├── billing/ │ │ │ │ ├── __init__.py │ │ │ │ ├── billing.py │ │ │ │ └── compliance.py │ │ │ ├── datasets/ │ │ │ │ ├── data_source.py │ │ │ │ ├── datasets.py │ │ │ │ ├── datasets_document.py │ │ │ │ ├── datasets_segments.py │ │ │ │ ├── error.py │ │ │ │ ├── external.py │ │ │ │ ├── hit_testing.py │ │ │ │ ├── hit_testing_base.py │ │ │ │ ├── metadata.py │ │ │ │ ├── rag_pipeline/ │ │ │ │ │ ├── datasource_auth.py │ │ │ │ │ ├── datasource_content_preview.py │ │ │ │ │ ├── rag_pipeline.py │ │ │ │ │ ├── rag_pipeline_datasets.py │ │ │ │ │ ├── rag_pipeline_draft_variable.py │ │ │ │ │ ├── rag_pipeline_import.py │ │ │ │ │ └── rag_pipeline_workflow.py │ │ │ │ ├── website.py │ │ │ │ └── wraps.py │ │ │ ├── error.py │ │ │ ├── explore/ │ │ │ │ ├── audio.py │ │ │ │ ├── banner.py │ │ │ │ ├── completion.py │ │ │ │ ├── conversation.py │ │ │ │ ├── error.py │ │ │ │ ├── installed_app.py │ │ │ │ ├── message.py │ │ │ │ ├── parameter.py │ │ │ │ ├── recommended_app.py │ │ │ │ ├── saved_message.py │ │ │ │ ├── trial.py │ │ │ │ ├── workflow.py │ │ │ │ └── wraps.py │ │ │ ├── extension.py │ │ │ ├── feature.py │ │ │ ├── files.py │ │ │ ├── human_input_form.py │ │ │ ├── init_validate.py │ │ │ ├── notification.py │ │ │ ├── ping.py │ │ │ ├── remote_files.py │ │ │ ├── setup.py │ │ │ ├── spec.py │ │ │ ├── tag/ │ │ │ │ └── tags.py │ │ │ ├── version.py │ │ │ ├── workspace/ │ │ │ │ ├── __init__.py │ │ │ │ ├── account.py │ │ │ │ ├── agent_providers.py │ │ │ │ ├── endpoint.py │ │ │ │ ├── error.py │ │ │ │ ├── load_balancing_config.py │ │ │ │ ├── members.py │ │ │ │ ├── model_providers.py │ │ │ │ ├── models.py │ │ │ │ ├── plugin.py │ │ │ │ ├── tool_providers.py │ │ │ │ ├── trigger_providers.py │ │ │ │ └── workspace.py │ │ │ └── wraps.py │ │ ├── fastopenapi.py │ │ ├── files/ │ │ │ ├── __init__.py │ │ │ ├── image_preview.py │ │ │ ├── tool_files.py │ │ │ └── upload.py │ │ ├── inner_api/ │ │ │ ├── __init__.py │ │ │ ├── app/ │ │ │ │ ├── __init__.py │ │ │ │ └── dsl.py │ │ │ ├── mail.py │ │ │ ├── plugin/ │ │ │ │ ├── __init__.py │ │ │ │ ├── plugin.py │ │ │ │ └── wraps.py │ │ │ ├── workspace/ │ │ │ │ ├── __init__.py │ │ │ │ └── workspace.py │ │ │ └── wraps.py │ │ ├── mcp/ │ │ │ ├── __init__.py │ │ │ └── mcp.py │ │ ├── service_api/ │ │ │ ├── __init__.py │ │ │ ├── app/ │ │ │ │ ├── __init__.py │ │ │ │ ├── annotation.py │ │ │ │ ├── app.py │ │ │ │ ├── audio.py │ │ │ │ ├── completion.py │ │ │ │ ├── conversation.py │ │ │ │ ├── error.py │ │ │ │ ├── file.py │ │ │ │ ├── file_preview.py │ │ │ │ ├── message.py │ │ │ │ ├── site.py │ │ │ │ └── workflow.py │ │ │ ├── dataset/ │ │ │ │ ├── __init__.py │ │ │ │ ├── dataset.py │ │ │ │ ├── document.py │ │ │ │ ├── error.py │ │ │ │ ├── hit_testing.py │ │ │ │ ├── metadata.py │ │ │ │ ├── rag_pipeline/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── rag_pipeline_workflow.py │ │ │ │ │ └── serializers.py │ │ │ │ └── segment.py │ │ │ ├── end_user/ │ │ │ │ ├── __init__.py │ │ │ │ ├── end_user.py │ │ │ │ └── error.py │ │ │ ├── index.py │ │ │ ├── workspace/ │ │ │ │ └── models.py │ │ │ └── wraps.py │ │ ├── trigger/ │ │ │ ├── __init__.py │ │ │ ├── trigger.py │ │ │ └── webhook.py │ │ └── web/ │ │ ├── __init__.py │ │ ├── app.py │ │ ├── audio.py │ │ ├── completion.py │ │ ├── conversation.py │ │ ├── error.py │ │ ├── feature.py │ │ ├── files.py │ │ ├── forgot_password.py │ │ ├── human_input_form.py │ │ ├── login.py │ │ ├── message.py │ │ ├── passport.py │ │ ├── remote_files.py │ │ ├── saved_message.py │ │ ├── site.py │ │ ├── workflow.py │ │ ├── workflow_events.py │ │ └── wraps.py │ ├── core/ │ │ ├── __init__.py │ │ ├── agent/ │ │ │ ├── __init__.py │ │ │ ├── base_agent_runner.py │ │ │ ├── cot_agent_runner.py │ │ │ ├── cot_chat_agent_runner.py │ │ │ ├── cot_completion_agent_runner.py │ │ │ ├── entities.py │ │ │ ├── errors.py │ │ │ ├── fc_agent_runner.py │ │ │ ├── output_parser/ │ │ │ │ └── cot_output_parser.py │ │ │ ├── plugin_entities.py │ │ │ ├── prompt/ │ │ │ │ └── template.py │ │ │ └── strategy/ │ │ │ ├── base.py │ │ │ └── plugin.py │ │ ├── app/ │ │ │ ├── __init__.py │ │ │ ├── app_config/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base_app_config_manager.py │ │ │ │ ├── common/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── parameters_mapping/ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ └── sensitive_word_avoidance/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── manager.py │ │ │ │ ├── easy_ui_based_app/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── agent/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── dataset/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── model_config/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── converter.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── prompt_template/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ └── variables/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── manager.py │ │ │ │ ├── entities.py │ │ │ │ ├── features/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── file_upload/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── more_like_this/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── opening_statement/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── retrieval_resource/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── speech_to_text/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ ├── suggested_questions_after_answer/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── manager.py │ │ │ │ │ └── text_to_speech/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── manager.py │ │ │ │ └── workflow_ui_based_app/ │ │ │ │ ├── __init__.py │ │ │ │ └── variables/ │ │ │ │ ├── __init__.py │ │ │ │ └── manager.py │ │ │ ├── apps/ │ │ │ │ ├── __init__.py │ │ │ │ ├── advanced_chat/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── app_config_manager.py │ │ │ │ │ ├── app_generator.py │ │ │ │ │ ├── app_runner.py │ │ │ │ │ ├── generate_response_converter.py │ │ │ │ │ └── generate_task_pipeline.py │ │ │ │ ├── agent_chat/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── app_config_manager.py │ │ │ │ │ ├── app_generator.py │ │ │ │ │ ├── app_runner.py │ │ │ │ │ └── generate_response_converter.py │ │ │ │ ├── base_app_generate_response_converter.py │ │ │ │ ├── base_app_generator.py │ │ │ │ ├── base_app_queue_manager.py │ │ │ │ ├── base_app_runner.py │ │ │ │ ├── chat/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── app_config_manager.py │ │ │ │ │ ├── app_generator.py │ │ │ │ │ ├── app_runner.py │ │ │ │ │ └── generate_response_converter.py │ │ │ │ ├── common/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── graph_runtime_state_support.py │ │ │ │ │ └── workflow_response_converter.py │ │ │ │ ├── completion/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── app_config_manager.py │ │ │ │ │ ├── app_generator.py │ │ │ │ │ ├── app_runner.py │ │ │ │ │ └── generate_response_converter.py │ │ │ │ ├── draft_variable_saver.py │ │ │ │ ├── exc.py │ │ │ │ ├── message_based_app_generator.py │ │ │ │ ├── message_based_app_queue_manager.py │ │ │ │ ├── message_generator.py │ │ │ │ ├── pipeline/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── generate_response_converter.py │ │ │ │ │ ├── pipeline_config_manager.py │ │ │ │ │ ├── pipeline_generator.py │ │ │ │ │ ├── pipeline_queue_manager.py │ │ │ │ │ └── pipeline_runner.py │ │ │ │ ├── streaming_utils.py │ │ │ │ ├── workflow/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── app_config_manager.py │ │ │ │ │ ├── app_generator.py │ │ │ │ │ ├── app_queue_manager.py │ │ │ │ │ ├── app_runner.py │ │ │ │ │ ├── errors.py │ │ │ │ │ ├── generate_response_converter.py │ │ │ │ │ └── generate_task_pipeline.py │ │ │ │ └── workflow_app_runner.py │ │ │ ├── entities/ │ │ │ │ ├── __init__.py │ │ │ │ ├── agent_strategy.py │ │ │ │ ├── app_invoke_entities.py │ │ │ │ ├── queue_entities.py │ │ │ │ ├── rag_pipeline_invoke_entities.py │ │ │ │ └── task_entities.py │ │ │ ├── features/ │ │ │ │ ├── __init__.py │ │ │ │ ├── annotation_reply/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── annotation_reply.py │ │ │ │ ├── hosting_moderation/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── hosting_moderation.py │ │ │ │ └── rate_limiting/ │ │ │ │ ├── __init__.py │ │ │ │ └── rate_limit.py │ │ │ ├── file_access/ │ │ │ │ ├── __init__.py │ │ │ │ ├── controller.py │ │ │ │ ├── protocols.py │ │ │ │ └── scope.py │ │ │ ├── layers/ │ │ │ │ ├── conversation_variable_persist_layer.py │ │ │ │ ├── pause_state_persist_layer.py │ │ │ │ ├── suspend_layer.py │ │ │ │ ├── timeslice_layer.py │ │ │ │ └── trigger_post_layer.py │ │ │ ├── llm/ │ │ │ │ ├── __init__.py │ │ │ │ ├── model_access.py │ │ │ │ └── quota.py │ │ │ ├── task_pipeline/ │ │ │ │ ├── __init__.py │ │ │ │ ├── based_generate_task_pipeline.py │ │ │ │ ├── easy_ui_based_generate_task_pipeline.py │ │ │ │ ├── exc.py │ │ │ │ ├── message_cycle_manager.py │ │ │ │ └── message_file_utils.py │ │ │ └── workflow/ │ │ │ ├── __init__.py │ │ │ ├── file_runtime.py │ │ │ └── layers/ │ │ │ ├── __init__.py │ │ │ ├── llm_quota.py │ │ │ ├── observability.py │ │ │ └── persistence.py │ │ ├── base/ │ │ │ ├── __init__.py │ │ │ └── tts/ │ │ │ ├── __init__.py │ │ │ └── app_generator_tts_publisher.py │ │ ├── callback_handler/ │ │ │ ├── __init__.py │ │ │ ├── agent_tool_callback_handler.py │ │ │ ├── index_tool_callback_handler.py │ │ │ └── workflow_tool_callback_handler.py │ │ ├── datasource/ │ │ │ ├── __base/ │ │ │ │ ├── datasource_plugin.py │ │ │ │ ├── datasource_provider.py │ │ │ │ └── datasource_runtime.py │ │ │ ├── __init__.py │ │ │ ├── datasource_file_manager.py │ │ │ ├── datasource_manager.py │ │ │ ├── entities/ │ │ │ │ ├── api_entities.py │ │ │ │ ├── common_entities.py │ │ │ │ └── datasource_entities.py │ │ │ ├── errors.py │ │ │ ├── local_file/ │ │ │ │ ├── local_file_plugin.py │ │ │ │ └── local_file_provider.py │ │ │ ├── online_document/ │ │ │ │ ├── online_document_plugin.py │ │ │ │ └── online_document_provider.py │ │ │ ├── online_drive/ │ │ │ │ ├── online_drive_plugin.py │ │ │ │ └── online_drive_provider.py │ │ │ ├── utils/ │ │ │ │ ├── __init__.py │ │ │ │ └── message_transformer.py │ │ │ └── website_crawl/ │ │ │ ├── website_crawl_plugin.py │ │ │ └── website_crawl_provider.py │ │ ├── db/ │ │ │ ├── __init__.py │ │ │ └── session_factory.py │ │ ├── entities/ │ │ │ ├── __init__.py │ │ │ ├── agent_entities.py │ │ │ ├── document_task.py │ │ │ ├── embedding_type.py │ │ │ ├── execution_extra_content.py │ │ │ ├── knowledge_entities.py │ │ │ ├── mcp_provider.py │ │ │ ├── model_entities.py │ │ │ ├── parameter_entities.py │ │ │ ├── provider_configuration.py │ │ │ └── provider_entities.py │ │ ├── errors/ │ │ │ ├── __init__.py │ │ │ └── error.py │ │ ├── extension/ │ │ │ ├── __init__.py │ │ │ ├── api_based_extension_requestor.py │ │ │ ├── extensible.py │ │ │ └── extension.py │ │ ├── external_data_tool/ │ │ │ ├── __init__.py │ │ │ ├── api/ │ │ │ │ ├── __builtin__ │ │ │ │ ├── __init__.py │ │ │ │ └── api.py │ │ │ ├── base.py │ │ │ ├── external_data_fetch.py │ │ │ └── factory.py │ │ ├── helper/ │ │ │ ├── __init__.py │ │ │ ├── code_executor/ │ │ │ │ ├── __init__.py │ │ │ │ ├── code_executor.py │ │ │ │ ├── code_node_provider.py │ │ │ │ ├── javascript/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── javascript_code_provider.py │ │ │ │ │ └── javascript_transformer.py │ │ │ │ ├── jinja2/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── jinja2_formatter.py │ │ │ │ │ └── jinja2_transformer.py │ │ │ │ ├── python3/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── python3_code_provider.py │ │ │ │ │ └── python3_transformer.py │ │ │ │ └── template_transformer.py │ │ │ ├── credential_utils.py │ │ │ ├── csv_sanitizer.py │ │ │ ├── download.py │ │ │ ├── encrypter.py │ │ │ ├── http_client_pooling.py │ │ │ ├── marketplace.py │ │ │ ├── model_provider_cache.py │ │ │ ├── moderation.py │ │ │ ├── module_import_helper.py │ │ │ ├── name_generator.py │ │ │ ├── position_helper.py │ │ │ ├── provider_cache.py │ │ │ ├── provider_encryption.py │ │ │ ├── ssrf_proxy.py │ │ │ ├── tool_parameter_cache.py │ │ │ └── trace_id_helper.py │ │ ├── hosting_configuration.py │ │ ├── indexing_runner.py │ │ ├── llm_generator/ │ │ │ ├── __init__.py │ │ │ ├── entities.py │ │ │ ├── llm_generator.py │ │ │ ├── output_parser/ │ │ │ │ ├── __init__.py │ │ │ │ ├── errors.py │ │ │ │ ├── rule_config_generator.py │ │ │ │ ├── structured_output.py │ │ │ │ └── suggested_questions_after_answer.py │ │ │ └── prompts.py │ │ ├── logging/ │ │ │ ├── __init__.py │ │ │ ├── context.py │ │ │ ├── filters.py │ │ │ └── structured_formatter.py │ │ ├── mcp/ │ │ │ ├── __init__.py │ │ │ ├── auth/ │ │ │ │ └── auth_flow.py │ │ │ ├── auth_client.py │ │ │ ├── auth_client_comparison.md │ │ │ ├── client/ │ │ │ │ ├── sse_client.py │ │ │ │ └── streamable_client.py │ │ │ ├── entities.py │ │ │ ├── error.py │ │ │ ├── mcp_client.py │ │ │ ├── server/ │ │ │ │ └── streamable_http.py │ │ │ ├── session/ │ │ │ │ ├── base_session.py │ │ │ │ └── client_session.py │ │ │ ├── types.py │ │ │ └── utils.py │ │ ├── memory/ │ │ │ └── token_buffer_memory.py │ │ ├── model_manager.py │ │ ├── moderation/ │ │ │ ├── __init__.py │ │ │ ├── api/ │ │ │ │ ├── __builtin__ │ │ │ │ ├── __init__.py │ │ │ │ └── api.py │ │ │ ├── base.py │ │ │ ├── factory.py │ │ │ ├── input_moderation.py │ │ │ ├── keywords/ │ │ │ │ ├── __builtin__ │ │ │ │ ├── __init__.py │ │ │ │ └── keywords.py │ │ │ ├── openai_moderation/ │ │ │ │ ├── __builtin__ │ │ │ │ ├── __init__.py │ │ │ │ └── openai_moderation.py │ │ │ └── output_moderation.py │ │ ├── ops/ │ │ │ ├── __init__.py │ │ │ ├── aliyun_trace/ │ │ │ │ ├── __init__.py │ │ │ │ ├── aliyun_trace.py │ │ │ │ ├── data_exporter/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── traceclient.py │ │ │ │ ├── entities/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── aliyun_trace_entity.py │ │ │ │ │ └── semconv.py │ │ │ │ └── utils.py │ │ │ ├── arize_phoenix_trace/ │ │ │ │ ├── __init__.py │ │ │ │ └── arize_phoenix_trace.py │ │ │ ├── base_trace_instance.py │ │ │ ├── entities/ │ │ │ │ ├── __init__.py │ │ │ │ ├── config_entity.py │ │ │ │ └── trace_entity.py │ │ │ ├── langfuse_trace/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entities/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── langfuse_trace_entity.py │ │ │ │ └── langfuse_trace.py │ │ │ ├── langsmith_trace/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entities/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── langsmith_trace_entity.py │ │ │ │ └── langsmith_trace.py │ │ │ ├── mlflow_trace/ │ │ │ │ ├── __init__.py │ │ │ │ └── mlflow_trace.py │ │ │ ├── opik_trace/ │ │ │ │ ├── __init__.py │ │ │ │ └── opik_trace.py │ │ │ ├── ops_trace_manager.py │ │ │ ├── tencent_trace/ │ │ │ │ ├── __init__.py │ │ │ │ ├── client.py │ │ │ │ ├── entities/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── semconv.py │ │ │ │ │ └── tencent_trace_entity.py │ │ │ │ ├── span_builder.py │ │ │ │ ├── tencent_trace.py │ │ │ │ └── utils.py │ │ │ ├── utils.py │ │ │ └── weave_trace/ │ │ │ ├── __init__.py │ │ │ ├── entities/ │ │ │ │ ├── __init__.py │ │ │ │ └── weave_trace_entity.py │ │ │ └── weave_trace.py │ │ ├── plugin/ │ │ │ ├── backwards_invocation/ │ │ │ │ ├── app.py │ │ │ │ ├── base.py │ │ │ │ ├── encrypt.py │ │ │ │ ├── model.py │ │ │ │ ├── node.py │ │ │ │ └── tool.py │ │ │ ├── endpoint/ │ │ │ │ └── exc.py │ │ │ ├── entities/ │ │ │ │ ├── base.py │ │ │ │ ├── bundle.py │ │ │ │ ├── endpoint.py │ │ │ │ ├── marketplace.py │ │ │ │ ├── oauth.py │ │ │ │ ├── parameters.py │ │ │ │ ├── plugin.py │ │ │ │ ├── plugin_daemon.py │ │ │ │ └── request.py │ │ │ ├── impl/ │ │ │ │ ├── agent.py │ │ │ │ ├── asset.py │ │ │ │ ├── base.py │ │ │ │ ├── datasource.py │ │ │ │ ├── debugging.py │ │ │ │ ├── dynamic_select.py │ │ │ │ ├── endpoint.py │ │ │ │ ├── exc.py │ │ │ │ ├── model.py │ │ │ │ ├── model_runtime.py │ │ │ │ ├── model_runtime_factory.py │ │ │ │ ├── oauth.py │ │ │ │ ├── plugin.py │ │ │ │ ├── tool.py │ │ │ │ └── trigger.py │ │ │ └── utils/ │ │ │ ├── chunk_merger.py │ │ │ ├── converter.py │ │ │ └── http_parser.py │ │ ├── prompt/ │ │ │ ├── __init__.py │ │ │ ├── advanced_prompt_transform.py │ │ │ ├── agent_history_prompt_transform.py │ │ │ ├── entities/ │ │ │ │ ├── __init__.py │ │ │ │ └── advanced_prompt_entities.py │ │ │ ├── prompt_templates/ │ │ │ │ ├── __init__.py │ │ │ │ ├── advanced_prompt_templates.py │ │ │ │ ├── baichuan_chat.json │ │ │ │ ├── baichuan_completion.json │ │ │ │ ├── common_chat.json │ │ │ │ └── common_completion.json │ │ │ ├── prompt_transform.py │ │ │ ├── simple_prompt_transform.py │ │ │ └── utils/ │ │ │ ├── __init__.py │ │ │ ├── extract_thread_messages.py │ │ │ ├── get_thread_messages_length.py │ │ │ ├── prompt_message_util.py │ │ │ └── prompt_template_parser.py │ │ ├── provider_manager.py │ │ ├── rag/ │ │ │ ├── __init__.py │ │ │ ├── cleaner/ │ │ │ │ ├── clean_processor.py │ │ │ │ └── cleaner_base.py │ │ │ ├── data_post_processor/ │ │ │ │ ├── __init__.py │ │ │ │ ├── data_post_processor.py │ │ │ │ └── reorder.py │ │ │ ├── datasource/ │ │ │ │ ├── __init__.py │ │ │ │ ├── keyword/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── jieba/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── jieba.py │ │ │ │ │ │ ├── jieba_keyword_table_handler.py │ │ │ │ │ │ └── stopwords.py │ │ │ │ │ ├── keyword_base.py │ │ │ │ │ ├── keyword_factory.py │ │ │ │ │ └── keyword_type.py │ │ │ │ ├── retrieval_service.py │ │ │ │ └── vdb/ │ │ │ │ ├── __init__.py │ │ │ │ ├── alibabacloud_mysql/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── alibabacloud_mysql_vector.py │ │ │ │ ├── analyticdb/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── analyticdb_vector.py │ │ │ │ │ ├── analyticdb_vector_openapi.py │ │ │ │ │ └── analyticdb_vector_sql.py │ │ │ │ ├── baidu/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── baidu_vector.py │ │ │ │ ├── chroma/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── chroma_vector.py │ │ │ │ ├── clickzetta/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── clickzetta_vector.py │ │ │ │ ├── couchbase/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── couchbase_vector.py │ │ │ │ ├── elasticsearch/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── elasticsearch_ja_vector.py │ │ │ │ │ └── elasticsearch_vector.py │ │ │ │ ├── field.py │ │ │ │ ├── hologres/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── hologres_vector.py │ │ │ │ ├── huawei/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── huawei_cloud_vector.py │ │ │ │ ├── iris/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── iris_vector.py │ │ │ │ ├── lindorm/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── lindorm_vector.py │ │ │ │ ├── matrixone/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── matrixone_vector.py │ │ │ │ ├── milvus/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── milvus_vector.py │ │ │ │ ├── myscale/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── myscale_vector.py │ │ │ │ ├── oceanbase/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── oceanbase_vector.py │ │ │ │ ├── opengauss/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── opengauss.py │ │ │ │ ├── opensearch/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── opensearch_vector.py │ │ │ │ ├── oracle/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── oraclevector.py │ │ │ │ ├── pgvecto_rs/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── collection.py │ │ │ │ │ └── pgvecto_rs.py │ │ │ │ ├── pgvector/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── pgvector.py │ │ │ │ ├── pyvastbase/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── vastbase_vector.py │ │ │ │ ├── qdrant/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── qdrant_vector.py │ │ │ │ ├── relyt/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── relyt_vector.py │ │ │ │ ├── tablestore/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── tablestore_vector.py │ │ │ │ ├── tencent/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── tencent_vector.py │ │ │ │ ├── tidb_on_qdrant/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── tidb_on_qdrant_vector.py │ │ │ │ │ └── tidb_service.py │ │ │ │ ├── tidb_vector/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── tidb_vector.py │ │ │ │ ├── upstash/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── upstash_vector.py │ │ │ │ ├── vector_base.py │ │ │ │ ├── vector_factory.py │ │ │ │ ├── vector_type.py │ │ │ │ ├── vikingdb/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── vikingdb_vector.py │ │ │ │ └── weaviate/ │ │ │ │ ├── __init__.py │ │ │ │ └── weaviate_vector.py │ │ │ ├── docstore/ │ │ │ │ ├── __init__.py │ │ │ │ └── dataset_docstore.py │ │ │ ├── embedding/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cached_embedding.py │ │ │ │ ├── embedding_base.py │ │ │ │ └── retrieval.py │ │ │ ├── entities/ │ │ │ │ ├── citation_metadata.py │ │ │ │ ├── context_entities.py │ │ │ │ ├── event.py │ │ │ │ └── metadata_entities.py │ │ │ ├── extractor/ │ │ │ │ ├── blob/ │ │ │ │ │ └── blob.py │ │ │ │ ├── csv_extractor.py │ │ │ │ ├── entity/ │ │ │ │ │ ├── datasource_type.py │ │ │ │ │ └── extract_setting.py │ │ │ │ ├── excel_extractor.py │ │ │ │ ├── extract_processor.py │ │ │ │ ├── extractor_base.py │ │ │ │ ├── firecrawl/ │ │ │ │ │ ├── firecrawl_app.py │ │ │ │ │ └── firecrawl_web_extractor.py │ │ │ │ ├── helpers.py │ │ │ │ ├── html_extractor.py │ │ │ │ ├── jina_reader_extractor.py │ │ │ │ ├── markdown_extractor.py │ │ │ │ ├── notion_extractor.py │ │ │ │ ├── pdf_extractor.py │ │ │ │ ├── text_extractor.py │ │ │ │ ├── unstructured/ │ │ │ │ │ ├── unstructured_doc_extractor.py │ │ │ │ │ ├── unstructured_eml_extractor.py │ │ │ │ │ ├── unstructured_epub_extractor.py │ │ │ │ │ ├── unstructured_markdown_extractor.py │ │ │ │ │ ├── unstructured_msg_extractor.py │ │ │ │ │ ├── unstructured_ppt_extractor.py │ │ │ │ │ ├── unstructured_pptx_extractor.py │ │ │ │ │ └── unstructured_xml_extractor.py │ │ │ │ ├── watercrawl/ │ │ │ │ │ ├── client.py │ │ │ │ │ ├── exceptions.py │ │ │ │ │ ├── extractor.py │ │ │ │ │ └── provider.py │ │ │ │ └── word_extractor.py │ │ │ ├── index_processor/ │ │ │ │ ├── __init__.py │ │ │ │ ├── constant/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── built_in_field.py │ │ │ │ │ ├── doc_type.py │ │ │ │ │ ├── index_type.py │ │ │ │ │ └── query_type.py │ │ │ │ ├── index_processor.py │ │ │ │ ├── index_processor_base.py │ │ │ │ ├── index_processor_factory.py │ │ │ │ └── processor/ │ │ │ │ ├── __init__.py │ │ │ │ ├── paragraph_index_processor.py │ │ │ │ ├── parent_child_index_processor.py │ │ │ │ └── qa_index_processor.py │ │ │ ├── models/ │ │ │ │ ├── __init__.py │ │ │ │ └── document.py │ │ │ ├── pipeline/ │ │ │ │ ├── __init__.py │ │ │ │ └── queue.py │ │ │ ├── rerank/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entity/ │ │ │ │ │ └── weight.py │ │ │ │ ├── rerank_base.py │ │ │ │ ├── rerank_factory.py │ │ │ │ ├── rerank_model.py │ │ │ │ ├── rerank_type.py │ │ │ │ └── weight_rerank.py │ │ │ ├── retrieval/ │ │ │ │ ├── __init__.py │ │ │ │ ├── dataset_retrieval.py │ │ │ │ ├── output_parser/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── react_output.py │ │ │ │ │ └── structured_chat.py │ │ │ │ ├── retrieval_methods.py │ │ │ │ ├── router/ │ │ │ │ │ ├── multi_dataset_function_call_router.py │ │ │ │ │ └── multi_dataset_react_route.py │ │ │ │ └── template_prompts.py │ │ │ ├── splitter/ │ │ │ │ ├── __init__.py │ │ │ │ ├── fixed_text_splitter.py │ │ │ │ └── text_splitter.py │ │ │ └── summary_index/ │ │ │ ├── __init__.py │ │ │ └── summary_index.py │ │ ├── repositories/ │ │ │ ├── __init__.py │ │ │ ├── celery_workflow_execution_repository.py │ │ │ ├── celery_workflow_node_execution_repository.py │ │ │ ├── factory.py │ │ │ ├── human_input_repository.py │ │ │ ├── sqlalchemy_workflow_execution_repository.py │ │ │ └── sqlalchemy_workflow_node_execution_repository.py │ │ ├── schemas/ │ │ │ ├── __init__.py │ │ │ ├── builtin/ │ │ │ │ └── schemas/ │ │ │ │ └── v1/ │ │ │ │ ├── file.json │ │ │ │ ├── general_structure.json │ │ │ │ ├── multimodal_general_structure.json │ │ │ │ ├── multimodal_parent_child_structure.json │ │ │ │ ├── parent_child_structure.json │ │ │ │ └── qa_structure.json │ │ │ ├── registry.py │ │ │ ├── resolver.py │ │ │ └── schema_manager.py │ │ ├── telemetry/ │ │ │ ├── __init__.py │ │ │ ├── events.py │ │ │ └── gateway.py │ │ ├── tools/ │ │ │ ├── __base/ │ │ │ │ ├── tool.py │ │ │ │ ├── tool_provider.py │ │ │ │ └── tool_runtime.py │ │ │ ├── __init__.py │ │ │ ├── builtin_tool/ │ │ │ │ ├── _position.yaml │ │ │ │ ├── provider.py │ │ │ │ ├── providers/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── _positions.py │ │ │ │ │ ├── audio/ │ │ │ │ │ │ ├── audio.py │ │ │ │ │ │ ├── audio.yaml │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ ├── asr.py │ │ │ │ │ │ ├── asr.yaml │ │ │ │ │ │ ├── tts.py │ │ │ │ │ │ └── tts.yaml │ │ │ │ │ ├── code/ │ │ │ │ │ │ ├── code.py │ │ │ │ │ │ ├── code.yaml │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ ├── simple_code.py │ │ │ │ │ │ └── simple_code.yaml │ │ │ │ │ ├── time/ │ │ │ │ │ │ ├── time.py │ │ │ │ │ │ ├── time.yaml │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ ├── current_time.py │ │ │ │ │ │ ├── current_time.yaml │ │ │ │ │ │ ├── localtime_to_timestamp.py │ │ │ │ │ │ ├── localtime_to_timestamp.yaml │ │ │ │ │ │ ├── timestamp_to_localtime.py │ │ │ │ │ │ ├── timestamp_to_localtime.yaml │ │ │ │ │ │ ├── timezone_conversion.py │ │ │ │ │ │ ├── timezone_conversion.yaml │ │ │ │ │ │ ├── weekday.py │ │ │ │ │ │ └── weekday.yaml │ │ │ │ │ └── webscraper/ │ │ │ │ │ ├── tools/ │ │ │ │ │ │ ├── webscraper.py │ │ │ │ │ │ └── webscraper.yaml │ │ │ │ │ ├── webscraper.py │ │ │ │ │ └── webscraper.yaml │ │ │ │ └── tool.py │ │ │ ├── custom_tool/ │ │ │ │ ├── provider.py │ │ │ │ └── tool.py │ │ │ ├── entities/ │ │ │ │ ├── api_entities.py │ │ │ │ ├── common_entities.py │ │ │ │ ├── constants.py │ │ │ │ ├── tool_bundle.py │ │ │ │ ├── tool_entities.py │ │ │ │ └── values.py │ │ │ ├── errors.py │ │ │ ├── mcp_tool/ │ │ │ │ ├── provider.py │ │ │ │ └── tool.py │ │ │ ├── plugin_tool/ │ │ │ │ ├── provider.py │ │ │ │ └── tool.py │ │ │ ├── signature.py │ │ │ ├── tool_engine.py │ │ │ ├── tool_file_manager.py │ │ │ ├── tool_label_manager.py │ │ │ ├── tool_manager.py │ │ │ ├── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── configuration.py │ │ │ │ ├── dataset_retriever/ │ │ │ │ │ ├── dataset_multi_retriever_tool.py │ │ │ │ │ ├── dataset_retriever_base_tool.py │ │ │ │ │ └── dataset_retriever_tool.py │ │ │ │ ├── dataset_retriever_tool.py │ │ │ │ ├── encryption.py │ │ │ │ ├── message_transformer.py │ │ │ │ ├── model_invocation_utils.py │ │ │ │ ├── parser.py │ │ │ │ ├── system_oauth_encryption.py │ │ │ │ ├── text_processing_utils.py │ │ │ │ ├── uuid_utils.py │ │ │ │ ├── web_reader_tool.py │ │ │ │ ├── workflow_configuration_sync.py │ │ │ │ └── yaml_utils.py │ │ │ └── workflow_as_tool/ │ │ │ ├── provider.py │ │ │ └── tool.py │ │ ├── trigger/ │ │ │ ├── __init__.py │ │ │ ├── constants.py │ │ │ ├── debug/ │ │ │ │ ├── event_bus.py │ │ │ │ ├── event_selectors.py │ │ │ │ └── events.py │ │ │ ├── entities/ │ │ │ │ ├── api_entities.py │ │ │ │ └── entities.py │ │ │ ├── errors.py │ │ │ ├── provider.py │ │ │ ├── trigger_manager.py │ │ │ └── utils/ │ │ │ ├── encryption.py │ │ │ ├── endpoint.py │ │ │ └── locks.py │ │ └── workflow/ │ │ ├── __init__.py │ │ ├── file_reference.py │ │ ├── human_input_compat.py │ │ ├── human_input_forms.py │ │ ├── node_factory.py │ │ ├── node_runtime.py │ │ ├── nodes/ │ │ │ ├── __init__.py │ │ │ ├── agent/ │ │ │ │ ├── __init__.py │ │ │ │ ├── agent_node.py │ │ │ │ ├── entities.py │ │ │ │ ├── exceptions.py │ │ │ │ ├── message_transformer.py │ │ │ │ ├── plugin_strategy_adapter.py │ │ │ │ ├── runtime_support.py │ │ │ │ └── strategy_protocols.py │ │ │ ├── datasource/ │ │ │ │ ├── __init__.py │ │ │ │ ├── datasource_node.py │ │ │ │ ├── entities.py │ │ │ │ ├── exc.py │ │ │ │ └── protocols.py │ │ │ ├── knowledge_index/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entities.py │ │ │ │ ├── exc.py │ │ │ │ ├── knowledge_index_node.py │ │ │ │ └── protocols.py │ │ │ ├── knowledge_retrieval/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entities.py │ │ │ │ ├── exc.py │ │ │ │ ├── knowledge_retrieval_node.py │ │ │ │ ├── retrieval.py │ │ │ │ └── template_prompts.py │ │ │ ├── trigger_plugin/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entities.py │ │ │ │ ├── exc.py │ │ │ │ └── trigger_event_node.py │ │ │ ├── trigger_schedule/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entities.py │ │ │ │ ├── exc.py │ │ │ │ └── trigger_schedule_node.py │ │ │ └── trigger_webhook/ │ │ │ ├── __init__.py │ │ │ ├── entities.py │ │ │ ├── exc.py │ │ │ └── node.py │ │ ├── system_variables.py │ │ ├── template_rendering.py │ │ ├── variable_pool_initializer.py │ │ ├── variable_prefixes.py │ │ ├── workflow_entry.py │ │ └── workflow_run_outputs.py │ ├── dify_app.py │ ├── docker/ │ │ └── entrypoint.sh │ ├── enterprise/ │ │ ├── __init__.py │ │ └── telemetry/ │ │ ├── DATA_DICTIONARY.md │ │ ├── README.md │ │ ├── __init__.py │ │ ├── contracts.py │ │ ├── draft_trace.py │ │ ├── enterprise_trace.py │ │ ├── entities/ │ │ │ └── __init__.py │ │ ├── event_handlers.py │ │ ├── exporter.py │ │ ├── id_generator.py │ │ ├── metric_handler.py │ │ └── telemetry_log.py │ ├── enums/ │ │ ├── __init__.py │ │ ├── cloud_plan.py │ │ ├── hosted_provider.py │ │ └── quota_type.py │ ├── events/ │ │ ├── __init__.py │ │ ├── app_event.py │ │ ├── dataset_event.py │ │ ├── document_event.py │ │ ├── document_index_event.py │ │ ├── event_handlers/ │ │ │ ├── __init__.py │ │ │ ├── clean_when_dataset_deleted.py │ │ │ ├── clean_when_document_deleted.py │ │ │ ├── create_document_index.py │ │ │ ├── create_installed_app_when_app_created.py │ │ │ ├── create_site_record_when_app_created.py │ │ │ ├── delete_tool_parameters_cache_when_sync_draft_workflow.py │ │ │ ├── queue_credential_sync_when_tenant_created.py │ │ │ ├── sync_plugin_trigger_when_app_created.py │ │ │ ├── sync_webhook_when_app_created.py │ │ │ ├── sync_workflow_schedule_when_app_published.py │ │ │ ├── update_app_dataset_join_when_app_model_config_updated.py │ │ │ ├── update_app_dataset_join_when_app_published_workflow_updated.py │ │ │ ├── update_app_triggers_when_app_published_workflow_updated.py │ │ │ └── update_provider_when_message_created.py │ │ ├── message_event.py │ │ └── tenant_event.py │ ├── extensions/ │ │ ├── __init__.py │ │ ├── ext_app_metrics.py │ │ ├── ext_blueprints.py │ │ ├── ext_celery.py │ │ ├── ext_code_based_extension.py │ │ ├── ext_commands.py │ │ ├── ext_compress.py │ │ ├── ext_database.py │ │ ├── ext_enterprise_telemetry.py │ │ ├── ext_fastopenapi.py │ │ ├── ext_forward_refs.py │ │ ├── ext_hosting_provider.py │ │ ├── ext_import_modules.py │ │ ├── ext_logging.py │ │ ├── ext_login.py │ │ ├── ext_logstore.py │ │ ├── ext_mail.py │ │ ├── ext_migrate.py │ │ ├── ext_orjson.py │ │ ├── ext_otel.py │ │ ├── ext_proxy_fix.py │ │ ├── ext_redis.py │ │ ├── ext_request_logging.py │ │ ├── ext_sentry.py │ │ ├── ext_session_factory.py │ │ ├── ext_set_secretkey.py │ │ ├── ext_storage.py │ │ ├── ext_timezone.py │ │ ├── ext_warnings.py │ │ ├── logstore/ │ │ │ ├── __init__.py │ │ │ ├── aliyun_logstore.py │ │ │ ├── aliyun_logstore_pg.py │ │ │ ├── repositories/ │ │ │ │ ├── __init__.py │ │ │ │ ├── logstore_api_workflow_node_execution_repository.py │ │ │ │ ├── logstore_api_workflow_run_repository.py │ │ │ │ ├── logstore_workflow_execution_repository.py │ │ │ │ └── logstore_workflow_node_execution_repository.py │ │ │ └── sql_escape.py │ │ ├── otel/ │ │ │ ├── __init__.py │ │ │ ├── celery_sqlcommenter.py │ │ │ ├── decorators/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── handler.py │ │ │ │ └── handlers/ │ │ │ │ ├── __init__.py │ │ │ │ ├── generate_handler.py │ │ │ │ └── workflow_app_runner_handler.py │ │ │ ├── instrumentation.py │ │ │ ├── parser/ │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ ├── llm.py │ │ │ │ ├── retrieval.py │ │ │ │ └── tool.py │ │ │ ├── runtime.py │ │ │ └── semconv/ │ │ │ ├── __init__.py │ │ │ ├── dify.py │ │ │ └── gen_ai.py │ │ └── storage/ │ │ ├── aliyun_oss_storage.py │ │ ├── aws_s3_storage.py │ │ ├── azure_blob_storage.py │ │ ├── baidu_obs_storage.py │ │ ├── base_storage.py │ │ ├── clickzetta_volume/ │ │ │ ├── __init__.py │ │ │ ├── clickzetta_volume_storage.py │ │ │ ├── file_lifecycle.py │ │ │ └── volume_permissions.py │ │ ├── google_cloud_storage.py │ │ ├── huawei_obs_storage.py │ │ ├── opendal_storage.py │ │ ├── oracle_oci_storage.py │ │ ├── storage_type.py │ │ ├── supabase_storage.py │ │ ├── tencent_cos_storage.py │ │ └── volcengine_tos_storage.py │ ├── factories/ │ │ ├── __init__.py │ │ ├── agent_factory.py │ │ ├── file_factory/ │ │ │ ├── __init__.py │ │ │ ├── builders.py │ │ │ ├── common.py │ │ │ ├── message_files.py │ │ │ ├── remote.py │ │ │ ├── storage_keys.py │ │ │ └── validation.py │ │ └── variable_factory.py │ ├── fields/ │ │ ├── __init__.py │ │ ├── _value_type_serializer.py │ │ ├── annotation_fields.py │ │ ├── api_based_extension_fields.py │ │ ├── app_fields.py │ │ ├── conversation_fields.py │ │ ├── conversation_variable_fields.py │ │ ├── data_source_fields.py │ │ ├── dataset_fields.py │ │ ├── document_fields.py │ │ ├── end_user_fields.py │ │ ├── file_fields.py │ │ ├── hit_testing_fields.py │ │ ├── installed_app_fields.py │ │ ├── member_fields.py │ │ ├── message_fields.py │ │ ├── rag_pipeline_fields.py │ │ ├── raws.py │ │ ├── segment_fields.py │ │ ├── tag_fields.py │ │ ├── workflow_app_log_fields.py │ │ ├── workflow_fields.py │ │ ├── workflow_run_fields.py │ │ └── workflow_trigger_fields.py │ ├── gunicorn.conf.py │ ├── libs/ │ │ ├── __init__.py │ │ ├── archive_storage.py │ │ ├── broadcast_channel/ │ │ │ ├── channel.py │ │ │ ├── exc.py │ │ │ └── redis/ │ │ │ ├── __init__.py │ │ │ ├── _subscription.py │ │ │ ├── channel.py │ │ │ ├── sharded_channel.py │ │ │ └── streams_channel.py │ │ ├── collection_utils.py │ │ ├── custom_inputs.py │ │ ├── datetime_utils.py │ │ ├── db_migration_lock.py │ │ ├── email_i18n.py │ │ ├── email_template_renderer.py │ │ ├── encryption.py │ │ ├── exception.py │ │ ├── external_api.py │ │ ├── file_utils.py │ │ ├── flask_utils.py │ │ ├── gmpy2_pkcs10aep_cipher.py │ │ ├── helper.py │ │ ├── infinite_scroll_pagination.py │ │ ├── json_in_md_parser.py │ │ ├── login.py │ │ ├── module_loading.py │ │ ├── oauth.py │ │ ├── oauth_data_source.py │ │ ├── orjson.py │ │ ├── passport.py │ │ ├── password.py │ │ ├── pyrefly_diagnostics.py │ │ ├── rsa.py │ │ ├── schedule_utils.py │ │ ├── sendgrid.py │ │ ├── smtp.py │ │ ├── time_parser.py │ │ ├── token.py │ │ ├── typing.py │ │ ├── uuid_utils.py │ │ ├── validators.py │ │ └── workspace_permission.py │ ├── migrations/ │ │ ├── README │ │ ├── alembic.ini │ │ ├── env.py │ │ ├── script.py.mako │ │ └── versions/ │ │ ├── 00bacef91f18_rename_api_provider_description.py │ │ ├── 03f98355ba0e_add_workflow_tool_label_and_tool_.py │ │ ├── 04c602f5dc9b_update_appmodelconfig_and_add_table_.py │ │ ├── 053da0c1d756_add_api_tool_privacy.py │ │ ├── 114eed84c228_remove_tool_id_from_model_invoke.py │ │ ├── 161cadc1af8d_add_dataset_permission_tenant_id.py │ │ ├── 16830a790f0f_.py │ │ ├── 16fa53d9faec_add_provider_model_support.py │ │ ├── 17b5ab037c40_add_keyworg_table_storage_type.py │ │ ├── 187385f442fc_modify_provider_model_name_length.py │ │ ├── 2024_08_09_0801-1787fbae959a_update_tools_original_url_length.py │ │ ├── 2024_08_13_0633-63a83fcf12ba_support_conversation_variables.py │ │ ├── 2024_08_14_1354-8782057ff0dc_add_conversations_dialogue_count.py │ │ ├── 2024_08_15_0956-0251a1c768cc_add_tidb_auth_binding.py │ │ ├── 2024_08_15_1001-a6be81136580_app_and_site_icon_type.py │ │ ├── 2024_08_20_0455-2dbe42621d96_rename_workflow__conversation_variables_.py │ │ ├── 2024_08_25_0441-d0187d6a88dd_add_created_by_and_updated_by_to_app_.py │ │ ├── 2024_09_01_1255-030f4915f36a_add_use_icon_as_answer_icon_fields_for_.py │ │ ├── 2024_09_11_1012-d57ba9ebb251_add_parent_message_id_to_messages.py │ │ ├── 2024_09_24_0922-6af6a521a53e_update_retrieval_resource.py │ │ ├── 2024_09_25_0434-33f5fac87f29_external_knowledge_api.py │ │ ├── 2024_09_29_0835-ddcc8bbef391_increase_max_length_of_builtin_tool_provider.py │ │ ├── 2024_10_09_1329-d8e744d88ed6_fix_wrong_service_api_history.py │ │ ├── 2024_10_10_0516-bbadea11becb_add_name_and_size_to_tool_files.py │ │ ├── 2024_10_22_0959-43fa78bc3b7d_add_white_list.py │ │ ├── 2024_10_28_0720-08ec4f75af5e_add_tenant_plugin_permisisons.py │ │ ├── 2024_11_01_0434-d3f6769a94a3_add_upload_files_source_url.py │ │ ├── 2024_11_01_0449-93ad8c19c40b_rename_conversation_variables_index_name.py │ │ ├── 2024_11_01_0540-f4d7ce70a7ca_update_upload_files_source_url.py │ │ ├── 2024_11_01_0622-d07474999927_update_type_of_custom_disclaimer_to_text.py │ │ ├── 2024_11_01_0623-09a8d1878d9b_update_workflows_graph_features_and_.py │ │ ├── 2024_11_12_0925-01d6889832f7_add_created_at_index_for_messages.py │ │ ├── 2024_11_22_0701-e19037032219_parent_child_index.py │ │ ├── 2024_11_28_0553-cf8f4fc45278_add_exceptions_count_field_to_.py │ │ ├── 2024_12_19_1746-11b07f66c737_remove_unused_tool_providers.py │ │ ├── 2024_12_20_0628-e1944c35e15e_add_retry_index_field_to_node_execution_.py │ │ ├── 2024_12_23_1154-d7999dfa4aae_remove_workflow_node_executions_retry_.py │ │ ├── 2024_12_25_1137-923752d42eb6_add_auto_disabled_dataset_logs.py │ │ ├── 2025_01_01_2000-a91b476a53de_change_workflow_runs_total_tokens_to_.py │ │ ├── 2025_01_14_0617-f051706725cc_add_rate_limit_logs.py │ │ ├── 2025_02_27_0917-d20049ed0af6_add_metadata_function.py │ │ ├── 2025_03_03_0304-4413929e1ec2_extend_provider_name_column.py │ │ ├── 2025_03_03_1436-ee79d9b1c156_add_marked_name_and_marked_comment_in_.py │ │ ├── 2025_03_07_0315-5511c782ee4c_extend_provider_column.py │ │ ├── 2025_03_29_2227-6a9f914f656c_change_documentsegment_and_childchunk_.py │ │ ├── 2025_05_14_1403-d28f2004b072_add_index_for_workflow_conversation_.py │ │ ├── 2025_05_15_1531-2adcbe1f5dfb_add_workflowdraftvariable_model.py │ │ ├── 2025_06_06_1424-4474872b0ee6_workflow_draft_varaibles_add_node_execution_id.py │ │ ├── 2025_06_19_1633-0ab65e1cc7fa_remove_sequence_number_from_workflow_.py │ │ ├── 2025_06_25_0936-58eb7bdb93fe_add_mcp_server_tool_and_app_server.py │ │ ├── 2025_07_02_2332-1c9ba48be8e4_add_uuidv7_function_in_sql.py │ │ ├── 2025_07_04_1705-71f5020c6470_tool_oauth.py │ │ ├── 2025_07_21_0935-1a83934ad6d1_update_models.py │ │ ├── 2025_07_22_0019-375fe79ead14_oauth_refresh_token.py │ │ ├── 2025_07_23_1508-8bcc02c9bd07_add_tenant_plugin_autoupgrade_table.py │ │ ├── 2025_07_24_1450-532b3f888abf_manual_dataset_field_update.py │ │ ├── 2025_08_07_1115-fa8b0fa6f407_add_timeout_for_tool_mcp_providers.py │ │ ├── 2025_08_09_1553-e8446f481c1e_add_provider_credential_pool_support.py │ │ ├── 2025_08_13_1605-0e154742a5fa_add_provider_model_multi_credential.py │ │ ├── 2025_08_20_1747-8d289573e1da_add_oauth_provider_apps.py │ │ ├── 2025_08_29_1534-b95962a3885c_add_workflow_app_log_run_id_index.py │ │ ├── 2025_09_08_1007-c20211f18133_add_headers_to_mcp_provider.py │ │ ├── 2025_09_11_1537-cf7c38a32b2d_add_credential_status_for_provider_table.py │ │ ├── 2025_09_17_1515-68519ad5cd18_knowledge_pipeline_migrate.py │ │ ├── 2025_10_14_1618-d98acf217d43_add_app_mode_for_messsage.py │ │ ├── 2025_10_21_1430-ae662b25d9bc_remove_builtin_template_user.py │ │ ├── 2025_10_22_1611-03f8dcbc611e_add_workflowpause_model.py │ │ ├── 2025_10_30_1518-669ffd70119c_introduce_trigger.py │ │ ├── 2025_11_06_1603-9e6fa5cbcd80_make_message_annotation_question_not_.py │ │ ├── 2025_11_12_1537-d57accd375ae_support_multi_modal.py │ │ ├── 2025_11_15_2102-09cfdda155d1_mysql_adaptation.py │ │ ├── 2025_11_18_1859-7bb281b7a422_add_workflow_pause_reasons_table.py │ │ ├── 2025_12_16_1817-03ea244985ce_add_type_column_not_null_default_tool.py │ │ ├── 2025_12_25_1039-7df29de0f6be_add_credit_pool.py │ │ ├── 2026_01_09_1630-905527cc8fd3_add_workflow_run_created_at_id_idx.py │ │ ├── 2026_01_12_1729-3334862ee907_feat_add_created_at_id_index_to_messages.py │ │ ├── 2026_01_16_1715-288345cd01d1_change_workflow_node_execution_run_index.py │ │ ├── 2026_01_17_1110-f9f6d18a37f9_add_table_explore_banner_and_trial.py │ │ ├── 2026_01_21_1718-9d77545f524e_add_workflow_archive_logs.py │ │ ├── 2026_01_27_1815-788d3099ae3a_add_summary_index_feature.py │ │ ├── 2026_01_29_1415-e8c3b3c46151_add_human_input_related_db_models.py │ │ ├── 2026_02_09_0950-c3df22613c99_drop_server_default_for_app_trail_.py │ │ ├── 2026_02_10_1507-f55813ffe2c8_fix_tenant_default_model_unique.py │ │ ├── 2026_02_11_1549-fce013ca180e_fix_index_to_optimize_message_clean_job_.py │ │ ├── 2026_02_26_1336-e288952f2994_add_partial_indexes_on_conversations_.py │ │ ├── 2026_03_02_1805-0ec65df55790_add_indexes_for_human_input_forms.py │ │ ├── 2026_03_04_1600-6b5f9f8b1a2c_add_user_id_to_workflow_draft_variables.py │ │ ├── 23db93619b9d_add_message_files_into_agent_thought.py │ │ ├── 246ba09cbbdb_add_app_anntation_setting.py │ │ ├── 2a3aebbbf4bb_add_app_tracing.py │ │ ├── 2beac44e5f5f_add_is_universal_in_apps.py │ │ ├── 2c8af9671032_add_qa_document_language.py │ │ ├── 2e9819ca5b28_add_tenant_id_in_api_token.py │ │ ├── 380c6aa5a70d_add_tool_labels_to_agent_thought.py │ │ ├── 3b18fea55204_add_tool_label_bings.py │ │ ├── 3c7cac9521c6_add_tags_and_binding_table.py │ │ ├── 3ef9b2b6bee6_add_assistant_app.py │ │ ├── 408176b91ad3_add_max_active_requests.py │ │ ├── 42e85ed5564d_conversation_columns_set_nullable.py │ │ ├── 46976cc39132_add_annotation_histoiry_score.py │ │ ├── 47cc7df8c4f3_modify_default_model_name_length.py │ │ ├── 4823da1d26cf_add_tool_file.py │ │ ├── 4829e54d2fee_change_message_chain_id_to_nullable.py │ │ ├── 4bcffcd64aa4_update_dataset_model_field_null_.py │ │ ├── 4e99a8df00ff_add_load_balancing.py │ │ ├── 4ff534e1eb11_add_workflow_to_site.py │ │ ├── 5022897aaceb_add_model_name_in_embedding.py │ │ ├── 53bf8af60645_update_model.py │ │ ├── 563cf8bf777b_enable_tool_file_without_conversation_id.py │ │ ├── 5fda94355fce_custom_disclaimer.py │ │ ├── 614f77cecc48_add_last_active_at.py │ │ ├── 63f9175e515b_merge_branches.py │ │ ├── 64a70a7aab8b_add_workflow_run_index.py │ │ ├── 64b051264f32_init.py │ │ ├── 675b5321501b_add_node_execution_id_into_node_.py │ │ ├── 6dcb43972bdc_add_dataset_retriever_resource.py │ │ ├── 6e2cfb077b04_add_dataset_collection_binding.py │ │ ├── 6e957a32015b_add_embedding_cache_created_at_index.py │ │ ├── 714aafe25d39_add_anntation_history_match_response.py │ │ ├── 77e83833755c_add_app_config_retriever_resource.py │ │ ├── 7b45942e39bb_add_api_key_auth_binding.py │ │ ├── 7bdef072e63a_add_workflow_tool.py │ │ ├── 7ce5a52e4eee_add_tool_providers.py │ │ ├── 7e6a8693e07a_add_table_dataset_permissions.py │ │ ├── 853f9b9cd3b6_add_message_price_unit.py │ │ ├── 88072f0caa04_add_custom_config_in_tenant.py │ │ ├── 89c7899ca936_.py │ │ ├── 8ae9bc661daa_add_tool_conversation_variables_idx.py │ │ ├── 8d2d099ceb74_add_qa_model_support.py │ │ ├── 8e5588e6412e_add_environment_variable_to_workflow_.py │ │ ├── 8ec536f3c800_rename_api_provider_credentails.py │ │ ├── 8fe468ba0ca5_add_gpt4v_supports.py │ │ ├── 968fff4c0ab9_add_api_based_extension.py │ │ ├── 9e98fbaffb88_add_workflow_tool_version.py │ │ ├── 9f4e3427ea84_add_created_by_role.py │ │ ├── 9fafbd60eca1_add_message_file_belongs_to.py │ │ ├── a45f4dfde53b_add_language_to_recommend_apps.py │ │ ├── a5b56fb053ef_app_config_add_speech_to_text.py │ │ ├── a8d7385a7b66_add_embeddings_provider_name.py │ │ ├── a8f9b3c45e4a_add_tenant_id_db_index.py │ │ ├── a9836e3baeee_add_external_data_tools_in_app_model_.py │ │ ├── ab23c11305d4_add_dataset_query_variable_at_app_model_.py │ │ ├── ad472b61a054_add_api_provider_icon.py │ │ ├── b24be59fbb04_.py │ │ ├── b2602e131636_add_workflow_run_id_index_for_message.py │ │ ├── b289e2408ee2_add_workflow.py │ │ ├── b3a09c049e8e_add_advanced_prompt_templates.py │ │ ├── b5429b71023c_messages_columns_set_nullable.py │ │ ├── b69ca54b9208_add_chatbot_color_theme.py │ │ ├── bf0aec5ba2cf_add_provider_order.py │ │ ├── c031d46af369_remove_app_model_config_trace_config_.py │ │ ├── c3311b089690_add_tool_meta.py │ │ ├── c71211c8f604_add_tool_invoke_model_log.py │ │ ├── cc04d0998d4d_set_model_config_column_nullable.py │ │ ├── d3d503a3471c_add_is_deleted_to_conversations.py │ │ ├── de95f5c77138_migration_serpapi_api_key.py │ │ ├── dfb3b7f477da_add_tool_index.py │ │ ├── e1901f623fd0_add_annotation_reply.py │ │ ├── e2eacc9a1b63_add_status_for_message.py │ │ ├── e32f6ccb87c6_e08af0a69ccefbb59fa80c778efee300bb780980.py │ │ ├── e35ed59becda_modify_quota_limit_field_type.py │ │ ├── e8883b0148c9_add_dataset_model_name.py │ │ ├── eeb2e349e6ac_increase_max_model_name_length.py │ │ ├── f25003750af4_add_created_updated_at.py │ │ ├── f2a6fc85e260_add_anntation_history_message_id.py │ │ ├── f9107f83abab_add_desc_for_apps.py │ │ ├── fca025d3b60f_add_dataset_retrival_model.py │ │ └── fecff1c3da27_remove_extra_tracing_app_config_table.py │ ├── models/ │ │ ├── __init__.py │ │ ├── _workflow_exc.py │ │ ├── account.py │ │ ├── api_based_extension.py │ │ ├── base.py │ │ ├── dataset.py │ │ ├── engine.py │ │ ├── enums.py │ │ ├── execution_extra_content.py │ │ ├── human_input.py │ │ ├── model.py │ │ ├── oauth.py │ │ ├── provider.py │ │ ├── provider_ids.py │ │ ├── source.py │ │ ├── task.py │ │ ├── tools.py │ │ ├── trigger.py │ │ ├── types.py │ │ ├── utils/ │ │ │ ├── __init__.py │ │ │ └── file_input_compat.py │ │ ├── web.py │ │ └── workflow.py │ ├── pyproject.toml │ ├── pyrefly-local-excludes.txt │ ├── pyrightconfig.json │ ├── pytest.ini │ ├── repositories/ │ │ ├── __init__.py │ │ ├── api_workflow_node_execution_repository.py │ │ ├── api_workflow_run_repository.py │ │ ├── entities/ │ │ │ └── workflow_pause.py │ │ ├── execution_extra_content_repository.py │ │ ├── factory.py │ │ ├── sqlalchemy_api_workflow_node_execution_repository.py │ │ ├── sqlalchemy_api_workflow_run_repository.py │ │ ├── sqlalchemy_execution_extra_content_repository.py │ │ ├── sqlalchemy_workflow_trigger_log_repository.py │ │ ├── types.py │ │ └── workflow_trigger_log_repository.py │ ├── schedule/ │ │ ├── check_upgradable_plugin_task.py │ │ ├── clean_embedding_cache_task.py │ │ ├── clean_messages.py │ │ ├── clean_unused_datasets_task.py │ │ ├── clean_workflow_runlogs_precise.py │ │ ├── clean_workflow_runs_task.py │ │ ├── create_tidb_serverless_task.py │ │ ├── mail_clean_document_notify_task.py │ │ ├── queue_monitor_task.py │ │ ├── trigger_provider_refresh_task.py │ │ ├── update_api_token_last_used_task.py │ │ ├── update_tidb_serverless_status_task.py │ │ └── workflow_schedule_task.py │ ├── services/ │ │ ├── __init__.py │ │ ├── account_service.py │ │ ├── advanced_prompt_template_service.py │ │ ├── agent_service.py │ │ ├── annotation_service.py │ │ ├── api_based_extension_service.py │ │ ├── api_token_service.py │ │ ├── app_dsl_service.py │ │ ├── app_generate_service.py │ │ ├── app_model_config_service.py │ │ ├── app_service.py │ │ ├── app_task_service.py │ │ ├── async_workflow_service.py │ │ ├── attachment_service.py │ │ ├── audio_service.py │ │ ├── auth/ │ │ │ ├── __init__.py │ │ │ ├── api_key_auth_base.py │ │ │ ├── api_key_auth_factory.py │ │ │ ├── api_key_auth_service.py │ │ │ ├── auth_type.py │ │ │ ├── firecrawl/ │ │ │ │ ├── __init__.py │ │ │ │ └── firecrawl.py │ │ │ ├── jina/ │ │ │ │ ├── __init__.py │ │ │ │ └── jina.py │ │ │ ├── jina.py │ │ │ └── watercrawl/ │ │ │ ├── __init__.py │ │ │ └── watercrawl.py │ │ ├── billing_service.py │ │ ├── clear_free_plan_tenant_expired_logs.py │ │ ├── code_based_extension_service.py │ │ ├── conversation_service.py │ │ ├── conversation_variable_updater.py │ │ ├── credit_pool_service.py │ │ ├── dataset_service.py │ │ ├── datasource_provider_service.py │ │ ├── document_indexing_proxy/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── batch_indexing_base.py │ │ │ ├── document_indexing_task_proxy.py │ │ │ └── duplicate_document_indexing_task_proxy.py │ │ ├── end_user_service.py │ │ ├── enterprise/ │ │ │ ├── __init__.py │ │ │ ├── account_deletion_sync.py │ │ │ ├── base.py │ │ │ ├── enterprise_service.py │ │ │ ├── plugin_manager_service.py │ │ │ └── workspace_sync.py │ │ ├── entities/ │ │ │ ├── __init__.py │ │ │ ├── external_knowledge_entities/ │ │ │ │ └── external_knowledge_entities.py │ │ │ ├── knowledge_entities/ │ │ │ │ ├── knowledge_entities.py │ │ │ │ └── rag_pipeline_entities.py │ │ │ └── model_provider_entities.py │ │ ├── errors/ │ │ │ ├── __init__.py │ │ │ ├── account.py │ │ │ ├── app.py │ │ │ ├── app_model_config.py │ │ │ ├── audio.py │ │ │ ├── base.py │ │ │ ├── chunk.py │ │ │ ├── conversation.py │ │ │ ├── dataset.py │ │ │ ├── document.py │ │ │ ├── enterprise.py │ │ │ ├── file.py │ │ │ ├── index.py │ │ │ ├── llm.py │ │ │ ├── message.py │ │ │ ├── plugin.py │ │ │ ├── workflow_service.py │ │ │ └── workspace.py │ │ ├── external_knowledge_service.py │ │ ├── feature_service.py │ │ ├── feedback_service.py │ │ ├── file_service.py │ │ ├── hit_testing_service.py │ │ ├── human_input_delivery_test_service.py │ │ ├── human_input_service.py │ │ ├── knowledge_service.py │ │ ├── message_service.py │ │ ├── metadata_service.py │ │ ├── model_load_balancing_service.py │ │ ├── model_provider_service.py │ │ ├── oauth_server.py │ │ ├── operation_service.py │ │ ├── ops_service.py │ │ ├── plugin/ │ │ │ ├── __init__.py │ │ │ ├── data_migration.py │ │ │ ├── dependencies_analysis.py │ │ │ ├── endpoint_service.py │ │ │ ├── oauth_service.py │ │ │ ├── plugin_auto_upgrade_service.py │ │ │ ├── plugin_migration.py │ │ │ ├── plugin_parameter_service.py │ │ │ ├── plugin_permission_service.py │ │ │ └── plugin_service.py │ │ ├── rag_pipeline/ │ │ │ ├── entity/ │ │ │ │ └── pipeline_service_api_entities.py │ │ │ ├── pipeline_generate_service.py │ │ │ ├── pipeline_template/ │ │ │ │ ├── __init__.py │ │ │ │ ├── built_in/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── built_in_retrieval.py │ │ │ │ ├── customized/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── customized_retrieval.py │ │ │ │ ├── database/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── database_retrieval.py │ │ │ │ ├── pipeline_template_base.py │ │ │ │ ├── pipeline_template_factory.py │ │ │ │ ├── pipeline_template_type.py │ │ │ │ └── remote/ │ │ │ │ ├── __init__.py │ │ │ │ └── remote_retrieval.py │ │ │ ├── rag_pipeline.py │ │ │ ├── rag_pipeline_dsl_service.py │ │ │ ├── rag_pipeline_manage_service.py │ │ │ ├── rag_pipeline_task_proxy.py │ │ │ ├── rag_pipeline_transform_service.py │ │ │ └── transform/ │ │ │ ├── file-general-economy.yml │ │ │ ├── file-general-high-quality.yml │ │ │ ├── file-parentchild.yml │ │ │ ├── notion-general-economy.yml │ │ │ ├── notion-general-high-quality.yml │ │ │ ├── notion-parentchild.yml │ │ │ ├── website-crawl-general-economy.yml │ │ │ ├── website-crawl-general-high-quality.yml │ │ │ └── website-crawl-parentchild.yml │ │ ├── recommend_app/ │ │ │ ├── __init__.py │ │ │ ├── buildin/ │ │ │ │ ├── __init__.py │ │ │ │ └── buildin_retrieval.py │ │ │ ├── database/ │ │ │ │ ├── __init__.py │ │ │ │ └── database_retrieval.py │ │ │ ├── recommend_app_base.py │ │ │ ├── recommend_app_factory.py │ │ │ ├── recommend_app_type.py │ │ │ └── remote/ │ │ │ ├── __init__.py │ │ │ └── remote_retrieval.py │ │ ├── recommended_app_service.py │ │ ├── retention/ │ │ │ ├── __init__.py │ │ │ ├── conversation/ │ │ │ │ ├── message_export_service.py │ │ │ │ ├── messages_clean_policy.py │ │ │ │ └── messages_clean_service.py │ │ │ └── workflow_run/ │ │ │ ├── __init__.py │ │ │ ├── archive_paid_plan_workflow_run.py │ │ │ ├── clear_free_plan_expired_workflow_run_logs.py │ │ │ ├── constants.py │ │ │ ├── delete_archived_workflow_run.py │ │ │ └── restore_archived_workflow_run.py │ │ ├── saved_message_service.py │ │ ├── summary_index_service.py │ │ ├── tag_service.py │ │ ├── tools/ │ │ │ ├── api_tools_manage_service.py │ │ │ ├── builtin_tools_manage_service.py │ │ │ ├── mcp_tools_manage_service.py │ │ │ ├── tool_labels_service.py │ │ │ ├── tools_manage_service.py │ │ │ ├── tools_transform_service.py │ │ │ └── workflow_tools_manage_service.py │ │ ├── trigger/ │ │ │ ├── app_trigger_service.py │ │ │ ├── schedule_service.py │ │ │ ├── trigger_provider_service.py │ │ │ ├── trigger_request_service.py │ │ │ ├── trigger_service.py │ │ │ ├── trigger_subscription_builder_service.py │ │ │ ├── trigger_subscription_operator_service.py │ │ │ └── webhook_service.py │ │ ├── variable_truncator.py │ │ ├── vector_service.py │ │ ├── web_conversation_service.py │ │ ├── webapp_auth_service.py │ │ ├── website_service.py │ │ ├── workflow/ │ │ │ ├── __init__.py │ │ │ ├── entities.py │ │ │ ├── queue_dispatcher.py │ │ │ ├── scheduler.py │ │ │ └── workflow_converter.py │ │ ├── workflow_app_service.py │ │ ├── workflow_draft_variable_service.py │ │ ├── workflow_event_snapshot_service.py │ │ ├── workflow_restore.py │ │ ├── workflow_run_service.py │ │ ├── workflow_service.py │ │ └── workspace_service.py │ ├── tasks/ │ │ ├── __init__.py │ │ ├── add_document_to_index_task.py │ │ ├── annotation/ │ │ │ ├── add_annotation_to_index_task.py │ │ │ ├── batch_import_annotations_task.py │ │ │ ├── delete_annotation_index_task.py │ │ │ ├── disable_annotation_reply_task.py │ │ │ ├── enable_annotation_reply_task.py │ │ │ └── update_annotation_to_index_task.py │ │ ├── app_generate/ │ │ │ ├── __init__.py │ │ │ └── workflow_execute_task.py │ │ ├── async_workflow_tasks.py │ │ ├── batch_clean_document_task.py │ │ ├── batch_create_segment_to_index_task.py │ │ ├── clean_dataset_task.py │ │ ├── clean_document_task.py │ │ ├── clean_notion_document_task.py │ │ ├── create_segment_to_index_task.py │ │ ├── deal_dataset_index_update_task.py │ │ ├── deal_dataset_vector_index_task.py │ │ ├── delete_account_task.py │ │ ├── delete_conversation_task.py │ │ ├── delete_segment_from_index_task.py │ │ ├── disable_segment_from_index_task.py │ │ ├── disable_segments_from_index_task.py │ │ ├── document_indexing_sync_task.py │ │ ├── document_indexing_task.py │ │ ├── document_indexing_update_task.py │ │ ├── duplicate_document_indexing_task.py │ │ ├── enable_segment_to_index_task.py │ │ ├── enable_segments_to_index_task.py │ │ ├── enterprise_telemetry_task.py │ │ ├── generate_summary_index_task.py │ │ ├── human_input_timeout_tasks.py │ │ ├── mail_account_deletion_task.py │ │ ├── mail_change_mail_task.py │ │ ├── mail_email_code_login.py │ │ ├── mail_human_input_delivery_task.py │ │ ├── mail_inner_task.py │ │ ├── mail_invite_member_task.py │ │ ├── mail_owner_transfer_task.py │ │ ├── mail_register_task.py │ │ ├── mail_reset_password_task.py │ │ ├── ops_trace_task.py │ │ ├── process_tenant_plugin_autoupgrade_check_task.py │ │ ├── rag_pipeline/ │ │ │ ├── priority_rag_pipeline_run_task.py │ │ │ └── rag_pipeline_run_task.py │ │ ├── recover_document_indexing_task.py │ │ ├── regenerate_summary_index_task.py │ │ ├── remove_app_and_related_data_task.py │ │ ├── remove_document_from_index_task.py │ │ ├── retry_document_indexing_task.py │ │ ├── sync_website_document_indexing_task.py │ │ ├── trigger_processing_tasks.py │ │ ├── trigger_subscription_refresh_tasks.py │ │ ├── workflow_cfs_scheduler/ │ │ │ ├── cfs_scheduler.py │ │ │ └── entities.py │ │ ├── workflow_draft_var_tasks.py │ │ ├── workflow_execution_tasks.py │ │ ├── workflow_node_execution_tasks.py │ │ └── workflow_schedule_tasks.py │ ├── templates/ │ │ ├── change_mail_completed_template_en-US.html │ │ ├── change_mail_completed_template_zh-CN.html │ │ ├── change_mail_confirm_new_template_en-US.html │ │ ├── change_mail_confirm_new_template_zh-CN.html │ │ ├── change_mail_confirm_old_template_en-US.html │ │ ├── change_mail_confirm_old_template_zh-CN.html │ │ ├── clean_document_job_mail_template-US.html │ │ ├── delete_account_code_email_template_en-US.html │ │ ├── delete_account_success_template_en-US.html │ │ ├── email_code_login_mail_template_en-US.html │ │ ├── email_code_login_mail_template_zh-CN.html │ │ ├── invite_member_mail_template_en-US.html │ │ ├── invite_member_mail_template_zh-CN.html │ │ ├── queue_monitor_alert_email_template_en-US.html │ │ ├── register_email_template_en-US.html │ │ ├── register_email_template_zh-CN.html │ │ ├── register_email_when_account_exist_template_en-US.html │ │ ├── register_email_when_account_exist_template_zh-CN.html │ │ ├── reset_password_mail_template_en-US.html │ │ ├── reset_password_mail_template_zh-CN.html │ │ ├── reset_password_mail_when_account_not_exist_no_register_template_en-US.html │ │ ├── reset_password_mail_when_account_not_exist_no_register_template_zh-CN.html │ │ ├── reset_password_mail_when_account_not_exist_template_en-US.html │ │ ├── reset_password_mail_when_account_not_exist_template_zh-CN.html │ │ ├── transfer_workspace_new_owner_notify_template_en-US.html │ │ ├── transfer_workspace_new_owner_notify_template_zh-CN.html │ │ ├── transfer_workspace_old_owner_notify_template_en-US.html │ │ ├── transfer_workspace_old_owner_notify_template_zh-CN.html │ │ ├── transfer_workspace_owner_confirm_template_en-US.html │ │ ├── transfer_workspace_owner_confirm_template_zh-CN.html │ │ └── without-brand/ │ │ ├── change_mail_completed_template_en-US.html │ │ ├── change_mail_completed_template_zh-CN.html │ │ ├── change_mail_confirm_new_template_en-US.html │ │ ├── change_mail_confirm_new_template_zh-CN.html │ │ ├── change_mail_confirm_old_template_en-US.html │ │ ├── change_mail_confirm_old_template_zh-CN.html │ │ ├── email_code_login_mail_template_en-US.html │ │ ├── email_code_login_mail_template_zh-CN.html │ │ ├── invite_member_mail_template_en-US.html │ │ ├── invite_member_mail_template_zh-CN.html │ │ ├── register_email_template_en-US.html │ │ ├── register_email_template_zh-CN.html │ │ ├── register_email_when_account_exist_template_en-US.html │ │ ├── register_email_when_account_exist_template_zh-CN.html │ │ ├── reset_password_mail_template_en-US.html │ │ ├── reset_password_mail_template_zh-CN.html │ │ ├── reset_password_mail_when_account_not_exist_no_register_template_en-US.html │ │ ├── reset_password_mail_when_account_not_exist_no_register_template_zh-CN.html │ │ ├── reset_password_mail_when_account_not_exist_template_en-US.html │ │ ├── reset_password_mail_when_account_not_exist_template_zh-CN.html │ │ ├── transfer_workspace_new_owner_notify_template_en-US.html │ │ ├── transfer_workspace_new_owner_notify_template_zh-CN.html │ │ ├── transfer_workspace_old_owner_notify_template_en-US.html │ │ ├── transfer_workspace_old_owner_notify_template_zh-CN.html │ │ ├── transfer_workspace_owner_confirm_template_en-US.html │ │ └── transfer_workspace_owner_confirm_template_zh-CN.html │ └── tests/ │ ├── __init__.py │ ├── conftest.py │ ├── fixtures/ │ │ └── workflow/ │ │ ├── answer_end_with_text.yml │ │ ├── array_iteration_formatting_workflow.yml │ │ ├── basic_chatflow.yml │ │ ├── basic_llm_chat_workflow.yml │ │ ├── chatflow_time_tool_static_output_workflow.yml │ │ ├── conditional_hello_branching_workflow.yml │ │ ├── conditional_parallel_code_execution_workflow.yml │ │ ├── conditional_streaming_vs_template_workflow.yml │ │ ├── dual_switch_variable_aggregator_workflow.yml │ │ ├── end_node_without_value_type_field_workflow.yml │ │ ├── http_request_with_json_tool_workflow.yml │ │ ├── increment_loop_with_break_condition_workflow.yml │ │ ├── iteration_flatten_output_disabled_workflow.yml │ │ ├── iteration_flatten_output_enabled_workflow.yml │ │ ├── loop_contains_answer.yml │ │ ├── multilingual_parallel_llm_streaming_workflow.yml │ │ ├── search_dify_from_2023_to_2025.yml │ │ ├── simple_passthrough_workflow.yml │ │ ├── test-answer-order.yml │ │ ├── test_complex_branch.yml │ │ ├── test_streaming_conversation_variables.yml │ │ ├── test_streaming_conversation_variables_v1_overwrite.yml │ │ └── update-conversation-variable-in-iteration.yml │ ├── integration_tests/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── controllers/ │ │ │ └── console/ │ │ │ ├── __init__.py │ │ │ ├── app/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_chat_message_permissions.py │ │ │ │ ├── test_description_validation.py │ │ │ │ ├── test_feedback_api_basic.py │ │ │ │ ├── test_feedback_export_api.py │ │ │ │ ├── test_model_config_permissions.py │ │ │ │ └── test_workflow_draft_variable.py │ │ │ └── workspace/ │ │ │ └── test_trigger_provider_permissions.py │ │ ├── core/ │ │ │ ├── datasource/ │ │ │ │ └── test_datasource_manager_integration.py │ │ │ └── workflow/ │ │ │ └── nodes/ │ │ │ └── datasource/ │ │ │ └── test_datasource_node_integration.py │ │ ├── factories/ │ │ │ ├── __init__.py │ │ │ └── test_storage_key_loader.py │ │ ├── libs/ │ │ │ ├── broadcast_channel/ │ │ │ │ └── redis/ │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_data.py │ │ │ │ └── test_helpers.py │ │ │ └── test_api_token_cache_integration.py │ │ ├── model_runtime/ │ │ │ └── __mock/ │ │ │ ├── plugin_daemon.py │ │ │ └── plugin_model.py │ │ ├── plugin/ │ │ │ ├── __mock/ │ │ │ │ └── http.py │ │ │ └── tools/ │ │ │ └── test_fetch_all_tools.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ ├── plugin/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_plugin_lifecycle.py │ │ │ ├── retention/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_messages_clean_service.py │ │ │ │ └── test_workflow_run_archiver.py │ │ │ └── test_workflow_draft_variable_service.py │ │ ├── storage/ │ │ │ └── test_clickzetta_volume.py │ │ ├── tasks/ │ │ │ ├── __init__.py │ │ │ └── test_remove_app_and_related_data_task.py │ │ ├── tools/ │ │ │ ├── __init__.py │ │ │ ├── __mock/ │ │ │ │ └── http.py │ │ │ ├── __mock_server/ │ │ │ │ └── openapi_todo.py │ │ │ ├── api_tool/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_api_tool.py │ │ │ └── code/ │ │ │ └── __init__.py │ │ ├── utils/ │ │ │ ├── child_class.py │ │ │ ├── lazy_load_class.py │ │ │ ├── parent_class.py │ │ │ └── test_module_import_helper.py │ │ ├── vdb/ │ │ │ ├── __init__.py │ │ │ ├── __mock/ │ │ │ │ ├── __init__.py │ │ │ │ ├── baiduvectordb.py │ │ │ │ ├── hologres.py │ │ │ │ ├── huaweicloudvectordb.py │ │ │ │ ├── tcvectordb.py │ │ │ │ ├── upstashvectordb.py │ │ │ │ └── vikingdb.py │ │ │ ├── analyticdb/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_analyticdb.py │ │ │ ├── baidu/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_baidu.py │ │ │ ├── chroma/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_chroma.py │ │ │ ├── clickzetta/ │ │ │ │ ├── README.md │ │ │ │ ├── test_clickzetta.py │ │ │ │ └── test_docker_integration.py │ │ │ ├── couchbase/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_couchbase.py │ │ │ ├── elasticsearch/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_elasticsearch.py │ │ │ ├── hologres/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_hologres.py │ │ │ ├── huawei/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_huawei_cloud.py │ │ │ ├── iris/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_iris.py │ │ │ ├── lindorm/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_lindorm.py │ │ │ ├── matrixone/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_matrixone.py │ │ │ ├── milvus/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_milvus.py │ │ │ ├── myscale/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_myscale.py │ │ │ ├── oceanbase/ │ │ │ │ ├── __init__.py │ │ │ │ ├── bench_oceanbase.py │ │ │ │ └── test_oceanbase.py │ │ │ ├── opengauss/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_opengauss.py │ │ │ ├── opensearch/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_opensearch.py │ │ │ ├── oracle/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_oraclevector.py │ │ │ ├── pgvecto_rs/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_pgvecto_rs.py │ │ │ ├── pgvector/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_pgvector.py │ │ │ ├── pyvastbase/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_vastbase_vector.py │ │ │ ├── qdrant/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_qdrant.py │ │ │ ├── tablestore/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_tablestore.py │ │ │ ├── tcvectordb/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_tencent.py │ │ │ ├── test_vector_store.py │ │ │ ├── tidb_vector/ │ │ │ │ ├── __init__.py │ │ │ │ ├── check_tiflash_ready.py │ │ │ │ └── test_tidb_vector.py │ │ │ ├── upstash/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_upstash_vector.py │ │ │ ├── vikingdb/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_vikingdb.py │ │ │ └── weaviate/ │ │ │ ├── __init__.py │ │ │ └── test_weaviate.py │ │ └── workflow/ │ │ ├── __init__.py │ │ ├── nodes/ │ │ │ ├── __init__.py │ │ │ ├── __mock/ │ │ │ │ ├── code_executor.py │ │ │ │ ├── http.py │ │ │ │ └── model.py │ │ │ ├── code_executor/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_code_executor.py │ │ │ │ ├── test_code_javascript.py │ │ │ │ ├── test_code_jinja2.py │ │ │ │ └── test_code_python3.py │ │ │ ├── knowledge_index/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_knowledge_index_node_integration.py │ │ │ ├── knowledge_retrieval/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_knowledge_retrieval_node_integration.py │ │ │ ├── test_code.py │ │ │ ├── test_http.py │ │ │ ├── test_llm.py │ │ │ ├── test_parameter_extractor.py │ │ │ ├── test_template_transform.py │ │ │ └── test_tool.py │ │ └── test_sync_workflow.py │ ├── test_containers_integration_tests/ │ │ ├── __init__.py │ │ ├── conftest.py │ │ ├── controllers/ │ │ │ ├── console/ │ │ │ │ ├── app/ │ │ │ │ │ ├── test_app_apis.py │ │ │ │ │ ├── test_app_import_api.py │ │ │ │ │ ├── test_chat_conversation_status_count_api.py │ │ │ │ │ ├── test_message.py │ │ │ │ │ ├── test_statistic.py │ │ │ │ │ └── test_workflow_draft_variable.py │ │ │ │ ├── auth/ │ │ │ │ │ ├── test_data_source_bearer_auth.py │ │ │ │ │ ├── test_data_source_oauth.py │ │ │ │ │ ├── test_email_register.py │ │ │ │ │ ├── test_forgot_password.py │ │ │ │ │ ├── test_oauth.py │ │ │ │ │ ├── test_oauth_server.py │ │ │ │ │ └── test_password_reset.py │ │ │ │ ├── datasets/ │ │ │ │ │ ├── rag_pipeline/ │ │ │ │ │ │ ├── test_rag_pipeline.py │ │ │ │ │ │ ├── test_rag_pipeline_datasets.py │ │ │ │ │ │ ├── test_rag_pipeline_import.py │ │ │ │ │ │ └── test_rag_pipeline_workflow.py │ │ │ │ │ └── test_data_source.py │ │ │ │ ├── explore/ │ │ │ │ │ └── test_conversation.py │ │ │ │ ├── helpers.py │ │ │ │ ├── test_apikey.py │ │ │ │ └── workspace/ │ │ │ │ ├── test_tool_provider.py │ │ │ │ ├── test_trigger_providers.py │ │ │ │ └── test_workspace_wraps.py │ │ │ ├── mcp/ │ │ │ │ └── test_mcp.py │ │ │ └── web/ │ │ │ ├── test_conversation.py │ │ │ ├── test_web_forgot_password.py │ │ │ └── test_wraps.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── app/ │ │ │ │ ├── __init__.py │ │ │ │ └── layers/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_pause_state_persist_layer.py │ │ │ ├── rag/ │ │ │ │ ├── __init__.py │ │ │ │ ├── pipeline/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_queue_integration.py │ │ │ │ └── retrieval/ │ │ │ │ └── test_dataset_retrieval_integration.py │ │ │ ├── repositories/ │ │ │ │ └── test_human_input_form_repository_impl.py │ │ │ └── workflow/ │ │ │ └── test_human_input_resume_node_execution.py │ │ ├── factories/ │ │ │ ├── __init__.py │ │ │ └── test_storage_key_loader.py │ │ ├── helpers/ │ │ │ ├── __init__.py │ │ │ └── execution_extra_content.py │ │ ├── libs/ │ │ │ ├── broadcast_channel/ │ │ │ │ └── redis/ │ │ │ │ ├── test_channel.py │ │ │ │ ├── test_sharded_channel.py │ │ │ │ └── test_streams_channel.py │ │ │ ├── test_auto_renew_redis_lock_integration.py │ │ │ └── test_rate_limiter_integration.py │ │ ├── models/ │ │ │ ├── test_account.py │ │ │ ├── test_app_model_config.py │ │ │ ├── test_dataset_models.py │ │ │ └── test_types_enum_text.py │ │ ├── repositories/ │ │ │ ├── test_sqlalchemy_api_workflow_node_execution_repository.py │ │ │ ├── test_sqlalchemy_api_workflow_run_repository.py │ │ │ ├── test_sqlalchemy_execution_extra_content_repository.py │ │ │ ├── test_sqlalchemy_workflow_trigger_log_repository.py │ │ │ └── test_workflow_run_repository.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ ├── auth/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_api_key_auth_service.py │ │ │ │ └── test_auth_integration.py │ │ │ ├── dataset_collection_binding.py │ │ │ ├── dataset_service_update_delete.py │ │ │ ├── document_service_status.py │ │ │ ├── enterprise/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_account_deletion_sync.py │ │ │ ├── plugin/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_plugin_parameter_service.py │ │ │ │ └── test_plugin_service.py │ │ │ ├── recommend_app/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_database_retrieval.py │ │ │ ├── test_account_service.py │ │ │ ├── test_advanced_prompt_template_service.py │ │ │ ├── test_agent_service.py │ │ │ ├── test_annotation_service.py │ │ │ ├── test_api_based_extension_service.py │ │ │ ├── test_api_token_service.py │ │ │ ├── test_app_dsl_service.py │ │ │ ├── test_app_generate_service.py │ │ │ ├── test_app_service.py │ │ │ ├── test_attachment_service.py │ │ │ ├── test_billing_service.py │ │ │ ├── test_conversation_service.py │ │ │ ├── test_conversation_variable_updater.py │ │ │ ├── test_credit_pool_service.py │ │ │ ├── test_dataset_permission_service.py │ │ │ ├── test_dataset_service.py │ │ │ ├── test_dataset_service_batch_update_document_status.py │ │ │ ├── test_dataset_service_create_dataset.py │ │ │ ├── test_dataset_service_delete_dataset.py │ │ │ ├── test_dataset_service_get_segments.py │ │ │ ├── test_dataset_service_retrieval.py │ │ │ ├── test_dataset_service_update_dataset.py │ │ │ ├── test_delete_archived_workflow_run.py │ │ │ ├── test_document_service_display_status.py │ │ │ ├── test_document_service_rename_document.py │ │ │ ├── test_end_user_service.py │ │ │ ├── test_feature_service.py │ │ │ ├── test_feedback_service.py │ │ │ ├── test_file_service.py │ │ │ ├── test_file_service_zip_and_lookup.py │ │ │ ├── test_human_input_delivery_test.py │ │ │ ├── test_human_input_delivery_test_service.py │ │ │ ├── test_message_export_service.py │ │ │ ├── test_message_service.py │ │ │ ├── test_message_service_execution_extra_content.py │ │ │ ├── test_message_service_extra_contents.py │ │ │ ├── test_messages_clean_service.py │ │ │ ├── test_metadata_partial_update.py │ │ │ ├── test_metadata_service.py │ │ │ ├── test_model_load_balancing_service.py │ │ │ ├── test_model_provider_service.py │ │ │ ├── test_oauth_server_service.py │ │ │ ├── test_restore_archived_workflow_run.py │ │ │ ├── test_saved_message_service.py │ │ │ ├── test_tag_service.py │ │ │ ├── test_trigger_provider_service.py │ │ │ ├── test_web_conversation_service.py │ │ │ ├── test_webapp_auth_service.py │ │ │ ├── test_webhook_service.py │ │ │ ├── test_workflow_app_service.py │ │ │ ├── test_workflow_draft_variable_service.py │ │ │ ├── test_workflow_run_service.py │ │ │ ├── test_workflow_service.py │ │ │ ├── test_workspace_service.py │ │ │ ├── tools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_api_tools_manage_service.py │ │ │ │ ├── test_mcp_tools_manage_service.py │ │ │ │ ├── test_tools_transform_service.py │ │ │ │ └── test_workflow_tools_manage_service.py │ │ │ └── workflow/ │ │ │ ├── __init__.py │ │ │ ├── test_workflow_converter.py │ │ │ ├── test_workflow_deletion.py │ │ │ └── test_workflow_node_execution_service_repository.py │ │ ├── tasks/ │ │ │ ├── __init__.py │ │ │ ├── test_add_document_to_index_task.py │ │ │ ├── test_batch_clean_document_task.py │ │ │ ├── test_batch_create_segment_to_index_task.py │ │ │ ├── test_clean_dataset_task.py │ │ │ ├── test_clean_notion_document_task.py │ │ │ ├── test_create_segment_to_index_task.py │ │ │ ├── test_dataset_indexing_task.py │ │ │ ├── test_deal_dataset_vector_index_task.py │ │ │ ├── test_delete_segment_from_index_task.py │ │ │ ├── test_disable_segment_from_index_task.py │ │ │ ├── test_disable_segments_from_index_task.py │ │ │ ├── test_document_indexing_sync_task.py │ │ │ ├── test_document_indexing_task.py │ │ │ ├── test_document_indexing_update_task.py │ │ │ ├── test_duplicate_document_indexing_task.py │ │ │ ├── test_enable_segments_to_index_task.py │ │ │ ├── test_mail_account_deletion_task.py │ │ │ ├── test_mail_change_mail_task.py │ │ │ ├── test_mail_email_code_login_task.py │ │ │ ├── test_mail_human_input_delivery_task.py │ │ │ ├── test_mail_inner_task.py │ │ │ ├── test_mail_invite_member_task.py │ │ │ ├── test_mail_owner_transfer_task.py │ │ │ ├── test_mail_register_task.py │ │ │ ├── test_rag_pipeline_run_tasks.py │ │ │ └── test_remove_app_and_related_data_task.py │ │ ├── test_opendal_fs_default_root.py │ │ ├── test_workflow_pause_integration.py │ │ ├── trigger/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ └── test_trigger_e2e.py │ │ └── workflow/ │ │ ├── __init__.py │ │ └── nodes/ │ │ ├── __init__.py │ │ └── code_executor/ │ │ ├── __init__.py │ │ ├── test_code_executor.py │ │ ├── test_code_javascript.py │ │ ├── test_code_jinja2.py │ │ ├── test_code_python3.py │ │ └── test_utils.py │ ├── unit_tests/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── commands/ │ │ │ ├── test_clean_expired_messages.py │ │ │ └── test_upgrade_db.py │ │ ├── configs/ │ │ │ └── test_dify_config.py │ │ ├── conftest.py │ │ ├── controllers/ │ │ │ ├── __init__.py │ │ │ ├── common/ │ │ │ │ ├── test_errors.py │ │ │ │ ├── test_fields.py │ │ │ │ ├── test_file_response.py │ │ │ │ ├── test_helpers.py │ │ │ │ └── test_schema.py │ │ │ ├── console/ │ │ │ │ ├── __init__.py │ │ │ │ ├── app/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_annotation_api.py │ │ │ │ │ ├── test_annotation_security.py │ │ │ │ │ ├── test_app_response_models.py │ │ │ │ │ ├── test_audio.py │ │ │ │ │ ├── test_audio_api.py │ │ │ │ │ ├── test_conversation_api.py │ │ │ │ │ ├── test_conversation_read_timestamp.py │ │ │ │ │ ├── test_description_validation.py │ │ │ │ │ ├── test_generator_api.py │ │ │ │ │ ├── test_message_api.py │ │ │ │ │ ├── test_model_config_api.py │ │ │ │ │ ├── test_statistic_api.py │ │ │ │ │ ├── test_workflow.py │ │ │ │ │ ├── test_workflow_human_input_debug_api.py │ │ │ │ │ ├── test_workflow_pause_details_api.py │ │ │ │ │ ├── test_wraps.py │ │ │ │ │ └── workflow_draft_variables_test.py │ │ │ │ ├── auth/ │ │ │ │ │ ├── test_account_activation.py │ │ │ │ │ ├── test_authentication_security.py │ │ │ │ │ ├── test_email_verification.py │ │ │ │ │ ├── test_login_logout.py │ │ │ │ │ └── test_token_refresh.py │ │ │ │ ├── billing/ │ │ │ │ │ └── test_billing.py │ │ │ │ ├── datasets/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── rag_pipeline/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── test_datasource_auth.py │ │ │ │ │ │ ├── test_datasource_content_preview.py │ │ │ │ │ │ └── test_rag_pipeline_draft_variable.py │ │ │ │ │ ├── test_datasets.py │ │ │ │ │ ├── test_datasets_document.py │ │ │ │ │ ├── test_datasets_document_download.py │ │ │ │ │ ├── test_datasets_segments.py │ │ │ │ │ ├── test_external.py │ │ │ │ │ ├── test_external_dataset_payload.py │ │ │ │ │ ├── test_hit_testing.py │ │ │ │ │ ├── test_hit_testing_base.py │ │ │ │ │ ├── test_metadata.py │ │ │ │ │ ├── test_website.py │ │ │ │ │ └── test_wraps.py │ │ │ │ ├── explore/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_audio.py │ │ │ │ │ ├── test_banner.py │ │ │ │ │ ├── test_completion.py │ │ │ │ │ ├── test_installed_app.py │ │ │ │ │ ├── test_message.py │ │ │ │ │ ├── test_parameter.py │ │ │ │ │ ├── test_recommended_app.py │ │ │ │ │ ├── test_saved_message.py │ │ │ │ │ ├── test_trial.py │ │ │ │ │ ├── test_workflow.py │ │ │ │ │ └── test_wraps.py │ │ │ │ ├── tag/ │ │ │ │ │ └── test_tags.py │ │ │ │ ├── test_admin.py │ │ │ │ ├── test_document_detail_api_data_source_info.py │ │ │ │ ├── test_extension.py │ │ │ │ ├── test_fastopenapi_ping.py │ │ │ │ ├── test_fastopenapi_setup.py │ │ │ │ ├── test_fastopenapi_version.py │ │ │ │ ├── test_feature.py │ │ │ │ ├── test_files.py │ │ │ │ ├── test_files_security.py │ │ │ │ ├── test_human_input_form.py │ │ │ │ ├── test_init_validate.py │ │ │ │ ├── test_remote_files.py │ │ │ │ ├── test_spec.py │ │ │ │ ├── test_version.py │ │ │ │ ├── test_workspace_account.py │ │ │ │ ├── test_workspace_members.py │ │ │ │ ├── test_wraps.py │ │ │ │ └── workspace/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_accounts.py │ │ │ │ ├── test_agent_providers.py │ │ │ │ ├── test_endpoint.py │ │ │ │ ├── test_load_balancing_config.py │ │ │ │ ├── test_members.py │ │ │ │ ├── test_model_providers.py │ │ │ │ ├── test_models.py │ │ │ │ ├── test_plugin.py │ │ │ │ ├── test_tool_providers.py │ │ │ │ └── test_workspace.py │ │ │ ├── files/ │ │ │ │ ├── test_image_preview.py │ │ │ │ ├── test_tool_files.py │ │ │ │ └── test_upload.py │ │ │ ├── inner_api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── app/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_dsl.py │ │ │ │ ├── plugin/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_plugin.py │ │ │ │ │ └── test_plugin_wraps.py │ │ │ │ ├── test_auth_wraps.py │ │ │ │ ├── test_mail.py │ │ │ │ └── workspace/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_workspace.py │ │ │ ├── service_api/ │ │ │ │ ├── __init__.py │ │ │ │ ├── app/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_annotation.py │ │ │ │ │ ├── test_app.py │ │ │ │ │ ├── test_audio.py │ │ │ │ │ ├── test_chat_request_payload.py │ │ │ │ │ ├── test_completion.py │ │ │ │ │ ├── test_conversation.py │ │ │ │ │ ├── test_file.py │ │ │ │ │ ├── test_file_preview.py │ │ │ │ │ ├── test_message.py │ │ │ │ │ ├── test_workflow.py │ │ │ │ │ └── test_workflow_fields.py │ │ │ │ ├── conftest.py │ │ │ │ ├── dataset/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── rag_pipeline/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── test_rag_pipeline_workflow.py │ │ │ │ │ ├── test_dataset.py │ │ │ │ │ ├── test_dataset_segment.py │ │ │ │ │ ├── test_document.py │ │ │ │ │ ├── test_hit_testing.py │ │ │ │ │ ├── test_metadata.py │ │ │ │ │ ├── test_rag_pipeline_file_upload_serialization.py │ │ │ │ │ └── test_rag_pipeline_route_registration.py │ │ │ │ ├── end_user/ │ │ │ │ │ └── test_end_user.py │ │ │ │ ├── test_index.py │ │ │ │ ├── test_site.py │ │ │ │ └── test_wraps.py │ │ │ ├── test_compare_versions.py │ │ │ ├── test_conversation_rename_payload.py │ │ │ ├── trigger/ │ │ │ │ ├── test_trigger.py │ │ │ │ └── test_webhook.py │ │ │ └── web/ │ │ │ ├── __init__.py │ │ │ ├── conftest.py │ │ │ ├── test_app.py │ │ │ ├── test_audio.py │ │ │ ├── test_completion.py │ │ │ ├── test_error.py │ │ │ ├── test_feature.py │ │ │ ├── test_files.py │ │ │ ├── test_human_input_form.py │ │ │ ├── test_message_endpoints.py │ │ │ ├── test_message_list.py │ │ │ ├── test_passport.py │ │ │ ├── test_pydantic_models.py │ │ │ ├── test_remote_files.py │ │ │ ├── test_saved_message.py │ │ │ ├── test_site.py │ │ │ ├── test_web_login.py │ │ │ ├── test_web_passport.py │ │ │ ├── test_workflow.py │ │ │ └── test_workflow_events.py │ │ ├── core/ │ │ │ ├── __init__.py │ │ │ ├── agent/ │ │ │ │ ├── conftest.py │ │ │ │ ├── output_parser/ │ │ │ │ │ └── test_cot_output_parser.py │ │ │ │ ├── strategy/ │ │ │ │ │ ├── test_base.py │ │ │ │ │ └── test_plugin.py │ │ │ │ ├── test_base_agent_runner.py │ │ │ │ ├── test_cot_agent_runner.py │ │ │ │ ├── test_cot_chat_agent_runner.py │ │ │ │ ├── test_cot_completion_agent_runner.py │ │ │ │ ├── test_fc_agent_runner.py │ │ │ │ └── test_plugin_entities.py │ │ │ ├── app/ │ │ │ │ ├── app_config/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── test_parameters_mapping.py │ │ │ │ │ │ └── test_sensitive_word_avoidance_manager.py │ │ │ │ │ ├── easy_ui_based_app/ │ │ │ │ │ │ ├── test_agent_manager.py │ │ │ │ │ │ ├── test_dataset_manager.py │ │ │ │ │ │ ├── test_model_config_converter.py │ │ │ │ │ │ ├── test_model_config_manager.py │ │ │ │ │ │ ├── test_prompt_template_manager.py │ │ │ │ │ │ └── test_variables_manager.py │ │ │ │ │ ├── features/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── file_upload/ │ │ │ │ │ │ │ └── test_manager.py │ │ │ │ │ │ └── test_additional_feature_managers.py │ │ │ │ │ ├── test_base_app_config_manager.py │ │ │ │ │ ├── test_entities.py │ │ │ │ │ └── workflow_ui_based_app/ │ │ │ │ │ └── test_workflow_ui_based_app_manager.py │ │ │ │ ├── apps/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── advanced_chat/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── test_app_config_manager.py │ │ │ │ │ │ ├── test_app_generator.py │ │ │ │ │ │ ├── test_app_runner_conversation_variables.py │ │ │ │ │ │ ├── test_app_runner_input_moderation.py │ │ │ │ │ │ ├── test_generate_response_converter.py │ │ │ │ │ │ ├── test_generate_task_pipeline.py │ │ │ │ │ │ └── test_generate_task_pipeline_core.py │ │ │ │ │ ├── agent_chat/ │ │ │ │ │ │ ├── test_agent_chat_app_config_manager.py │ │ │ │ │ │ ├── test_agent_chat_app_generator.py │ │ │ │ │ │ ├── test_agent_chat_app_runner.py │ │ │ │ │ │ └── test_agent_chat_generate_response_converter.py │ │ │ │ │ ├── chat/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── test_app_config_manager.py │ │ │ │ │ │ ├── test_app_generator_and_runner.py │ │ │ │ │ │ ├── test_base_app_runner_multimodal.py │ │ │ │ │ │ └── test_generate_response_converter.py │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── test_graph_runtime_state_support.py │ │ │ │ │ │ ├── test_workflow_response_converter.py │ │ │ │ │ │ ├── test_workflow_response_converter_human_input.py │ │ │ │ │ │ ├── test_workflow_response_converter_resumption.py │ │ │ │ │ │ └── test_workflow_response_converter_truncation.py │ │ │ │ │ ├── completion/ │ │ │ │ │ │ ├── test_app_runner.py │ │ │ │ │ │ ├── test_completion_app_config_manager.py │ │ │ │ │ │ ├── test_completion_completion_app_generator.py │ │ │ │ │ │ └── test_completion_generate_response_converter.py │ │ │ │ │ ├── pipeline/ │ │ │ │ │ │ ├── test_pipeline_config_manager.py │ │ │ │ │ │ ├── test_pipeline_generate_response_converter.py │ │ │ │ │ │ ├── test_pipeline_generator.py │ │ │ │ │ │ ├── test_pipeline_queue_manager.py │ │ │ │ │ │ └── test_pipeline_runner.py │ │ │ │ │ ├── test_advanced_chat_app_generator.py │ │ │ │ │ ├── test_base_app_generator.py │ │ │ │ │ ├── test_base_app_queue_manager.py │ │ │ │ │ ├── test_base_app_runner.py │ │ │ │ │ ├── test_exc.py │ │ │ │ │ ├── test_message_based_app_generator.py │ │ │ │ │ ├── test_message_based_app_queue_manager.py │ │ │ │ │ ├── test_message_generator.py │ │ │ │ │ ├── test_pause_resume.py │ │ │ │ │ ├── test_streaming_utils.py │ │ │ │ │ ├── test_workflow_app_generator.py │ │ │ │ │ ├── test_workflow_app_runner_core.py │ │ │ │ │ ├── test_workflow_app_runner_notifications.py │ │ │ │ │ ├── test_workflow_app_runner_single_node.py │ │ │ │ │ ├── test_workflow_pause_events.py │ │ │ │ │ └── workflow/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_app_config_manager.py │ │ │ │ │ ├── test_app_generator_extra.py │ │ │ │ │ ├── test_app_queue_manager.py │ │ │ │ │ ├── test_errors.py │ │ │ │ │ ├── test_generate_response_converter.py │ │ │ │ │ ├── test_generate_task_pipeline.py │ │ │ │ │ └── test_generate_task_pipeline_core.py │ │ │ │ ├── entities/ │ │ │ │ │ ├── test_app_invoke_entities.py │ │ │ │ │ ├── test_queue_entities.py │ │ │ │ │ ├── test_rag_pipeline_invoke_entities.py │ │ │ │ │ └── test_task_entities.py │ │ │ │ ├── features/ │ │ │ │ │ ├── rate_limiting/ │ │ │ │ │ │ ├── conftest.py │ │ │ │ │ │ └── test_rate_limit.py │ │ │ │ │ ├── test_annotation_reply.py │ │ │ │ │ └── test_hosting_moderation.py │ │ │ │ ├── layers/ │ │ │ │ │ ├── test_conversation_variable_persist_layer.py │ │ │ │ │ ├── test_pause_state_persist_layer.py │ │ │ │ │ ├── test_suspend_layer.py │ │ │ │ │ ├── test_timeslice_layer.py │ │ │ │ │ └── test_trigger_post_layer.py │ │ │ │ ├── task_pipeline/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_based_generate_task_pipeline.py │ │ │ │ │ ├── test_easy_ui_based_generate_task_pipeline.py │ │ │ │ │ ├── test_easy_ui_based_generate_task_pipeline_core.py │ │ │ │ │ ├── test_easy_ui_message_end_files.py │ │ │ │ │ ├── test_exc.py │ │ │ │ │ └── test_message_cycle_manager_optimization.py │ │ │ │ ├── test_easy_ui_model_config_manager.py │ │ │ │ └── workflow/ │ │ │ │ ├── layers/ │ │ │ │ │ └── test_persistence.py │ │ │ │ ├── test_file_runtime.py │ │ │ │ ├── test_node_factory.py │ │ │ │ ├── test_observability_layer_extra.py │ │ │ │ └── test_persistence_layer.py │ │ │ ├── base/ │ │ │ │ └── test_app_generator_tts_publisher.py │ │ │ ├── callback_handler/ │ │ │ │ ├── test_agent_tool_callback_handler.py │ │ │ │ ├── test_index_tool_callback_handler.py │ │ │ │ └── test_workflow_tool_callback_handler.py │ │ │ ├── datasource/ │ │ │ │ ├── __base/ │ │ │ │ │ ├── test_datasource_plugin.py │ │ │ │ │ ├── test_datasource_provider.py │ │ │ │ │ └── test_datasource_runtime.py │ │ │ │ ├── entities/ │ │ │ │ │ ├── test_api_entities.py │ │ │ │ │ ├── test_common_entities.py │ │ │ │ │ └── test_datasource_entities.py │ │ │ │ ├── local_file/ │ │ │ │ │ ├── test_local_file_plugin.py │ │ │ │ │ └── test_local_file_provider.py │ │ │ │ ├── online_document/ │ │ │ │ │ ├── test_online_document_plugin.py │ │ │ │ │ └── test_online_document_provider.py │ │ │ │ ├── online_drive/ │ │ │ │ │ ├── test_online_drive_plugin.py │ │ │ │ │ └── test_online_drive_provider.py │ │ │ │ ├── test_datasource_file_manager.py │ │ │ │ ├── test_datasource_manager.py │ │ │ │ ├── test_errors.py │ │ │ │ ├── test_file_upload.py │ │ │ │ ├── test_notion_provider.py │ │ │ │ ├── test_website_crawl.py │ │ │ │ ├── utils/ │ │ │ │ │ └── test_message_transformer.py │ │ │ │ └── website_crawl/ │ │ │ │ ├── test_website_crawl_plugin.py │ │ │ │ └── test_website_crawl_provider.py │ │ │ ├── entities/ │ │ │ │ ├── test_entities_agent_entities.py │ │ │ │ ├── test_entities_document_task.py │ │ │ │ ├── test_entities_embedding_type.py │ │ │ │ ├── test_entities_execution_extra_content.py │ │ │ │ ├── test_entities_knowledge_entities.py │ │ │ │ ├── test_entities_mcp_provider.py │ │ │ │ ├── test_entities_model_entities.py │ │ │ │ ├── test_entities_parameter_entities.py │ │ │ │ ├── test_entities_provider_configuration.py │ │ │ │ └── test_entities_provider_entities.py │ │ │ ├── extension/ │ │ │ │ ├── test_api_based_extension_requestor.py │ │ │ │ ├── test_extensible.py │ │ │ │ └── test_extension.py │ │ │ ├── external_data_tool/ │ │ │ │ ├── api/ │ │ │ │ │ └── test_api.py │ │ │ │ ├── test_base.py │ │ │ │ ├── test_external_data_fetch.py │ │ │ │ └── test_factory.py │ │ │ ├── file/ │ │ │ │ └── test_models.py │ │ │ ├── helper/ │ │ │ │ ├── __init__.py │ │ │ │ ├── code_executor/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── javascript/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── test_javascript_transformer.py │ │ │ │ │ └── python3/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_python3_transformer.py │ │ │ │ ├── test_csv_sanitizer.py │ │ │ │ ├── test_encrypter.py │ │ │ │ ├── test_ssrf_proxy.py │ │ │ │ └── test_trace_id_helper.py │ │ │ ├── llm_generator/ │ │ │ │ ├── output_parser/ │ │ │ │ │ ├── test_rule_config_generator.py │ │ │ │ │ └── test_structured_output.py │ │ │ │ └── test_llm_generator.py │ │ │ ├── logging/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_context.py │ │ │ │ ├── test_filters.py │ │ │ │ ├── test_structured_formatter.py │ │ │ │ └── test_trace_helpers.py │ │ │ ├── mcp/ │ │ │ │ ├── __init__.py │ │ │ │ ├── auth/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_auth_flow.py │ │ │ │ ├── client/ │ │ │ │ │ ├── test_session.py │ │ │ │ │ ├── test_sse.py │ │ │ │ │ └── test_streamable_http.py │ │ │ │ ├── server/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_streamable_http.py │ │ │ │ ├── session/ │ │ │ │ │ ├── test_base_session.py │ │ │ │ │ └── test_client_session.py │ │ │ │ ├── test_auth_client_inheritance.py │ │ │ │ ├── test_entities.py │ │ │ │ ├── test_error.py │ │ │ │ ├── test_mcp_client.py │ │ │ │ ├── test_types.py │ │ │ │ └── test_utils.py │ │ │ ├── memory/ │ │ │ │ └── test_token_buffer_memory.py │ │ │ ├── model_runtime/ │ │ │ │ └── test_model_provider_factory.py │ │ │ ├── moderation/ │ │ │ │ ├── __init__.py │ │ │ │ ├── api/ │ │ │ │ │ └── test_api.py │ │ │ │ ├── test_content_moderation.py │ │ │ │ ├── test_input_moderation.py │ │ │ │ ├── test_output_moderation.py │ │ │ │ └── test_sensitive_word_filter.py │ │ │ ├── ops/ │ │ │ │ ├── __init__.py │ │ │ │ ├── aliyun_trace/ │ │ │ │ │ ├── data_exporter/ │ │ │ │ │ │ └── test_traceclient.py │ │ │ │ │ ├── entities/ │ │ │ │ │ │ ├── test_aliyun_trace_entity.py │ │ │ │ │ │ └── test_semconv.py │ │ │ │ │ ├── test_aliyun_trace.py │ │ │ │ │ └── test_aliyun_trace_utils.py │ │ │ │ ├── arize_phoenix_trace/ │ │ │ │ │ └── test_arize_phoenix_trace.py │ │ │ │ ├── langfuse_trace/ │ │ │ │ │ └── test_langfuse_trace.py │ │ │ │ ├── langsmith_trace/ │ │ │ │ │ └── test_langsmith_trace.py │ │ │ │ ├── mlflow_trace/ │ │ │ │ │ └── test_mlflow_trace.py │ │ │ │ ├── opik_trace/ │ │ │ │ │ └── test_opik_trace.py │ │ │ │ ├── tencent_trace/ │ │ │ │ │ ├── test_client.py │ │ │ │ │ ├── test_span_builder.py │ │ │ │ │ ├── test_tencent_trace.py │ │ │ │ │ └── test_tencent_trace_utils.py │ │ │ │ ├── test_arize_phoenix_trace.py │ │ │ │ ├── test_base_trace_instance.py │ │ │ │ ├── test_config_entity.py │ │ │ │ ├── test_lookup_helpers.py │ │ │ │ ├── test_opik_trace.py │ │ │ │ ├── test_ops_trace_manager.py │ │ │ │ ├── test_trace_queue_manager.py │ │ │ │ ├── test_utils.py │ │ │ │ └── weave_trace/ │ │ │ │ └── test_weave_trace.py │ │ │ ├── plugin/ │ │ │ │ ├── __init__.py │ │ │ │ ├── impl/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_agent_client.py │ │ │ │ │ ├── test_asset_manager.py │ │ │ │ │ ├── test_base_client_impl.py │ │ │ │ │ ├── test_datasource_manager.py │ │ │ │ │ ├── test_debugging_client.py │ │ │ │ │ ├── test_endpoint_client_impl.py │ │ │ │ │ ├── test_exc_impl.py │ │ │ │ │ ├── test_model_client.py │ │ │ │ │ ├── test_model_runtime_factory.py │ │ │ │ │ ├── test_oauth_handler.py │ │ │ │ │ ├── test_tool_manager.py │ │ │ │ │ └── test_trigger_client.py │ │ │ │ ├── test_backwards_invocation_app.py │ │ │ │ ├── test_backwards_invocation_model.py │ │ │ │ ├── test_endpoint_client.py │ │ │ │ ├── test_model_runtime_adapter.py │ │ │ │ ├── test_plugin_entities.py │ │ │ │ ├── test_plugin_manager.py │ │ │ │ ├── test_plugin_runtime.py │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_chunk_merger.py │ │ │ │ └── test_http_parser.py │ │ │ ├── prompt/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_advanced_prompt_transform.py │ │ │ │ ├── test_agent_history_prompt_transform.py │ │ │ │ ├── test_extract_thread_messages.py │ │ │ │ ├── test_prompt_message.py │ │ │ │ ├── test_prompt_transform.py │ │ │ │ └── test_simple_prompt_transform.py │ │ │ ├── rag/ │ │ │ │ ├── __init__.py │ │ │ │ ├── cleaner/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_clean_processor.py │ │ │ │ ├── data_post_processor/ │ │ │ │ │ └── test_data_post_processor.py │ │ │ │ ├── datasource/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── keyword/ │ │ │ │ │ │ ├── jieba/ │ │ │ │ │ │ │ ├── test_jieba.py │ │ │ │ │ │ │ ├── test_jieba_keyword_table_handler.py │ │ │ │ │ │ │ └── test_stopwords.py │ │ │ │ │ │ ├── test_keyword_base.py │ │ │ │ │ │ └── test_keyword_factory.py │ │ │ │ │ ├── test_datasource_retrieval.py │ │ │ │ │ └── vdb/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── alibabacloud_mysql/ │ │ │ │ │ │ ├── test_alibabacloud_mysql_factory.py │ │ │ │ │ │ └── test_alibabacloud_mysql_vector.py │ │ │ │ │ ├── analyticdb/ │ │ │ │ │ │ ├── test_analyticdb_vector.py │ │ │ │ │ │ ├── test_analyticdb_vector_openapi.py │ │ │ │ │ │ └── test_analyticdb_vector_sql.py │ │ │ │ │ ├── baidu/ │ │ │ │ │ │ └── test_baidu_vector.py │ │ │ │ │ ├── chroma/ │ │ │ │ │ │ └── test_chroma_vector.py │ │ │ │ │ ├── clickzetta/ │ │ │ │ │ │ └── test_clickzetta_vector.py │ │ │ │ │ ├── couchbase/ │ │ │ │ │ │ └── test_couchbase_vector.py │ │ │ │ │ ├── elasticsearch/ │ │ │ │ │ │ ├── test_elasticsearch_ja_vector.py │ │ │ │ │ │ └── test_elasticsearch_vector.py │ │ │ │ │ ├── hologres/ │ │ │ │ │ │ └── test_hologres_vector.py │ │ │ │ │ ├── huawei/ │ │ │ │ │ │ └── test_huawei_cloud_vector.py │ │ │ │ │ ├── iris/ │ │ │ │ │ │ └── test_iris_vector.py │ │ │ │ │ ├── lindorm/ │ │ │ │ │ │ └── test_lindorm_vector.py │ │ │ │ │ ├── matrixone/ │ │ │ │ │ │ └── test_matrixone_vector.py │ │ │ │ │ ├── milvus/ │ │ │ │ │ │ └── test_milvus.py │ │ │ │ │ ├── myscale/ │ │ │ │ │ │ └── test_myscale_vector.py │ │ │ │ │ ├── oceanbase/ │ │ │ │ │ │ └── test_oceanbase_vector.py │ │ │ │ │ ├── opengauss/ │ │ │ │ │ │ └── test_opengauss.py │ │ │ │ │ ├── opensearch/ │ │ │ │ │ │ └── test_opensearch_vector.py │ │ │ │ │ ├── oracle/ │ │ │ │ │ │ └── test_oraclevector.py │ │ │ │ │ ├── pgvecto_rs/ │ │ │ │ │ │ └── test_pgvecto_rs.py │ │ │ │ │ ├── pgvector/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── test_pgvector.py │ │ │ │ │ ├── pyvastbase/ │ │ │ │ │ │ └── test_vastbase_vector.py │ │ │ │ │ ├── qdrant/ │ │ │ │ │ │ └── test_qdrant_vector.py │ │ │ │ │ ├── relyt/ │ │ │ │ │ │ └── test_relyt_vector.py │ │ │ │ │ ├── tablestore/ │ │ │ │ │ │ └── test_tablestore_vector.py │ │ │ │ │ ├── tencent/ │ │ │ │ │ │ └── test_tencent_vector.py │ │ │ │ │ ├── test_field.py │ │ │ │ │ ├── test_vector_base.py │ │ │ │ │ ├── test_vector_factory.py │ │ │ │ │ ├── tidb_on_qdrant/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── test_tidb_on_qdrant_vector.py │ │ │ │ │ ├── tidb_vector/ │ │ │ │ │ │ └── test_tidb_vector.py │ │ │ │ │ ├── upstash/ │ │ │ │ │ │ └── test_upstash_vector.py │ │ │ │ │ ├── vikingdb/ │ │ │ │ │ │ └── test_vikingdb_vector.py │ │ │ │ │ └── weaviate/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_weavaite.py │ │ │ │ │ └── test_weaviate_vector.py │ │ │ │ ├── docstore/ │ │ │ │ │ └── test_dataset_docstore.py │ │ │ │ ├── embedding/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_cached_embedding.py │ │ │ │ │ ├── test_embedding_base.py │ │ │ │ │ └── test_embedding_service.py │ │ │ │ ├── extractor/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── blob/ │ │ │ │ │ │ └── test_blob.py │ │ │ │ │ ├── firecrawl/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ └── test_firecrawl.py │ │ │ │ │ ├── test_csv_extractor.py │ │ │ │ │ ├── test_excel_extractor.py │ │ │ │ │ ├── test_extract_processor.py │ │ │ │ │ ├── test_extractor_base.py │ │ │ │ │ ├── test_helpers.py │ │ │ │ │ ├── test_html_extractor.py │ │ │ │ │ ├── test_jina_reader_extractor.py │ │ │ │ │ ├── test_markdown_extractor.py │ │ │ │ │ ├── test_notion_extractor.py │ │ │ │ │ ├── test_pdf_extractor.py │ │ │ │ │ ├── test_text_extractor.py │ │ │ │ │ ├── test_word_extractor.py │ │ │ │ │ ├── unstructured/ │ │ │ │ │ │ └── test_unstructured_extractors.py │ │ │ │ │ └── watercrawl/ │ │ │ │ │ └── test_watercrawl.py │ │ │ │ ├── indexing/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── processor/ │ │ │ │ │ │ ├── conftest.py │ │ │ │ │ │ ├── test_paragraph_index_processor.py │ │ │ │ │ │ ├── test_parent_child_index_processor.py │ │ │ │ │ │ └── test_qa_index_processor.py │ │ │ │ │ ├── test_index_processor.py │ │ │ │ │ ├── test_index_processor_base.py │ │ │ │ │ ├── test_index_processor_factory.py │ │ │ │ │ └── test_indexing_runner.py │ │ │ │ ├── pipeline/ │ │ │ │ │ └── test_queue.py │ │ │ │ ├── rerank/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_reranker.py │ │ │ │ ├── retrieval/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_dataset_retrieval.py │ │ │ │ │ ├── test_dataset_retrieval_methods.py │ │ │ │ │ ├── test_multi_dataset_function_call_router.py │ │ │ │ │ ├── test_multi_dataset_react_route.py │ │ │ │ │ └── test_structured_chat_output_parser.py │ │ │ │ └── splitter/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_text_splitter.py │ │ │ ├── repositories/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_celery_workflow_execution_repository.py │ │ │ │ ├── test_celery_workflow_node_execution_repository.py │ │ │ │ ├── test_factory.py │ │ │ │ ├── test_human_input_form_repository_impl.py │ │ │ │ ├── test_human_input_repository.py │ │ │ │ ├── test_sqlalchemy_workflow_execution_repository.py │ │ │ │ ├── test_sqlalchemy_workflow_node_execution_repository.py │ │ │ │ ├── test_workflow_node_execution_conflict_handling.py │ │ │ │ └── test_workflow_node_execution_truncation.py │ │ │ ├── schemas/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_registry.py │ │ │ │ ├── test_resolver.py │ │ │ │ └── test_schema_manager.py │ │ │ ├── telemetry/ │ │ │ │ ├── test_facade.py │ │ │ │ └── test_gateway_integration.py │ │ │ ├── test_file.py │ │ │ ├── test_model_manager.py │ │ │ ├── test_provider_configuration.py │ │ │ ├── test_provider_manager.py │ │ │ ├── test_trigger_debug_event_selectors.py │ │ │ ├── tools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── entities/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_api_entities.py │ │ │ │ ├── test_base_tool.py │ │ │ │ ├── test_builtin_tool_base.py │ │ │ │ ├── test_builtin_tool_provider.py │ │ │ │ ├── test_builtin_tools_extra.py │ │ │ │ ├── test_custom_tool.py │ │ │ │ ├── test_custom_tool_provider.py │ │ │ │ ├── test_dataset_retriever_tool.py │ │ │ │ ├── test_mcp_tool.py │ │ │ │ ├── test_mcp_tool_provider.py │ │ │ │ ├── test_plugin_tool.py │ │ │ │ ├── test_plugin_tool_provider.py │ │ │ │ ├── test_signature.py │ │ │ │ ├── test_tool_engine.py │ │ │ │ ├── test_tool_entities.py │ │ │ │ ├── test_tool_file_manager.py │ │ │ │ ├── test_tool_label_manager.py │ │ │ │ ├── test_tool_manager.py │ │ │ │ ├── test_tool_parameter_type.py │ │ │ │ ├── test_tool_provider_controller.py │ │ │ │ ├── utils/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_configuration.py │ │ │ │ │ ├── test_encryption.py │ │ │ │ │ ├── test_message_transformer.py │ │ │ │ │ ├── test_misc_utils_extra.py │ │ │ │ │ ├── test_model_invocation_utils.py │ │ │ │ │ ├── test_parser.py │ │ │ │ │ ├── test_system_oauth_encryption.py │ │ │ │ │ ├── test_tool_engine_serialization.py │ │ │ │ │ ├── test_web_reader_tool.py │ │ │ │ │ └── test_workflow_configuration_sync.py │ │ │ │ └── workflow_as_tool/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_provider.py │ │ │ │ └── test_tool.py │ │ │ ├── trigger/ │ │ │ │ ├── __init__.py │ │ │ │ ├── conftest.py │ │ │ │ ├── debug/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_debug_event_bus.py │ │ │ │ │ └── test_debug_event_selectors.py │ │ │ │ ├── test_provider.py │ │ │ │ ├── test_trigger_manager.py │ │ │ │ └── utils/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_utils_encryption.py │ │ │ │ ├── test_utils_endpoint.py │ │ │ │ └── test_utils_locks.py │ │ │ ├── variables/ │ │ │ │ ├── test_segment.py │ │ │ │ ├── test_segment_type.py │ │ │ │ ├── test_segment_type_validation.py │ │ │ │ └── test_variables.py │ │ │ └── workflow/ │ │ │ ├── __init__.py │ │ │ ├── context/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_execution_context.py │ │ │ │ └── test_flask_app_context.py │ │ │ ├── entities/ │ │ │ │ └── test_private_workflow_pause.py │ │ │ ├── graph_engine/ │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── layers/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── conftest.py │ │ │ │ │ ├── test_llm_quota.py │ │ │ │ │ └── test_observability.py │ │ │ │ ├── test_mock_config.py │ │ │ │ ├── test_mock_factory.py │ │ │ │ ├── test_mock_nodes.py │ │ │ │ ├── test_parallel_human_input_join_resume.py │ │ │ │ ├── test_table_runner.py │ │ │ │ └── test_tool_in_chatflow.py │ │ │ ├── nodes/ │ │ │ │ ├── __init__.py │ │ │ │ ├── agent/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_message_transformer.py │ │ │ │ │ └── test_runtime_support.py │ │ │ │ ├── answer/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_answer.py │ │ │ │ ├── base/ │ │ │ │ │ ├── test_base_node.py │ │ │ │ │ └── test_get_node_type_classes_mapping.py │ │ │ │ ├── code/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── code_node_spec.py │ │ │ │ ├── datasource/ │ │ │ │ │ └── test_datasource_node.py │ │ │ │ ├── http_request/ │ │ │ │ │ ├── test_http_request_executor.py │ │ │ │ │ └── test_http_request_node.py │ │ │ │ ├── human_input/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_email_delivery_config.py │ │ │ │ │ ├── test_entities.py │ │ │ │ │ └── test_human_input_form_filled_event.py │ │ │ │ ├── iteration/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_iteration_child_engine_errors.py │ │ │ │ ├── knowledge_index/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_knowledge_index_node.py │ │ │ │ ├── knowledge_retrieval/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_knowledge_retrieval_node.py │ │ │ │ ├── list_operator/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── node_spec.py │ │ │ │ ├── llm/ │ │ │ │ │ ├── test_llm_utils.py │ │ │ │ │ └── test_node.py │ │ │ │ ├── parameter_extractor/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_parameter_extractor_node.py │ │ │ │ ├── template_transform/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── template_transform_node_spec.py │ │ │ │ │ └── test_template_transform_node.py │ │ │ │ ├── test_base_node.py │ │ │ │ ├── test_document_extractor_node.py │ │ │ │ ├── test_if_else.py │ │ │ │ ├── test_list_operator.py │ │ │ │ ├── test_start_node_json_object.py │ │ │ │ ├── tool/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_tool_node.py │ │ │ │ │ └── test_tool_node_runtime.py │ │ │ │ ├── trigger_plugin/ │ │ │ │ │ └── test_trigger_event_node.py │ │ │ │ └── webhook/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_entities.py │ │ │ │ ├── test_exceptions.py │ │ │ │ ├── test_webhook_file_conversion.py │ │ │ │ └── test_webhook_node.py │ │ │ ├── test_human_input_compat.py │ │ │ ├── test_human_input_forms.py │ │ │ ├── test_node_factory.py │ │ │ ├── test_node_mapping_bootstrap.py │ │ │ ├── test_node_runtime.py │ │ │ ├── test_system_variable.py │ │ │ ├── test_variable_pool.py │ │ │ ├── test_variable_pool_conver.py │ │ │ ├── test_workflow_entry.py │ │ │ ├── test_workflow_entry_helpers.py │ │ │ └── test_workflow_entry_redis_channel.py │ │ ├── enterprise/ │ │ │ └── telemetry/ │ │ │ ├── __init__.py │ │ │ ├── test_contracts.py │ │ │ ├── test_draft_trace.py │ │ │ ├── test_enterprise_trace.py │ │ │ ├── test_event_handlers.py │ │ │ ├── test_exporter.py │ │ │ ├── test_gateway.py │ │ │ ├── test_id_generator.py │ │ │ ├── test_metric_handler.py │ │ │ └── test_telemetry_log.py │ │ ├── events/ │ │ │ └── test_app_event_signals.py │ │ ├── extensions/ │ │ │ ├── logstore/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_sql_escape.py │ │ │ ├── otel/ │ │ │ │ ├── __init__.py │ │ │ │ ├── conftest.py │ │ │ │ ├── decorators/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── handlers/ │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── test_generate_handler.py │ │ │ │ │ │ └── test_workflow_app_runner_handler.py │ │ │ │ │ ├── test_base.py │ │ │ │ │ └── test_handler.py │ │ │ │ └── test_celery_sqlcommenter.py │ │ │ ├── storage/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_supabase_storage.py │ │ │ ├── test_celery_ssl.py │ │ │ ├── test_ext_request_logging.py │ │ │ ├── test_pubsub_channel.py │ │ │ └── test_redis.py │ │ ├── factories/ │ │ │ ├── test_build_from_mapping.py │ │ │ ├── test_file_factory.py │ │ │ └── test_variable_factory.py │ │ ├── fields/ │ │ │ └── test_file_fields.py │ │ ├── libs/ │ │ │ ├── _human_input/ │ │ │ │ ├── __init__.py │ │ │ │ ├── support.py │ │ │ │ ├── test_form_service.py │ │ │ │ └── test_models.py │ │ │ ├── broadcast_channel/ │ │ │ │ └── redis/ │ │ │ │ ├── test_channel_unit_tests.py │ │ │ │ └── test_streams_channel_unit_tests.py │ │ │ ├── test_api_token_cache.py │ │ │ ├── test_archive_storage.py │ │ │ ├── test_cron_compatibility.py │ │ │ ├── test_custom_inputs.py │ │ │ ├── test_datetime_utils.py │ │ │ ├── test_email.py │ │ │ ├── test_email_i18n.py │ │ │ ├── test_encryption.py │ │ │ ├── test_external_api.py │ │ │ ├── test_file_utils.py │ │ │ ├── test_flask_utils.py │ │ │ ├── test_helper.py │ │ │ ├── test_json_in_md_parser.py │ │ │ ├── test_jwt_imports.py │ │ │ ├── test_login.py │ │ │ ├── test_oauth_base.py │ │ │ ├── test_oauth_clients.py │ │ │ ├── test_orjson.py │ │ │ ├── test_pandas.py │ │ │ ├── test_passport.py │ │ │ ├── test_password.py │ │ │ ├── test_pyrefly_diagnostics.py │ │ │ ├── test_rate_limiter.py │ │ │ ├── test_rsa.py │ │ │ ├── test_schedule_utils_enhanced.py │ │ │ ├── test_sendgrid_client.py │ │ │ ├── test_smtp_client.py │ │ │ ├── test_time_parser.py │ │ │ ├── test_token.py │ │ │ ├── test_uuid_utils.py │ │ │ ├── test_workspace_permission.py │ │ │ └── test_yarl.py │ │ ├── models/ │ │ │ ├── __init__.py │ │ │ ├── test_account.py │ │ │ ├── test_account_models.py │ │ │ ├── test_app_models.py │ │ │ ├── test_base.py │ │ │ ├── test_conversation_variable.py │ │ │ ├── test_dataset_models.py │ │ │ ├── test_enums_creator_user_role.py │ │ │ ├── test_model.py │ │ │ ├── test_plugin_entities.py │ │ │ ├── test_provider_models.py │ │ │ ├── test_tool_models.py │ │ │ ├── test_workflow.py │ │ │ ├── test_workflow_models.py │ │ │ ├── test_workflow_node_execution_offload.py │ │ │ └── test_workflow_trigger_log.py │ │ ├── oss/ │ │ │ ├── __init__.py │ │ │ ├── __mock/ │ │ │ │ ├── __init__.py │ │ │ │ ├── aliyun_oss.py │ │ │ │ ├── base.py │ │ │ │ ├── local.py │ │ │ │ ├── tencent_cos.py │ │ │ │ └── volcengine_tos.py │ │ │ ├── aliyun_oss/ │ │ │ │ └── aliyun_oss/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_aliyun_oss.py │ │ │ ├── opendal/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_opendal.py │ │ │ ├── tencent_cos/ │ │ │ │ ├── __init__.py │ │ │ │ └── test_tencent_cos.py │ │ │ └── volcengine_tos/ │ │ │ ├── __init__.py │ │ │ └── test_volcengine_tos.py │ │ ├── repositories/ │ │ │ ├── __init__.py │ │ │ └── workflow_node_execution/ │ │ │ ├── __init__.py │ │ │ ├── test_sqlalchemy_repository.py │ │ │ └── test_sqlalchemy_workflow_node_execution_repository.py │ │ ├── services/ │ │ │ ├── __init__.py │ │ │ ├── auth/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_api_key_auth_base.py │ │ │ │ ├── test_api_key_auth_factory.py │ │ │ │ ├── test_auth_type.py │ │ │ │ ├── test_firecrawl_auth.py │ │ │ │ ├── test_jina_auth.py │ │ │ │ ├── test_jina_auth_standalone_module.py │ │ │ │ └── test_watercrawl_auth.py │ │ │ ├── controller_api.py │ │ │ ├── dataset_metadata.py │ │ │ ├── dataset_permission_service.py │ │ │ ├── dataset_service_test_helpers.py │ │ │ ├── dataset_service_update_delete.py │ │ │ ├── document_indexing_task_proxy.py │ │ │ ├── document_service_status.py │ │ │ ├── document_service_validation.py │ │ │ ├── enterprise/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_enterprise_service.py │ │ │ │ ├── test_plugin_manager_service.py │ │ │ │ └── test_traceparent_propagation.py │ │ │ ├── external_dataset_service.py │ │ │ ├── hit_service.py │ │ │ ├── plugin/ │ │ │ │ ├── __init__.py │ │ │ │ ├── conftest.py │ │ │ │ ├── test_dependencies_analysis.py │ │ │ │ ├── test_endpoint_service.py │ │ │ │ ├── test_oauth_service.py │ │ │ │ ├── test_plugin_auto_upgrade_service.py │ │ │ │ └── test_plugin_permission_service.py │ │ │ ├── recommend_app/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_buildin_retrieval.py │ │ │ │ ├── test_recommend_app_factory.py │ │ │ │ ├── test_recommend_app_type.py │ │ │ │ └── test_remote_retrieval.py │ │ │ ├── retention/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_messages_clean_policy.py │ │ │ │ └── workflow_run/ │ │ │ │ ├── test_clear_free_plan_expired_workflow_run_logs.py │ │ │ │ └── test_restore_archived_workflow_run.py │ │ │ ├── segment_service.py │ │ │ ├── services_test_help.py │ │ │ ├── test_account_service.py │ │ │ ├── test_annotation_service.py │ │ │ ├── test_app_dsl_service.py │ │ │ ├── test_app_dsl_service_import_yaml_url.py │ │ │ ├── test_app_generate_service.py │ │ │ ├── test_app_generate_service_streaming_integration.py │ │ │ ├── test_app_model_config_service.py │ │ │ ├── test_app_task_service.py │ │ │ ├── test_archive_workflow_run_logs.py │ │ │ ├── test_async_workflow_service.py │ │ │ ├── test_audio_service.py │ │ │ ├── test_batch_indexing_base.py │ │ │ ├── test_billing_service.py │ │ │ ├── test_clear_free_plan_expired_workflow_run_logs.py │ │ │ ├── test_clear_free_plan_tenant_expired_logs.py │ │ │ ├── test_code_based_extension_service.py │ │ │ ├── test_conversation_service.py │ │ │ ├── test_dataset_service_dataset.py │ │ │ ├── test_dataset_service_document.py │ │ │ ├── test_dataset_service_lock_not_owned.py │ │ │ ├── test_dataset_service_segment.py │ │ │ ├── test_datasource_provider_service.py │ │ │ ├── test_document_indexing_task_proxy.py │ │ │ ├── test_duplicate_document_indexing_task_proxy.py │ │ │ ├── test_export_app_messages.py │ │ │ ├── test_external_dataset_service.py │ │ │ ├── test_feature_service_human_input_email_delivery.py │ │ │ ├── test_file_service.py │ │ │ ├── test_hit_testing_service.py │ │ │ ├── test_human_input_service.py │ │ │ ├── test_knowledge_service.py │ │ │ ├── test_message_service.py │ │ │ ├── test_messages_clean_service.py │ │ │ ├── test_metadata_bug_complete.py │ │ │ ├── test_metadata_nullable_bug.py │ │ │ ├── test_model_load_balancing_service.py │ │ │ ├── test_model_provider_service_sanitization.py │ │ │ ├── test_operation_service.py │ │ │ ├── test_ops_service.py │ │ │ ├── test_rag_pipeline_task_proxy.py │ │ │ ├── test_recommended_app_service.py │ │ │ ├── test_schedule_service.py │ │ │ ├── test_summary_index_service.py │ │ │ ├── test_trigger_provider_service.py │ │ │ ├── test_variable_truncator.py │ │ │ ├── test_vector_service.py │ │ │ ├── test_webhook_service.py │ │ │ ├── test_website_service.py │ │ │ ├── test_workflow_run_service_pause.py │ │ │ ├── test_workflow_service.py │ │ │ ├── tools/ │ │ │ │ ├── __init__.py │ │ │ │ ├── test_builtin_tools_manage_service.py │ │ │ │ ├── test_mcp_tools_transform.py │ │ │ │ ├── test_tool_labels_service.py │ │ │ │ ├── test_tools_manage_service.py │ │ │ │ └── test_tools_transform_service.py │ │ │ ├── vector_service.py │ │ │ └── workflow/ │ │ │ ├── __init__.py │ │ │ ├── test_draft_var_loader_simple.py │ │ │ ├── test_queue_dispatcher.py │ │ │ ├── test_scheduler.py │ │ │ ├── test_workflow_draft_variable_service.py │ │ │ ├── test_workflow_event_snapshot_service.py │ │ │ ├── test_workflow_human_input_delivery.py │ │ │ └── test_workflow_restore.py │ │ ├── tasks/ │ │ │ ├── __init__.py │ │ │ ├── test_async_workflow_tasks.py │ │ │ ├── test_clean_dataset_task.py │ │ │ ├── test_dataset_indexing_task.py │ │ │ ├── test_delete_account_task.py │ │ │ ├── test_document_indexing_sync_task.py │ │ │ ├── test_duplicate_document_indexing_task.py │ │ │ ├── test_enterprise_telemetry_task.py │ │ │ ├── test_human_input_timeout_tasks.py │ │ │ ├── test_mail_human_input_delivery_task.py │ │ │ ├── test_mail_send_task.py │ │ │ ├── test_remove_app_and_related_data_task.py │ │ │ ├── test_summary_queue_isolation.py │ │ │ ├── test_workflow_execute_task.py │ │ │ └── test_workflow_node_execution_tasks.py │ │ ├── tools/ │ │ │ ├── __init__.py │ │ │ ├── test_api_tool.py │ │ │ └── test_mcp_tool.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── http_parser/ │ │ │ └── test_oauth_convert_request_to_raw_data.py │ │ ├── oauth_encryption/ │ │ │ └── test_system_oauth_encryption.py │ │ ├── position_helper/ │ │ │ └── test_position_helper.py │ │ ├── structured_output_parser/ │ │ │ ├── __init__.py │ │ │ └── test_structured_output_parser.py │ │ ├── test_text_processing.py │ │ └── yaml/ │ │ ├── __init__.py │ │ └── test_yaml_utils.py │ └── workflow_test_utils.py ├── codecov.yml ├── dev/ │ ├── basedpyright-check │ ├── pyrefly-check-local │ ├── pytest/ │ │ ├── pytest_config_tests.py │ │ ├── pytest_full.sh │ │ ├── pytest_unit_tests.sh │ │ └── pytest_vdb.sh │ ├── reformat │ ├── setup │ ├── start-api │ ├── start-beat │ ├── start-docker-compose │ ├── start-web │ ├── start-worker │ ├── sync-uv │ ├── ty-check │ └── update-uv ├── docker/ │ ├── README.md │ ├── certbot/ │ │ ├── README.md │ │ ├── docker-entrypoint.sh │ │ └── update-cert.template.txt │ ├── couchbase-server/ │ │ ├── Dockerfile │ │ └── init-cbserver.sh │ ├── dify-env-sync.py │ ├── dify-env-sync.sh │ ├── docker-compose-template.yaml │ ├── docker-compose.middleware.yaml │ ├── docker-compose.yaml │ ├── elasticsearch/ │ │ └── docker-entrypoint.sh │ ├── generate_docker_compose │ ├── iris/ │ │ ├── docker-entrypoint.sh │ │ └── iris-init.script │ ├── middleware.env.example │ ├── nginx/ │ │ ├── conf.d/ │ │ │ └── default.conf.template │ │ ├── docker-entrypoint.sh │ │ ├── https.conf.template │ │ ├── nginx.conf.template │ │ ├── proxy.conf.template │ │ └── ssl/ │ │ └── .gitkeep │ ├── pgvector/ │ │ └── docker-entrypoint.sh │ ├── ssrf_proxy/ │ │ ├── docker-entrypoint.sh │ │ └── squid.conf.template │ ├── startupscripts/ │ │ ├── init.sh │ │ └── init_user.script │ ├── tidb/ │ │ ├── config/ │ │ │ ├── pd.toml │ │ │ ├── tiflash-learner.toml │ │ │ └── tiflash.toml │ │ └── docker-compose.yaml │ └── volumes/ │ ├── myscale/ │ │ └── config/ │ │ └── users.d/ │ │ └── custom_users_config.xml │ ├── oceanbase/ │ │ └── init.d/ │ │ └── vec_memory.sql │ ├── opensearch/ │ │ └── opensearch_dashboards.yml │ └── sandbox/ │ └── conf/ │ ├── config.yaml │ └── config.yaml.example ├── docs/ │ ├── ar-SA/ │ │ └── README.md │ ├── bn-BD/ │ │ └── README.md │ ├── de-DE/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── es-ES/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── eu-ai-act-compliance.md │ ├── fr-FR/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── hi-IN/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── it-IT/ │ │ └── README.md │ ├── ja-JP/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── ko-KR/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── pt-BR/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── sl-SI/ │ │ └── README.md │ ├── suggested-questions-configuration.md │ ├── tlh/ │ │ └── README.md │ ├── tr-TR/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── vi-VN/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ ├── weaviate/ │ │ └── WEAVIATE_MIGRATION_GUIDE/ │ │ └── README.md │ ├── zh-CN/ │ │ ├── CONTRIBUTING.md │ │ └── README.md │ └── zh-TW/ │ ├── CONTRIBUTING.md │ └── README.md ├── e2e/ │ ├── .gitignore │ ├── AGENTS.md │ ├── README.md │ ├── cucumber.config.ts │ ├── features/ │ │ ├── apps/ │ │ │ └── create-app.feature │ │ ├── smoke/ │ │ │ ├── authenticated-entry.feature │ │ │ └── install.feature │ │ ├── step-definitions/ │ │ │ ├── apps/ │ │ │ │ └── create-app.steps.ts │ │ │ ├── common/ │ │ │ │ ├── auth.steps.ts │ │ │ │ └── navigation.steps.ts │ │ │ └── smoke/ │ │ │ └── install.steps.ts │ │ └── support/ │ │ ├── hooks.ts │ │ └── world.ts │ ├── fixtures/ │ │ └── auth.ts │ ├── package.json │ ├── scripts/ │ │ ├── common.ts │ │ ├── run-cucumber.ts │ │ └── setup.ts │ ├── support/ │ │ ├── process.ts │ │ └── web-server.ts │ ├── test-env.ts │ ├── tsconfig.json │ └── vite.config.ts ├── package.json ├── pnpm-workspace.yaml ├── scripts/ │ └── stress-test/ │ ├── README.md │ ├── cleanup.py │ ├── common/ │ │ ├── __init__.py │ │ ├── config_helper.py │ │ └── logger_helper.py │ ├── locust.conf │ ├── run_locust_stress_test.sh │ ├── setup/ │ │ ├── configure_openai_plugin.py │ │ ├── create_api_key.py │ │ ├── dsl/ │ │ │ └── workflow_llm.yml │ │ ├── import_workflow_app.py │ │ ├── install_openai_plugin.py │ │ ├── login_admin.py │ │ ├── mock_openai_server.py │ │ ├── publish_workflow.py │ │ ├── run_workflow.py │ │ └── setup_admin.py │ ├── setup_all.py │ └── sse_benchmark.py ├── sdks/ │ ├── README.md │ ├── nodejs-client/ │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── scripts/ │ │ │ └── publish.sh │ │ ├── src/ │ │ │ ├── client/ │ │ │ │ ├── base.test.ts │ │ │ │ ├── base.ts │ │ │ │ ├── chat.test.ts │ │ │ │ ├── chat.ts │ │ │ │ ├── completion.test.ts │ │ │ │ ├── completion.ts │ │ │ │ ├── knowledge-base.test.ts │ │ │ │ ├── knowledge-base.ts │ │ │ │ ├── validation.test.ts │ │ │ │ ├── validation.ts │ │ │ │ ├── workflow.test.ts │ │ │ │ ├── workflow.ts │ │ │ │ ├── workspace.test.ts │ │ │ │ └── workspace.ts │ │ │ ├── errors/ │ │ │ │ ├── dify-error.test.ts │ │ │ │ └── dify-error.ts │ │ │ ├── http/ │ │ │ │ ├── client.test.ts │ │ │ │ ├── client.ts │ │ │ │ ├── form-data.test.ts │ │ │ │ ├── form-data.ts │ │ │ │ ├── retry.test.ts │ │ │ │ ├── retry.ts │ │ │ │ ├── sse.test.ts │ │ │ │ └── sse.ts │ │ │ ├── index.test.ts │ │ │ ├── index.ts │ │ │ ├── internal/ │ │ │ │ └── type-guards.ts │ │ │ └── types/ │ │ │ ├── annotation.ts │ │ │ ├── chat.ts │ │ │ ├── common.ts │ │ │ ├── completion.ts │ │ │ ├── knowledge-base.ts │ │ │ ├── workflow.ts │ │ │ └── workspace.ts │ │ ├── tests/ │ │ │ ├── http.integration.test.ts │ │ │ └── test-utils.ts │ │ ├── tsconfig.json │ │ ├── tsup.config.ts │ │ └── vitest.config.ts │ └── php-client/ │ ├── .gitignore │ ├── README.md │ ├── composer.json │ └── dify-client.php ├── taze.config.js ├── vite.config.ts └── web/ ├── .gitignore ├── .npmrc ├── .storybook/ │ ├── __mocks__/ │ │ ├── context-block.tsx │ │ ├── history-block.tsx │ │ └── query-block.tsx │ ├── main.ts │ ├── preview.tsx │ ├── storybook.css │ └── utils/ │ ├── audio-player-manager.mock.ts │ └── form-story-wrapper.tsx ├── .vscode/ │ ├── extensions.json │ ├── launch.json │ └── settings.example.json ├── AGENTS.md ├── Dockerfile ├── Dockerfile.dockerignore ├── README.md ├── __mocks__/ │ ├── provider-context.ts │ └── zustand.ts ├── __tests__/ │ ├── apps/ │ │ ├── app-card-operations-flow.test.tsx │ │ ├── app-list-browsing-flow.test.tsx │ │ └── create-app-flow.test.tsx │ ├── billing/ │ │ ├── billing-integration.test.tsx │ │ ├── cloud-plan-payment-flow.test.tsx │ │ ├── education-verification-flow.test.tsx │ │ ├── partner-stack-flow.test.tsx │ │ ├── pricing-modal-flow.test.tsx │ │ └── self-hosted-plan-flow.test.tsx │ ├── datasets/ │ │ ├── create-dataset-flow.test.tsx │ │ ├── dataset-settings-flow.test.tsx │ │ ├── document-management.test.tsx │ │ ├── external-knowledge-base.test.tsx │ │ ├── hit-testing-flow.test.tsx │ │ ├── metadata-management-flow.test.tsx │ │ ├── pipeline-datasource-flow.test.tsx │ │ └── segment-crud.test.tsx │ ├── description-validation.test.tsx │ ├── develop/ │ │ ├── api-key-management-flow.test.tsx │ │ └── develop-page-flow.test.tsx │ ├── document-detail-navigation-fix.test.tsx │ ├── document-list-sorting.test.tsx │ ├── embedded-user-id-auth.test.tsx │ ├── embedded-user-id-store.test.tsx │ ├── explore/ │ │ ├── explore-app-list-flow.test.tsx │ │ ├── installed-app-flow.test.tsx │ │ └── sidebar-lifecycle-flow.test.tsx │ ├── goto-anything/ │ │ ├── command-selector.test.tsx │ │ ├── match-action.test.ts │ │ ├── scope-command-tags.test.tsx │ │ ├── search-error-handling.test.ts │ │ └── slash-command-modes.test.tsx │ ├── i18n-upload-features.test.ts │ ├── instrumentation-client.spec.ts │ ├── navigation-utils.test.ts │ ├── plugin-tool-workflow-error.test.tsx │ ├── plugins/ │ │ ├── plugin-auth-flow.test.tsx │ │ ├── plugin-card-rendering.test.tsx │ │ ├── plugin-data-utilities.test.ts │ │ ├── plugin-install-flow.test.ts │ │ ├── plugin-marketplace-to-install.test.tsx │ │ └── plugin-page-filter-management.test.tsx │ ├── rag-pipeline/ │ │ ├── chunk-preview-formatting.test.ts │ │ ├── dsl-export-import-flow.test.ts │ │ ├── input-field-crud-flow.test.ts │ │ ├── input-field-editor-flow.test.ts │ │ └── test-run-flow.test.ts │ ├── real-browser-flicker.test.tsx │ ├── share/ │ │ ├── text-generation-index-flow.test.tsx │ │ ├── text-generation-run-batch-flow.test.tsx │ │ └── text-generation-run-once-flow.test.tsx │ ├── tools/ │ │ ├── tool-browsing-and-filtering.test.tsx │ │ ├── tool-data-processing.test.ts │ │ └── tool-provider-detail-flow.test.tsx │ ├── unified-tags-logic.test.ts │ ├── workflow-onboarding-integration.test.tsx │ └── xss-prevention.test.tsx ├── app/ │ ├── (commonLayout)/ │ │ ├── app/ │ │ │ └── (appDetailLayout)/ │ │ │ ├── [appId]/ │ │ │ │ ├── annotations/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── configuration/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── develop/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── layout-main.tsx │ │ │ │ ├── layout.tsx │ │ │ │ ├── logs/ │ │ │ │ │ └── page.tsx │ │ │ │ ├── overview/ │ │ │ │ │ ├── card-view.tsx │ │ │ │ │ ├── chart-view.tsx │ │ │ │ │ ├── long-time-range-picker.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ ├── time-range-picker/ │ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── range-selector.tsx │ │ │ │ │ └── tracing/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── svg-attribute-error-reproduction.spec.tsx │ │ │ │ │ ├── config-button.tsx │ │ │ │ │ ├── config-popup.tsx │ │ │ │ │ ├── config.ts │ │ │ │ │ ├── field.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── provider-config-modal.tsx │ │ │ │ │ ├── provider-panel.tsx │ │ │ │ │ ├── tracing-icon.tsx │ │ │ │ │ └── type.ts │ │ │ │ ├── style.module.css │ │ │ │ └── workflow/ │ │ │ │ └── page.tsx │ │ │ └── layout.tsx │ │ ├── apps/ │ │ │ └── page.tsx │ │ ├── datasets/ │ │ │ ├── (datasetDetailLayout)/ │ │ │ │ ├── [datasetId]/ │ │ │ │ │ ├── api/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── documents/ │ │ │ │ │ │ ├── [documentId]/ │ │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ │ └── settings/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── create/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── create-from-pipeline/ │ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ │ ├── page.tsx │ │ │ │ │ │ └── style.module.css │ │ │ │ │ ├── hitTesting/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ ├── layout-main.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ ├── pipeline/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── settings/ │ │ │ │ │ └── page.tsx │ │ │ │ └── layout.tsx │ │ │ ├── connect/ │ │ │ │ └── page.tsx │ │ │ ├── create/ │ │ │ │ └── page.tsx │ │ │ ├── create-from-pipeline/ │ │ │ │ └── page.tsx │ │ │ ├── layout.spec.tsx │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── education-apply/ │ │ │ └── page.tsx │ │ ├── explore/ │ │ │ ├── apps/ │ │ │ │ └── page.tsx │ │ │ ├── installed/ │ │ │ │ └── [appId]/ │ │ │ │ └── page.tsx │ │ │ └── layout.tsx │ │ ├── layout.tsx │ │ ├── plugins/ │ │ │ └── page.tsx │ │ ├── role-route-guard.spec.tsx │ │ ├── role-route-guard.tsx │ │ └── tools/ │ │ └── page.tsx │ ├── (humanInputLayout)/ │ │ └── form/ │ │ └── [token]/ │ │ ├── form.tsx │ │ └── page.tsx │ ├── (shareLayout)/ │ │ ├── chat/ │ │ │ └── [token]/ │ │ │ └── page.tsx │ │ ├── chatbot/ │ │ │ └── [token]/ │ │ │ └── page.tsx │ │ ├── completion/ │ │ │ └── [token]/ │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── authenticated-layout.tsx │ │ │ └── splash.tsx │ │ ├── layout.tsx │ │ ├── webapp-reset-password/ │ │ │ ├── check-code/ │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ ├── page.tsx │ │ │ └── set-password/ │ │ │ └── page.tsx │ │ ├── webapp-signin/ │ │ │ ├── check-code/ │ │ │ │ └── page.tsx │ │ │ ├── components/ │ │ │ │ ├── external-member-sso-auth.tsx │ │ │ │ ├── mail-and-code-auth.tsx │ │ │ │ ├── mail-and-password-auth.tsx │ │ │ │ └── sso-auth.tsx │ │ │ ├── layout.tsx │ │ │ ├── normalForm.tsx │ │ │ └── page.tsx │ │ └── workflow/ │ │ └── [token]/ │ │ └── page.tsx │ ├── account/ │ │ ├── (commonLayout)/ │ │ │ ├── account-page/ │ │ │ │ ├── AvatarWithEdit.tsx │ │ │ │ ├── email-change-modal.tsx │ │ │ │ └── index.tsx │ │ │ ├── avatar.tsx │ │ │ ├── delete-account/ │ │ │ │ ├── components/ │ │ │ │ │ ├── check-email.tsx │ │ │ │ │ ├── feed-back.tsx │ │ │ │ │ └── verify-email.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── state.tsx │ │ │ ├── header.tsx │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ └── oauth/ │ │ └── authorize/ │ │ ├── layout.tsx │ │ └── page.tsx │ ├── activate/ │ │ ├── activateForm.tsx │ │ └── page.tsx │ ├── components/ │ │ ├── app/ │ │ │ ├── annotation/ │ │ │ │ ├── add-annotation-modal/ │ │ │ │ │ ├── edit-item/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── batch-action.spec.tsx │ │ │ │ ├── batch-action.tsx │ │ │ │ ├── batch-add-annotation-modal/ │ │ │ │ │ ├── csv-downloader.spec.tsx │ │ │ │ │ ├── csv-downloader.tsx │ │ │ │ │ ├── csv-uploader.spec.tsx │ │ │ │ │ ├── csv-uploader.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── clear-all-annotations-confirm-modal/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── edit-annotation-modal/ │ │ │ │ │ ├── edit-item/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── empty-element.spec.tsx │ │ │ │ ├── empty-element.tsx │ │ │ │ ├── filter.spec.tsx │ │ │ │ ├── filter.tsx │ │ │ │ ├── header-opts/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── list.spec.tsx │ │ │ │ ├── list.tsx │ │ │ │ ├── remove-annotation-confirm-modal/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── type.ts │ │ │ │ └── view-annotation-modal/ │ │ │ │ ├── hit-history-no-data.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── app-access-control/ │ │ │ │ ├── access-control-dialog.tsx │ │ │ │ ├── access-control-item.tsx │ │ │ │ ├── access-control.spec.tsx │ │ │ │ ├── add-member-or-group-pop.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── specific-groups-or-members.tsx │ │ │ ├── app-publisher/ │ │ │ │ ├── features-wrapper.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── publish-with-multiple-model.tsx │ │ │ │ ├── suggested-action.tsx │ │ │ │ └── version-info-modal.tsx │ │ │ ├── configuration/ │ │ │ │ ├── base/ │ │ │ │ │ ├── feature-panel/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── group-name/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── operation-btn/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── var-highlight/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── style.module.css │ │ │ │ │ └── warning-mask/ │ │ │ │ │ ├── cannot-query-dataset.spec.tsx │ │ │ │ │ ├── cannot-query-dataset.tsx │ │ │ │ │ ├── formatting-changed.spec.tsx │ │ │ │ │ ├── formatting-changed.tsx │ │ │ │ │ ├── has-not-set-api.spec.tsx │ │ │ │ │ ├── has-not-set-api.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── style.module.css │ │ │ │ ├── config/ │ │ │ │ │ ├── agent/ │ │ │ │ │ │ ├── agent-setting/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── item-panel.spec.tsx │ │ │ │ │ │ │ └── item-panel.tsx │ │ │ │ │ │ ├── agent-tools/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── setting-built-in-tool.spec.tsx │ │ │ │ │ │ │ └── setting-built-in-tool.tsx │ │ │ │ │ │ └── prompt-editor.tsx │ │ │ │ │ ├── agent-setting-button.spec.tsx │ │ │ │ │ ├── agent-setting-button.tsx │ │ │ │ │ ├── assistant-type-picker/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── automatic/ │ │ │ │ │ │ ├── automatic-btn.spec.tsx │ │ │ │ │ │ ├── automatic-btn.tsx │ │ │ │ │ │ ├── get-automatic-res.tsx │ │ │ │ │ │ ├── idea-output.tsx │ │ │ │ │ │ ├── instruction-editor-in-workflow.tsx │ │ │ │ │ │ ├── instruction-editor.tsx │ │ │ │ │ │ ├── prompt-res-in-workflow.tsx │ │ │ │ │ │ ├── prompt-res.tsx │ │ │ │ │ │ ├── prompt-toast.tsx │ │ │ │ │ │ ├── res-placeholder.tsx │ │ │ │ │ │ ├── result.tsx │ │ │ │ │ │ ├── style.module.css │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── use-gen-data.ts │ │ │ │ │ │ └── version-selector.tsx │ │ │ │ │ ├── code-generator/ │ │ │ │ │ │ └── get-code-generator-res.tsx │ │ │ │ │ ├── config-audio.spec.tsx │ │ │ │ │ ├── config-audio.tsx │ │ │ │ │ ├── config-document.spec.tsx │ │ │ │ │ ├── config-document.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── config-prompt/ │ │ │ │ │ ├── advanced-prompt-input.tsx │ │ │ │ │ ├── confirm-add-var/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── conversation-history/ │ │ │ │ │ │ ├── edit-modal.spec.tsx │ │ │ │ │ │ ├── edit-modal.tsx │ │ │ │ │ │ ├── history-panel.spec.tsx │ │ │ │ │ │ └── history-panel.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── message-type-selector.spec.tsx │ │ │ │ │ ├── message-type-selector.tsx │ │ │ │ │ ├── prompt-editor-height-resize-wrap.spec.tsx │ │ │ │ │ ├── prompt-editor-height-resize-wrap.tsx │ │ │ │ │ ├── simple-prompt-input.tsx │ │ │ │ │ └── style.module.css │ │ │ │ ├── config-var/ │ │ │ │ │ ├── config-modal/ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── type-select.tsx │ │ │ │ │ ├── config-select/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── config-string/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── input-type-icon.tsx │ │ │ │ │ ├── modal-foot.tsx │ │ │ │ │ ├── select-type-item/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── select-var-type.tsx │ │ │ │ │ └── var-item.tsx │ │ │ │ ├── config-vision/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── param-config-content.tsx │ │ │ │ │ └── param-config.tsx │ │ │ │ ├── ctrl-btn-group/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── style.module.css │ │ │ │ ├── dataset-config/ │ │ │ │ │ ├── card-item/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── context-var/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── var-picker.spec.tsx │ │ │ │ │ │ └── var-picker.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── params-config/ │ │ │ │ │ │ ├── config-content.spec.tsx │ │ │ │ │ │ ├── config-content.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── weighted-score.spec.tsx │ │ │ │ │ │ └── weighted-score.tsx │ │ │ │ │ ├── select-dataset/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── settings-modal/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── retrieval-section.spec.tsx │ │ │ │ │ └── retrieval-section.tsx │ │ │ │ ├── debug/ │ │ │ │ │ ├── chat-user-input.spec.tsx │ │ │ │ │ ├── chat-user-input.tsx │ │ │ │ │ ├── debug-with-multiple-model/ │ │ │ │ │ │ ├── chat-item.spec.tsx │ │ │ │ │ │ ├── chat-item.tsx │ │ │ │ │ │ ├── context-provider.tsx │ │ │ │ │ │ ├── context.spec.tsx │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ ├── debug-item.spec.tsx │ │ │ │ │ │ ├── debug-item.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── model-parameter-trigger.spec.tsx │ │ │ │ │ │ ├── model-parameter-trigger.tsx │ │ │ │ │ │ ├── text-generation-item.spec.tsx │ │ │ │ │ │ └── text-generation-item.tsx │ │ │ │ │ ├── debug-with-single-model/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── hooks/ │ │ │ │ │ └── use-advanced-prompt-config.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── prompt-value-panel/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── style.module.css │ │ │ │ └── tools/ │ │ │ │ ├── external-data-tool-modal.tsx │ │ │ │ └── index.tsx │ │ │ ├── create-app-dialog/ │ │ │ │ ├── app-card/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── app-list/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── sidebar.spec.tsx │ │ │ │ │ └── sidebar.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── create-app-modal/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── create-from-dsl-modal/ │ │ │ │ ├── dsl-confirm-modal.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── uploader.tsx │ │ │ ├── duplicate-modal/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── in-site-message/ │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── notification.spec.tsx │ │ │ │ └── notification.tsx │ │ │ ├── log/ │ │ │ │ ├── empty-element.spec.tsx │ │ │ │ ├── empty-element.tsx │ │ │ │ ├── filter.spec.tsx │ │ │ │ ├── filter.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── list.spec.tsx │ │ │ │ ├── list.tsx │ │ │ │ ├── model-info.spec.tsx │ │ │ │ ├── model-info.tsx │ │ │ │ ├── var-panel.spec.tsx │ │ │ │ └── var-panel.tsx │ │ │ ├── log-annotation/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── overview/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── toggle-logic.test.ts │ │ │ │ ├── apikey-info-panel/ │ │ │ │ │ ├── apikey-info-panel.test-utils.tsx │ │ │ │ │ ├── cloud.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── app-card.tsx │ │ │ │ ├── app-chart.tsx │ │ │ │ ├── customize/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── embedded/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── style.module.css │ │ │ │ ├── settings/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── style.module.css │ │ │ │ ├── trigger-card.spec.tsx │ │ │ │ └── trigger-card.tsx │ │ │ ├── store.ts │ │ │ ├── switch-app-modal/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── text-generate/ │ │ │ │ ├── item/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── result-tab.tsx │ │ │ │ └── saved-items/ │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── no-data/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── type-selector/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ └── workflow-log/ │ │ │ ├── detail.spec.tsx │ │ │ ├── detail.tsx │ │ │ ├── filter.spec.tsx │ │ │ ├── filter.tsx │ │ │ ├── index.spec.tsx │ │ │ ├── index.tsx │ │ │ ├── list.spec.tsx │ │ │ ├── list.tsx │ │ │ ├── trigger-by-display.spec.tsx │ │ │ └── trigger-by-display.tsx │ │ ├── app-initializer.tsx │ │ ├── app-sidebar/ │ │ │ ├── __tests__/ │ │ │ │ ├── app-sidebar-dropdown.spec.tsx │ │ │ │ ├── basic.spec.tsx │ │ │ │ ├── dataset-sidebar-dropdown.spec.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── sidebar-animation-issues.spec.tsx │ │ │ │ ├── text-squeeze-fix-verification.spec.tsx │ │ │ │ └── toggle-button.spec.tsx │ │ │ ├── app-info/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── app-info-detail-panel.spec.tsx │ │ │ │ │ ├── app-info-modals.spec.tsx │ │ │ │ │ ├── app-info-trigger.spec.tsx │ │ │ │ │ ├── app-mode-labels.spec.ts │ │ │ │ │ ├── app-operations.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── use-app-info-actions.spec.ts │ │ │ │ ├── app-info-detail-panel.tsx │ │ │ │ ├── app-info-modals.tsx │ │ │ │ ├── app-info-trigger.tsx │ │ │ │ ├── app-mode-labels.ts │ │ │ │ ├── app-operations.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── use-app-info-actions.ts │ │ │ ├── app-sidebar-dropdown.tsx │ │ │ ├── basic.tsx │ │ │ ├── dataset-info/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── dropdown-callbacks.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── dropdown.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── menu-item.tsx │ │ │ │ └── menu.tsx │ │ │ ├── dataset-sidebar-dropdown.tsx │ │ │ ├── index.tsx │ │ │ ├── nav-link/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ └── toggle-button.tsx │ │ ├── apps/ │ │ │ ├── __tests__/ │ │ │ │ ├── app-card.spec.tsx │ │ │ │ ├── empty.spec.tsx │ │ │ │ ├── footer.spec.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── list.spec.tsx │ │ │ │ └── new-app-card.spec.tsx │ │ │ ├── app-card-skeleton.tsx │ │ │ ├── app-card.tsx │ │ │ ├── empty.tsx │ │ │ ├── footer.tsx │ │ │ ├── hooks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── use-apps-query-state.spec.tsx │ │ │ │ │ └── use-dsl-drag-drop.spec.ts │ │ │ │ ├── use-apps-query-state.ts │ │ │ │ └── use-dsl-drag-drop.ts │ │ │ ├── index.tsx │ │ │ ├── list.tsx │ │ │ └── new-app-card.tsx │ │ ├── base/ │ │ │ ├── __tests__/ │ │ │ │ ├── alert.spec.tsx │ │ │ │ ├── app-unavailable.spec.tsx │ │ │ │ ├── badge.spec.tsx │ │ │ │ ├── theme-selector.spec.tsx │ │ │ │ └── theme-switcher.spec.tsx │ │ │ ├── action-button/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── agent-log-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── detail.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── iteration.spec.tsx │ │ │ │ │ ├── result.spec.tsx │ │ │ │ │ ├── tool-call.spec.tsx │ │ │ │ │ └── tracing.spec.tsx │ │ │ │ ├── detail.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── iteration.tsx │ │ │ │ ├── result.tsx │ │ │ │ ├── tool-call.tsx │ │ │ │ └── tracing.tsx │ │ │ ├── alert.tsx │ │ │ ├── amplitude/ │ │ │ │ ├── AmplitudeProvider.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── AmplitudeProvider.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── index.ts │ │ │ │ ├── lazy-amplitude-provider.tsx │ │ │ │ └── utils.ts │ │ │ ├── answer-icon/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── app-icon/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── app-icon-picker/ │ │ │ │ ├── ImageInput.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── ImageInput.spec.tsx │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── hooks.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── style.module.css │ │ │ │ └── utils.ts │ │ │ ├── app-unavailable.tsx │ │ │ ├── audio-btn/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── audio.player.manager.spec.ts │ │ │ │ │ ├── audio.spec.ts │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── audio.player.manager.ts │ │ │ │ ├── audio.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── audio-gallery/ │ │ │ │ ├── AudioPlayer.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── AudioPlayer.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── auto-height-textarea/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.scss │ │ │ ├── avatar/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── badge/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── badge.tsx │ │ │ ├── block-input/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── button/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── add-button.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── sync-button.spec.tsx │ │ │ │ ├── add-button.stories.tsx │ │ │ │ ├── add-button.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── sync-button.stories.tsx │ │ │ │ └── sync-button.tsx │ │ │ ├── carousel/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── chat/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── utils.spec.ts.snap │ │ │ │ │ ├── branchedTestMessages.json │ │ │ │ │ ├── legacyTestMessages.json │ │ │ │ │ ├── mixedTestMessages.json │ │ │ │ │ ├── multiRootNodesMessages.json │ │ │ │ │ ├── multiRootNodesWithLegacyTestMessages.json │ │ │ │ │ ├── partialMessages.json │ │ │ │ │ ├── realWorldMessages.json │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── chat/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── check-input-forms-hooks.spec.tsx │ │ │ │ │ │ ├── content-switch.spec.tsx │ │ │ │ │ │ ├── context.spec.tsx │ │ │ │ │ │ ├── hooks.multimodal.spec.ts │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── question.spec.tsx │ │ │ │ │ │ ├── try-to-ask.spec.tsx │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── answer/ │ │ │ │ │ │ ├── __mocks__/ │ │ │ │ │ │ │ ├── markdownContent.ts │ │ │ │ │ │ │ ├── markdownContentSVG.ts │ │ │ │ │ │ │ └── workflowProcess.ts │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── agent-content.spec.tsx │ │ │ │ │ │ │ ├── basic-content.spec.tsx │ │ │ │ │ │ │ ├── human-input-filled-form-list.spec.tsx │ │ │ │ │ │ │ ├── human-input-form-list.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── more.spec.tsx │ │ │ │ │ │ │ ├── operation.spec.tsx │ │ │ │ │ │ │ ├── suggested-questions.spec.tsx │ │ │ │ │ │ │ ├── tool-detail.spec.tsx │ │ │ │ │ │ │ └── workflow-process.spec.tsx │ │ │ │ │ │ ├── agent-content.tsx │ │ │ │ │ │ ├── basic-content.tsx │ │ │ │ │ │ ├── human-input-content/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── content-item.spec.tsx │ │ │ │ │ │ │ │ ├── content-wrapper.spec.tsx │ │ │ │ │ │ │ │ ├── executed-action.spec.tsx │ │ │ │ │ │ │ │ ├── expiration-time.spec.tsx │ │ │ │ │ │ │ │ ├── human-input-form.spec.tsx │ │ │ │ │ │ │ │ ├── submitted-content.spec.tsx │ │ │ │ │ │ │ │ ├── submitted.spec.tsx │ │ │ │ │ │ │ │ ├── tips.spec.tsx │ │ │ │ │ │ │ │ ├── unsubmitted.spec.tsx │ │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ │ ├── content-item.tsx │ │ │ │ │ │ │ ├── content-wrapper.tsx │ │ │ │ │ │ │ ├── executed-action.tsx │ │ │ │ │ │ │ ├── expiration-time.tsx │ │ │ │ │ │ │ ├── human-input-form.tsx │ │ │ │ │ │ │ ├── submitted-content.tsx │ │ │ │ │ │ │ ├── submitted.tsx │ │ │ │ │ │ │ ├── tips.tsx │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ ├── unsubmitted.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── human-input-filled-form-list.tsx │ │ │ │ │ │ ├── human-input-form-list.tsx │ │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── more.tsx │ │ │ │ │ │ ├── operation.tsx │ │ │ │ │ │ ├── suggested-questions.tsx │ │ │ │ │ │ ├── tool-detail.tsx │ │ │ │ │ │ └── workflow-process.tsx │ │ │ │ │ ├── chat-input-area/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── operation.spec.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── operation.tsx │ │ │ │ │ ├── check-input-forms-hooks.ts │ │ │ │ │ ├── citation/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── popup.spec.tsx │ │ │ │ │ │ │ ├── progress-tooltip.spec.tsx │ │ │ │ │ │ │ └── tooltip.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── popup.tsx │ │ │ │ │ │ ├── progress-tooltip.tsx │ │ │ │ │ │ └── tooltip.tsx │ │ │ │ │ ├── content-switch.tsx │ │ │ │ │ ├── context-provider.tsx │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── loading-anim/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── style.module.css │ │ │ │ │ ├── log/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── question.stories.tsx │ │ │ │ │ ├── question.tsx │ │ │ │ │ ├── thought/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── try-to-ask.tsx │ │ │ │ │ ├── type.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── chat-with-history/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── chat-wrapper.spec.tsx │ │ │ │ │ │ ├── header-in-mobile.spec.tsx │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── chat-wrapper.tsx │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── header/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── mobile-operation-dropdown.spec.tsx │ │ │ │ │ │ │ └── operation.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── mobile-operation-dropdown.tsx │ │ │ │ │ │ └── operation.tsx │ │ │ │ │ ├── header-in-mobile.tsx │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── inputs-form/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── content.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── view-form-dropdown.spec.tsx │ │ │ │ │ │ ├── content.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── view-form-dropdown.tsx │ │ │ │ │ └── sidebar/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── item.spec.tsx │ │ │ │ │ │ ├── list.spec.tsx │ │ │ │ │ │ ├── operation.spec.tsx │ │ │ │ │ │ └── rename-modal.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── item.tsx │ │ │ │ │ ├── list.tsx │ │ │ │ │ ├── operation.tsx │ │ │ │ │ └── rename-modal.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── embedded-chatbot/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── chat-wrapper.spec.tsx │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── chat-wrapper.tsx │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── header/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── inputs-form/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── content.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── view-form-dropdown.spec.tsx │ │ │ │ │ │ ├── content.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── view-form-dropdown.tsx │ │ │ │ │ ├── theme/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── theme-context.spec.ts │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ ├── theme-context.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── checkbox/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── assets/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── indeterminate-icon.spec.tsx │ │ │ │ │ └── indeterminate-icon.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── checkbox-list/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── chip/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── confirm/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── content-dialog/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── copy-feedback/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── copy-icon/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── corner-label/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── date-and-time-picker/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── hooks.spec.ts │ │ │ │ ├── calendar/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── days-of-week.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── item.spec.tsx │ │ │ │ │ ├── days-of-week.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── item.tsx │ │ │ │ ├── common/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── option-list-item.spec.tsx │ │ │ │ │ └── option-list-item.tsx │ │ │ │ ├── date-picker/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── footer.spec.tsx │ │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── footer.tsx │ │ │ │ │ ├── header.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── time-picker/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── footer.spec.tsx │ │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── options.spec.tsx │ │ │ │ │ ├── footer.tsx │ │ │ │ │ ├── header.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── options.tsx │ │ │ │ ├── types.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── dayjs-extended.spec.ts │ │ │ │ │ │ └── dayjs.spec.ts │ │ │ │ │ └── dayjs.ts │ │ │ │ └── year-and-month-picker/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── footer.spec.tsx │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ └── options.spec.tsx │ │ │ │ ├── footer.tsx │ │ │ │ ├── header.tsx │ │ │ │ └── options.tsx │ │ │ ├── dialog/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── divider/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── drawer/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── drawer-plus/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── dropdown/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── effect/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── emoji-picker/ │ │ │ │ ├── Inner.stories.tsx │ │ │ │ ├── Inner.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── Inner.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── encrypted-bottom/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── error-boundary/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── features/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── context.spec.tsx │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ └── store.spec.ts │ │ │ │ ├── context.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── new-feature-panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── citation.spec.tsx │ │ │ │ │ │ ├── dialog-wrapper.spec.tsx │ │ │ │ │ │ ├── feature-bar.spec.tsx │ │ │ │ │ │ ├── feature-card.spec.tsx │ │ │ │ │ │ ├── follow-up.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── more-like-this.spec.tsx │ │ │ │ │ │ └── speech-to-text.spec.tsx │ │ │ │ │ ├── annotation-reply/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── annotation-ctrl-button.spec.tsx │ │ │ │ │ │ │ ├── config-param-modal.spec.tsx │ │ │ │ │ │ │ ├── config-param.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── type.spec.ts │ │ │ │ │ │ │ └── use-annotation-config.spec.ts │ │ │ │ │ │ ├── annotation-ctrl-button.tsx │ │ │ │ │ │ ├── config-param-modal.tsx │ │ │ │ │ │ ├── config-param.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── score-slider/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ └── use-annotation-config.ts │ │ │ │ │ ├── citation.tsx │ │ │ │ │ ├── conversation-opener/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── modal.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── modal.tsx │ │ │ │ │ ├── dialog-wrapper.tsx │ │ │ │ │ ├── feature-bar.tsx │ │ │ │ │ ├── feature-card.tsx │ │ │ │ │ ├── file-upload/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── setting-content.spec.tsx │ │ │ │ │ │ │ └── setting-modal.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── setting-content.tsx │ │ │ │ │ │ └── setting-modal.tsx │ │ │ │ │ ├── follow-up.tsx │ │ │ │ │ ├── image-upload/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── moderation/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── form-generation.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── moderation-content.spec.tsx │ │ │ │ │ │ │ └── moderation-setting-modal.spec.tsx │ │ │ │ │ │ ├── form-generation.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── moderation-content.tsx │ │ │ │ │ │ └── moderation-setting-modal.tsx │ │ │ │ │ ├── more-like-this.tsx │ │ │ │ │ ├── speech-to-text.tsx │ │ │ │ │ └── text-to-speech/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── param-config-content.spec.tsx │ │ │ │ │ │ └── voice-settings.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── param-config-content.tsx │ │ │ │ │ └── voice-settings.tsx │ │ │ │ ├── store.ts │ │ │ │ └── types.ts │ │ │ ├── file-icon/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── file-thumb/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── image-render.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── image-render.tsx │ │ │ │ └── index.tsx │ │ │ ├── file-uploader/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── audio-preview.spec.tsx │ │ │ │ │ ├── constants.spec.ts │ │ │ │ │ ├── dynamic-pdf-preview.spec.tsx │ │ │ │ │ ├── file-image-render.spec.tsx │ │ │ │ │ ├── file-input.spec.tsx │ │ │ │ │ ├── file-list-in-log.spec.tsx │ │ │ │ │ ├── file-type-icon.spec.tsx │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ ├── pdf-preview.spec.tsx │ │ │ │ │ ├── store.spec.tsx │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ └── video-preview.spec.tsx │ │ │ │ ├── audio-preview.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── dynamic-pdf-preview.tsx │ │ │ │ ├── file-from-link-or-local/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── file-image-render.stories.tsx │ │ │ │ ├── file-image-render.tsx │ │ │ │ ├── file-input.tsx │ │ │ │ ├── file-list-in-log.tsx │ │ │ │ ├── file-list.stories.tsx │ │ │ │ ├── file-type-icon.stories.tsx │ │ │ │ ├── file-type-icon.tsx │ │ │ │ ├── file-uploader-in-attachment/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── file-item.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── file-item.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── file-uploader-in-chat-input/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── file-image-item.spec.tsx │ │ │ │ │ │ ├── file-item.spec.tsx │ │ │ │ │ │ ├── file-list.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── file-image-item.tsx │ │ │ │ │ ├── file-item.tsx │ │ │ │ │ ├── file-list.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.ts │ │ │ │ ├── pdf-highlighter-adapter.tsx │ │ │ │ ├── pdf-preview.tsx │ │ │ │ ├── store.tsx │ │ │ │ ├── types.ts │ │ │ │ ├── utils.ts │ │ │ │ └── video-preview.tsx │ │ │ ├── float-right-container/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── form/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── types.spec.ts │ │ │ │ ├── components/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── label.spec.tsx │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── base-field.spec.tsx │ │ │ │ │ │ │ ├── base-form.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── base-field.tsx │ │ │ │ │ │ ├── base-form.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── field/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── checkbox.spec.tsx │ │ │ │ │ │ │ ├── custom-select.spec.tsx │ │ │ │ │ │ │ ├── file-types.spec.tsx │ │ │ │ │ │ │ ├── file-uploader.spec.tsx │ │ │ │ │ │ │ ├── number-input.spec.tsx │ │ │ │ │ │ │ ├── number-slider.spec.tsx │ │ │ │ │ │ │ ├── options.spec.tsx │ │ │ │ │ │ │ ├── select.spec.tsx │ │ │ │ │ │ │ ├── text-area.spec.tsx │ │ │ │ │ │ │ ├── text.spec.tsx │ │ │ │ │ │ │ ├── upload-method.spec.tsx │ │ │ │ │ │ │ ├── variable-or-constant-input.spec.tsx │ │ │ │ │ │ │ └── variable-selector.spec.tsx │ │ │ │ │ │ ├── checkbox.tsx │ │ │ │ │ │ ├── custom-select.tsx │ │ │ │ │ │ ├── file-types.tsx │ │ │ │ │ │ ├── file-uploader.tsx │ │ │ │ │ │ ├── input-type-select/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ ├── option.spec.tsx │ │ │ │ │ │ │ │ ├── trigger.spec.tsx │ │ │ │ │ │ │ │ └── types.spec.ts │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── option.tsx │ │ │ │ │ │ │ ├── trigger.tsx │ │ │ │ │ │ │ └── types.tsx │ │ │ │ │ │ ├── mixed-variable-text-input/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ └── placeholder.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── placeholder.tsx │ │ │ │ │ │ ├── number-input.tsx │ │ │ │ │ │ ├── number-slider.tsx │ │ │ │ │ │ ├── options.tsx │ │ │ │ │ │ ├── select.tsx │ │ │ │ │ │ ├── text-area.tsx │ │ │ │ │ │ ├── text.tsx │ │ │ │ │ │ ├── upload-method.tsx │ │ │ │ │ │ ├── variable-or-constant-input.tsx │ │ │ │ │ │ └── variable-selector.tsx │ │ │ │ │ ├── form/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── actions.spec.tsx │ │ │ │ │ │ └── actions.tsx │ │ │ │ │ └── label.tsx │ │ │ │ ├── form-scenarios/ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── field.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── types.spec.ts │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── demo/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── contact-fields.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── shared-options.spec.tsx │ │ │ │ │ │ │ └── types.spec.ts │ │ │ │ │ │ ├── contact-fields.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── shared-options.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── input-field/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── field.spec.tsx │ │ │ │ │ │ │ ├── types.spec.ts │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── node-panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── field.spec.tsx │ │ │ │ │ │ └── types.spec.ts │ │ │ │ │ ├── field.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ │ ├── use-check-validated.spec.ts │ │ │ │ │ │ ├── use-get-form-values.spec.ts │ │ │ │ │ │ └── use-get-validators.spec.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-check-validated.ts │ │ │ │ │ ├── use-get-form-values.ts │ │ │ │ │ └── use-get-validators.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── zod-submit-validator.spec.ts │ │ │ │ ├── secret-input/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.ts │ │ │ │ │ └── index.ts │ │ │ │ └── zod-submit-validator.ts │ │ │ ├── fullscreen-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── ga/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── grid-mask/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── icons/ │ │ │ │ ├── IconBase.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── IconBase.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── icon-gallery.stories.tsx │ │ │ │ ├── src/ │ │ │ │ │ ├── image/ │ │ │ │ │ │ └── llm/ │ │ │ │ │ │ ├── BaichuanTextCn.module.css │ │ │ │ │ │ ├── BaichuanTextCn.tsx │ │ │ │ │ │ ├── Minimax.module.css │ │ │ │ │ │ ├── Minimax.tsx │ │ │ │ │ │ ├── MinimaxText.module.css │ │ │ │ │ │ ├── MinimaxText.tsx │ │ │ │ │ │ ├── Tongyi.module.css │ │ │ │ │ │ ├── Tongyi.tsx │ │ │ │ │ │ ├── TongyiText.module.css │ │ │ │ │ │ ├── TongyiText.tsx │ │ │ │ │ │ ├── TongyiTextCn.module.css │ │ │ │ │ │ ├── TongyiTextCn.tsx │ │ │ │ │ │ ├── Wxyy.module.css │ │ │ │ │ │ ├── Wxyy.tsx │ │ │ │ │ │ ├── WxyyText.module.css │ │ │ │ │ │ ├── WxyyText.tsx │ │ │ │ │ │ ├── WxyyTextCn.module.css │ │ │ │ │ │ ├── WxyyTextCn.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── public/ │ │ │ │ │ │ ├── avatar/ │ │ │ │ │ │ │ ├── Robot.json │ │ │ │ │ │ │ ├── Robot.tsx │ │ │ │ │ │ │ ├── User.json │ │ │ │ │ │ │ ├── User.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── billing/ │ │ │ │ │ │ │ ├── ArCube1.json │ │ │ │ │ │ │ ├── ArCube1.tsx │ │ │ │ │ │ │ ├── Asterisk.json │ │ │ │ │ │ │ ├── Asterisk.tsx │ │ │ │ │ │ │ ├── AwsMarketplaceDark.json │ │ │ │ │ │ │ ├── AwsMarketplaceDark.tsx │ │ │ │ │ │ │ ├── AwsMarketplaceLight.json │ │ │ │ │ │ │ ├── AwsMarketplaceLight.tsx │ │ │ │ │ │ │ ├── Azure.json │ │ │ │ │ │ │ ├── Azure.tsx │ │ │ │ │ │ │ ├── Buildings.json │ │ │ │ │ │ │ ├── Buildings.tsx │ │ │ │ │ │ │ ├── Diamond.json │ │ │ │ │ │ │ ├── Diamond.tsx │ │ │ │ │ │ │ ├── GoogleCloud.json │ │ │ │ │ │ │ ├── GoogleCloud.tsx │ │ │ │ │ │ │ ├── Group2.json │ │ │ │ │ │ │ ├── Group2.tsx │ │ │ │ │ │ │ ├── Keyframe.json │ │ │ │ │ │ │ ├── Keyframe.tsx │ │ │ │ │ │ │ ├── Sparkles.json │ │ │ │ │ │ │ ├── Sparkles.tsx │ │ │ │ │ │ │ ├── SparklesSoft.json │ │ │ │ │ │ │ ├── SparklesSoft.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ ├── D.json │ │ │ │ │ │ │ ├── D.tsx │ │ │ │ │ │ │ ├── DiagonalDividingLine.json │ │ │ │ │ │ │ ├── DiagonalDividingLine.tsx │ │ │ │ │ │ │ ├── Dify.json │ │ │ │ │ │ │ ├── Dify.tsx │ │ │ │ │ │ │ ├── Gdpr.json │ │ │ │ │ │ │ ├── Gdpr.tsx │ │ │ │ │ │ │ ├── Github.json │ │ │ │ │ │ │ ├── Github.tsx │ │ │ │ │ │ │ ├── Highlight.json │ │ │ │ │ │ │ ├── Highlight.tsx │ │ │ │ │ │ │ ├── Iso.json │ │ │ │ │ │ │ ├── Iso.tsx │ │ │ │ │ │ │ ├── Line3.json │ │ │ │ │ │ │ ├── Line3.tsx │ │ │ │ │ │ │ ├── Lock.json │ │ │ │ │ │ │ ├── Lock.tsx │ │ │ │ │ │ │ ├── MessageChatSquare.json │ │ │ │ │ │ │ ├── MessageChatSquare.tsx │ │ │ │ │ │ │ ├── MultiPathRetrieval.json │ │ │ │ │ │ │ ├── MultiPathRetrieval.tsx │ │ │ │ │ │ │ ├── NTo1Retrieval.json │ │ │ │ │ │ │ ├── NTo1Retrieval.tsx │ │ │ │ │ │ │ ├── Notion.json │ │ │ │ │ │ │ ├── Notion.tsx │ │ │ │ │ │ │ ├── Soc2.json │ │ │ │ │ │ │ ├── Soc2.tsx │ │ │ │ │ │ │ ├── SparklesSoft.json │ │ │ │ │ │ │ ├── SparklesSoft.tsx │ │ │ │ │ │ │ ├── SparklesSoftAccent.json │ │ │ │ │ │ │ ├── SparklesSoftAccent.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── education/ │ │ │ │ │ │ │ ├── Triangle.json │ │ │ │ │ │ │ ├── Triangle.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── files/ │ │ │ │ │ │ │ ├── Csv.json │ │ │ │ │ │ │ ├── Csv.tsx │ │ │ │ │ │ │ ├── Doc.json │ │ │ │ │ │ │ ├── Doc.tsx │ │ │ │ │ │ │ ├── Docx.json │ │ │ │ │ │ │ ├── Docx.tsx │ │ │ │ │ │ │ ├── Html.json │ │ │ │ │ │ │ ├── Html.tsx │ │ │ │ │ │ │ ├── Json.json │ │ │ │ │ │ │ ├── Json.tsx │ │ │ │ │ │ │ ├── Md.json │ │ │ │ │ │ │ ├── Md.tsx │ │ │ │ │ │ │ ├── Pdf.json │ │ │ │ │ │ │ ├── Pdf.tsx │ │ │ │ │ │ │ ├── Txt.json │ │ │ │ │ │ │ ├── Txt.tsx │ │ │ │ │ │ │ ├── Unknown.json │ │ │ │ │ │ │ ├── Unknown.tsx │ │ │ │ │ │ │ ├── Xlsx.json │ │ │ │ │ │ │ ├── Xlsx.tsx │ │ │ │ │ │ │ ├── Yaml.json │ │ │ │ │ │ │ ├── Yaml.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── knowledge/ │ │ │ │ │ │ │ ├── File.json │ │ │ │ │ │ │ ├── File.tsx │ │ │ │ │ │ │ ├── OptionCardEffectBlue.json │ │ │ │ │ │ │ ├── OptionCardEffectBlue.tsx │ │ │ │ │ │ │ ├── OptionCardEffectBlueLight.json │ │ │ │ │ │ │ ├── OptionCardEffectBlueLight.tsx │ │ │ │ │ │ │ ├── OptionCardEffectOrange.json │ │ │ │ │ │ │ ├── OptionCardEffectOrange.tsx │ │ │ │ │ │ │ ├── OptionCardEffectPurple.json │ │ │ │ │ │ │ ├── OptionCardEffectPurple.tsx │ │ │ │ │ │ │ ├── OptionCardEffectTeal.json │ │ │ │ │ │ │ ├── OptionCardEffectTeal.tsx │ │ │ │ │ │ │ ├── SelectionMod.json │ │ │ │ │ │ │ ├── SelectionMod.tsx │ │ │ │ │ │ │ ├── Watercrawl.json │ │ │ │ │ │ │ ├── Watercrawl.tsx │ │ │ │ │ │ │ ├── dataset-card/ │ │ │ │ │ │ │ │ ├── ExternalKnowledgeBase.json │ │ │ │ │ │ │ │ ├── ExternalKnowledgeBase.tsx │ │ │ │ │ │ │ │ ├── General.json │ │ │ │ │ │ │ │ ├── General.tsx │ │ │ │ │ │ │ │ ├── Graph.json │ │ │ │ │ │ │ │ ├── Graph.tsx │ │ │ │ │ │ │ │ ├── ParentChild.json │ │ │ │ │ │ │ │ ├── ParentChild.tsx │ │ │ │ │ │ │ │ ├── Qa.json │ │ │ │ │ │ │ │ ├── Qa.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── online-drive/ │ │ │ │ │ │ │ ├── BucketsBlue.json │ │ │ │ │ │ │ ├── BucketsBlue.tsx │ │ │ │ │ │ │ ├── BucketsGray.json │ │ │ │ │ │ │ ├── BucketsGray.tsx │ │ │ │ │ │ │ ├── Folder.json │ │ │ │ │ │ │ ├── Folder.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── llm/ │ │ │ │ │ │ │ ├── Anthropic.json │ │ │ │ │ │ │ ├── Anthropic.tsx │ │ │ │ │ │ │ ├── AnthropicDark.json │ │ │ │ │ │ │ ├── AnthropicDark.tsx │ │ │ │ │ │ │ ├── AnthropicLight.json │ │ │ │ │ │ │ ├── AnthropicLight.tsx │ │ │ │ │ │ │ ├── AnthropicShortLight.json │ │ │ │ │ │ │ ├── AnthropicShortLight.tsx │ │ │ │ │ │ │ ├── AnthropicText.json │ │ │ │ │ │ │ ├── AnthropicText.tsx │ │ │ │ │ │ │ ├── AzureOpenaiService.json │ │ │ │ │ │ │ ├── AzureOpenaiService.tsx │ │ │ │ │ │ │ ├── AzureOpenaiServiceText.json │ │ │ │ │ │ │ ├── AzureOpenaiServiceText.tsx │ │ │ │ │ │ │ ├── Azureai.json │ │ │ │ │ │ │ ├── Azureai.tsx │ │ │ │ │ │ │ ├── AzureaiText.json │ │ │ │ │ │ │ ├── AzureaiText.tsx │ │ │ │ │ │ │ ├── Baichuan.json │ │ │ │ │ │ │ ├── Baichuan.tsx │ │ │ │ │ │ │ ├── BaichuanText.json │ │ │ │ │ │ │ ├── BaichuanText.tsx │ │ │ │ │ │ │ ├── Chatglm.json │ │ │ │ │ │ │ ├── Chatglm.tsx │ │ │ │ │ │ │ ├── ChatglmText.json │ │ │ │ │ │ │ ├── ChatglmText.tsx │ │ │ │ │ │ │ ├── Cohere.json │ │ │ │ │ │ │ ├── Cohere.tsx │ │ │ │ │ │ │ ├── CohereText.json │ │ │ │ │ │ │ ├── CohereText.tsx │ │ │ │ │ │ │ ├── Deepseek.json │ │ │ │ │ │ │ ├── Deepseek.tsx │ │ │ │ │ │ │ ├── Gemini.json │ │ │ │ │ │ │ ├── Gemini.tsx │ │ │ │ │ │ │ ├── Gpt3.json │ │ │ │ │ │ │ ├── Gpt3.tsx │ │ │ │ │ │ │ ├── Gpt4.json │ │ │ │ │ │ │ ├── Gpt4.tsx │ │ │ │ │ │ │ ├── Grok.json │ │ │ │ │ │ │ ├── Grok.tsx │ │ │ │ │ │ │ ├── Huggingface.json │ │ │ │ │ │ │ ├── Huggingface.tsx │ │ │ │ │ │ │ ├── HuggingfaceText.json │ │ │ │ │ │ │ ├── HuggingfaceText.tsx │ │ │ │ │ │ │ ├── HuggingfaceTextHub.json │ │ │ │ │ │ │ ├── HuggingfaceTextHub.tsx │ │ │ │ │ │ │ ├── IflytekSpark.json │ │ │ │ │ │ │ ├── IflytekSpark.tsx │ │ │ │ │ │ │ ├── IflytekSparkText.json │ │ │ │ │ │ │ ├── IflytekSparkText.tsx │ │ │ │ │ │ │ ├── IflytekSparkTextCn.json │ │ │ │ │ │ │ ├── IflytekSparkTextCn.tsx │ │ │ │ │ │ │ ├── Jina.json │ │ │ │ │ │ │ ├── Jina.tsx │ │ │ │ │ │ │ ├── JinaText.json │ │ │ │ │ │ │ ├── JinaText.tsx │ │ │ │ │ │ │ ├── Localai.json │ │ │ │ │ │ │ ├── Localai.tsx │ │ │ │ │ │ │ ├── LocalaiText.json │ │ │ │ │ │ │ ├── LocalaiText.tsx │ │ │ │ │ │ │ ├── Microsoft.json │ │ │ │ │ │ │ ├── Microsoft.tsx │ │ │ │ │ │ │ ├── OpenaiBlack.json │ │ │ │ │ │ │ ├── OpenaiBlack.tsx │ │ │ │ │ │ │ ├── OpenaiBlue.json │ │ │ │ │ │ │ ├── OpenaiBlue.tsx │ │ │ │ │ │ │ ├── OpenaiGreen.json │ │ │ │ │ │ │ ├── OpenaiGreen.tsx │ │ │ │ │ │ │ ├── OpenaiSmall.json │ │ │ │ │ │ │ ├── OpenaiSmall.tsx │ │ │ │ │ │ │ ├── OpenaiTeal.json │ │ │ │ │ │ │ ├── OpenaiTeal.tsx │ │ │ │ │ │ │ ├── OpenaiText.json │ │ │ │ │ │ │ ├── OpenaiText.tsx │ │ │ │ │ │ │ ├── OpenaiTransparent.json │ │ │ │ │ │ │ ├── OpenaiTransparent.tsx │ │ │ │ │ │ │ ├── OpenaiViolet.json │ │ │ │ │ │ │ ├── OpenaiViolet.tsx │ │ │ │ │ │ │ ├── OpenaiYellow.json │ │ │ │ │ │ │ ├── OpenaiYellow.tsx │ │ │ │ │ │ │ ├── Openllm.json │ │ │ │ │ │ │ ├── Openllm.tsx │ │ │ │ │ │ │ ├── OpenllmText.json │ │ │ │ │ │ │ ├── OpenllmText.tsx │ │ │ │ │ │ │ ├── Replicate.json │ │ │ │ │ │ │ ├── Replicate.tsx │ │ │ │ │ │ │ ├── ReplicateText.json │ │ │ │ │ │ │ ├── ReplicateText.tsx │ │ │ │ │ │ │ ├── Tongyi.json │ │ │ │ │ │ │ ├── Tongyi.tsx │ │ │ │ │ │ │ ├── XorbitsInference.json │ │ │ │ │ │ │ ├── XorbitsInference.tsx │ │ │ │ │ │ │ ├── XorbitsInferenceText.json │ │ │ │ │ │ │ ├── XorbitsInferenceText.tsx │ │ │ │ │ │ │ ├── Zhipuai.json │ │ │ │ │ │ │ ├── Zhipuai.tsx │ │ │ │ │ │ │ ├── ZhipuaiText.json │ │ │ │ │ │ │ ├── ZhipuaiText.tsx │ │ │ │ │ │ │ ├── ZhipuaiTextCn.json │ │ │ │ │ │ │ ├── ZhipuaiTextCn.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ ├── Checked.json │ │ │ │ │ │ │ ├── Checked.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── other/ │ │ │ │ │ │ │ ├── DefaultToolIcon.json │ │ │ │ │ │ │ ├── DefaultToolIcon.tsx │ │ │ │ │ │ │ ├── Icon3Dots.json │ │ │ │ │ │ │ ├── Icon3Dots.tsx │ │ │ │ │ │ │ ├── Message3Fill.json │ │ │ │ │ │ │ ├── Message3Fill.tsx │ │ │ │ │ │ │ ├── RowStruct.json │ │ │ │ │ │ │ ├── RowStruct.tsx │ │ │ │ │ │ │ ├── Slack.json │ │ │ │ │ │ │ ├── Slack.tsx │ │ │ │ │ │ │ ├── Teams.json │ │ │ │ │ │ │ ├── Teams.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ │ ├── Google.json │ │ │ │ │ │ │ ├── Google.tsx │ │ │ │ │ │ │ ├── PartnerDark.json │ │ │ │ │ │ │ ├── PartnerDark.tsx │ │ │ │ │ │ │ ├── PartnerLight.json │ │ │ │ │ │ │ ├── PartnerLight.tsx │ │ │ │ │ │ │ ├── VerifiedDark.json │ │ │ │ │ │ │ ├── VerifiedDark.tsx │ │ │ │ │ │ │ ├── VerifiedLight.json │ │ │ │ │ │ │ ├── VerifiedLight.tsx │ │ │ │ │ │ │ ├── WebReader.json │ │ │ │ │ │ │ ├── WebReader.tsx │ │ │ │ │ │ │ ├── Wikipedia.json │ │ │ │ │ │ │ ├── Wikipedia.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── thought/ │ │ │ │ │ │ │ ├── DataSet.json │ │ │ │ │ │ │ ├── DataSet.tsx │ │ │ │ │ │ │ ├── Loading.json │ │ │ │ │ │ │ ├── Loading.tsx │ │ │ │ │ │ │ ├── Search.json │ │ │ │ │ │ │ ├── Search.tsx │ │ │ │ │ │ │ ├── ThoughtList.json │ │ │ │ │ │ │ ├── ThoughtList.tsx │ │ │ │ │ │ │ ├── WebReader.json │ │ │ │ │ │ │ ├── WebReader.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── tracing/ │ │ │ │ │ │ ├── AliyunIcon.json │ │ │ │ │ │ ├── AliyunIcon.tsx │ │ │ │ │ │ ├── AliyunIconBig.json │ │ │ │ │ │ ├── AliyunIconBig.tsx │ │ │ │ │ │ ├── ArizeIcon.json │ │ │ │ │ │ ├── ArizeIcon.tsx │ │ │ │ │ │ ├── ArizeIconBig.json │ │ │ │ │ │ ├── ArizeIconBig.tsx │ │ │ │ │ │ ├── DatabricksIcon.json │ │ │ │ │ │ ├── DatabricksIcon.tsx │ │ │ │ │ │ ├── DatabricksIconBig.json │ │ │ │ │ │ ├── DatabricksIconBig.tsx │ │ │ │ │ │ ├── LangfuseIcon.json │ │ │ │ │ │ ├── LangfuseIcon.tsx │ │ │ │ │ │ ├── LangfuseIconBig.json │ │ │ │ │ │ ├── LangfuseIconBig.tsx │ │ │ │ │ │ ├── LangsmithIcon.json │ │ │ │ │ │ ├── LangsmithIcon.tsx │ │ │ │ │ │ ├── LangsmithIconBig.json │ │ │ │ │ │ ├── LangsmithIconBig.tsx │ │ │ │ │ │ ├── MlflowIcon.json │ │ │ │ │ │ ├── MlflowIcon.tsx │ │ │ │ │ │ ├── MlflowIconBig.json │ │ │ │ │ │ ├── MlflowIconBig.tsx │ │ │ │ │ │ ├── OpikIcon.json │ │ │ │ │ │ ├── OpikIcon.tsx │ │ │ │ │ │ ├── OpikIconBig.json │ │ │ │ │ │ ├── OpikIconBig.tsx │ │ │ │ │ │ ├── PhoenixIcon.json │ │ │ │ │ │ ├── PhoenixIcon.tsx │ │ │ │ │ │ ├── PhoenixIconBig.json │ │ │ │ │ │ ├── PhoenixIconBig.tsx │ │ │ │ │ │ ├── TencentIcon.json │ │ │ │ │ │ ├── TencentIcon.tsx │ │ │ │ │ │ ├── TencentIconBig.json │ │ │ │ │ │ ├── TencentIconBig.tsx │ │ │ │ │ │ ├── TracingIcon.json │ │ │ │ │ │ ├── TracingIcon.tsx │ │ │ │ │ │ ├── WeaveIcon.json │ │ │ │ │ │ ├── WeaveIcon.tsx │ │ │ │ │ │ ├── WeaveIconBig.json │ │ │ │ │ │ ├── WeaveIconBig.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── vender/ │ │ │ │ │ ├── features/ │ │ │ │ │ │ ├── Citations.json │ │ │ │ │ │ ├── Citations.tsx │ │ │ │ │ │ ├── ContentModeration.json │ │ │ │ │ │ ├── ContentModeration.tsx │ │ │ │ │ │ ├── Document.json │ │ │ │ │ │ ├── Document.tsx │ │ │ │ │ │ ├── FolderUpload.json │ │ │ │ │ │ ├── FolderUpload.tsx │ │ │ │ │ │ ├── LoveMessage.json │ │ │ │ │ │ ├── LoveMessage.tsx │ │ │ │ │ │ ├── MessageFast.json │ │ │ │ │ │ ├── MessageFast.tsx │ │ │ │ │ │ ├── Microphone01.json │ │ │ │ │ │ ├── Microphone01.tsx │ │ │ │ │ │ ├── TextToAudio.json │ │ │ │ │ │ ├── TextToAudio.tsx │ │ │ │ │ │ ├── VirtualAssistant.json │ │ │ │ │ │ ├── VirtualAssistant.tsx │ │ │ │ │ │ ├── Vision.json │ │ │ │ │ │ ├── Vision.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── knowledge/ │ │ │ │ │ │ ├── AddChunks.json │ │ │ │ │ │ ├── AddChunks.tsx │ │ │ │ │ │ ├── ApiAggregate.json │ │ │ │ │ │ ├── ApiAggregate.tsx │ │ │ │ │ │ ├── ArrowShape.json │ │ │ │ │ │ ├── ArrowShape.tsx │ │ │ │ │ │ ├── Chunk.json │ │ │ │ │ │ ├── Chunk.tsx │ │ │ │ │ │ ├── Collapse.json │ │ │ │ │ │ ├── Collapse.tsx │ │ │ │ │ │ ├── Divider.json │ │ │ │ │ │ ├── Divider.tsx │ │ │ │ │ │ ├── Economic.json │ │ │ │ │ │ ├── Economic.tsx │ │ │ │ │ │ ├── FullTextSearch.json │ │ │ │ │ │ ├── FullTextSearch.tsx │ │ │ │ │ │ ├── GeneralChunk.json │ │ │ │ │ │ ├── GeneralChunk.tsx │ │ │ │ │ │ ├── HighQuality.json │ │ │ │ │ │ ├── HighQuality.tsx │ │ │ │ │ │ ├── HybridSearch.json │ │ │ │ │ │ ├── HybridSearch.tsx │ │ │ │ │ │ ├── ParentChildChunk.json │ │ │ │ │ │ ├── ParentChildChunk.tsx │ │ │ │ │ │ ├── QuestionAndAnswer.json │ │ │ │ │ │ ├── QuestionAndAnswer.tsx │ │ │ │ │ │ ├── SearchLinesSparkle.json │ │ │ │ │ │ ├── SearchLinesSparkle.tsx │ │ │ │ │ │ ├── SearchMenu.json │ │ │ │ │ │ ├── SearchMenu.tsx │ │ │ │ │ │ ├── VectorSearch.json │ │ │ │ │ │ ├── VectorSearch.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── line/ │ │ │ │ │ │ ├── alertsAndFeedback/ │ │ │ │ │ │ │ ├── AlertTriangle.json │ │ │ │ │ │ │ ├── AlertTriangle.tsx │ │ │ │ │ │ │ ├── ThumbsDown.json │ │ │ │ │ │ │ ├── ThumbsDown.tsx │ │ │ │ │ │ │ ├── ThumbsUp.json │ │ │ │ │ │ │ ├── ThumbsUp.tsx │ │ │ │ │ │ │ ├── Warning.json │ │ │ │ │ │ │ ├── Warning.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── arrows/ │ │ │ │ │ │ │ ├── ArrowNarrowLeft.json │ │ │ │ │ │ │ ├── ArrowNarrowLeft.tsx │ │ │ │ │ │ │ ├── ArrowUpRight.json │ │ │ │ │ │ │ ├── ArrowUpRight.tsx │ │ │ │ │ │ │ ├── ChevronDownDouble.json │ │ │ │ │ │ │ ├── ChevronDownDouble.tsx │ │ │ │ │ │ │ ├── ChevronRight.json │ │ │ │ │ │ │ ├── ChevronRight.tsx │ │ │ │ │ │ │ ├── ChevronSelectorVertical.json │ │ │ │ │ │ │ ├── ChevronSelectorVertical.tsx │ │ │ │ │ │ │ ├── IconR.json │ │ │ │ │ │ │ ├── IconR.tsx │ │ │ │ │ │ │ ├── RefreshCcw01.json │ │ │ │ │ │ │ ├── RefreshCcw01.tsx │ │ │ │ │ │ │ ├── RefreshCw05.json │ │ │ │ │ │ │ ├── RefreshCw05.tsx │ │ │ │ │ │ │ ├── ReverseLeft.json │ │ │ │ │ │ │ ├── ReverseLeft.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── communication/ │ │ │ │ │ │ │ ├── AiText.json │ │ │ │ │ │ │ ├── AiText.tsx │ │ │ │ │ │ │ ├── ChatBot.json │ │ │ │ │ │ │ ├── ChatBot.tsx │ │ │ │ │ │ │ ├── ChatBotSlim.json │ │ │ │ │ │ │ ├── ChatBotSlim.tsx │ │ │ │ │ │ │ ├── CuteRobot.json │ │ │ │ │ │ │ ├── CuteRobot.tsx │ │ │ │ │ │ │ ├── MessageCheckRemove.json │ │ │ │ │ │ │ ├── MessageCheckRemove.tsx │ │ │ │ │ │ │ ├── MessageFastPlus.json │ │ │ │ │ │ │ ├── MessageFastPlus.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── development/ │ │ │ │ │ │ │ ├── ArtificialBrain.json │ │ │ │ │ │ │ ├── ArtificialBrain.tsx │ │ │ │ │ │ │ ├── BarChartSquare02.json │ │ │ │ │ │ │ ├── BarChartSquare02.tsx │ │ │ │ │ │ │ ├── BracketsX.json │ │ │ │ │ │ │ ├── BracketsX.tsx │ │ │ │ │ │ │ ├── CodeBrowser.json │ │ │ │ │ │ │ ├── CodeBrowser.tsx │ │ │ │ │ │ │ ├── Container.json │ │ │ │ │ │ │ ├── Container.tsx │ │ │ │ │ │ │ ├── Database01.json │ │ │ │ │ │ │ ├── Database01.tsx │ │ │ │ │ │ │ ├── Database03.json │ │ │ │ │ │ │ ├── Database03.tsx │ │ │ │ │ │ │ ├── FileHeart02.json │ │ │ │ │ │ │ ├── FileHeart02.tsx │ │ │ │ │ │ │ ├── GitBranch01.json │ │ │ │ │ │ │ ├── GitBranch01.tsx │ │ │ │ │ │ │ ├── PromptEngineering.json │ │ │ │ │ │ │ ├── PromptEngineering.tsx │ │ │ │ │ │ │ ├── PuzzlePiece01.json │ │ │ │ │ │ │ ├── PuzzlePiece01.tsx │ │ │ │ │ │ │ ├── TerminalSquare.json │ │ │ │ │ │ │ ├── TerminalSquare.tsx │ │ │ │ │ │ │ ├── Variable.json │ │ │ │ │ │ │ ├── Variable.tsx │ │ │ │ │ │ │ ├── Webhooks.json │ │ │ │ │ │ │ ├── Webhooks.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ ├── AlignLeft.json │ │ │ │ │ │ │ ├── AlignLeft.tsx │ │ │ │ │ │ │ ├── BezierCurve03.json │ │ │ │ │ │ │ ├── BezierCurve03.tsx │ │ │ │ │ │ │ ├── Collapse.json │ │ │ │ │ │ │ ├── Collapse.tsx │ │ │ │ │ │ │ ├── Colors.json │ │ │ │ │ │ │ ├── Colors.tsx │ │ │ │ │ │ │ ├── ImageIndentLeft.json │ │ │ │ │ │ │ ├── ImageIndentLeft.tsx │ │ │ │ │ │ │ ├── LeftIndent02.json │ │ │ │ │ │ │ ├── LeftIndent02.tsx │ │ │ │ │ │ │ ├── LetterSpacing01.json │ │ │ │ │ │ │ ├── LetterSpacing01.tsx │ │ │ │ │ │ │ ├── TypeSquare.json │ │ │ │ │ │ │ ├── TypeSquare.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── education/ │ │ │ │ │ │ │ ├── BookOpen01.json │ │ │ │ │ │ │ ├── BookOpen01.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── files/ │ │ │ │ │ │ │ ├── Copy.json │ │ │ │ │ │ │ ├── Copy.tsx │ │ │ │ │ │ │ ├── CopyCheck.json │ │ │ │ │ │ │ ├── CopyCheck.tsx │ │ │ │ │ │ │ ├── File02.json │ │ │ │ │ │ │ ├── File02.tsx │ │ │ │ │ │ │ ├── FileArrow01.json │ │ │ │ │ │ │ ├── FileArrow01.tsx │ │ │ │ │ │ │ ├── FileCheck02.json │ │ │ │ │ │ │ ├── FileCheck02.tsx │ │ │ │ │ │ │ ├── FileDownload02.json │ │ │ │ │ │ │ ├── FileDownload02.tsx │ │ │ │ │ │ │ ├── FilePlus01.json │ │ │ │ │ │ │ ├── FilePlus01.tsx │ │ │ │ │ │ │ ├── FilePlus02.json │ │ │ │ │ │ │ ├── FilePlus02.tsx │ │ │ │ │ │ │ ├── FileText.json │ │ │ │ │ │ │ ├── FileText.tsx │ │ │ │ │ │ │ ├── FileUpload.json │ │ │ │ │ │ │ ├── FileUpload.tsx │ │ │ │ │ │ │ ├── Folder.json │ │ │ │ │ │ │ ├── Folder.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── financeAndECommerce/ │ │ │ │ │ │ │ ├── Balance.json │ │ │ │ │ │ │ ├── Balance.tsx │ │ │ │ │ │ │ ├── CoinsStacked01.json │ │ │ │ │ │ │ ├── CoinsStacked01.tsx │ │ │ │ │ │ │ ├── CreditsCoin.json │ │ │ │ │ │ │ ├── CreditsCoin.tsx │ │ │ │ │ │ │ ├── GoldCoin.json │ │ │ │ │ │ │ ├── GoldCoin.tsx │ │ │ │ │ │ │ ├── ReceiptList.json │ │ │ │ │ │ │ ├── ReceiptList.tsx │ │ │ │ │ │ │ ├── Tag01.json │ │ │ │ │ │ │ ├── Tag01.tsx │ │ │ │ │ │ │ ├── Tag03.json │ │ │ │ │ │ │ ├── Tag03.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── general/ │ │ │ │ │ │ │ ├── AtSign.json │ │ │ │ │ │ │ ├── AtSign.tsx │ │ │ │ │ │ │ ├── Bookmark.json │ │ │ │ │ │ │ ├── Bookmark.tsx │ │ │ │ │ │ │ ├── Check.json │ │ │ │ │ │ │ ├── Check.tsx │ │ │ │ │ │ │ ├── CheckDone01.json │ │ │ │ │ │ │ ├── CheckDone01.tsx │ │ │ │ │ │ │ ├── ChecklistSquare.json │ │ │ │ │ │ │ ├── ChecklistSquare.tsx │ │ │ │ │ │ │ ├── CodeAssistant.json │ │ │ │ │ │ │ ├── CodeAssistant.tsx │ │ │ │ │ │ │ ├── DotsGrid.json │ │ │ │ │ │ │ ├── DotsGrid.tsx │ │ │ │ │ │ │ ├── Edit02.json │ │ │ │ │ │ │ ├── Edit02.tsx │ │ │ │ │ │ │ ├── Edit04.json │ │ │ │ │ │ │ ├── Edit04.tsx │ │ │ │ │ │ │ ├── Edit05.json │ │ │ │ │ │ │ ├── Edit05.tsx │ │ │ │ │ │ │ ├── Hash02.json │ │ │ │ │ │ │ ├── Hash02.tsx │ │ │ │ │ │ │ ├── InfoCircle.json │ │ │ │ │ │ │ ├── InfoCircle.tsx │ │ │ │ │ │ │ ├── Link03.json │ │ │ │ │ │ │ ├── Link03.tsx │ │ │ │ │ │ │ ├── LinkExternal02.json │ │ │ │ │ │ │ ├── LinkExternal02.tsx │ │ │ │ │ │ │ ├── LogIn04.json │ │ │ │ │ │ │ ├── LogIn04.tsx │ │ │ │ │ │ │ ├── LogOut01.json │ │ │ │ │ │ │ ├── LogOut01.tsx │ │ │ │ │ │ │ ├── LogOut04.json │ │ │ │ │ │ │ ├── LogOut04.tsx │ │ │ │ │ │ │ ├── MagicEdit.json │ │ │ │ │ │ │ ├── MagicEdit.tsx │ │ │ │ │ │ │ ├── Menu01.json │ │ │ │ │ │ │ ├── Menu01.tsx │ │ │ │ │ │ │ ├── Pin01.json │ │ │ │ │ │ │ ├── Pin01.tsx │ │ │ │ │ │ │ ├── Pin02.json │ │ │ │ │ │ │ ├── Pin02.tsx │ │ │ │ │ │ │ ├── Plus02.json │ │ │ │ │ │ │ ├── Plus02.tsx │ │ │ │ │ │ │ ├── Refresh.json │ │ │ │ │ │ │ ├── Refresh.tsx │ │ │ │ │ │ │ ├── SearchMenu.json │ │ │ │ │ │ │ ├── SearchMenu.tsx │ │ │ │ │ │ │ ├── Settings01.json │ │ │ │ │ │ │ ├── Settings01.tsx │ │ │ │ │ │ │ ├── Settings04.json │ │ │ │ │ │ │ ├── Settings04.tsx │ │ │ │ │ │ │ ├── Target04.json │ │ │ │ │ │ │ ├── Target04.tsx │ │ │ │ │ │ │ ├── Upload03.json │ │ │ │ │ │ │ ├── Upload03.tsx │ │ │ │ │ │ │ ├── UploadCloud01.json │ │ │ │ │ │ │ ├── UploadCloud01.tsx │ │ │ │ │ │ │ ├── X.json │ │ │ │ │ │ │ ├── X.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── images/ │ │ │ │ │ │ │ ├── ImagePlus.json │ │ │ │ │ │ │ ├── ImagePlus.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── AlignLeft01.json │ │ │ │ │ │ │ ├── AlignLeft01.tsx │ │ │ │ │ │ │ ├── AlignRight01.json │ │ │ │ │ │ │ ├── AlignRight01.tsx │ │ │ │ │ │ │ ├── Grid01.json │ │ │ │ │ │ │ ├── Grid01.tsx │ │ │ │ │ │ │ ├── LayoutGrid02.json │ │ │ │ │ │ │ ├── LayoutGrid02.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── mediaAndDevices/ │ │ │ │ │ │ │ ├── Microphone01.json │ │ │ │ │ │ │ ├── Microphone01.tsx │ │ │ │ │ │ │ ├── PlayCircle.json │ │ │ │ │ │ │ ├── PlayCircle.tsx │ │ │ │ │ │ │ ├── SlidersH.json │ │ │ │ │ │ │ ├── SlidersH.tsx │ │ │ │ │ │ │ ├── Speaker.json │ │ │ │ │ │ │ ├── Speaker.tsx │ │ │ │ │ │ │ ├── Stop.json │ │ │ │ │ │ │ ├── Stop.tsx │ │ │ │ │ │ │ ├── StopCircle.json │ │ │ │ │ │ │ ├── StopCircle.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── others/ │ │ │ │ │ │ │ ├── BubbleX.json │ │ │ │ │ │ │ ├── BubbleX.tsx │ │ │ │ │ │ │ ├── Colors.json │ │ │ │ │ │ │ ├── Colors.tsx │ │ │ │ │ │ │ ├── DragHandle.json │ │ │ │ │ │ │ ├── DragHandle.tsx │ │ │ │ │ │ │ ├── Env.json │ │ │ │ │ │ │ ├── Env.tsx │ │ │ │ │ │ │ ├── GlobalVariable.json │ │ │ │ │ │ │ ├── GlobalVariable.tsx │ │ │ │ │ │ │ ├── Icon3Dots.json │ │ │ │ │ │ │ ├── Icon3Dots.tsx │ │ │ │ │ │ │ ├── LongArrowLeft.json │ │ │ │ │ │ │ ├── LongArrowLeft.tsx │ │ │ │ │ │ │ ├── LongArrowRight.json │ │ │ │ │ │ │ ├── LongArrowRight.tsx │ │ │ │ │ │ │ ├── SearchMenu.json │ │ │ │ │ │ │ ├── SearchMenu.tsx │ │ │ │ │ │ │ ├── Tools.json │ │ │ │ │ │ │ ├── Tools.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── shapes/ │ │ │ │ │ │ │ ├── CubeOutline.json │ │ │ │ │ │ │ ├── CubeOutline.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── time/ │ │ │ │ │ │ │ ├── ClockFastForward.json │ │ │ │ │ │ │ ├── ClockFastForward.tsx │ │ │ │ │ │ │ ├── ClockPlay.json │ │ │ │ │ │ │ ├── ClockPlay.tsx │ │ │ │ │ │ │ ├── ClockPlaySlim.json │ │ │ │ │ │ │ ├── ClockPlaySlim.tsx │ │ │ │ │ │ │ ├── ClockRefresh.json │ │ │ │ │ │ │ ├── ClockRefresh.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── users/ │ │ │ │ │ │ │ ├── User01.json │ │ │ │ │ │ │ ├── User01.tsx │ │ │ │ │ │ │ ├── Users01.json │ │ │ │ │ │ │ ├── Users01.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── weather/ │ │ │ │ │ │ ├── Stars02.json │ │ │ │ │ │ ├── Stars02.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── other/ │ │ │ │ │ │ ├── AnthropicText.json │ │ │ │ │ │ ├── AnthropicText.tsx │ │ │ │ │ │ ├── Generator.json │ │ │ │ │ │ ├── Generator.tsx │ │ │ │ │ │ ├── Group.json │ │ │ │ │ │ ├── Group.tsx │ │ │ │ │ │ ├── HourglassShape.json │ │ │ │ │ │ ├── HourglassShape.tsx │ │ │ │ │ │ ├── Mcp.json │ │ │ │ │ │ ├── Mcp.tsx │ │ │ │ │ │ ├── NoToolPlaceholder.json │ │ │ │ │ │ ├── NoToolPlaceholder.tsx │ │ │ │ │ │ ├── Openai.json │ │ │ │ │ │ ├── Openai.tsx │ │ │ │ │ │ ├── ReplayLine.json │ │ │ │ │ │ ├── ReplayLine.tsx │ │ │ │ │ │ ├── SquareChecklist.json │ │ │ │ │ │ ├── SquareChecklist.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── pipeline/ │ │ │ │ │ │ ├── InputField.json │ │ │ │ │ │ ├── InputField.tsx │ │ │ │ │ │ ├── PipelineFill.json │ │ │ │ │ │ ├── PipelineFill.tsx │ │ │ │ │ │ ├── PipelineLine.json │ │ │ │ │ │ ├── PipelineLine.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ ├── BoxSparkleFill.json │ │ │ │ │ │ ├── BoxSparkleFill.tsx │ │ │ │ │ │ ├── LeftCorner.json │ │ │ │ │ │ ├── LeftCorner.tsx │ │ │ │ │ │ ├── Trigger.json │ │ │ │ │ │ ├── Trigger.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── solid/ │ │ │ │ │ │ ├── FinanceAndECommerce/ │ │ │ │ │ │ │ ├── GoldCoin.json │ │ │ │ │ │ │ ├── GoldCoin.tsx │ │ │ │ │ │ │ ├── Scales02.json │ │ │ │ │ │ │ ├── Scales02.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── alertsAndFeedback/ │ │ │ │ │ │ │ ├── AlertTriangle.json │ │ │ │ │ │ │ ├── AlertTriangle.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── arrows/ │ │ │ │ │ │ │ ├── ArrowDownDoubleLine.json │ │ │ │ │ │ │ ├── ArrowDownDoubleLine.tsx │ │ │ │ │ │ │ ├── ArrowDownRoundFill.json │ │ │ │ │ │ │ ├── ArrowDownRoundFill.tsx │ │ │ │ │ │ │ ├── ArrowUpDoubleLine.json │ │ │ │ │ │ │ ├── ArrowUpDoubleLine.tsx │ │ │ │ │ │ │ ├── ChevronDown.json │ │ │ │ │ │ │ ├── ChevronDown.tsx │ │ │ │ │ │ │ ├── HighPriority.json │ │ │ │ │ │ │ ├── HighPriority.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── communication/ │ │ │ │ │ │ │ ├── AiText.json │ │ │ │ │ │ │ ├── AiText.tsx │ │ │ │ │ │ │ ├── BubbleTextMod.json │ │ │ │ │ │ │ ├── BubbleTextMod.tsx │ │ │ │ │ │ │ ├── ChatBot.json │ │ │ │ │ │ │ ├── ChatBot.tsx │ │ │ │ │ │ │ ├── CuteRobot.json │ │ │ │ │ │ │ ├── CuteRobot.tsx │ │ │ │ │ │ │ ├── EditList.json │ │ │ │ │ │ │ ├── EditList.tsx │ │ │ │ │ │ │ ├── ListSparkle.json │ │ │ │ │ │ │ ├── ListSparkle.tsx │ │ │ │ │ │ │ ├── Logic.json │ │ │ │ │ │ │ ├── Logic.tsx │ │ │ │ │ │ │ ├── MessageDotsCircle.json │ │ │ │ │ │ │ ├── MessageDotsCircle.tsx │ │ │ │ │ │ │ ├── MessageFast.json │ │ │ │ │ │ │ ├── MessageFast.tsx │ │ │ │ │ │ │ ├── MessageHeartCircle.json │ │ │ │ │ │ │ ├── MessageHeartCircle.tsx │ │ │ │ │ │ │ ├── MessageSmileSquare.json │ │ │ │ │ │ │ ├── MessageSmileSquare.tsx │ │ │ │ │ │ │ ├── Send03.json │ │ │ │ │ │ │ ├── Send03.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── development/ │ │ │ │ │ │ │ ├── ApiConnection.json │ │ │ │ │ │ │ ├── ApiConnection.tsx │ │ │ │ │ │ │ ├── ApiConnectionMod.json │ │ │ │ │ │ │ ├── ApiConnectionMod.tsx │ │ │ │ │ │ │ ├── BarChartSquare02.json │ │ │ │ │ │ │ ├── BarChartSquare02.tsx │ │ │ │ │ │ │ ├── Container.json │ │ │ │ │ │ │ ├── Container.tsx │ │ │ │ │ │ │ ├── Database02.json │ │ │ │ │ │ │ ├── Database02.tsx │ │ │ │ │ │ │ ├── Database03.json │ │ │ │ │ │ │ ├── Database03.tsx │ │ │ │ │ │ │ ├── FileHeart02.json │ │ │ │ │ │ │ ├── FileHeart02.tsx │ │ │ │ │ │ │ ├── PatternRecognition.json │ │ │ │ │ │ │ ├── PatternRecognition.tsx │ │ │ │ │ │ │ ├── PromptEngineering.json │ │ │ │ │ │ │ ├── PromptEngineering.tsx │ │ │ │ │ │ │ ├── PuzzlePiece01.json │ │ │ │ │ │ │ ├── PuzzlePiece01.tsx │ │ │ │ │ │ │ ├── Semantic.json │ │ │ │ │ │ │ ├── Semantic.tsx │ │ │ │ │ │ │ ├── TerminalSquare.json │ │ │ │ │ │ │ ├── TerminalSquare.tsx │ │ │ │ │ │ │ ├── Variable02.json │ │ │ │ │ │ │ ├── Variable02.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ ├── Brush01.json │ │ │ │ │ │ │ ├── Brush01.tsx │ │ │ │ │ │ │ ├── Citations.json │ │ │ │ │ │ │ ├── Citations.tsx │ │ │ │ │ │ │ ├── Colors.json │ │ │ │ │ │ │ ├── Colors.tsx │ │ │ │ │ │ │ ├── Paragraph.json │ │ │ │ │ │ │ ├── Paragraph.tsx │ │ │ │ │ │ │ ├── TypeSquare.json │ │ │ │ │ │ │ ├── TypeSquare.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── education/ │ │ │ │ │ │ │ ├── Beaker02.json │ │ │ │ │ │ │ ├── Beaker02.tsx │ │ │ │ │ │ │ ├── BubbleText.json │ │ │ │ │ │ │ ├── BubbleText.tsx │ │ │ │ │ │ │ ├── Heart02.json │ │ │ │ │ │ │ ├── Heart02.tsx │ │ │ │ │ │ │ ├── Unblur.json │ │ │ │ │ │ │ ├── Unblur.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── files/ │ │ │ │ │ │ │ ├── File05.json │ │ │ │ │ │ │ ├── File05.tsx │ │ │ │ │ │ │ ├── FileSearch02.json │ │ │ │ │ │ │ ├── FileSearch02.tsx │ │ │ │ │ │ │ ├── FileZip.json │ │ │ │ │ │ │ ├── FileZip.tsx │ │ │ │ │ │ │ ├── Folder.json │ │ │ │ │ │ │ ├── Folder.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── general/ │ │ │ │ │ │ │ ├── AnswerTriangle.json │ │ │ │ │ │ │ ├── AnswerTriangle.tsx │ │ │ │ │ │ │ ├── ArrowDownRoundFill.json │ │ │ │ │ │ │ ├── ArrowDownRoundFill.tsx │ │ │ │ │ │ │ ├── CheckCircle.json │ │ │ │ │ │ │ ├── CheckCircle.tsx │ │ │ │ │ │ │ ├── CheckDone01.json │ │ │ │ │ │ │ ├── CheckDone01.tsx │ │ │ │ │ │ │ ├── Download02.json │ │ │ │ │ │ │ ├── Download02.tsx │ │ │ │ │ │ │ ├── Edit03.json │ │ │ │ │ │ │ ├── Edit03.tsx │ │ │ │ │ │ │ ├── Edit04.json │ │ │ │ │ │ │ ├── Edit04.tsx │ │ │ │ │ │ │ ├── Eye.json │ │ │ │ │ │ │ ├── Eye.tsx │ │ │ │ │ │ │ ├── Github.json │ │ │ │ │ │ │ ├── Github.tsx │ │ │ │ │ │ │ ├── MessageClockCircle.json │ │ │ │ │ │ │ ├── MessageClockCircle.tsx │ │ │ │ │ │ │ ├── PlusCircle.json │ │ │ │ │ │ │ ├── PlusCircle.tsx │ │ │ │ │ │ │ ├── QuestionTriangle.json │ │ │ │ │ │ │ ├── QuestionTriangle.tsx │ │ │ │ │ │ │ ├── SearchMd.json │ │ │ │ │ │ │ ├── SearchMd.tsx │ │ │ │ │ │ │ ├── Target04.json │ │ │ │ │ │ │ ├── Target04.tsx │ │ │ │ │ │ │ ├── Tool03.json │ │ │ │ │ │ │ ├── Tool03.tsx │ │ │ │ │ │ │ ├── XCircle.json │ │ │ │ │ │ │ ├── XCircle.tsx │ │ │ │ │ │ │ ├── ZapFast.json │ │ │ │ │ │ │ ├── ZapFast.tsx │ │ │ │ │ │ │ ├── ZapNarrow.json │ │ │ │ │ │ │ ├── ZapNarrow.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── Grid01.json │ │ │ │ │ │ │ ├── Grid01.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── mediaAndDevices/ │ │ │ │ │ │ │ ├── AudioSupportIcon.json │ │ │ │ │ │ │ ├── AudioSupportIcon.tsx │ │ │ │ │ │ │ ├── DocumentSupportIcon.json │ │ │ │ │ │ │ ├── DocumentSupportIcon.tsx │ │ │ │ │ │ │ ├── MagicBox.json │ │ │ │ │ │ │ ├── MagicBox.tsx │ │ │ │ │ │ │ ├── MagicEyes.json │ │ │ │ │ │ │ ├── MagicEyes.tsx │ │ │ │ │ │ │ ├── MagicWand.json │ │ │ │ │ │ │ ├── MagicWand.tsx │ │ │ │ │ │ │ ├── Microphone01.json │ │ │ │ │ │ │ ├── Microphone01.tsx │ │ │ │ │ │ │ ├── Play.json │ │ │ │ │ │ │ ├── Play.tsx │ │ │ │ │ │ │ ├── Robot.json │ │ │ │ │ │ │ ├── Robot.tsx │ │ │ │ │ │ │ ├── Sliders02.json │ │ │ │ │ │ │ ├── Sliders02.tsx │ │ │ │ │ │ │ ├── Speaker.json │ │ │ │ │ │ │ ├── Speaker.tsx │ │ │ │ │ │ │ ├── StopCircle.json │ │ │ │ │ │ │ ├── StopCircle.tsx │ │ │ │ │ │ │ ├── VideoSupportIcon.json │ │ │ │ │ │ │ ├── VideoSupportIcon.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── security/ │ │ │ │ │ │ │ ├── Lock01.json │ │ │ │ │ │ │ ├── Lock01.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── shapes/ │ │ │ │ │ │ │ ├── Corner.json │ │ │ │ │ │ │ ├── Corner.tsx │ │ │ │ │ │ │ ├── Star04.json │ │ │ │ │ │ │ ├── Star04.tsx │ │ │ │ │ │ │ ├── Star06.json │ │ │ │ │ │ │ ├── Star06.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── users/ │ │ │ │ │ │ ├── User01.json │ │ │ │ │ │ ├── User01.tsx │ │ │ │ │ │ ├── UserEdit02.json │ │ │ │ │ │ ├── UserEdit02.tsx │ │ │ │ │ │ ├── Users01.json │ │ │ │ │ │ ├── Users01.tsx │ │ │ │ │ │ ├── UsersPlus.json │ │ │ │ │ │ ├── UsersPlus.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── system/ │ │ │ │ │ │ ├── AutoUpdateLine.json │ │ │ │ │ │ ├── AutoUpdateLine.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── workflow/ │ │ │ │ │ ├── Agent.json │ │ │ │ │ ├── Agent.tsx │ │ │ │ │ ├── Answer.json │ │ │ │ │ ├── Answer.tsx │ │ │ │ │ ├── ApiAggregate.json │ │ │ │ │ ├── ApiAggregate.tsx │ │ │ │ │ ├── Assigner.json │ │ │ │ │ ├── Assigner.tsx │ │ │ │ │ ├── Asterisk.json │ │ │ │ │ ├── Asterisk.tsx │ │ │ │ │ ├── CalendarCheckLine.json │ │ │ │ │ ├── CalendarCheckLine.tsx │ │ │ │ │ ├── Code.json │ │ │ │ │ ├── Code.tsx │ │ │ │ │ ├── Datasource.json │ │ │ │ │ ├── Datasource.tsx │ │ │ │ │ ├── DocsExtractor.json │ │ │ │ │ ├── DocsExtractor.tsx │ │ │ │ │ ├── End.json │ │ │ │ │ ├── End.tsx │ │ │ │ │ ├── Home.json │ │ │ │ │ ├── Home.tsx │ │ │ │ │ ├── Http.json │ │ │ │ │ ├── Http.tsx │ │ │ │ │ ├── HumanInLoop.json │ │ │ │ │ ├── HumanInLoop.tsx │ │ │ │ │ ├── IfElse.json │ │ │ │ │ ├── IfElse.tsx │ │ │ │ │ ├── Iteration.json │ │ │ │ │ ├── Iteration.tsx │ │ │ │ │ ├── IterationStart.json │ │ │ │ │ ├── IterationStart.tsx │ │ │ │ │ ├── Jinja.json │ │ │ │ │ ├── Jinja.tsx │ │ │ │ │ ├── KnowledgeBase.json │ │ │ │ │ ├── KnowledgeBase.tsx │ │ │ │ │ ├── KnowledgeRetrieval.json │ │ │ │ │ ├── KnowledgeRetrieval.tsx │ │ │ │ │ ├── ListFilter.json │ │ │ │ │ ├── ListFilter.tsx │ │ │ │ │ ├── Llm.json │ │ │ │ │ ├── Llm.tsx │ │ │ │ │ ├── Loop.json │ │ │ │ │ ├── Loop.tsx │ │ │ │ │ ├── LoopEnd.json │ │ │ │ │ ├── LoopEnd.tsx │ │ │ │ │ ├── ParameterExtractor.json │ │ │ │ │ ├── ParameterExtractor.tsx │ │ │ │ │ ├── QuestionClassifier.json │ │ │ │ │ ├── QuestionClassifier.tsx │ │ │ │ │ ├── Schedule.json │ │ │ │ │ ├── Schedule.tsx │ │ │ │ │ ├── TemplatingTransform.json │ │ │ │ │ ├── TemplatingTransform.tsx │ │ │ │ │ ├── TriggerAll.json │ │ │ │ │ ├── TriggerAll.tsx │ │ │ │ │ ├── VariableX.json │ │ │ │ │ ├── VariableX.tsx │ │ │ │ │ ├── WebhookLine.json │ │ │ │ │ ├── WebhookLine.tsx │ │ │ │ │ ├── WindowCursor.json │ │ │ │ │ ├── WindowCursor.tsx │ │ │ │ │ └── index.ts │ │ │ │ └── utils.ts │ │ │ ├── image-gallery/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── image-uploader/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── audio-preview.spec.tsx │ │ │ │ │ ├── chat-image-uploader.spec.tsx │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ ├── image-link-input.spec.tsx │ │ │ │ │ ├── image-list.spec.tsx │ │ │ │ │ ├── image-preview.spec.tsx │ │ │ │ │ ├── text-generation-image-uploader.spec.tsx │ │ │ │ │ ├── uploader.spec.tsx │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ └── video-preview.spec.tsx │ │ │ │ ├── audio-preview.tsx │ │ │ │ ├── chat-image-uploader.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── image-link-input.tsx │ │ │ │ ├── image-list.stories.tsx │ │ │ │ ├── image-list.tsx │ │ │ │ ├── image-preview.tsx │ │ │ │ ├── text-generation-image-uploader.tsx │ │ │ │ ├── uploader.tsx │ │ │ │ ├── utils.ts │ │ │ │ └── video-preview.tsx │ │ │ ├── inline-delete-confirm/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── input/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── input-with-copy/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── linked-apps-panel/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── list-empty/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── horizontal-line.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── vertical-line.spec.tsx │ │ │ │ ├── horizontal-line.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── vertical-line.tsx │ │ │ ├── loading/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.css │ │ │ ├── logo/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── dify-logo.spec.tsx │ │ │ │ │ ├── logo-embedded-chat-avatar.spec.tsx │ │ │ │ │ ├── logo-embedded-chat-header.spec.tsx │ │ │ │ │ └── logo-site.spec.tsx │ │ │ │ ├── dify-logo.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── logo-embedded-chat-avatar.tsx │ │ │ │ ├── logo-embedded-chat-header.tsx │ │ │ │ └── logo-site.tsx │ │ │ ├── markdown/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── error-boundary.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── markdown-utils.spec.ts │ │ │ │ │ └── streamdown-wrapper.spec.tsx │ │ │ │ ├── error-boundary.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── markdown-utils.ts │ │ │ │ └── streamdown-wrapper.tsx │ │ │ ├── markdown-blocks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── audio-block.spec.tsx │ │ │ │ │ ├── button.spec.tsx │ │ │ │ │ ├── code-block.spec.tsx │ │ │ │ │ ├── form.spec.tsx │ │ │ │ │ ├── img.spec.tsx │ │ │ │ │ ├── link.spec.tsx │ │ │ │ │ ├── music.spec.tsx │ │ │ │ │ ├── paragraph.spec.tsx │ │ │ │ │ ├── plugin-img.spec.tsx │ │ │ │ │ ├── plugin-paragraph.spec.tsx │ │ │ │ │ ├── think-block.spec.tsx │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ └── video-block.spec.tsx │ │ │ │ ├── audio-block.tsx │ │ │ │ ├── button.tsx │ │ │ │ ├── code-block.stories.tsx │ │ │ │ ├── code-block.tsx │ │ │ │ ├── form.tsx │ │ │ │ ├── img.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── link.tsx │ │ │ │ ├── music.tsx │ │ │ │ ├── paragraph.tsx │ │ │ │ ├── plugin-img.tsx │ │ │ │ ├── plugin-paragraph.tsx │ │ │ │ ├── think-block.stories.tsx │ │ │ │ ├── think-block.tsx │ │ │ │ ├── utils.ts │ │ │ │ └── video-block.tsx │ │ │ ├── markdown-with-directive/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── markdown-with-directive-schema.spec.ts │ │ │ │ │ │ ├── with-icon-card-item.spec.tsx │ │ │ │ │ │ └── with-icon-card-list.spec.tsx │ │ │ │ │ ├── markdown-with-directive-schema.ts │ │ │ │ │ ├── with-icon-card-item.tsx │ │ │ │ │ └── with-icon-card-list.tsx │ │ │ │ └── index.tsx │ │ │ ├── mermaid/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── utils.ts │ │ │ ├── message-log-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── modal.spec.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── modal.stories.tsx │ │ │ │ └── modal.tsx │ │ │ ├── modal-like-wrap/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── new-audio-button/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── node-status/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── notion-connector/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── notion-icon/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── notion-page-selector/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── base.spec.tsx │ │ │ │ ├── base.tsx │ │ │ │ ├── credential-selector/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── page-selector/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── search-input/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── pagination/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hook.spec.ts │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── pagination.spec.tsx │ │ │ │ ├── hook.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── pagination.tsx │ │ │ │ └── type.ts │ │ │ ├── param-item/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index-slider.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── score-threshold-item.spec.tsx │ │ │ │ │ └── top-k-item.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── score-threshold-item.tsx │ │ │ │ └── top-k-item.tsx │ │ │ ├── popover/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── portal-to-follow-elem/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── premium-badge/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── progress-bar/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── progress-circle.spec.tsx │ │ │ │ ├── progress-circle.stories.tsx │ │ │ │ └── progress-circle.tsx │ │ │ ├── prompt-editor/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── constants.spec.tsx │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── constants.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── plugins/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── on-blur-or-focus-block.spec.tsx │ │ │ │ │ │ ├── placeholder.spec.tsx │ │ │ │ │ │ ├── test-helper.spec.ts │ │ │ │ │ │ ├── tree-view.spec.tsx │ │ │ │ │ │ ├── update-block.spec.tsx │ │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── component-picker-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── menu.spec.tsx │ │ │ │ │ │ │ ├── prompt-option.spec.tsx │ │ │ │ │ │ │ └── variable-option.spec.tsx │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── menu.tsx │ │ │ │ │ │ ├── prompt-option.tsx │ │ │ │ │ │ └── variable-option.tsx │ │ │ │ │ ├── context-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── context-block-replacement-block.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── context-block-replacement-block.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── current-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── current-block-replacement-block.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── current-block-replacement-block.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── custom-text/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── draggable-plugin/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── error-message-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── error-message-block-replacement-block.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── error-message-block-replacement-block.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── history-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── history-block-replacement-block.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── history-block-replacement-block.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── hitl-input-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component-ui.spec.tsx │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── hitl-input-block-replacement-block.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── input-field.spec.tsx │ │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ │ ├── pre-populate.spec.tsx │ │ │ │ │ │ │ ├── tag-label.spec.tsx │ │ │ │ │ │ │ ├── type-switch.spec.tsx │ │ │ │ │ │ │ └── variable-block.spec.tsx │ │ │ │ │ │ ├── component-ui.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── hitl-input-block-replacement-block.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── input-field.tsx │ │ │ │ │ │ ├── node.tsx │ │ │ │ │ │ ├── pre-populate.tsx │ │ │ │ │ │ ├── tag-label.tsx │ │ │ │ │ │ ├── type-switch.tsx │ │ │ │ │ │ └── variable-block.tsx │ │ │ │ │ ├── last-run-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── last-run-block-replacement-block.spec.tsx │ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── last-run-block-replacement-block.tsx │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── on-blur-or-focus-block.tsx │ │ │ │ │ ├── placeholder.tsx │ │ │ │ │ ├── query-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ │ └── query-block-replacement-block.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node.tsx │ │ │ │ │ │ └── query-block-replacement-block.tsx │ │ │ │ │ ├── request-url-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ │ └── request-url-block-replacement-block.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node.tsx │ │ │ │ │ │ └── request-url-block-replacement-block.tsx │ │ │ │ │ ├── shortcuts-popup-plugin/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── test-helpers.ts │ │ │ │ │ ├── test-utils.tsx │ │ │ │ │ ├── tree-view.tsx │ │ │ │ │ ├── update-block.tsx │ │ │ │ │ ├── variable-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── variable-value-block/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node.tsx │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── workflow-variable-block/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── component.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ ├── use-llm-model-plugin-installed.spec.ts │ │ │ │ │ │ └── workflow-variable-block-replacement-block.spec.tsx │ │ │ │ │ ├── component.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── use-llm-model-plugin-installed.ts │ │ │ │ │ └── workflow-variable-block-replacement-block.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── prompt-log-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── card.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── card.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── qrcode/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── radio/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── ui.spec.tsx │ │ │ │ ├── component/ │ │ │ │ │ ├── group/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── radio/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── context/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── style.module.css │ │ │ │ └── ui.tsx │ │ │ ├── radio-card/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── simple/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── search-input/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── segmented-control/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── select/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── custom.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── locale-signin.spec.tsx │ │ │ │ │ ├── locale.spec.tsx │ │ │ │ │ └── pure.spec.tsx │ │ │ │ ├── custom.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── locale-signin.tsx │ │ │ │ ├── locale.tsx │ │ │ │ └── pure.tsx │ │ │ ├── simple-pie-chart/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.module.css │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── skeleton/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── sort/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── spinner/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── svg/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── svg-gallery/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── switch/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── skeleton.tsx │ │ │ ├── tab-header/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── tab-slider/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── tab-slider-new/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── tab-slider-plain/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── tag/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── tag-input/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── interop.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── tag-management/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── filter.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── panel.spec.tsx │ │ │ │ │ ├── selector.spec.tsx │ │ │ │ │ ├── tag-item-editor.spec.tsx │ │ │ │ │ ├── tag-remove-modal.spec.tsx │ │ │ │ │ └── trigger.spec.tsx │ │ │ │ ├── constant.ts │ │ │ │ ├── filter.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── panel.tsx │ │ │ │ ├── selector.tsx │ │ │ │ ├── store.ts │ │ │ │ ├── tag-item-editor.tsx │ │ │ │ ├── tag-remove-modal.tsx │ │ │ │ └── trigger.tsx │ │ │ ├── text-generation/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── hooks.spec.ts │ │ │ │ ├── hooks.ts │ │ │ │ └── types.ts │ │ │ ├── textarea/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── theme-selector.tsx │ │ │ ├── theme-switcher.tsx │ │ │ ├── timezone-label/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── index.test.tsx │ │ │ │ └── index.tsx │ │ │ ├── toast/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── context.ts │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── tooltip/ │ │ │ │ ├── TooltipManager.ts │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── TooltipManager.spec.ts │ │ │ │ │ ├── content.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── content.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── ui/ │ │ │ │ ├── alert-dialog/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── context-menu/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── dialog/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── dropdown-menu/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── menu-shared.ts │ │ │ │ ├── number-field/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── placement.ts │ │ │ │ ├── popover/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── scroll-area/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── select/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── slider/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── toast/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── tooltip/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── video-gallery/ │ │ │ │ ├── VideoPlayer.module.css │ │ │ │ ├── VideoPlayer.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── VideoPlayer.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ ├── voice-input/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── index.module.css │ │ │ │ ├── index.stories.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── utils.ts │ │ │ ├── with-input-validation/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.stories.tsx │ │ │ │ └── index.tsx │ │ │ └── zendesk/ │ │ │ ├── __tests__/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── utils.spec.ts │ │ │ ├── index.tsx │ │ │ └── utils.ts │ │ ├── billing/ │ │ │ ├── __tests__/ │ │ │ │ └── config.spec.ts │ │ │ ├── annotation-full/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── modal.spec.tsx │ │ │ │ │ └── usage.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── modal.tsx │ │ │ │ ├── style.module.css │ │ │ │ └── usage.tsx │ │ │ ├── apps-full-in-dialog/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── billing-page/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── config.ts │ │ │ ├── header-billing-btn/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── partner-stack/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── cookie-recorder.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── use-ps-info.spec.tsx │ │ │ │ ├── cookie-recorder.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── use-ps-info.ts │ │ │ ├── plan/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── assets/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── enterprise.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── professional.spec.tsx │ │ │ │ │ │ ├── sandbox.spec.tsx │ │ │ │ │ │ └── team.spec.tsx │ │ │ │ │ ├── enterprise.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── professional.tsx │ │ │ │ │ ├── sandbox.tsx │ │ │ │ │ └── team.tsx │ │ │ │ └── index.tsx │ │ │ ├── plan-upgrade-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── pricing/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── dialog.spec.tsx │ │ │ │ │ ├── footer.spec.tsx │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── assets/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── components.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── cloud.tsx │ │ │ │ │ ├── community.tsx │ │ │ │ │ ├── enterprise-noise.tsx │ │ │ │ │ ├── enterprise.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── noise-bottom.tsx │ │ │ │ │ ├── noise-top.tsx │ │ │ │ │ ├── premium-noise.tsx │ │ │ │ │ ├── premium.tsx │ │ │ │ │ ├── professional.tsx │ │ │ │ │ ├── sandbox.tsx │ │ │ │ │ ├── self-hosted.tsx │ │ │ │ │ └── team.tsx │ │ │ │ ├── footer.tsx │ │ │ │ ├── header.module.css │ │ │ │ ├── header.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── plan-switcher/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── plan-range-switcher.spec.tsx │ │ │ │ │ │ └── tab.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── plan-range-switcher.tsx │ │ │ │ │ └── tab.tsx │ │ │ │ ├── plans/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── cloud-plan-item/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── button.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── button.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── list/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── item/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── tooltip.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── tooltip.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── self-hosted-plan-item/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── button.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── button.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── list/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── item.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── item.tsx │ │ │ │ └── types.ts │ │ │ ├── priority-label/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── progress-bar/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── trigger-events-limit-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── type.ts │ │ │ ├── upgrade-btn/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── usage-info/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── apps-info.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── vector-space-info.spec.tsx │ │ │ │ ├── apps-info.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── vector-space-info.tsx │ │ │ ├── utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.ts │ │ │ │ └── index.ts │ │ │ └── vector-space-full/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.tsx │ │ │ ├── index.tsx │ │ │ └── style.module.css │ │ ├── custom/ │ │ │ ├── custom-page/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── custom-web-app-brand/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── chat-preview-card.spec.tsx │ │ │ │ │ │ ├── powered-by-brand.spec.tsx │ │ │ │ │ │ └── workflow-preview-card.spec.tsx │ │ │ │ │ ├── chat-preview-card.tsx │ │ │ │ │ ├── powered-by-brand.tsx │ │ │ │ │ └── workflow-preview-card.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── use-web-app-brand.spec.tsx │ │ │ │ │ └── use-web-app-brand.ts │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ └── style.module.css │ │ ├── datasets/ │ │ │ ├── __tests__/ │ │ │ │ ├── chunk.spec.tsx │ │ │ │ ├── loading.spec.tsx │ │ │ │ └── no-linked-apps-panel.spec.tsx │ │ │ ├── api/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── chunk.tsx │ │ │ ├── common/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── check-rerank-model.spec.ts │ │ │ │ │ ├── chunking-mode-label.spec.tsx │ │ │ │ │ ├── credential-icon.spec.tsx │ │ │ │ │ └── document-file-icon.spec.tsx │ │ │ │ ├── check-rerank-model.ts │ │ │ │ ├── chunking-mode-label.tsx │ │ │ │ ├── credential-icon.tsx │ │ │ │ ├── document-file-icon.tsx │ │ │ │ ├── document-picker/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── document-list.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── preview-document-picker.spec.tsx │ │ │ │ │ ├── document-list.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── preview-document-picker.tsx │ │ │ │ ├── document-status-with-action/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── auto-disabled-document.spec.tsx │ │ │ │ │ │ ├── index-failed.spec.tsx │ │ │ │ │ │ └── status-with-action.spec.tsx │ │ │ │ │ ├── auto-disabled-document.tsx │ │ │ │ │ ├── index-failed.tsx │ │ │ │ │ └── status-with-action.tsx │ │ │ │ ├── economical-retrieval-method-config/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── image-list/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── more.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── more.tsx │ │ │ │ ├── image-previewer/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── image-uploader/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── constants.spec.ts │ │ │ │ │ │ ├── store.spec.tsx │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-upload.spec.tsx │ │ │ │ │ │ └── use-upload.ts │ │ │ │ │ ├── image-uploader-in-chunk/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── image-input.spec.tsx │ │ │ │ │ │ │ ├── image-item.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── image-input.tsx │ │ │ │ │ │ ├── image-item.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── image-uploader-in-retrieval-testing/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── image-input.spec.tsx │ │ │ │ │ │ │ ├── image-item.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── image-input.tsx │ │ │ │ │ │ ├── image-item.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── store.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── retrieval-method-config/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── retrieval-method-info/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── retrieval-param-config/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── create/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── icons.spec.ts │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── embedding-process/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── indexing-progress-item.spec.tsx │ │ │ │ │ │ ├── rule-detail.spec.tsx │ │ │ │ │ │ ├── upgrade-banner.spec.tsx │ │ │ │ │ │ ├── use-indexing-status-polling.spec.ts │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── indexing-progress-item.tsx │ │ │ │ │ ├── rule-detail.tsx │ │ │ │ │ ├── upgrade-banner.tsx │ │ │ │ │ ├── use-indexing-status-polling.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── empty-dataset-creation-modal/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── file-preview/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── file-uploader/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── constants.spec.ts │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── file-list-item.spec.tsx │ │ │ │ │ │ │ └── upload-dropzone.spec.tsx │ │ │ │ │ │ ├── file-list-item.tsx │ │ │ │ │ │ └── upload-dropzone.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-file-upload.spec.tsx │ │ │ │ │ │ └── use-file-upload.ts │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── icons.ts │ │ │ │ ├── index.module.css │ │ │ │ ├── index.tsx │ │ │ │ ├── notion-page-preview/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── step-one/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── upgrade-card.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── data-source-type-selector.spec.tsx │ │ │ │ │ │ │ ├── next-step-button.spec.tsx │ │ │ │ │ │ │ └── preview-panel.spec.tsx │ │ │ │ │ │ ├── data-source-type-selector.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── next-step-button.tsx │ │ │ │ │ │ └── preview-panel.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-preview-state.spec.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-preview-state.ts │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── upgrade-card.tsx │ │ │ │ ├── step-three/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── step-two/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── general-chunking-options.spec.tsx │ │ │ │ │ │ │ ├── indexing-mode-section.spec.tsx │ │ │ │ │ │ │ ├── inputs.spec.tsx │ │ │ │ │ │ │ ├── option-card.spec.tsx │ │ │ │ │ │ │ ├── parent-child-options.spec.tsx │ │ │ │ │ │ │ ├── preview-panel.spec.tsx │ │ │ │ │ │ │ └── step-two-footer.spec.tsx │ │ │ │ │ │ ├── general-chunking-options.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── indexing-mode-section.tsx │ │ │ │ │ │ ├── inputs.tsx │ │ │ │ │ │ ├── option-card.tsx │ │ │ │ │ │ ├── parent-child-options.tsx │ │ │ │ │ │ ├── preview-panel.tsx │ │ │ │ │ │ └── step-two-footer.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── escape.spec.ts │ │ │ │ │ │ │ ├── unescape.spec.ts │ │ │ │ │ │ │ ├── use-document-creation.spec.ts │ │ │ │ │ │ │ ├── use-indexing-config.spec.ts │ │ │ │ │ │ │ ├── use-indexing-estimate.spec.ts │ │ │ │ │ │ │ ├── use-preview-state.spec.ts │ │ │ │ │ │ │ └── use-segmentation-state.spec.ts │ │ │ │ │ │ ├── escape.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── unescape.ts │ │ │ │ │ │ ├── use-document-creation.ts │ │ │ │ │ │ ├── use-indexing-config.ts │ │ │ │ │ │ ├── use-indexing-estimate.ts │ │ │ │ │ │ ├── use-preview-state.ts │ │ │ │ │ │ └── use-segmentation-state.ts │ │ │ │ │ ├── index.module.css │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── language-select/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── preview-item/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── stepper/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── step.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── step.tsx │ │ │ │ ├── stop-embedding-modal/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── top-bar/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── website/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── base.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── no-data.spec.tsx │ │ │ │ │ └── preview.spec.tsx │ │ │ │ ├── base/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── checkbox-with-label.spec.tsx │ │ │ │ │ │ ├── crawled-result-item.spec.tsx │ │ │ │ │ │ ├── crawled-result.spec.tsx │ │ │ │ │ │ ├── crawling.spec.tsx │ │ │ │ │ │ ├── error-message.spec.tsx │ │ │ │ │ │ ├── field.spec.tsx │ │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ │ ├── input.spec.tsx │ │ │ │ │ │ ├── options-wrap.spec.tsx │ │ │ │ │ │ └── url-input.spec.tsx │ │ │ │ │ ├── checkbox-with-label.tsx │ │ │ │ │ ├── crawled-result-item.tsx │ │ │ │ │ ├── crawled-result.tsx │ │ │ │ │ ├── crawling.tsx │ │ │ │ │ ├── error-message.tsx │ │ │ │ │ ├── field.tsx │ │ │ │ │ ├── header.tsx │ │ │ │ │ ├── input.tsx │ │ │ │ │ ├── options-wrap.tsx │ │ │ │ │ └── url-input.tsx │ │ │ │ ├── firecrawl/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── options.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── options.tsx │ │ │ │ ├── index.module.css │ │ │ │ ├── index.tsx │ │ │ │ ├── jina-reader/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── base.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── options.spec.tsx │ │ │ │ │ ├── base/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── url-input.spec.tsx │ │ │ │ │ │ └── url-input.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── options.tsx │ │ │ │ ├── no-data.tsx │ │ │ │ ├── preview.tsx │ │ │ │ └── watercrawl/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── options.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── options.tsx │ │ │ ├── create-from-pipeline/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── footer.spec.tsx │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── create-options/ │ │ │ │ │ └── create-from-dsl-modal/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── dsl-confirm-modal.spec.tsx │ │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── uploader.spec.tsx │ │ │ │ │ ├── dsl-confirm-modal.tsx │ │ │ │ │ ├── header.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-dsl-import.spec.tsx │ │ │ │ │ │ └── use-dsl-import.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── tab/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── item.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── item.tsx │ │ │ │ │ └── uploader.tsx │ │ │ │ ├── footer.tsx │ │ │ │ ├── header.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── list/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── built-in-pipeline-list.spec.tsx │ │ │ │ │ ├── create-card.spec.tsx │ │ │ │ │ ├── customized-list.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── built-in-pipeline-list.tsx │ │ │ │ ├── create-card.tsx │ │ │ │ ├── customized-list.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── template-card/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── actions.spec.tsx │ │ │ │ │ ├── content.spec.tsx │ │ │ │ │ ├── edit-pipeline-info.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── operations.spec.tsx │ │ │ │ ├── actions.tsx │ │ │ │ ├── content.tsx │ │ │ │ ├── details/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── chunk-structure-card.spec.tsx │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── chunk-structure-card.tsx │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── edit-pipeline-info.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── operations.tsx │ │ │ ├── documents/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── status-filter.spec.ts │ │ │ │ ├── components/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── documents-header.spec.tsx │ │ │ │ │ │ ├── empty-element.spec.tsx │ │ │ │ │ │ ├── icons.spec.tsx │ │ │ │ │ │ ├── list.spec.tsx │ │ │ │ │ │ ├── operations.spec.tsx │ │ │ │ │ │ └── rename-modal.spec.tsx │ │ │ │ │ ├── document-list/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── document-source-icon.spec.tsx │ │ │ │ │ │ │ │ ├── document-table-row.spec.tsx │ │ │ │ │ │ │ │ ├── sort-header.spec.tsx │ │ │ │ │ │ │ │ └── utils.spec.tsx │ │ │ │ │ │ │ ├── document-source-icon.tsx │ │ │ │ │ │ │ ├── document-table-row.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── sort-header.tsx │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── use-document-actions.spec.ts │ │ │ │ │ │ │ │ ├── use-document-actions.spec.tsx │ │ │ │ │ │ │ │ ├── use-document-selection.spec.ts │ │ │ │ │ │ │ │ └── use-document-sort.spec.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-document-actions.ts │ │ │ │ │ │ │ ├── use-document-selection.ts │ │ │ │ │ │ │ └── use-document-sort.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── documents-header.tsx │ │ │ │ │ ├── empty-element.tsx │ │ │ │ │ ├── icons.tsx │ │ │ │ │ ├── list.tsx │ │ │ │ │ ├── operations.tsx │ │ │ │ │ └── rename-modal.tsx │ │ │ │ ├── create-from-pipeline/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── left-header.spec.tsx │ │ │ │ │ │ └── step-indicator.spec.tsx │ │ │ │ │ ├── actions/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── data-source/ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── header.spec.tsx │ │ │ │ │ │ │ ├── credential-selector/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ │ ├── item.spec.tsx │ │ │ │ │ │ │ │ │ ├── list.spec.tsx │ │ │ │ │ │ │ │ │ └── trigger.spec.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ │ │ ├── list.tsx │ │ │ │ │ │ │ │ └── trigger.tsx │ │ │ │ │ │ │ └── header.tsx │ │ │ │ │ │ ├── local-file/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ ├── file-list-item.spec.tsx │ │ │ │ │ │ │ │ │ └── upload-dropzone.spec.tsx │ │ │ │ │ │ │ │ ├── file-list-item.tsx │ │ │ │ │ │ │ │ └── upload-dropzone.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ └── use-local-file-upload.spec.tsx │ │ │ │ │ │ │ │ └── use-local-file-upload.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── online-documents/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ └── title.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── page-selector/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ └── title.tsx │ │ │ │ │ │ ├── online-drive/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ │ ├── connect/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── file-list/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ │ │ ├── breadcrumbs/ │ │ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ │ │ ├── bucket.spec.tsx │ │ │ │ │ │ │ │ │ │ │ ├── drive.spec.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ │ │ │ └── item.spec.tsx │ │ │ │ │ │ │ │ │ │ ├── bucket.tsx │ │ │ │ │ │ │ │ │ │ ├── drive.tsx │ │ │ │ │ │ │ │ │ │ ├── dropdown/ │ │ │ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── item.spec.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── menu.spec.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ │ │ │ │ │ └── menu.tsx │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── item.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── list/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ ├── empty-folder.spec.tsx │ │ │ │ │ │ │ │ │ ├── empty-search-result.spec.tsx │ │ │ │ │ │ │ │ │ ├── file-icon.spec.tsx │ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ │ ├── item.spec.tsx │ │ │ │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ │ │ │ ├── empty-folder.tsx │ │ │ │ │ │ │ │ ├── empty-search-result.tsx │ │ │ │ │ │ │ │ ├── file-icon.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ │ │ │ └── provider.spec.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── provider.tsx │ │ │ │ │ │ │ └── slices/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── common.spec.ts │ │ │ │ │ │ │ │ ├── local-file.spec.ts │ │ │ │ │ │ │ │ ├── online-document.spec.ts │ │ │ │ │ │ │ │ ├── online-drive.spec.ts │ │ │ │ │ │ │ │ └── website-crawl.spec.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── local-file.ts │ │ │ │ │ │ │ ├── online-document.ts │ │ │ │ │ │ │ ├── online-drive.ts │ │ │ │ │ │ │ └── website-crawl.ts │ │ │ │ │ │ └── website-crawl/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── checkbox-with-label.spec.tsx │ │ │ │ │ │ │ │ ├── crawled-result-item.spec.tsx │ │ │ │ │ │ │ │ ├── crawled-result.spec.tsx │ │ │ │ │ │ │ │ ├── crawling.spec.tsx │ │ │ │ │ │ │ │ ├── error-message.spec.tsx │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── checkbox-with-label.tsx │ │ │ │ │ │ │ ├── crawled-result-item.tsx │ │ │ │ │ │ │ ├── crawled-result.tsx │ │ │ │ │ │ │ ├── crawling.tsx │ │ │ │ │ │ │ ├── error-message.tsx │ │ │ │ │ │ │ └── options/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── data-source-options/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── datasource-icon.spec.tsx │ │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── option-card.spec.tsx │ │ │ │ │ │ ├── datasource-icon.tsx │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── option-card.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-add-documents-steps.spec.ts │ │ │ │ │ │ │ ├── use-datasource-actions.spec.ts │ │ │ │ │ │ │ ├── use-datasource-options.spec.ts │ │ │ │ │ │ │ ├── use-datasource-store.spec.ts │ │ │ │ │ │ │ └── use-datasource-ui-state.spec.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-add-documents-steps.ts │ │ │ │ │ │ ├── use-datasource-actions.ts │ │ │ │ │ │ ├── use-datasource-options.ts │ │ │ │ │ │ ├── use-datasource-store.ts │ │ │ │ │ │ └── use-datasource-ui-state.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── left-header.tsx │ │ │ │ │ ├── preview/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── chunk-preview.spec.tsx │ │ │ │ │ │ │ ├── file-preview.spec.tsx │ │ │ │ │ │ │ ├── online-document-preview.spec.tsx │ │ │ │ │ │ │ └── web-preview.spec.tsx │ │ │ │ │ │ ├── chunk-preview.tsx │ │ │ │ │ │ ├── file-preview.tsx │ │ │ │ │ │ ├── loading.tsx │ │ │ │ │ │ ├── online-document-preview.tsx │ │ │ │ │ │ └── web-preview.tsx │ │ │ │ │ ├── process-documents/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── actions.spec.tsx │ │ │ │ │ │ │ ├── components.spec.tsx │ │ │ │ │ │ │ ├── form.spec.tsx │ │ │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── actions.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── processing/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── embedding-process/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ └── rule-detail.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── rule-detail.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── step-indicator.tsx │ │ │ │ │ ├── steps/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── preview-panel.spec.tsx │ │ │ │ │ │ │ ├── step-one-content.spec.tsx │ │ │ │ │ │ │ ├── step-three-content.spec.tsx │ │ │ │ │ │ │ └── step-two-content.spec.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── preview-panel.tsx │ │ │ │ │ │ ├── step-one-content.tsx │ │ │ │ │ │ ├── step-three-content.tsx │ │ │ │ │ │ └── step-two-content.tsx │ │ │ │ │ ├── types.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── datasource-info-builder.spec.ts │ │ │ │ │ └── datasource-info-builder.ts │ │ │ │ ├── detail/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── document-title.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── new-segment.spec.tsx │ │ │ │ │ ├── batch-modal/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── csv-downloader.spec.tsx │ │ │ │ │ │ │ ├── csv-uploader.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── csv-downloader.tsx │ │ │ │ │ │ ├── csv-uploader.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── completed/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── child-segment-detail.spec.tsx │ │ │ │ │ │ │ ├── child-segment-list.spec.tsx │ │ │ │ │ │ │ ├── display-toggle.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── new-child-segment.spec.tsx │ │ │ │ │ │ │ ├── segment-detail.spec.tsx │ │ │ │ │ │ │ ├── segment-list.spec.tsx │ │ │ │ │ │ │ └── status-item.spec.tsx │ │ │ │ │ │ ├── child-segment-detail.tsx │ │ │ │ │ │ ├── child-segment-list.tsx │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── action-buttons.spec.tsx │ │ │ │ │ │ │ │ ├── add-another.spec.tsx │ │ │ │ │ │ │ │ ├── batch-action.spec.tsx │ │ │ │ │ │ │ │ ├── chunk-content.spec.tsx │ │ │ │ │ │ │ │ ├── dot.spec.tsx │ │ │ │ │ │ │ │ ├── drawer.spec.tsx │ │ │ │ │ │ │ │ ├── empty.spec.tsx │ │ │ │ │ │ │ │ ├── full-screen-drawer.spec.tsx │ │ │ │ │ │ │ │ ├── keywords.spec.tsx │ │ │ │ │ │ │ │ ├── regeneration-modal.spec.tsx │ │ │ │ │ │ │ │ ├── segment-index-tag.spec.tsx │ │ │ │ │ │ │ │ ├── summary-label.spec.tsx │ │ │ │ │ │ │ │ ├── summary-status.spec.tsx │ │ │ │ │ │ │ │ ├── summary-text.spec.tsx │ │ │ │ │ │ │ │ ├── summary.spec.tsx │ │ │ │ │ │ │ │ └── tag.spec.tsx │ │ │ │ │ │ │ ├── action-buttons.tsx │ │ │ │ │ │ │ ├── add-another.tsx │ │ │ │ │ │ │ ├── batch-action.tsx │ │ │ │ │ │ │ ├── chunk-content.tsx │ │ │ │ │ │ │ ├── dot.tsx │ │ │ │ │ │ │ ├── drawer.tsx │ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ │ ├── full-screen-drawer.tsx │ │ │ │ │ │ │ ├── keywords.tsx │ │ │ │ │ │ │ ├── regeneration-modal.tsx │ │ │ │ │ │ │ ├── segment-index-tag.tsx │ │ │ │ │ │ │ ├── summary-label.tsx │ │ │ │ │ │ │ ├── summary-status.tsx │ │ │ │ │ │ │ ├── summary-text.tsx │ │ │ │ │ │ │ └── tag.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── drawer-group.spec.tsx │ │ │ │ │ │ │ │ ├── menu-bar.spec.tsx │ │ │ │ │ │ │ │ └── segment-list-content.spec.tsx │ │ │ │ │ │ │ ├── drawer-group.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── menu-bar.tsx │ │ │ │ │ │ │ └── segment-list-content.tsx │ │ │ │ │ │ ├── display-toggle.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── use-child-segment-data.spec.ts │ │ │ │ │ │ │ │ ├── use-modal-state.spec.ts │ │ │ │ │ │ │ │ ├── use-search-filter.spec.ts │ │ │ │ │ │ │ │ ├── use-segment-list-data.spec.ts │ │ │ │ │ │ │ │ └── use-segment-selection.spec.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-child-segment-data.ts │ │ │ │ │ │ │ ├── use-modal-state.ts │ │ │ │ │ │ │ ├── use-search-filter.ts │ │ │ │ │ │ │ ├── use-segment-list-data.ts │ │ │ │ │ │ │ └── use-segment-selection.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── new-child-segment.tsx │ │ │ │ │ │ ├── segment-card/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── chunk-content.spec.tsx │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── chunk-content.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── segment-detail.tsx │ │ │ │ │ │ ├── segment-list-context.ts │ │ │ │ │ │ ├── segment-list.tsx │ │ │ │ │ │ ├── skeleton/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── full-doc-list-skeleton.spec.tsx │ │ │ │ │ │ │ │ ├── general-list-skeleton.spec.tsx │ │ │ │ │ │ │ │ ├── paragraph-list-skeleton.spec.tsx │ │ │ │ │ │ │ │ └── parent-chunk-card-skeleton.spec.tsx │ │ │ │ │ │ │ ├── full-doc-list-skeleton.tsx │ │ │ │ │ │ │ ├── general-list-skeleton.tsx │ │ │ │ │ │ │ ├── paragraph-list-skeleton.tsx │ │ │ │ │ │ │ └── parent-chunk-card-skeleton.tsx │ │ │ │ │ │ ├── status-item.tsx │ │ │ │ │ │ └── style.module.css │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── document-title.tsx │ │ │ │ │ ├── embedding/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── progress-bar.spec.tsx │ │ │ │ │ │ │ │ ├── rule-detail.spec.tsx │ │ │ │ │ │ │ │ ├── segment-progress.spec.tsx │ │ │ │ │ │ │ │ └── status-header.spec.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── progress-bar.tsx │ │ │ │ │ │ │ ├── rule-detail.tsx │ │ │ │ │ │ │ ├── segment-progress.tsx │ │ │ │ │ │ │ └── status-header.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── use-embedding-status.spec.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── use-embedding-status.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── skeleton/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── style.module.css │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── metadata/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── doc-type-selector.spec.tsx │ │ │ │ │ │ │ │ ├── field-info.spec.tsx │ │ │ │ │ │ │ │ └── metadata-field-list.spec.tsx │ │ │ │ │ │ │ ├── doc-type-selector.tsx │ │ │ │ │ │ │ ├── field-info.tsx │ │ │ │ │ │ │ └── metadata-field-list.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── use-metadata-state.spec.ts │ │ │ │ │ │ │ └── use-metadata-state.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── style.module.css │ │ │ │ │ ├── new-segment.tsx │ │ │ │ │ ├── segment-add/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── settings/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── document-settings.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── document-settings.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── pipeline-settings/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── left-header.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── left-header.tsx │ │ │ │ │ │ └── process-documents/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── actions.spec.tsx │ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── actions.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── style.module.css │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── use-document-list-query-state.spec.tsx │ │ │ │ │ │ └── use-documents-page-state.spec.ts │ │ │ │ │ ├── use-document-list-query-state.ts │ │ │ │ │ └── use-documents-page-state.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── status-filter.ts │ │ │ │ ├── status-item/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── style.module.css │ │ │ │ └── types.ts │ │ │ ├── external-api/ │ │ │ │ ├── declarations.ts │ │ │ │ ├── external-api-modal/ │ │ │ │ │ ├── Form.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── Form.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── external-api-panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── external-knowledge-api-card/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── external-knowledge-base/ │ │ │ │ ├── connector/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── create/ │ │ │ │ ├── ExternalApiSelect.tsx │ │ │ │ ├── ExternalApiSelection.tsx │ │ │ │ ├── InfoPanel.tsx │ │ │ │ ├── KnowledgeBaseInfo.tsx │ │ │ │ ├── RetrievalSettings.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── ExternalApiSelect.spec.tsx │ │ │ │ │ ├── ExternalApiSelection.spec.tsx │ │ │ │ │ ├── InfoPanel.spec.tsx │ │ │ │ │ ├── KnowledgeBaseInfo.spec.tsx │ │ │ │ │ ├── RetrievalSettings.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── declarations.ts │ │ │ │ └── index.tsx │ │ │ ├── extra-info/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── statistics.spec.tsx │ │ │ │ ├── api-access/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── card.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── card.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── service-api/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── card.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── card.tsx │ │ │ │ │ └── index.tsx │ │ │ │ └── statistics.tsx │ │ │ ├── formatted-text/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── formatted.spec.tsx │ │ │ │ ├── flavours/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── edit-slice.spec.tsx │ │ │ │ │ │ ├── preview-slice.spec.tsx │ │ │ │ │ │ └── shared.spec.tsx │ │ │ │ │ ├── edit-slice.tsx │ │ │ │ │ ├── preview-slice.tsx │ │ │ │ │ ├── shared.tsx │ │ │ │ │ └── type.ts │ │ │ │ └── formatted.tsx │ │ │ ├── hit-testing/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── modify-external-retrieval-modal.spec.tsx │ │ │ │ │ └── modify-retrieval-modal.spec.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── child-chunks-item.spec.tsx │ │ │ │ │ │ ├── chunk-detail-modal.spec.tsx │ │ │ │ │ │ ├── empty-records.spec.tsx │ │ │ │ │ │ ├── mask.spec.tsx │ │ │ │ │ │ ├── records.spec.tsx │ │ │ │ │ │ ├── result-item-external.spec.tsx │ │ │ │ │ │ ├── result-item-footer.spec.tsx │ │ │ │ │ │ ├── result-item-meta.spec.tsx │ │ │ │ │ │ ├── result-item.spec.tsx │ │ │ │ │ │ └── score.spec.tsx │ │ │ │ │ ├── child-chunks-item.tsx │ │ │ │ │ ├── chunk-detail-modal.tsx │ │ │ │ │ ├── empty-records.tsx │ │ │ │ │ ├── mask.tsx │ │ │ │ │ ├── query-input/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── textarea.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── textarea.tsx │ │ │ │ │ ├── records.tsx │ │ │ │ │ ├── result-item-external.tsx │ │ │ │ │ ├── result-item-footer.tsx │ │ │ │ │ ├── result-item-meta.tsx │ │ │ │ │ ├── result-item.tsx │ │ │ │ │ └── score.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── modify-external-retrieval-modal.tsx │ │ │ │ ├── modify-retrieval-modal.tsx │ │ │ │ └── utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── extension-to-file-type.spec.ts │ │ │ │ └── extension-to-file-type.ts │ │ │ ├── list/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── datasets.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── dataset-card/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── operation-item.spec.tsx │ │ │ │ │ │ └── operations.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── corner-labels.spec.tsx │ │ │ │ │ │ │ ├── dataset-card-footer.spec.tsx │ │ │ │ │ │ │ ├── dataset-card-header.spec.tsx │ │ │ │ │ │ │ ├── dataset-card-modals.spec.tsx │ │ │ │ │ │ │ ├── description.spec.tsx │ │ │ │ │ │ │ ├── operations-popover.spec.tsx │ │ │ │ │ │ │ └── tag-area.spec.tsx │ │ │ │ │ │ ├── corner-labels.tsx │ │ │ │ │ │ ├── dataset-card-footer.tsx │ │ │ │ │ │ ├── dataset-card-header.tsx │ │ │ │ │ │ ├── dataset-card-modals.tsx │ │ │ │ │ │ ├── description.tsx │ │ │ │ │ │ ├── operations-popover.tsx │ │ │ │ │ │ └── tag-area.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-dataset-card-state.spec.ts │ │ │ │ │ │ └── use-dataset-card-state.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── operation-item.tsx │ │ │ │ │ └── operations.tsx │ │ │ │ ├── dataset-footer/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── datasets.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── new-dataset-card/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── option.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── option.tsx │ │ │ ├── loading.tsx │ │ │ ├── metadata/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── add-metadata-button.spec.tsx │ │ │ │ ├── add-metadata-button.tsx │ │ │ │ ├── base/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── date-picker.spec.tsx │ │ │ │ │ └── date-picker.tsx │ │ │ │ ├── edit-metadata-batch/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── add-row.spec.tsx │ │ │ │ │ │ ├── edit-row.spec.tsx │ │ │ │ │ │ ├── edited-beacon.spec.tsx │ │ │ │ │ │ ├── input-combined.spec.tsx │ │ │ │ │ │ ├── input-has-set-multiple-value.spec.tsx │ │ │ │ │ │ ├── label.spec.tsx │ │ │ │ │ │ └── modal.spec.tsx │ │ │ │ │ ├── add-row.tsx │ │ │ │ │ ├── edit-row.tsx │ │ │ │ │ ├── edited-beacon.tsx │ │ │ │ │ ├── input-combined.tsx │ │ │ │ │ ├── input-has-set-multiple-value.tsx │ │ │ │ │ ├── label.tsx │ │ │ │ │ └── modal.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── use-batch-edit-document-metadata.spec.ts │ │ │ │ │ │ ├── use-check-metadata-name.spec.ts │ │ │ │ │ │ ├── use-edit-dataset-metadata.spec.ts │ │ │ │ │ │ └── use-metadata-document.spec.ts │ │ │ │ │ ├── use-batch-edit-document-metadata.ts │ │ │ │ │ ├── use-check-metadata-name.ts │ │ │ │ │ ├── use-edit-dataset-metadata.ts │ │ │ │ │ └── use-metadata-document.ts │ │ │ │ ├── metadata-dataset/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── create-content.spec.tsx │ │ │ │ │ │ ├── create-metadata-modal.spec.tsx │ │ │ │ │ │ ├── dataset-metadata-drawer.spec.tsx │ │ │ │ │ │ ├── field.spec.tsx │ │ │ │ │ │ ├── select-metadata-modal.spec.tsx │ │ │ │ │ │ └── select-metadata.spec.tsx │ │ │ │ │ ├── create-content.tsx │ │ │ │ │ ├── create-metadata-modal.tsx │ │ │ │ │ ├── dataset-metadata-drawer.tsx │ │ │ │ │ ├── field.tsx │ │ │ │ │ ├── select-metadata-modal.tsx │ │ │ │ │ └── select-metadata.tsx │ │ │ │ ├── metadata-document/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── field.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── info-group.spec.tsx │ │ │ │ │ │ └── no-data.spec.tsx │ │ │ │ │ ├── field.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── info-group.tsx │ │ │ │ │ └── no-data.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── get-icon.spec.ts │ │ │ │ └── get-icon.ts │ │ │ ├── no-linked-apps-panel.tsx │ │ │ ├── preview/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── container.spec.tsx │ │ │ │ │ ├── header.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── container.tsx │ │ │ │ ├── header.tsx │ │ │ │ └── index.tsx │ │ │ ├── rename-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ └── settings/ │ │ │ ├── __tests__/ │ │ │ │ ├── option-card.spec.tsx │ │ │ │ └── summary-index-setting.spec.tsx │ │ │ ├── chunk-structure/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── hooks.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ ├── form/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── basic-info-section.spec.tsx │ │ │ │ │ │ ├── external-knowledge-section.spec.tsx │ │ │ │ │ │ └── indexing-section.spec.tsx │ │ │ │ │ ├── basic-info-section.tsx │ │ │ │ │ ├── external-knowledge-section.tsx │ │ │ │ │ └── indexing-section.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── use-form-state.spec.ts │ │ │ │ │ └── use-form-state.ts │ │ │ │ └── index.tsx │ │ │ ├── index-method/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── keyword-number.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── keyword-number.tsx │ │ │ ├── option-card.tsx │ │ │ ├── permission-selector/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── member-item.spec.tsx │ │ │ │ │ └── permission-item.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── member-item.tsx │ │ │ │ └── permission-item.tsx │ │ │ ├── summary-index-setting.tsx │ │ │ └── utils/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.ts │ │ │ └── index.tsx │ │ ├── develop/ │ │ │ ├── ApiServer.tsx │ │ │ ├── __tests__/ │ │ │ │ ├── ApiServer.spec.tsx │ │ │ │ ├── code.spec.tsx │ │ │ │ ├── doc.spec.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ ├── md.spec.tsx │ │ │ │ ├── tag.spec.tsx │ │ │ │ ├── toc-panel.spec.tsx │ │ │ │ └── use-doc-toc.spec.ts │ │ │ ├── code.tsx │ │ │ ├── doc.tsx │ │ │ ├── hooks/ │ │ │ │ └── use-doc-toc.ts │ │ │ ├── index.tsx │ │ │ ├── md.tsx │ │ │ ├── secret-key/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── input-copy.spec.tsx │ │ │ │ │ ├── secret-key-button.spec.tsx │ │ │ │ │ ├── secret-key-generate.spec.tsx │ │ │ │ │ └── secret-key-modal.spec.tsx │ │ │ │ ├── input-copy.tsx │ │ │ │ ├── secret-key-button.tsx │ │ │ │ ├── secret-key-generate.tsx │ │ │ │ ├── secret-key-modal.tsx │ │ │ │ └── style.module.css │ │ │ ├── tag.tsx │ │ │ ├── template/ │ │ │ │ ├── template.en.mdx │ │ │ │ ├── template.ja.mdx │ │ │ │ ├── template.zh.mdx │ │ │ │ ├── template_advanced_chat.en.mdx │ │ │ │ ├── template_advanced_chat.ja.mdx │ │ │ │ ├── template_advanced_chat.zh.mdx │ │ │ │ ├── template_chat.en.mdx │ │ │ │ ├── template_chat.ja.mdx │ │ │ │ ├── template_chat.zh.mdx │ │ │ │ ├── template_workflow.en.mdx │ │ │ │ ├── template_workflow.ja.mdx │ │ │ │ └── template_workflow.zh.mdx │ │ │ └── toc-panel.tsx │ │ ├── devtools/ │ │ │ ├── agentation-loader.tsx │ │ │ ├── react-grab/ │ │ │ │ └── loader.tsx │ │ │ ├── react-scan/ │ │ │ │ └── loader.tsx │ │ │ └── tanstack/ │ │ │ └── loader.tsx │ │ ├── explore/ │ │ │ ├── __tests__/ │ │ │ │ ├── category.spec.tsx │ │ │ │ └── index.spec.tsx │ │ │ ├── app-card/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── app-list/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── banner/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── banner-item.spec.tsx │ │ │ │ │ ├── banner.spec.tsx │ │ │ │ │ └── indicator-button.spec.tsx │ │ │ │ ├── banner-item.tsx │ │ │ │ ├── banner.tsx │ │ │ │ └── indicator-button.tsx │ │ │ ├── category.tsx │ │ │ ├── create-app-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── index.tsx │ │ │ ├── installed-app/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── item-operation/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ ├── sidebar/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── app-nav-item/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── no-apps/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── style.module.css │ │ │ └── try-app/ │ │ │ ├── __tests__/ │ │ │ │ ├── index.spec.tsx │ │ │ │ └── tab.spec.tsx │ │ │ ├── app/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── chat.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── text-generation.spec.tsx │ │ │ │ ├── chat.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── text-generation.tsx │ │ │ ├── app-info/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── use-get-requirements.spec.ts │ │ │ │ ├── index.tsx │ │ │ │ └── use-get-requirements.ts │ │ │ ├── index.tsx │ │ │ ├── preview/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── basic-app-preview.spec.tsx │ │ │ │ │ ├── flow-app-preview.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── basic-app-preview.tsx │ │ │ │ ├── flow-app-preview.tsx │ │ │ │ └── index.tsx │ │ │ └── tab.tsx │ │ ├── goto-anything/ │ │ │ ├── __tests__/ │ │ │ │ ├── command-selector.spec.tsx │ │ │ │ ├── context.spec.tsx │ │ │ │ └── index.spec.tsx │ │ │ ├── actions/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── app.spec.ts │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ ├── knowledge.spec.ts │ │ │ │ │ └── plugin.spec.ts │ │ │ │ ├── app.tsx │ │ │ │ ├── commands/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── command-bus.spec.ts │ │ │ │ │ │ ├── direct-commands.spec.ts │ │ │ │ │ │ ├── language.spec.ts │ │ │ │ │ │ ├── registry.spec.ts │ │ │ │ │ │ ├── theme.spec.ts │ │ │ │ │ │ └── zen.spec.ts │ │ │ │ │ ├── account.tsx │ │ │ │ │ ├── command-bus.ts │ │ │ │ │ ├── community.tsx │ │ │ │ │ ├── docs.tsx │ │ │ │ │ ├── forum.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── language.tsx │ │ │ │ │ ├── registry.ts │ │ │ │ │ ├── slash.tsx │ │ │ │ │ ├── theme.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── zen.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── knowledge.tsx │ │ │ │ ├── plugin.tsx │ │ │ │ ├── rag-pipeline-nodes.tsx │ │ │ │ ├── types.ts │ │ │ │ └── workflow-nodes.tsx │ │ │ ├── command-selector.tsx │ │ │ ├── components/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── empty-state.spec.tsx │ │ │ │ │ ├── footer.spec.tsx │ │ │ │ │ ├── result-item.spec.tsx │ │ │ │ │ ├── result-list.spec.tsx │ │ │ │ │ └── search-input.spec.tsx │ │ │ │ ├── empty-state.tsx │ │ │ │ ├── footer.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── result-item.tsx │ │ │ │ ├── result-list.tsx │ │ │ │ └── search-input.tsx │ │ │ ├── context.tsx │ │ │ ├── hooks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── use-goto-anything-modal.spec.ts │ │ │ │ │ ├── use-goto-anything-navigation.spec.ts │ │ │ │ │ ├── use-goto-anything-results.spec.ts │ │ │ │ │ └── use-goto-anything-search.spec.ts │ │ │ │ ├── index.ts │ │ │ │ ├── use-goto-anything-modal.ts │ │ │ │ ├── use-goto-anything-navigation.ts │ │ │ │ ├── use-goto-anything-results.ts │ │ │ │ └── use-goto-anything-search.ts │ │ │ └── index.tsx │ │ ├── header/ │ │ │ ├── __tests__/ │ │ │ │ ├── header-wrapper.spec.tsx │ │ │ │ ├── index.spec.tsx │ │ │ │ └── maintenance-notice.spec.tsx │ │ │ ├── account-about/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── account-dropdown/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── compliance.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── support.spec.tsx │ │ │ │ ├── compliance.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── menu-item-content.tsx │ │ │ │ ├── support.tsx │ │ │ │ └── workplace-selector/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.module.css │ │ │ │ └── index.tsx │ │ │ ├── account-setting/ │ │ │ │ ├── Integrations-page/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── constants.spec.ts │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── menu-dialog.dialog.spec.tsx │ │ │ │ │ └── menu-dialog.spec.tsx │ │ │ │ ├── api-based-extension-page/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── empty.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── item.spec.tsx │ │ │ │ │ │ ├── modal.spec.tsx │ │ │ │ │ │ └── selector.spec.tsx │ │ │ │ │ ├── empty.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── item.tsx │ │ │ │ │ ├── modal.tsx │ │ │ │ │ └── selector.tsx │ │ │ │ ├── collapse/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── data-source-page-new/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── card.spec.tsx │ │ │ │ │ │ ├── configure.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── install-from-marketplace.spec.tsx │ │ │ │ │ │ ├── item.spec.tsx │ │ │ │ │ │ └── operator.spec.tsx │ │ │ │ │ ├── card.tsx │ │ │ │ │ ├── configure.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-data-source-auth-update.spec.ts │ │ │ │ │ │ │ └── use-marketplace-all-plugins.spec.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-data-source-auth-update.ts │ │ │ │ │ │ └── use-marketplace-all-plugins.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── install-from-marketplace.tsx │ │ │ │ │ ├── item.tsx │ │ │ │ │ ├── operator.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── key-validator/ │ │ │ │ │ ├── KeyInput.tsx │ │ │ │ │ ├── Operate.tsx │ │ │ │ │ ├── ValidateStatus.tsx │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── KeyInput.spec.tsx │ │ │ │ │ │ ├── Operate.spec.tsx │ │ │ │ │ │ ├── ValidateStatus.spec.tsx │ │ │ │ │ │ ├── declarations.spec.ts │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── declarations.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── language-page/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.module.css │ │ │ │ │ └── index.tsx │ │ │ │ ├── members-page/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── invite-button.spec.tsx │ │ │ │ │ ├── edit-workspace-modal/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── dialog.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── invite-button.tsx │ │ │ │ │ ├── invite-modal/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── role-selector.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── role-selector.tsx │ │ │ │ │ ├── invited-modal/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── invitation-link.spec.tsx │ │ │ │ │ │ ├── index.module.css │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── invitation-link.tsx │ │ │ │ │ ├── operation/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── transfer-ownership.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── transfer-ownership.tsx │ │ │ │ │ └── transfer-ownership-modal/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── member-selector.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── member-selector.tsx │ │ │ │ ├── menu-dialog.tsx │ │ │ │ ├── model-provider-page/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── atoms.spec.tsx │ │ │ │ │ │ ├── derive-model-status.spec.ts │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ ├── index.non-cloud.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── install-from-marketplace.spec.tsx │ │ │ │ │ │ ├── supports-credits.spec.ts │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── atoms.ts │ │ │ │ │ ├── declarations.ts │ │ │ │ │ ├── derive-model-status.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── install-from-marketplace.tsx │ │ │ │ │ ├── model-auth/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── add-credential-in-load-balancing.spec.tsx │ │ │ │ │ │ │ ├── add-custom-model.spec.tsx │ │ │ │ │ │ │ ├── config-model.spec.tsx │ │ │ │ │ │ │ ├── config-provider.spec.tsx │ │ │ │ │ │ │ ├── credential-selector.spec.tsx │ │ │ │ │ │ │ ├── manage-custom-model-credentials.spec.tsx │ │ │ │ │ │ │ └── switch-credential-in-load-balancing.spec.tsx │ │ │ │ │ │ ├── add-credential-in-load-balancing.tsx │ │ │ │ │ │ ├── add-custom-model.tsx │ │ │ │ │ │ ├── authorized/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── authorized-item.spec.tsx │ │ │ │ │ │ │ │ ├── credential-item.spec.tsx │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── authorized-item.tsx │ │ │ │ │ │ │ ├── credential-item.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── config-model.tsx │ │ │ │ │ │ ├── config-provider.tsx │ │ │ │ │ │ ├── credential-selector.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── use-auth-service.spec.tsx │ │ │ │ │ │ │ │ ├── use-auth.spec.tsx │ │ │ │ │ │ │ │ ├── use-credential-data.spec.tsx │ │ │ │ │ │ │ │ ├── use-credential-status.spec.tsx │ │ │ │ │ │ │ │ ├── use-custom-models.spec.tsx │ │ │ │ │ │ │ │ └── use-model-form-schemas.spec.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-auth-service.ts │ │ │ │ │ │ │ ├── use-auth.ts │ │ │ │ │ │ │ ├── use-credential-data.ts │ │ │ │ │ │ │ ├── use-credential-status.ts │ │ │ │ │ │ │ ├── use-custom-models.ts │ │ │ │ │ │ │ └── use-model-form-schemas.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── manage-custom-model-credentials.tsx │ │ │ │ │ │ └── switch-credential-in-load-balancing.tsx │ │ │ │ │ ├── model-badge/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── model-icon/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── model-modal/ │ │ │ │ │ │ ├── Form.tsx │ │ │ │ │ │ ├── Input.tsx │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── Form.spec.tsx │ │ │ │ │ │ │ ├── Input.spec.tsx │ │ │ │ │ │ │ ├── dialog.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── model-name/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── model-parameter-modal/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── agent-model-trigger.spec.tsx │ │ │ │ │ │ │ ├── configuration-button.spec.tsx │ │ │ │ │ │ │ ├── derive-trigger-status.spec.ts │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── model-display.spec.tsx │ │ │ │ │ │ │ ├── parameter-item.select.spec.tsx │ │ │ │ │ │ │ ├── parameter-item.spec.tsx │ │ │ │ │ │ │ ├── presets-parameter.spec.tsx │ │ │ │ │ │ │ ├── status-indicators.spec.tsx │ │ │ │ │ │ │ └── trigger.spec.tsx │ │ │ │ │ │ ├── agent-model-trigger.tsx │ │ │ │ │ │ ├── configuration-button.tsx │ │ │ │ │ │ ├── derive-trigger-status.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── model-display.tsx │ │ │ │ │ │ ├── parameter-item.tsx │ │ │ │ │ │ ├── presets-parameter.tsx │ │ │ │ │ │ ├── status-indicators.tsx │ │ │ │ │ │ └── trigger.tsx │ │ │ │ │ ├── model-selector/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── feature-icon.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── model-selector-trigger.spec.tsx │ │ │ │ │ │ │ ├── popover.spec.tsx │ │ │ │ │ │ │ ├── popup-item.spec.tsx │ │ │ │ │ │ │ └── popup.spec.tsx │ │ │ │ │ │ ├── feature-icon.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── model-selector-trigger.tsx │ │ │ │ │ │ ├── popup-item.tsx │ │ │ │ │ │ └── popup.tsx │ │ │ │ │ ├── provider-added-card/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── cooldown-timer.spec.tsx │ │ │ │ │ │ │ ├── credential-panel.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── model-list-item.spec.tsx │ │ │ │ │ │ │ ├── model-list.spec.tsx │ │ │ │ │ │ │ ├── model-load-balancing-configs.spec.tsx │ │ │ │ │ │ │ ├── model-load-balancing-modal.spec.tsx │ │ │ │ │ │ │ ├── priority-selector.spec.tsx │ │ │ │ │ │ │ ├── priority-use-tip.spec.tsx │ │ │ │ │ │ │ ├── provider-card-actions.spec.tsx │ │ │ │ │ │ │ ├── quota-panel.spec.tsx │ │ │ │ │ │ │ ├── system-quota-card.spec.tsx │ │ │ │ │ │ │ ├── use-change-provider-priority.spec.ts │ │ │ │ │ │ │ ├── use-credential-panel-state.spec.ts │ │ │ │ │ │ │ └── use-trial-credits.spec.ts │ │ │ │ │ │ ├── cooldown-timer.tsx │ │ │ │ │ │ ├── credential-panel.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── model-auth-dropdown/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── api-key-section.spec.tsx │ │ │ │ │ │ │ │ ├── credits-exhausted-alert.spec.tsx │ │ │ │ │ │ │ │ ├── dialog.spec.tsx │ │ │ │ │ │ │ │ ├── dropdown-content.spec.tsx │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ ├── usage-priority-section.spec.tsx │ │ │ │ │ │ │ │ └── use-activate-credential.spec.tsx │ │ │ │ │ │ │ ├── api-key-section.tsx │ │ │ │ │ │ │ ├── credits-exhausted-alert.stories.tsx │ │ │ │ │ │ │ ├── credits-exhausted-alert.tsx │ │ │ │ │ │ │ ├── credits-fallback-alert.tsx │ │ │ │ │ │ │ ├── dropdown-content.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── usage-priority-section.tsx │ │ │ │ │ │ │ └── use-activate-credential.ts │ │ │ │ │ │ ├── model-list-item.tsx │ │ │ │ │ │ ├── model-list.tsx │ │ │ │ │ │ ├── model-load-balancing-configs.tsx │ │ │ │ │ │ ├── model-load-balancing-modal.tsx │ │ │ │ │ │ ├── priority-selector.tsx │ │ │ │ │ │ ├── priority-use-tip.tsx │ │ │ │ │ │ ├── provider-card-actions.tsx │ │ │ │ │ │ ├── quota-panel.module.css │ │ │ │ │ │ ├── quota-panel.tsx │ │ │ │ │ │ ├── system-quota-card.tsx │ │ │ │ │ │ ├── use-change-provider-priority.ts │ │ │ │ │ │ ├── use-credential-panel-state.ts │ │ │ │ │ │ └── use-trial-credits.ts │ │ │ │ │ ├── provider-icon/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── status-mapping.ts │ │ │ │ │ ├── supports-credits.ts │ │ │ │ │ ├── system-model-selector/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── utils.ts │ │ │ │ └── plugin-page/ │ │ │ │ ├── SerpapiPlugin.tsx │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── SerpapiPlugin.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── index.tsx │ │ │ │ └── utils.ts │ │ │ ├── app-back/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── app-nav/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── app-selector/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── dataset-nav/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── env-nav/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── explore-nav/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── github-star/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── header-wrapper.tsx │ │ │ ├── index.module.css │ │ │ ├── index.tsx │ │ │ ├── indicator/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── license-env/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── maintenance-notice.tsx │ │ │ ├── nav/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.module.css │ │ │ │ ├── index.tsx │ │ │ │ └── nav-selector/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── plan-badge/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── plugins-nav/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── downloading-icon.module.css │ │ │ │ ├── downloading-icon.tsx │ │ │ │ └── index.tsx │ │ │ ├── tools-nav/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ └── utils/ │ │ │ ├── __tests__/ │ │ │ │ └── util.spec.ts │ │ │ └── util.ts │ │ ├── plugins/ │ │ │ ├── __tests__/ │ │ │ │ ├── hooks.spec.ts │ │ │ │ ├── use-plugins-with-latest-version.spec.ts │ │ │ │ └── utils.spec.ts │ │ │ ├── base/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── deprecation-notice.spec.tsx │ │ │ │ │ └── key-value-item.spec.tsx │ │ │ │ ├── badges/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── icon-with-tooltip.spec.tsx │ │ │ │ │ │ ├── partner.spec.tsx │ │ │ │ │ │ └── verified.spec.tsx │ │ │ │ │ ├── icon-with-tooltip.tsx │ │ │ │ │ ├── partner.tsx │ │ │ │ │ └── verified.tsx │ │ │ │ ├── deprecation-notice.tsx │ │ │ │ └── key-value-item.tsx │ │ │ ├── card/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── card-more-info.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── base/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── card-icon.spec.tsx │ │ │ │ │ │ ├── corner-mark.spec.tsx │ │ │ │ │ │ ├── description.spec.tsx │ │ │ │ │ │ ├── download-count.spec.tsx │ │ │ │ │ │ ├── org-info.spec.tsx │ │ │ │ │ │ ├── placeholder.spec.tsx │ │ │ │ │ │ └── title.spec.tsx │ │ │ │ │ ├── card-icon.tsx │ │ │ │ │ ├── corner-mark.tsx │ │ │ │ │ ├── description.tsx │ │ │ │ │ ├── download-count.tsx │ │ │ │ │ ├── org-info.tsx │ │ │ │ │ ├── placeholder.tsx │ │ │ │ │ └── title.tsx │ │ │ │ ├── card-more-info.tsx │ │ │ │ └── index.tsx │ │ │ ├── constants.ts │ │ │ ├── hooks.ts │ │ │ ├── install-plugin/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── base/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── check-task-status.spec.ts │ │ │ │ │ │ ├── installed.spec.tsx │ │ │ │ │ │ ├── loading-error.spec.tsx │ │ │ │ │ │ ├── loading.spec.tsx │ │ │ │ │ │ └── version.spec.tsx │ │ │ │ │ ├── check-task-status.ts │ │ │ │ │ ├── installed.tsx │ │ │ │ │ ├── loading-error.tsx │ │ │ │ │ ├── loading.tsx │ │ │ │ │ ├── use-get-icon.ts │ │ │ │ │ └── version.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── use-check-installed.spec.tsx │ │ │ │ │ │ ├── use-fold-anim-into.spec.ts │ │ │ │ │ │ ├── use-hide-logic.spec.ts │ │ │ │ │ │ ├── use-install-plugin-limit.spec.ts │ │ │ │ │ │ └── use-refresh-plugin-list.spec.ts │ │ │ │ │ ├── use-check-installed.tsx │ │ │ │ │ ├── use-fold-anim-into.ts │ │ │ │ │ ├── use-hide-logic.ts │ │ │ │ │ ├── use-install-plugin-limit.tsx │ │ │ │ │ └── use-refresh-plugin-list.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── install-bundle/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── ready-to-install.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── item/ │ │ │ │ │ │ ├── github-item.tsx │ │ │ │ │ │ ├── loaded-item.tsx │ │ │ │ │ │ ├── marketplace-item.tsx │ │ │ │ │ │ └── package-item.tsx │ │ │ │ │ ├── ready-to-install.tsx │ │ │ │ │ └── steps/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── install-multi.spec.tsx │ │ │ │ │ │ └── install.spec.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-install-multi-state.spec.ts │ │ │ │ │ │ └── use-install-multi-state.ts │ │ │ │ │ ├── install-multi.tsx │ │ │ │ │ ├── install.tsx │ │ │ │ │ └── installed.tsx │ │ │ │ ├── install-from-github/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── steps/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── loaded.spec.tsx │ │ │ │ │ │ ├── selectPackage.spec.tsx │ │ │ │ │ │ └── setURL.spec.tsx │ │ │ │ │ ├── loaded.tsx │ │ │ │ │ ├── selectPackage.tsx │ │ │ │ │ └── setURL.tsx │ │ │ │ ├── install-from-local-package/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── ready-to-install.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── ready-to-install.tsx │ │ │ │ │ └── steps/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── install.spec.tsx │ │ │ │ │ │ └── uploading.spec.tsx │ │ │ │ │ ├── install.tsx │ │ │ │ │ └── uploading.tsx │ │ │ │ ├── install-from-marketplace/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── steps/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── install.spec.tsx │ │ │ │ │ └── install.tsx │ │ │ │ └── utils.ts │ │ │ ├── marketplace/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── atoms.spec.tsx │ │ │ │ │ ├── hooks-integration.spec.tsx │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ ├── hydration-server.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── plugin-type-switch.spec.tsx │ │ │ │ │ ├── query.spec.tsx │ │ │ │ │ ├── state.spec.tsx │ │ │ │ │ ├── sticky-search-and-switch-wrapper.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── atoms.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── description/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── empty/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── line.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── hydration-server.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── list/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── card-wrapper.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── list-with-collection.tsx │ │ │ │ │ └── list-wrapper.tsx │ │ │ │ ├── plugin-type-switch.tsx │ │ │ │ ├── query.ts │ │ │ │ ├── search-box/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── search-box-wrapper.tsx │ │ │ │ │ ├── tags-filter.tsx │ │ │ │ │ └── trigger/ │ │ │ │ │ ├── marketplace.tsx │ │ │ │ │ └── tool-selector.tsx │ │ │ │ ├── search-params.ts │ │ │ │ ├── sort-dropdown/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── state.ts │ │ │ │ ├── sticky-search-and-switch-wrapper.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── plugin-auth/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── authorized-in-data-source-node.spec.tsx │ │ │ │ │ ├── authorized-in-node.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── plugin-auth-in-agent.spec.tsx │ │ │ │ │ ├── plugin-auth-in-datasource-node.spec.tsx │ │ │ │ │ ├── plugin-auth.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── authorize/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── add-api-key-button.spec.tsx │ │ │ │ │ │ ├── add-oauth-button.spec.tsx │ │ │ │ │ │ ├── api-key-modal.spec.tsx │ │ │ │ │ │ ├── authorize-components.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── oauth-client-settings.spec.tsx │ │ │ │ │ ├── add-api-key-button.tsx │ │ │ │ │ ├── add-oauth-button.tsx │ │ │ │ │ ├── api-key-modal.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── oauth-client-settings.tsx │ │ │ │ ├── authorized/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── item.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── item.tsx │ │ │ │ ├── authorized-in-data-source-node.tsx │ │ │ │ ├── authorized-in-node.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── use-credential.spec.ts │ │ │ │ │ │ ├── use-get-api.spec.ts │ │ │ │ │ │ ├── use-plugin-auth-action.spec.ts │ │ │ │ │ │ └── use-plugin-auth.spec.ts │ │ │ │ │ ├── use-credential.ts │ │ │ │ │ ├── use-get-api.ts │ │ │ │ │ ├── use-plugin-auth-action.ts │ │ │ │ │ └── use-plugin-auth.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── plugin-auth-in-agent.tsx │ │ │ │ ├── plugin-auth-in-datasource-node.tsx │ │ │ │ ├── plugin-auth.tsx │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── plugin-detail-panel/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── action-list.spec.tsx │ │ │ │ │ ├── agent-strategy-list.spec.tsx │ │ │ │ │ ├── datasource-action-list.spec.tsx │ │ │ │ │ ├── detail-header.spec.tsx │ │ │ │ │ ├── endpoint-card.spec.tsx │ │ │ │ │ ├── endpoint-list.spec.tsx │ │ │ │ │ ├── endpoint-modal.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── model-list.spec.tsx │ │ │ │ │ ├── operation-dropdown.spec.tsx │ │ │ │ │ ├── store.spec.ts │ │ │ │ │ ├── strategy-detail.spec.tsx │ │ │ │ │ ├── strategy-item.spec.tsx │ │ │ │ │ └── utils.spec.ts │ │ │ │ ├── action-list.tsx │ │ │ │ ├── agent-strategy-list.tsx │ │ │ │ ├── app-selector/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── app-trigger.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── app-inputs-form.tsx │ │ │ │ │ ├── app-inputs-panel.tsx │ │ │ │ │ ├── app-picker.tsx │ │ │ │ │ ├── app-trigger.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-app-inputs-form-schema.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── datasource-action-list.tsx │ │ │ │ ├── detail-header/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── header-modals.spec.tsx │ │ │ │ │ │ │ └── plugin-source-badge.spec.tsx │ │ │ │ │ │ ├── header-modals.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── plugin-source-badge.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-detail-header-state.spec.ts │ │ │ │ │ │ │ └── use-plugin-operations.spec.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-detail-header-state.ts │ │ │ │ │ │ └── use-plugin-operations.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── detail-header.tsx │ │ │ │ ├── endpoint-card.tsx │ │ │ │ ├── endpoint-list.tsx │ │ │ │ ├── endpoint-modal.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── model-list.tsx │ │ │ │ ├── model-selector/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── llm-params-panel.spec.tsx │ │ │ │ │ │ └── tts-params-panel.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── llm-params-panel.tsx │ │ │ │ │ └── tts-params-panel.tsx │ │ │ │ ├── multiple-tool-selector/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── operation-dropdown.tsx │ │ │ │ ├── store.ts │ │ │ │ ├── strategy-detail.tsx │ │ │ │ ├── strategy-item.tsx │ │ │ │ ├── subscription-list/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── delete-confirm.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── list-view.spec.tsx │ │ │ │ │ │ ├── log-viewer.spec.tsx │ │ │ │ │ │ ├── selector-entry.spec.tsx │ │ │ │ │ │ ├── selector-view.spec.tsx │ │ │ │ │ │ ├── subscription-card.spec.tsx │ │ │ │ │ │ └── use-subscription-list.spec.ts │ │ │ │ │ ├── create/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── common-modal.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── oauth-client.spec.tsx │ │ │ │ │ │ ├── common-modal.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── modal-steps.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── use-oauth-client-state.spec.ts │ │ │ │ │ │ │ ├── use-common-modal-state.ts │ │ │ │ │ │ │ └── use-oauth-client-state.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── oauth-client.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── delete-confirm.tsx │ │ │ │ │ ├── edit/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── apikey-edit-modal.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── manual-edit-modal.spec.tsx │ │ │ │ │ │ │ └── oauth-edit-modal.spec.tsx │ │ │ │ │ │ ├── apikey-edit-modal.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── manual-edit-modal.tsx │ │ │ │ │ │ └── oauth-edit-modal.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── list-view.tsx │ │ │ │ │ ├── log-viewer.tsx │ │ │ │ │ ├── selector-entry.tsx │ │ │ │ │ ├── selector-view.tsx │ │ │ │ │ ├── subscription-card.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── use-subscription-list.ts │ │ │ │ ├── tool-selector/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── tool-base-form.spec.tsx │ │ │ │ │ │ │ └── tool-credentials-form.spec.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── reasoning-config-form.tsx │ │ │ │ │ │ ├── schema-modal.tsx │ │ │ │ │ │ ├── tool-authorization-section.tsx │ │ │ │ │ │ ├── tool-base-form.tsx │ │ │ │ │ │ ├── tool-credentials-form.tsx │ │ │ │ │ │ ├── tool-item.tsx │ │ │ │ │ │ ├── tool-settings-panel.tsx │ │ │ │ │ │ └── tool-trigger.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-plugin-installed-check.spec.ts │ │ │ │ │ │ │ └── use-tool-selector-state.spec.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-plugin-installed-check.ts │ │ │ │ │ │ └── use-tool-selector-state.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── trigger/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── event-detail-drawer.spec.tsx │ │ │ │ │ │ └── event-list.spec.tsx │ │ │ │ │ ├── event-detail-drawer.tsx │ │ │ │ │ └── event-list.tsx │ │ │ │ └── utils.ts │ │ │ ├── plugin-item/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── action.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── action.tsx │ │ │ │ └── index.tsx │ │ │ ├── plugin-mutation-model/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── plugin-page/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── context.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── plugin-info.spec.tsx │ │ │ │ │ ├── use-reference-setting.spec.ts │ │ │ │ │ └── use-uploader.spec.ts │ │ │ │ ├── context-provider.tsx │ │ │ │ ├── context.ts │ │ │ │ ├── debug-info.tsx │ │ │ │ ├── empty/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── filter-management/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── category-filter.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── search-box.spec.tsx │ │ │ │ │ │ └── store.spec.ts │ │ │ │ │ ├── category-filter.tsx │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── search-box.tsx │ │ │ │ │ ├── store.ts │ │ │ │ │ └── tag-filter.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── install-plugin-dropdown.tsx │ │ │ │ ├── list/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── plugin-info.tsx │ │ │ │ ├── plugin-tasks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── error-plugin-item.spec.tsx │ │ │ │ │ │ │ ├── plugin-item.spec.tsx │ │ │ │ │ │ │ ├── plugin-section.spec.tsx │ │ │ │ │ │ │ ├── plugin-task-list.spec.tsx │ │ │ │ │ │ │ └── task-status-indicator.spec.tsx │ │ │ │ │ │ ├── error-plugin-item.tsx │ │ │ │ │ │ ├── plugin-item.tsx │ │ │ │ │ │ ├── plugin-section.tsx │ │ │ │ │ │ ├── plugin-task-list.tsx │ │ │ │ │ │ └── task-status-indicator.tsx │ │ │ │ │ ├── hooks.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── plugins-panel.tsx │ │ │ │ ├── use-reference-setting.ts │ │ │ │ └── use-uploader.ts │ │ │ ├── provider-card.tsx │ │ │ ├── readme-panel/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── constants.spec.ts │ │ │ │ │ ├── entrance.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── store.spec.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── entrance.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── store.ts │ │ │ ├── reference-setting-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── label.spec.tsx │ │ │ │ ├── auto-update-setting/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── config.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── no-data-placeholder.tsx │ │ │ │ │ ├── no-plugin-selected.tsx │ │ │ │ │ ├── plugins-picker.tsx │ │ │ │ │ ├── plugins-selected.tsx │ │ │ │ │ ├── strategy-picker.tsx │ │ │ │ │ ├── tool-item.tsx │ │ │ │ │ ├── tool-picker.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── label.tsx │ │ │ │ └── style.module.css │ │ │ ├── types.ts │ │ │ ├── update-plugin/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── downgrade-warning.spec.tsx │ │ │ │ │ ├── from-github.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── downgrade-warning.tsx │ │ │ │ ├── from-github.tsx │ │ │ │ ├── from-market-place.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── plugin-version-picker.tsx │ │ │ └── utils.ts │ │ ├── provider/ │ │ │ ├── i18n-server.tsx │ │ │ └── i18n.tsx │ │ ├── rag-pipeline/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.tsx │ │ │ ├── components/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── conversion.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── publish-as-knowledge-pipeline-modal.spec.tsx │ │ │ │ │ ├── publish-toast.spec.tsx │ │ │ │ │ ├── rag-pipeline-main.spec.tsx │ │ │ │ │ ├── update-dsl-modal.spec.tsx │ │ │ │ │ └── version-mismatch-modal.spec.tsx │ │ │ │ ├── chunk-card-list/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── chunk-card.spec.tsx │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── chunk-card.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── q-a-item.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── conversion.tsx │ │ │ │ ├── panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── input-field/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── footer-tip.spec.tsx │ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── form/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ │ └── schema.spec.ts │ │ │ │ │ │ │ │ ├── hidden-fields.tsx │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── initial-fields.tsx │ │ │ │ │ │ │ │ ├── schema.ts │ │ │ │ │ │ │ │ ├── show-all-settings.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── field-list/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── field-item.tsx │ │ │ │ │ │ │ ├── field-list-container.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── footer-tip.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── label-right-content/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── datasource.tsx │ │ │ │ │ │ │ └── global-inputs.tsx │ │ │ │ │ │ └── preview/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── data-source.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── process-documents.tsx │ │ │ │ │ └── test-run/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── header.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── preparation/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── actions/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── data-source-options/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── option-card.tsx │ │ │ │ │ │ ├── document-processing/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── actions.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── options.tsx │ │ │ │ │ │ ├── footer-tips.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── step-indicator.tsx │ │ │ │ │ ├── result/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── result-preview/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── tabs/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── tab.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── publish-as-knowledge-pipeline-modal.tsx │ │ │ │ ├── publish-toast.tsx │ │ │ │ ├── rag-pipeline-children.tsx │ │ │ │ ├── rag-pipeline-header/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── run-mode.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── input-field-button.tsx │ │ │ │ │ ├── publisher/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── popup.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── popup.tsx │ │ │ │ │ └── run-mode.tsx │ │ │ │ ├── rag-pipeline-main.tsx │ │ │ │ ├── screenshot.tsx │ │ │ │ ├── update-dsl-modal.tsx │ │ │ │ └── version-mismatch-modal.tsx │ │ │ ├── hooks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ ├── use-DSL.spec.ts │ │ │ │ │ ├── use-available-nodes-meta-data.spec.ts │ │ │ │ │ ├── use-configs-map.spec.ts │ │ │ │ │ ├── use-get-run-and-trace-url.spec.ts │ │ │ │ │ ├── use-input-field-panel.spec.ts │ │ │ │ │ ├── use-input-fields.spec.ts │ │ │ │ │ ├── use-inspect-vars-crud.spec.ts │ │ │ │ │ ├── use-nodes-sync-draft.spec.ts │ │ │ │ │ ├── use-pipeline-config.spec.ts │ │ │ │ │ ├── use-pipeline-init.spec.ts │ │ │ │ │ ├── use-pipeline-refresh-draft.spec.ts │ │ │ │ │ ├── use-pipeline-run.spec.ts │ │ │ │ │ ├── use-pipeline-start-run.spec.ts │ │ │ │ │ ├── use-pipeline-template.spec.ts │ │ │ │ │ ├── use-pipeline.spec.ts │ │ │ │ │ ├── use-rag-pipeline-search.spec.tsx │ │ │ │ │ └── use-update-dsl-modal.spec.ts │ │ │ │ ├── index.ts │ │ │ │ ├── use-DSL.ts │ │ │ │ ├── use-available-nodes-meta-data.ts │ │ │ │ ├── use-configs-map.ts │ │ │ │ ├── use-get-run-and-trace-url.ts │ │ │ │ ├── use-input-field-panel.ts │ │ │ │ ├── use-input-fields.ts │ │ │ │ ├── use-inspect-vars-crud.ts │ │ │ │ ├── use-nodes-sync-draft.ts │ │ │ │ ├── use-pipeline-config.ts │ │ │ │ ├── use-pipeline-init.ts │ │ │ │ ├── use-pipeline-refresh-draft.ts │ │ │ │ ├── use-pipeline-run.ts │ │ │ │ ├── use-pipeline-start-run.tsx │ │ │ │ ├── use-pipeline-template.ts │ │ │ │ ├── use-pipeline.tsx │ │ │ │ ├── use-rag-pipeline-search.tsx │ │ │ │ └── use-update-dsl-modal.ts │ │ │ ├── index.tsx │ │ │ ├── store/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.ts │ │ │ │ └── index.ts │ │ │ └── utils/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.ts │ │ │ ├── index.ts │ │ │ └── nodes.ts │ │ ├── share/ │ │ │ ├── __tests__/ │ │ │ │ └── utils.spec.ts │ │ │ ├── text-generation/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── info-modal.spec.tsx │ │ │ │ │ ├── menu-dropdown.spec.tsx │ │ │ │ │ ├── text-generation-result-panel.spec.tsx │ │ │ │ │ └── text-generation-sidebar.spec.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── use-text-generation-app-state.spec.ts │ │ │ │ │ │ └── use-text-generation-batch.spec.ts │ │ │ │ │ ├── use-text-generation-app-state.ts │ │ │ │ │ └── use-text-generation-batch.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── info-modal.tsx │ │ │ │ ├── menu-dropdown.tsx │ │ │ │ ├── no-data/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── result/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── result-request.spec.ts │ │ │ │ │ │ └── workflow-stream-handlers.spec.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-result-run-state.spec.ts │ │ │ │ │ │ │ └── use-result-sender.spec.ts │ │ │ │ │ │ ├── use-result-run-state.ts │ │ │ │ │ │ └── use-result-sender.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── result-request.ts │ │ │ │ │ └── workflow-stream-handlers.ts │ │ │ │ ├── run-batch/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── csv-download/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── csv-reader/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── res-download/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── run-once/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── text-generation-result-panel.tsx │ │ │ │ ├── text-generation-sidebar.tsx │ │ │ │ └── types.ts │ │ │ └── utils.ts │ │ ├── signin/ │ │ │ ├── __tests__/ │ │ │ │ └── countdown.spec.tsx │ │ │ └── countdown.tsx │ │ ├── splash.tsx │ │ ├── tools/ │ │ │ ├── __tests__/ │ │ │ │ └── provider-list.spec.tsx │ │ │ ├── edit-custom-collection-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── config-credentials.spec.tsx │ │ │ │ │ ├── get-schema.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ └── test-api.spec.tsx │ │ │ │ ├── config-credentials.tsx │ │ │ │ ├── examples.ts │ │ │ │ ├── get-schema.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── test-api.tsx │ │ │ ├── labels/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── filter.spec.tsx │ │ │ │ │ ├── selector.spec.tsx │ │ │ │ │ └── store.spec.ts │ │ │ │ ├── constant.ts │ │ │ │ ├── filter.tsx │ │ │ │ ├── selector.tsx │ │ │ │ └── store.ts │ │ │ ├── marketplace/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── hooks.ts │ │ │ │ └── index.tsx │ │ │ ├── mcp/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── create-card.spec.tsx │ │ │ │ │ ├── headers-input.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── mcp-server-modal.spec.tsx │ │ │ │ │ ├── mcp-server-param-item.spec.tsx │ │ │ │ │ ├── mcp-service-card.spec.tsx │ │ │ │ │ ├── modal.spec.tsx │ │ │ │ │ └── provider-card.spec.tsx │ │ │ │ ├── create-card.tsx │ │ │ │ ├── detail/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── content.spec.tsx │ │ │ │ │ │ ├── list-loading.spec.tsx │ │ │ │ │ │ ├── operation-dropdown.spec.tsx │ │ │ │ │ │ ├── provider-detail.spec.tsx │ │ │ │ │ │ └── tool-item.spec.tsx │ │ │ │ │ ├── content.tsx │ │ │ │ │ ├── list-loading.tsx │ │ │ │ │ ├── operation-dropdown.tsx │ │ │ │ │ ├── provider-detail.tsx │ │ │ │ │ └── tool-item.tsx │ │ │ │ ├── headers-input.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── use-mcp-modal-form.spec.ts │ │ │ │ │ │ └── use-mcp-service-card.spec.ts │ │ │ │ │ ├── use-mcp-modal-form.ts │ │ │ │ │ └── use-mcp-service-card.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── mcp-server-modal.tsx │ │ │ │ ├── mcp-server-param-item.tsx │ │ │ │ ├── mcp-service-card.tsx │ │ │ │ ├── modal.tsx │ │ │ │ ├── provider-card.tsx │ │ │ │ └── sections/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── authentication-section.spec.tsx │ │ │ │ │ ├── configurations-section.spec.tsx │ │ │ │ │ └── headers-section.spec.tsx │ │ │ │ ├── authentication-section.tsx │ │ │ │ ├── configurations-section.tsx │ │ │ │ └── headers-section.tsx │ │ │ ├── provider/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── custom-create-card.spec.tsx │ │ │ │ │ ├── detail.spec.tsx │ │ │ │ │ ├── empty.spec.tsx │ │ │ │ │ └── tool-item.spec.tsx │ │ │ │ ├── custom-create-card.tsx │ │ │ │ ├── detail.tsx │ │ │ │ ├── empty.tsx │ │ │ │ └── tool-item.tsx │ │ │ ├── provider-list.tsx │ │ │ ├── setting/ │ │ │ │ └── build-in/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── config-credentials.spec.tsx │ │ │ │ └── config-credentials.tsx │ │ │ ├── types.ts │ │ │ ├── utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.ts │ │ │ │ │ └── to-form-schema.spec.ts │ │ │ │ ├── index.ts │ │ │ │ └── to-form-schema.ts │ │ │ └── workflow-tool/ │ │ │ ├── __tests__/ │ │ │ │ ├── configure-button.spec.tsx │ │ │ │ ├── method-selector.spec.tsx │ │ │ │ └── utils.test.ts │ │ │ ├── configure-button.tsx │ │ │ ├── confirm-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ └── index.tsx │ │ │ ├── hooks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── use-configure-button.spec.ts │ │ │ │ └── use-configure-button.ts │ │ │ ├── index.tsx │ │ │ ├── method-selector.tsx │ │ │ └── utils.ts │ │ ├── workflow/ │ │ │ ├── __tests__/ │ │ │ │ ├── candidate-node-main.spec.tsx │ │ │ │ ├── candidate-node.spec.tsx │ │ │ │ ├── custom-connection-line.spec.tsx │ │ │ │ ├── custom-edge-linear-gradient-render.spec.tsx │ │ │ │ ├── custom-edge.spec.tsx │ │ │ │ ├── dsl-export-confirm-modal.spec.tsx │ │ │ │ ├── edge-contextmenu.spec.tsx │ │ │ │ ├── features.spec.tsx │ │ │ │ ├── fixtures.ts │ │ │ │ ├── i18n.ts │ │ │ │ ├── model-provider-fixtures.spec.ts │ │ │ │ ├── model-provider-fixtures.ts │ │ │ │ ├── node-contextmenu.spec.tsx │ │ │ │ ├── panel-contextmenu.spec.tsx │ │ │ │ ├── reactflow-mock-state.ts │ │ │ │ ├── selection-contextmenu.spec.tsx │ │ │ │ ├── service-mock-factory.ts │ │ │ │ ├── syncing-data-modal.spec.tsx │ │ │ │ ├── trigger-status-sync.spec.tsx │ │ │ │ ├── update-dsl-modal.helpers.spec.ts │ │ │ │ ├── update-dsl-modal.spec.tsx │ │ │ │ ├── workflow-edge-events.spec.tsx │ │ │ │ ├── workflow-test-env.spec.tsx │ │ │ │ └── workflow-test-env.tsx │ │ │ ├── block-icon.tsx │ │ │ ├── block-selector/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── all-start-blocks.spec.tsx │ │ │ │ │ ├── data-sources.spec.tsx │ │ │ │ │ ├── featured-triggers.spec.tsx │ │ │ │ │ ├── index-bar.spec.tsx │ │ │ │ │ ├── start-blocks.spec.tsx │ │ │ │ │ ├── tabs.spec.tsx │ │ │ │ │ ├── tool-picker.spec.tsx │ │ │ │ │ ├── use-check-vertical-scrollbar.spec.ts │ │ │ │ │ ├── use-sticky-scroll.spec.ts │ │ │ │ │ ├── utils.spec.ts │ │ │ │ │ └── view-type-select.spec.tsx │ │ │ │ ├── all-start-blocks.tsx │ │ │ │ ├── all-tools.tsx │ │ │ │ ├── blocks.tsx │ │ │ │ ├── constants.tsx │ │ │ │ ├── data-sources.tsx │ │ │ │ ├── featured-tools.tsx │ │ │ │ ├── featured-triggers.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index-bar.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── main.tsx │ │ │ │ ├── market-place-plugin/ │ │ │ │ │ ├── action.tsx │ │ │ │ │ ├── item.tsx │ │ │ │ │ └── list.tsx │ │ │ │ ├── rag-tool-recommendations/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── list.tsx │ │ │ │ │ └── uninstalled-item.tsx │ │ │ │ ├── start-blocks.tsx │ │ │ │ ├── tabs.tsx │ │ │ │ ├── tool/ │ │ │ │ │ ├── action-item.tsx │ │ │ │ │ ├── tool-list-flat-view/ │ │ │ │ │ │ └── list.tsx │ │ │ │ │ ├── tool-list-tree-view/ │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ └── list.tsx │ │ │ │ │ └── tool.tsx │ │ │ │ ├── tool-picker.tsx │ │ │ │ ├── tools.tsx │ │ │ │ ├── trigger-plugin/ │ │ │ │ │ ├── action-item.tsx │ │ │ │ │ ├── item.tsx │ │ │ │ │ └── list.tsx │ │ │ │ ├── types.ts │ │ │ │ ├── use-check-vertical-scrollbar.ts │ │ │ │ ├── use-sticky-scroll.ts │ │ │ │ ├── utils.ts │ │ │ │ └── view-type-select.tsx │ │ │ ├── candidate-node-main.tsx │ │ │ ├── candidate-node.tsx │ │ │ ├── constants/ │ │ │ │ └── node.ts │ │ │ ├── constants.ts │ │ │ ├── context.tsx │ │ │ ├── custom-connection-line.tsx │ │ │ ├── custom-edge-linear-gradient-render.tsx │ │ │ ├── custom-edge.tsx │ │ │ ├── datasets-detail-store/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── provider.spec.tsx │ │ │ │ ├── provider.tsx │ │ │ │ └── store.ts │ │ │ ├── dsl-export-confirm-modal.tsx │ │ │ ├── edge-contextmenu.tsx │ │ │ ├── features.tsx │ │ │ ├── header/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── chat-variable-button.spec.tsx │ │ │ │ │ ├── editing-title.spec.tsx │ │ │ │ │ ├── env-button.spec.tsx │ │ │ │ │ ├── global-variable-button.spec.tsx │ │ │ │ │ ├── header-in-restoring.spec.tsx │ │ │ │ │ ├── header-layouts.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── restoring-title.spec.tsx │ │ │ │ │ ├── run-mode.spec.tsx │ │ │ │ │ ├── running-title.spec.tsx │ │ │ │ │ ├── scroll-to-selected-node-button.spec.tsx │ │ │ │ │ ├── test-run-menu-helpers.spec.tsx │ │ │ │ │ ├── test-run-menu.spec.tsx │ │ │ │ │ ├── undo-redo.spec.tsx │ │ │ │ │ ├── version-history-button.spec.tsx │ │ │ │ │ └── view-history.spec.tsx │ │ │ │ ├── chat-variable-button.tsx │ │ │ │ ├── checklist/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ ├── node-group.spec.tsx │ │ │ │ │ │ └── plugin-group.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── item-indicator.tsx │ │ │ │ │ ├── node-group.tsx │ │ │ │ │ └── plugin-group.tsx │ │ │ │ ├── editing-title.tsx │ │ │ │ ├── env-button.tsx │ │ │ │ ├── global-variable-button.tsx │ │ │ │ ├── header-in-normal.tsx │ │ │ │ ├── header-in-restoring.tsx │ │ │ │ ├── header-in-view-history.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── restoring-title.tsx │ │ │ │ ├── run-and-history.tsx │ │ │ │ ├── run-mode.tsx │ │ │ │ ├── running-title.tsx │ │ │ │ ├── scroll-to-selected-node-button.tsx │ │ │ │ ├── test-run-menu-helpers.tsx │ │ │ │ ├── test-run-menu.tsx │ │ │ │ ├── undo-redo.tsx │ │ │ │ ├── version-history-button.tsx │ │ │ │ ├── view-history.tsx │ │ │ │ └── view-workflow-history.tsx │ │ │ ├── help-line/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ ├── hooks/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── use-auto-generate-webhook-url.spec.ts │ │ │ │ │ ├── use-available-blocks.spec.ts │ │ │ │ │ ├── use-checklist.spec.ts │ │ │ │ │ ├── use-config-vision.spec.ts │ │ │ │ │ ├── use-dynamic-test-run-options.spec.tsx │ │ │ │ │ ├── use-edges-interactions.spec.ts │ │ │ │ │ ├── use-helpline.spec.ts │ │ │ │ │ ├── use-hooksstore-wrappers.spec.ts │ │ │ │ │ ├── use-node-data-update.spec.ts │ │ │ │ │ ├── use-node-plugin-installation.spec.ts │ │ │ │ │ ├── use-nodes-sync-draft.spec.ts │ │ │ │ │ ├── use-panel-interactions.spec.ts │ │ │ │ │ ├── use-selection-interactions.spec.ts │ │ │ │ │ ├── use-serial-async-callback.spec.ts │ │ │ │ │ ├── use-tool-icon.spec.ts │ │ │ │ │ ├── use-without-sync-hooks.spec.ts │ │ │ │ │ ├── use-workflow-interactions.spec.tsx │ │ │ │ │ ├── use-workflow-mode.spec.ts │ │ │ │ │ ├── use-workflow-organize.helpers.spec.ts │ │ │ │ │ ├── use-workflow-run-event-store-only.spec.ts │ │ │ │ │ ├── use-workflow-run-event-with-store.spec.ts │ │ │ │ │ ├── use-workflow-run-event-with-viewport.spec.ts │ │ │ │ │ ├── use-workflow-variables.spec.ts │ │ │ │ │ └── use-workflow.spec.ts │ │ │ │ ├── index.ts │ │ │ │ ├── use-DSL.ts │ │ │ │ ├── use-auto-generate-webhook-url.ts │ │ │ │ ├── use-available-blocks.ts │ │ │ │ ├── use-checklist.ts │ │ │ │ ├── use-config-vision.ts │ │ │ │ ├── use-dynamic-test-run-options.tsx │ │ │ │ ├── use-edges-interactions-without-sync.ts │ │ │ │ ├── use-edges-interactions.helpers.ts │ │ │ │ ├── use-edges-interactions.ts │ │ │ │ ├── use-fetch-workflow-inspect-vars.ts │ │ │ │ ├── use-helpline.ts │ │ │ │ ├── use-inspect-vars-crud-common.ts │ │ │ │ ├── use-inspect-vars-crud.ts │ │ │ │ ├── use-node-data-update.ts │ │ │ │ ├── use-node-plugin-installation.ts │ │ │ │ ├── use-nodes-available-var-list.ts │ │ │ │ ├── use-nodes-interactions-without-sync.ts │ │ │ │ ├── use-nodes-interactions.ts │ │ │ │ ├── use-nodes-layout.ts │ │ │ │ ├── use-nodes-meta-data.ts │ │ │ │ ├── use-nodes-sync-draft.ts │ │ │ │ ├── use-panel-interactions.ts │ │ │ │ ├── use-selection-interactions.ts │ │ │ │ ├── use-serial-async-callback.ts │ │ │ │ ├── use-set-workflow-vars-with-value.ts │ │ │ │ ├── use-shortcuts.ts │ │ │ │ ├── use-tool-icon.ts │ │ │ │ ├── use-workflow-canvas-maximize.ts │ │ │ │ ├── use-workflow-history.ts │ │ │ │ ├── use-workflow-interactions.ts │ │ │ │ ├── use-workflow-mode.ts │ │ │ │ ├── use-workflow-organize.helpers.ts │ │ │ │ ├── use-workflow-organize.ts │ │ │ │ ├── use-workflow-panel-interactions.ts │ │ │ │ ├── use-workflow-refresh-draft.ts │ │ │ │ ├── use-workflow-run-event/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-workflow-agent-log.ts │ │ │ │ │ ├── use-workflow-failed.ts │ │ │ │ │ ├── use-workflow-finished.ts │ │ │ │ │ ├── use-workflow-node-finished.ts │ │ │ │ │ ├── use-workflow-node-human-input-form-filled.ts │ │ │ │ │ ├── use-workflow-node-human-input-form-timeout.ts │ │ │ │ │ ├── use-workflow-node-human-input-required.ts │ │ │ │ │ ├── use-workflow-node-iteration-finished.ts │ │ │ │ │ ├── use-workflow-node-iteration-next.ts │ │ │ │ │ ├── use-workflow-node-iteration-started.ts │ │ │ │ │ ├── use-workflow-node-loop-finished.ts │ │ │ │ │ ├── use-workflow-node-loop-next.ts │ │ │ │ │ ├── use-workflow-node-loop-started.ts │ │ │ │ │ ├── use-workflow-node-retry.ts │ │ │ │ │ ├── use-workflow-node-started.ts │ │ │ │ │ ├── use-workflow-paused.ts │ │ │ │ │ ├── use-workflow-run-event.ts │ │ │ │ │ ├── use-workflow-started.ts │ │ │ │ │ ├── use-workflow-text-chunk.ts │ │ │ │ │ └── use-workflow-text-replace.ts │ │ │ │ ├── use-workflow-run.ts │ │ │ │ ├── use-workflow-search.tsx │ │ │ │ ├── use-workflow-start-run.tsx │ │ │ │ ├── use-workflow-update.ts │ │ │ │ ├── use-workflow-variables.ts │ │ │ │ ├── use-workflow-zoom.ts │ │ │ │ └── use-workflow.ts │ │ │ ├── hooks-store/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── provider.spec.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── provider.tsx │ │ │ │ └── store.ts │ │ │ ├── index.tsx │ │ │ ├── node-contextmenu.tsx │ │ │ ├── nodes/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── use-config-test-utils.spec.ts │ │ │ │ │ └── use-config-test-utils.ts │ │ │ │ ├── _base/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── node-sections.spec.tsx │ │ │ │ │ │ ├── node.helpers.spec.ts │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ └── use-node-resize-observer.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── agent-strategy.spec.tsx │ │ │ │ │ │ │ ├── field.spec.tsx │ │ │ │ │ │ │ ├── file-support.spec.tsx │ │ │ │ │ │ │ ├── form-input-item.branches.spec.tsx │ │ │ │ │ │ │ ├── form-input-item.helpers.spec.ts │ │ │ │ │ │ │ ├── form-input-item.sections.spec.tsx │ │ │ │ │ │ │ ├── form-input-item.spec.tsx │ │ │ │ │ │ │ └── node-control.spec.tsx │ │ │ │ │ │ ├── add-button.tsx │ │ │ │ │ │ ├── add-variable-popup-with-position.tsx │ │ │ │ │ │ ├── add-variable-popup.tsx │ │ │ │ │ │ ├── agent-strategy-selector.tsx │ │ │ │ │ │ ├── agent-strategy.tsx │ │ │ │ │ │ ├── before-run-form/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── helpers.spec.ts │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── bool-input.tsx │ │ │ │ │ │ │ ├── form-item.tsx │ │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── panel-wrap.tsx │ │ │ │ │ │ ├── code-generator-button.tsx │ │ │ │ │ │ ├── collapse/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── field-collapse.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── config-vision.tsx │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ ├── base.tsx │ │ │ │ │ │ │ ├── code-editor/ │ │ │ │ │ │ │ │ ├── editor-support-vars.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── style.css │ │ │ │ │ │ │ ├── text-editor.tsx │ │ │ │ │ │ │ └── wrap.tsx │ │ │ │ │ │ ├── entry-node-container.tsx │ │ │ │ │ │ ├── error-handle/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── default-value.tsx │ │ │ │ │ │ │ ├── error-handle-on-node.tsx │ │ │ │ │ │ │ ├── error-handle-on-panel.tsx │ │ │ │ │ │ │ ├── error-handle-tip.tsx │ │ │ │ │ │ │ ├── error-handle-type-selector.tsx │ │ │ │ │ │ │ ├── fail-branch-card.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ ├── file-type-item.tsx │ │ │ │ │ │ ├── file-upload-setting.tsx │ │ │ │ │ │ ├── form-input-boolean.tsx │ │ │ │ │ │ ├── form-input-item.helpers.ts │ │ │ │ │ │ ├── form-input-item.sections.tsx │ │ │ │ │ │ ├── form-input-item.tsx │ │ │ │ │ │ ├── form-input-type-switch.tsx │ │ │ │ │ │ ├── group.tsx │ │ │ │ │ │ ├── help-link.tsx │ │ │ │ │ │ ├── info-panel.tsx │ │ │ │ │ │ ├── input-field/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── add.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── input-number-with-slider.tsx │ │ │ │ │ │ ├── input-support-select-var.tsx │ │ │ │ │ │ ├── input-var-type-icon.tsx │ │ │ │ │ │ ├── install-plugin-button.tsx │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── field-title.spec.tsx │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── box-group-field.tsx │ │ │ │ │ │ │ ├── box-group.tsx │ │ │ │ │ │ │ ├── box.tsx │ │ │ │ │ │ │ ├── field-title.tsx │ │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ │ ├── group-field.tsx │ │ │ │ │ │ │ ├── group.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── list-no-data-placeholder.tsx │ │ │ │ │ │ ├── mcp-tool-availability.tsx │ │ │ │ │ │ ├── mcp-tool-not-support-tooltip.tsx │ │ │ │ │ │ ├── memory-config.tsx │ │ │ │ │ │ ├── mixed-variable-text-input/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ └── placeholder.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── placeholder.tsx │ │ │ │ │ │ ├── next-step/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── add.tsx │ │ │ │ │ │ │ ├── container.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ │ ├── line.tsx │ │ │ │ │ │ │ └── operator.tsx │ │ │ │ │ │ ├── node-control.tsx │ │ │ │ │ │ ├── node-handle.tsx │ │ │ │ │ │ ├── node-resizer.tsx │ │ │ │ │ │ ├── node-status-icon.tsx │ │ │ │ │ │ ├── option-card.tsx │ │ │ │ │ │ ├── output-vars.tsx │ │ │ │ │ │ ├── panel-operator/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── details.spec.tsx │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── change-block.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── panel-operator-popup.tsx │ │ │ │ │ │ ├── prompt/ │ │ │ │ │ │ │ └── editor.tsx │ │ │ │ │ │ ├── readonly-input-with-select-var.tsx │ │ │ │ │ │ ├── remove-button.tsx │ │ │ │ │ │ ├── remove-effect-var-confirm.tsx │ │ │ │ │ │ ├── retry/ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── retry-on-node.tsx │ │ │ │ │ │ │ ├── retry-on-panel.tsx │ │ │ │ │ │ │ ├── style.module.css │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── selector.tsx │ │ │ │ │ │ ├── setting-item.tsx │ │ │ │ │ │ ├── split.tsx │ │ │ │ │ │ ├── support-var-input/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── switch-plugin-version.tsx │ │ │ │ │ │ ├── title-description-input.tsx │ │ │ │ │ │ ├── toggle-expand-btn.tsx │ │ │ │ │ │ ├── variable/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── assigned-var-reference-popup.spec.tsx │ │ │ │ │ │ │ │ ├── match-schema-type.spec.ts │ │ │ │ │ │ │ │ ├── var-reference-picker.branches.spec.tsx │ │ │ │ │ │ │ │ ├── var-reference-picker.helpers.spec.ts │ │ │ │ │ │ │ │ ├── var-reference-picker.spec.tsx │ │ │ │ │ │ │ │ ├── var-reference-picker.trigger.spec.tsx │ │ │ │ │ │ │ │ ├── var-reference-vars.helpers.spec.ts │ │ │ │ │ │ │ │ └── var-reference-vars.spec.tsx │ │ │ │ │ │ │ ├── assigned-var-reference-popup.tsx │ │ │ │ │ │ │ ├── constant-field.tsx │ │ │ │ │ │ │ ├── manage-input-field.tsx │ │ │ │ │ │ │ ├── match-schema-type.ts │ │ │ │ │ │ │ ├── object-child-tree-panel/ │ │ │ │ │ │ │ │ ├── picker/ │ │ │ │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── show/ │ │ │ │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── tree-indent-line.tsx │ │ │ │ │ │ │ ├── output-var-list.tsx │ │ │ │ │ │ │ ├── use-match-schema-type.ts │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ ├── var-full-path-panel.tsx │ │ │ │ │ │ │ ├── var-list.tsx │ │ │ │ │ │ │ ├── var-reference-picker.helpers.ts │ │ │ │ │ │ │ ├── var-reference-picker.trigger.tsx │ │ │ │ │ │ │ ├── var-reference-picker.tsx │ │ │ │ │ │ │ ├── var-reference-popup.tsx │ │ │ │ │ │ │ ├── var-reference-vars.helpers.ts │ │ │ │ │ │ │ ├── var-reference-vars.tsx │ │ │ │ │ │ │ ├── var-type-picker.tsx │ │ │ │ │ │ │ └── variable-label/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ ├── variable-icon.tsx │ │ │ │ │ │ │ │ ├── variable-label.tsx │ │ │ │ │ │ │ │ ├── variable-name.tsx │ │ │ │ │ │ │ │ └── variable-node-label.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── variable-icon-with-color.tsx │ │ │ │ │ │ │ ├── variable-label-in-editor.tsx │ │ │ │ │ │ │ ├── variable-label-in-node.tsx │ │ │ │ │ │ │ ├── variable-label-in-select.tsx │ │ │ │ │ │ │ └── variable-label-in-text.tsx │ │ │ │ │ │ ├── variable-tag.tsx │ │ │ │ │ │ └── workflow-panel/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── helpers.spec.tsx │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── helpers.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── last-run/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── no-data.tsx │ │ │ │ │ │ │ └── use-last-run.ts │ │ │ │ │ │ ├── tab.tsx │ │ │ │ │ │ └── trigger-subscription.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-available-var-list.ts │ │ │ │ │ │ ├── use-node-crud.ts │ │ │ │ │ │ ├── use-node-help-link.ts │ │ │ │ │ │ ├── use-node-info.ts │ │ │ │ │ │ ├── use-one-step-run.ts │ │ │ │ │ │ ├── use-output-var-list.ts │ │ │ │ │ │ ├── use-resize-panel.ts │ │ │ │ │ │ ├── use-toggle-expend.ts │ │ │ │ │ │ └── use-var-list.ts │ │ │ │ │ ├── node-sections.tsx │ │ │ │ │ ├── node.helpers.tsx │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── use-node-resize-observer.ts │ │ │ │ ├── agent/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── model-bar.tsx │ │ │ │ │ │ └── tool-icon.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── use-single-run-form-params.ts │ │ │ │ ├── answer/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── assigner/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ │ ├── use-config.helpers.spec.ts │ │ │ │ │ │ └── use-config.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── operation-selector.tsx │ │ │ │ │ │ └── var-list/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── use-var-list.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.helpers.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── code/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── code-parser.spec.ts │ │ │ │ │ │ └── dependency-picker.spec.tsx │ │ │ │ │ ├── code-parser.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── dependency-picker.tsx │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── components.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── data-source/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ ├── before-run-form.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-config.spec.ts │ │ │ │ │ │ ├── use-before-run-form.ts │ │ │ │ │ │ └── use-config.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── data-source-empty/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── document-extractor/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── use-single-run-form-params.ts │ │ │ │ ├── end/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── node.spec.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── http/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── curl-panel.spec.tsx │ │ │ │ │ │ ├── api-input.tsx │ │ │ │ │ │ ├── authorization/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── radio-group.tsx │ │ │ │ │ │ ├── curl-panel.tsx │ │ │ │ │ │ ├── curl-parser.ts │ │ │ │ │ │ ├── edit-body/ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── supported-body-vars.ts │ │ │ │ │ │ ├── key-value/ │ │ │ │ │ │ │ ├── bulk-edit/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── key-value-edit/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── input-item.tsx │ │ │ │ │ │ │ └── item.tsx │ │ │ │ │ │ └── timeout/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-key-value-list.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── human-input/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── human-input.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── button-style-dropdown.spec.tsx │ │ │ │ │ │ │ ├── form-content-preview.spec.tsx │ │ │ │ │ │ │ ├── form-content.spec.tsx │ │ │ │ │ │ │ ├── timeout.spec.tsx │ │ │ │ │ │ │ ├── user-action.spec.tsx │ │ │ │ │ │ │ └── variable-in-markdown.spec.tsx │ │ │ │ │ │ ├── add-input-field.tsx │ │ │ │ │ │ ├── button-style-dropdown.tsx │ │ │ │ │ │ ├── delivery-method/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── email-configure-modal.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── mail-body-input.tsx │ │ │ │ │ │ │ ├── method-item.tsx │ │ │ │ │ │ │ ├── method-selector.tsx │ │ │ │ │ │ │ ├── recipient/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ │ ├── email-input.tsx │ │ │ │ │ │ │ │ ├── email-item.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── member-list.tsx │ │ │ │ │ │ │ │ └── member-selector.tsx │ │ │ │ │ │ │ ├── test-email-sender.tsx │ │ │ │ │ │ │ └── upgrade-modal.tsx │ │ │ │ │ │ ├── form-content-preview.tsx │ │ │ │ │ │ ├── form-content.tsx │ │ │ │ │ │ ├── single-run-form.tsx │ │ │ │ │ │ ├── timeout.tsx │ │ │ │ │ │ ├── user-action.tsx │ │ │ │ │ │ └── variable-in-markdown.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-config.spec.ts │ │ │ │ │ │ │ ├── use-form-content.spec.ts │ │ │ │ │ │ │ └── use-single-run-form-params.spec.ts │ │ │ │ │ │ ├── use-config.ts │ │ │ │ │ │ ├── use-form-content.ts │ │ │ │ │ │ └── use-single-run-form-params.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── if-else/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ │ ├── use-config.helpers.spec.ts │ │ │ │ │ │ └── use-config.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── condition-add.tsx │ │ │ │ │ │ ├── condition-files-list-value.tsx │ │ │ │ │ │ ├── condition-list/ │ │ │ │ │ │ │ ├── condition-input.tsx │ │ │ │ │ │ │ ├── condition-item.tsx │ │ │ │ │ │ │ ├── condition-operator.tsx │ │ │ │ │ │ │ ├── condition-var-selector.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── condition-number-input.tsx │ │ │ │ │ │ ├── condition-value.tsx │ │ │ │ │ │ └── condition-wrap.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.helpers.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-is-var-file-attribute.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── iteration/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ │ ├── use-config.spec.ts │ │ │ │ │ │ ├── use-interactions.helpers.spec.ts │ │ │ │ │ │ ├── use-interactions.spec.tsx │ │ │ │ │ │ └── use-single-run-form-params.spec.ts │ │ │ │ │ ├── add-block.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-interactions.helpers.ts │ │ │ │ │ ├── use-interactions.ts │ │ │ │ │ └── use-single-run-form-params.ts │ │ │ │ ├── iteration-start/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── knowledge-base/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── default.spec.ts │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ ├── panel.spec.tsx │ │ │ │ │ │ ├── use-single-run-form-params.spec.ts │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── embedding-model.spec.tsx │ │ │ │ │ │ │ ├── index-method.spec.tsx │ │ │ │ │ │ │ └── option-card.spec.tsx │ │ │ │ │ │ ├── chunk-structure/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ └── selector.spec.tsx │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── instruction/ │ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ │ │ └── line.spec.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── line.tsx │ │ │ │ │ │ │ ├── selector.tsx │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── embedding-model.tsx │ │ │ │ │ │ ├── index-method.tsx │ │ │ │ │ │ ├── option-card.tsx │ │ │ │ │ │ └── retrieval-setting/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ ├── reranking-model-selector.spec.tsx │ │ │ │ │ │ │ ├── search-method-option.spec.tsx │ │ │ │ │ │ │ └── top-k-and-score-threshold.spec.tsx │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── reranking-model-selector.tsx │ │ │ │ │ │ ├── search-method-option.tsx │ │ │ │ │ │ ├── top-k-and-score-threshold.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-config.spec.tsx │ │ │ │ │ │ │ ├── use-embedding-model-status.spec.ts │ │ │ │ │ │ │ └── use-settings-display.spec.ts │ │ │ │ │ │ ├── use-config.ts │ │ │ │ │ │ ├── use-embedding-model-status.ts │ │ │ │ │ │ └── use-settings-display.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── knowledge-retrieval/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── add-dataset.tsx │ │ │ │ │ │ ├── dataset-item.tsx │ │ │ │ │ │ ├── dataset-list.tsx │ │ │ │ │ │ ├── metadata/ │ │ │ │ │ │ │ ├── add-condition.tsx │ │ │ │ │ │ │ ├── condition-list/ │ │ │ │ │ │ │ │ ├── condition-common-variable-selector.tsx │ │ │ │ │ │ │ │ ├── condition-date.tsx │ │ │ │ │ │ │ │ ├── condition-item.tsx │ │ │ │ │ │ │ │ ├── condition-number.tsx │ │ │ │ │ │ │ │ ├── condition-operator.tsx │ │ │ │ │ │ │ │ ├── condition-string.tsx │ │ │ │ │ │ │ │ ├── condition-value-method.tsx │ │ │ │ │ │ │ │ ├── condition-variable-selector.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── metadata-filter/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── metadata-filter-selector.tsx │ │ │ │ │ │ │ ├── metadata-icon.tsx │ │ │ │ │ │ │ ├── metadata-panel.tsx │ │ │ │ │ │ │ └── metadata-trigger.tsx │ │ │ │ │ │ └── retrieval-config.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── list-operator/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ │ ├── use-config.helpers.spec.ts │ │ │ │ │ │ └── use-config.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── filter-condition.spec.tsx │ │ │ │ │ │ ├── extract-input.tsx │ │ │ │ │ │ ├── filter-condition.tsx │ │ │ │ │ │ ├── limit-config.tsx │ │ │ │ │ │ └── sub-variable-picker.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.helpers.ts │ │ │ │ │ └── use-config.ts │ │ │ │ ├── llm/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── default.spec.ts │ │ │ │ │ │ ├── panel.spec.tsx │ │ │ │ │ │ └── utils.spec.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── config-prompt-item.tsx │ │ │ │ │ │ ├── config-prompt.tsx │ │ │ │ │ │ ├── json-schema-config-modal/ │ │ │ │ │ │ │ ├── code-editor.tsx │ │ │ │ │ │ │ ├── error-message.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── json-importer.tsx │ │ │ │ │ │ │ ├── json-schema-config.tsx │ │ │ │ │ │ │ ├── json-schema-generator/ │ │ │ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── schema-generator-dark.tsx │ │ │ │ │ │ │ │ │ └── schema-generator-light.tsx │ │ │ │ │ │ │ │ ├── generated-result.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── prompt-editor.tsx │ │ │ │ │ │ │ ├── schema-editor.tsx │ │ │ │ │ │ │ └── visual-editor/ │ │ │ │ │ │ │ ├── add-field.tsx │ │ │ │ │ │ │ ├── card.tsx │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── edit-card/ │ │ │ │ │ │ │ │ ├── actions.tsx │ │ │ │ │ │ │ │ ├── advanced-actions.tsx │ │ │ │ │ │ │ │ ├── advanced-options.tsx │ │ │ │ │ │ │ │ ├── auto-width-input.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── required-switch.tsx │ │ │ │ │ │ │ │ └── type-selector.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── schema-node.tsx │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ ├── prompt-generator-btn.tsx │ │ │ │ │ │ ├── reasoning-format-config.tsx │ │ │ │ │ │ ├── resolution-picker.tsx │ │ │ │ │ │ └── structure-output.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── loop/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ │ ├── use-config.helpers.spec.ts │ │ │ │ │ │ ├── use-config.spec.tsx │ │ │ │ │ │ ├── use-interactions.helpers.spec.ts │ │ │ │ │ │ ├── use-interactions.spec.tsx │ │ │ │ │ │ ├── use-single-run-form-params.helpers.spec.ts │ │ │ │ │ │ └── use-single-run-form-params.spec.ts │ │ │ │ │ ├── add-block.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── condition-add.tsx │ │ │ │ │ │ ├── condition-files-list-value.tsx │ │ │ │ │ │ ├── condition-list/ │ │ │ │ │ │ │ ├── condition-input.tsx │ │ │ │ │ │ │ ├── condition-item.tsx │ │ │ │ │ │ │ ├── condition-operator.tsx │ │ │ │ │ │ │ ├── condition-var-selector.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── condition-number-input.tsx │ │ │ │ │ │ ├── condition-value.tsx │ │ │ │ │ │ ├── condition-wrap.tsx │ │ │ │ │ │ └── loop-variables/ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ ├── form-item.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── input-mode-selec.tsx │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ └── variable-type-select.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── insert-block.tsx │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.helpers.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-interactions.helpers.ts │ │ │ │ │ ├── use-interactions.ts │ │ │ │ │ ├── use-is-var-file-attribute.ts │ │ │ │ │ ├── use-single-run-form-params.helpers.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── loop-end/ │ │ │ │ │ └── default.ts │ │ │ │ ├── loop-start/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── parameter-extractor/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── extract-parameter/ │ │ │ │ │ │ │ ├── import-from-tool.tsx │ │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ │ ├── list.tsx │ │ │ │ │ │ │ └── update.tsx │ │ │ │ │ │ └── reasoning-mode-picker.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── use-single-run-form-params.ts │ │ │ │ ├── question-classifier/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── advanced-setting.tsx │ │ │ │ │ │ ├── class-item.tsx │ │ │ │ │ │ └── class-list.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── start/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ └── use-config.spec.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── var-item.tsx │ │ │ │ │ │ └── var-list.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── template-transform/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tool/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── auth.spec.ts │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ ├── output-schema-utils.spec.ts │ │ │ │ │ │ └── panel.spec.tsx │ │ │ │ │ ├── auth.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── input-var-list.spec.tsx │ │ │ │ │ │ ├── copy-id.tsx │ │ │ │ │ │ ├── input-var-list.tsx │ │ │ │ │ │ ├── mixed-variable-text-input/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── placeholder.tsx │ │ │ │ │ │ └── tool-form/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── item.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-config.spec.tsx │ │ │ │ │ │ │ ├── use-current-tool-collection.spec.tsx │ │ │ │ │ │ │ ├── use-get-data-for-check-more.spec.ts │ │ │ │ │ │ │ └── use-single-run-form-params.spec.ts │ │ │ │ │ │ ├── use-config.ts │ │ │ │ │ │ ├── use-current-tool-collection.ts │ │ │ │ │ │ ├── use-get-data-for-check-more.ts │ │ │ │ │ │ └── use-single-run-form-params.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── output-schema-utils.ts │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── trigger-plugin/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── trigger-form/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── item.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-trigger-auth-flow.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-check-params.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── form-helpers.spec.ts │ │ │ │ │ └── form-helpers.ts │ │ │ │ ├── trigger-schedule/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ └── panel.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ │ ├── frequency-selector.tsx │ │ │ │ │ │ ├── mode-switcher.tsx │ │ │ │ │ │ ├── mode-toggle.tsx │ │ │ │ │ │ ├── monthly-days-selector.tsx │ │ │ │ │ │ ├── next-execution-times.tsx │ │ │ │ │ │ ├── on-minute-selector.tsx │ │ │ │ │ │ └── weekday-selector.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.ts │ │ │ │ │ ├── cron-parser.ts │ │ │ │ │ └── execution-time-calculator.ts │ │ │ │ ├── trigger-webhook/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── node.spec.tsx │ │ │ │ │ │ ├── panel.spec.tsx │ │ │ │ │ │ ├── use-config.helpers.spec.ts │ │ │ │ │ │ └── use-config.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── generic-table.spec.tsx │ │ │ │ │ │ ├── generic-table.tsx │ │ │ │ │ │ ├── header-table.tsx │ │ │ │ │ │ ├── paragraph-input.tsx │ │ │ │ │ │ └── parameter-table.tsx │ │ │ │ │ ├── default.ts │ │ │ │ │ ├── node.tsx │ │ │ │ │ ├── panel.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-config.helpers.ts │ │ │ │ │ ├── use-config.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── parameter-type-utils.ts │ │ │ │ │ ├── raw-variable.ts │ │ │ │ │ └── render-output-vars.tsx │ │ │ │ ├── utils.ts │ │ │ │ └── variable-assigner/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ └── use-config.spec.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── add-variable/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── node-group-item.tsx │ │ │ │ │ ├── node-variable-item.tsx │ │ │ │ │ ├── var-group-item.tsx │ │ │ │ │ └── var-list/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── use-var-list.ts │ │ │ │ ├── default.ts │ │ │ │ ├── hooks.ts │ │ │ │ ├── node.tsx │ │ │ │ ├── panel.tsx │ │ │ │ ├── types.ts │ │ │ │ ├── use-config.helpers.ts │ │ │ │ ├── use-config.ts │ │ │ │ ├── use-single-run-form-params.ts │ │ │ │ └── utils.ts │ │ │ ├── note-node/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── note-editor/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── context.spec.tsx │ │ │ │ │ │ └── editor.spec.tsx │ │ │ │ │ ├── context.tsx │ │ │ │ │ ├── editor.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── format-detector-plugin/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── link-editor-plugin/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── store.ts │ │ │ │ │ ├── theme/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── theme.css │ │ │ │ │ ├── toolbar/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── color-picker.spec.tsx │ │ │ │ │ │ │ ├── command.spec.tsx │ │ │ │ │ │ │ ├── font-size-selector.spec.tsx │ │ │ │ │ │ │ ├── hooks.spec.tsx │ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ │ └── operator.spec.tsx │ │ │ │ │ │ ├── color-picker.tsx │ │ │ │ │ │ ├── command.tsx │ │ │ │ │ │ ├── divider.tsx │ │ │ │ │ │ ├── font-size-selector.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── operator.tsx │ │ │ │ │ └── utils.ts │ │ │ │ └── types.ts │ │ │ ├── operator/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── add-block.spec.tsx │ │ │ │ │ ├── control.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── add-block.tsx │ │ │ │ ├── control.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── more-actions.tsx │ │ │ │ ├── tip-popup.tsx │ │ │ │ └── zoom-in-out.tsx │ │ │ ├── panel/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── human-input-form-list.spec.tsx │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── inputs-panel.spec.tsx │ │ │ │ │ ├── record.spec.tsx │ │ │ │ │ └── workflow-preview.spec.tsx │ │ │ │ ├── chat-record/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── user-input.tsx │ │ │ │ ├── chat-variable-panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ │ │ ├── use-variable-modal-state.spec.ts │ │ │ │ │ │ │ ├── variable-modal.helpers.spec.ts │ │ │ │ │ │ │ └── variable-modal.spec.tsx │ │ │ │ │ │ ├── array-bool-list.tsx │ │ │ │ │ │ ├── array-value-list.tsx │ │ │ │ │ │ ├── bool-value.tsx │ │ │ │ │ │ ├── object-value-item.tsx │ │ │ │ │ │ ├── object-value-list.tsx │ │ │ │ │ │ ├── use-variable-modal-state.ts │ │ │ │ │ │ ├── variable-item.tsx │ │ │ │ │ │ ├── variable-modal-trigger.tsx │ │ │ │ │ │ ├── variable-modal.helpers.ts │ │ │ │ │ │ ├── variable-modal.sections.tsx │ │ │ │ │ │ ├── variable-modal.tsx │ │ │ │ │ │ └── variable-type-select.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── type.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── debug-and-preview/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── components.spec.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── handle-resume.spec.ts │ │ │ │ │ │ │ ├── handle-send.spec.ts │ │ │ │ │ │ │ ├── handle-stop-restart.spec.ts │ │ │ │ │ │ │ ├── misc.spec.ts │ │ │ │ │ │ │ ├── opening-statement.spec.ts │ │ │ │ │ │ │ └── sse-callbacks.spec.ts │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── chat-wrapper.tsx │ │ │ │ │ ├── conversation-variable-modal.tsx │ │ │ │ │ ├── empty.tsx │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── user-input.tsx │ │ │ │ ├── env-panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── env-item.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── variable-modal.tsx │ │ │ │ │ └── variable-trigger.tsx │ │ │ │ ├── global-variable-panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── item.tsx │ │ │ │ ├── human-input-filled-form-list.tsx │ │ │ │ ├── human-input-form-list.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── inputs-panel.tsx │ │ │ │ ├── record.tsx │ │ │ │ ├── version-history-panel/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── empty.spec.tsx │ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ │ └── version-history-item.spec.tsx │ │ │ │ │ ├── context-menu/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── menu-item.tsx │ │ │ │ │ │ └── use-context-menu.ts │ │ │ │ │ ├── delete-confirm-modal.tsx │ │ │ │ │ ├── empty.tsx │ │ │ │ │ ├── filter/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── filter-item.tsx │ │ │ │ │ │ ├── filter-switch.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── use-filter.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── loading/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.spec.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── item.tsx │ │ │ │ │ ├── restore-confirm-modal.tsx │ │ │ │ │ └── version-history-item.tsx │ │ │ │ └── workflow-preview.tsx │ │ │ ├── panel-contextmenu.tsx │ │ │ ├── plugin-dependency/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.tsx │ │ │ │ └── store.ts │ │ │ ├── run/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hooks.spec.ts │ │ │ │ │ ├── loop-result-panel.spec.tsx │ │ │ │ │ ├── meta.spec.tsx │ │ │ │ │ ├── output-panel.spec.tsx │ │ │ │ │ ├── result-panel.spec.tsx │ │ │ │ │ ├── result-text.spec.tsx │ │ │ │ │ ├── special-result-panel.spec.tsx │ │ │ │ │ ├── status-container.spec.tsx │ │ │ │ │ ├── status.spec.tsx │ │ │ │ │ └── tracing-panel.spec.tsx │ │ │ │ ├── agent-log/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── agent-log-trigger.spec.tsx │ │ │ │ │ │ └── integration.spec.tsx │ │ │ │ │ ├── agent-log-item.tsx │ │ │ │ │ ├── agent-log-nav-more.tsx │ │ │ │ │ ├── agent-log-nav.tsx │ │ │ │ │ ├── agent-log-trigger.tsx │ │ │ │ │ ├── agent-result-panel.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── get-hovered-parallel-id.ts │ │ │ │ ├── hooks.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── iteration-log/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── integration.spec.tsx │ │ │ │ │ │ └── iteration-log-trigger.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── iteration-log-trigger.tsx │ │ │ │ │ └── iteration-result-panel.tsx │ │ │ │ ├── loop-log/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── loop-log-trigger.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── loop-log-trigger.tsx │ │ │ │ │ └── loop-result-panel.tsx │ │ │ │ ├── loop-result-panel.tsx │ │ │ │ ├── meta.tsx │ │ │ │ ├── node.tsx │ │ │ │ ├── output-panel.tsx │ │ │ │ ├── result-panel.tsx │ │ │ │ ├── result-text.tsx │ │ │ │ ├── retry-log/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── retry-log-trigger.spec.tsx │ │ │ │ │ │ └── retry-result-panel.spec.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── retry-log-trigger.tsx │ │ │ │ │ └── retry-result-panel.tsx │ │ │ │ ├── special-result-panel.tsx │ │ │ │ ├── status-container.tsx │ │ │ │ ├── status.tsx │ │ │ │ ├── tracing-panel.tsx │ │ │ │ └── utils/ │ │ │ │ └── format-log/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── graph-to-log-struct.spec.ts │ │ │ │ │ └── index.spec.ts │ │ │ │ ├── agent/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.ts │ │ │ │ │ ├── data.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── graph-to-log-struct.ts │ │ │ │ ├── human-input/ │ │ │ │ │ └── index.ts │ │ │ │ ├── index.ts │ │ │ │ ├── iteration/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── loop/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.spec.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── parallel/ │ │ │ │ │ └── index.ts │ │ │ │ └── retry/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.ts │ │ │ │ └── index.ts │ │ │ ├── selection-contextmenu.tsx │ │ │ ├── shortcuts-name.tsx │ │ │ ├── simple-node/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── constants.ts │ │ │ │ ├── index.tsx │ │ │ │ └── types.ts │ │ │ ├── store/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── chat-variable-slice.spec.ts │ │ │ │ │ ├── datasets-detail-store.spec.ts │ │ │ │ │ ├── env-variable-slice.spec.ts │ │ │ │ │ ├── inspect-vars-slice.spec.ts │ │ │ │ │ ├── plugin-dependency-store.spec.ts │ │ │ │ │ ├── trigger-status.spec.ts │ │ │ │ │ ├── version-slice.spec.ts │ │ │ │ │ ├── workflow-draft-slice.spec.ts │ │ │ │ │ └── workflow-store.spec.ts │ │ │ │ ├── index.ts │ │ │ │ ├── trigger-status.ts │ │ │ │ └── workflow/ │ │ │ │ ├── chat-variable-slice.ts │ │ │ │ ├── debug/ │ │ │ │ │ └── inspect-vars-slice.ts │ │ │ │ ├── env-variable-slice.ts │ │ │ │ ├── form-slice.ts │ │ │ │ ├── help-line-slice.ts │ │ │ │ ├── history-slice.ts │ │ │ │ ├── index.ts │ │ │ │ ├── layout-slice.ts │ │ │ │ ├── node-slice.ts │ │ │ │ ├── panel-slice.ts │ │ │ │ ├── tool-slice.ts │ │ │ │ ├── use-nodes.ts │ │ │ │ ├── version-slice.ts │ │ │ │ ├── workflow-draft-slice.ts │ │ │ │ └── workflow-slice.ts │ │ │ ├── style.css │ │ │ ├── syncing-data-modal.tsx │ │ │ ├── types.ts │ │ │ ├── update-dsl-modal.helpers.ts │ │ │ ├── update-dsl-modal.tsx │ │ │ ├── utils/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── common.spec.ts │ │ │ │ │ ├── data-source.spec.ts │ │ │ │ │ ├── debug.spec.ts │ │ │ │ │ ├── edge.spec.ts │ │ │ │ │ ├── elk-layout.spec.ts │ │ │ │ │ ├── gen-node-meta-data.spec.ts │ │ │ │ │ ├── node-navigation.spec.ts │ │ │ │ │ ├── node.spec.ts │ │ │ │ │ ├── plugin-install-check.spec.ts │ │ │ │ │ ├── tool.spec.ts │ │ │ │ │ ├── trigger.spec.ts │ │ │ │ │ ├── variable.spec.ts │ │ │ │ │ ├── workflow-entry.spec.ts │ │ │ │ │ ├── workflow-init.spec.ts │ │ │ │ │ └── workflow.spec.ts │ │ │ │ ├── common.ts │ │ │ │ ├── data-source.ts │ │ │ │ ├── debug.ts │ │ │ │ ├── edge.ts │ │ │ │ ├── elk-layout.ts │ │ │ │ ├── gen-node-meta-data.ts │ │ │ │ ├── index.ts │ │ │ │ ├── node-navigation.ts │ │ │ │ ├── node.ts │ │ │ │ ├── plugin-install-check.ts │ │ │ │ ├── plugin.ts │ │ │ │ ├── tool.ts │ │ │ │ ├── trigger.ts │ │ │ │ ├── variable.ts │ │ │ │ ├── workflow-entry.ts │ │ │ │ ├── workflow-init.ts │ │ │ │ └── workflow.ts │ │ │ ├── variable-inspect/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── empty.spec.tsx │ │ │ │ │ ├── group.spec.tsx │ │ │ │ │ ├── large-data-alert.spec.tsx │ │ │ │ │ ├── panel.spec.tsx │ │ │ │ │ ├── trigger.spec.tsx │ │ │ │ │ ├── value-content-sections.spec.tsx │ │ │ │ │ ├── value-content.helpers.branches.spec.ts │ │ │ │ │ ├── value-content.helpers.spec.ts │ │ │ │ │ └── value-content.spec.tsx │ │ │ │ ├── display-content.tsx │ │ │ │ ├── empty.tsx │ │ │ │ ├── group.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── large-data-alert.tsx │ │ │ │ ├── left.tsx │ │ │ │ ├── listening.tsx │ │ │ │ ├── panel.tsx │ │ │ │ ├── right.tsx │ │ │ │ ├── trigger.tsx │ │ │ │ ├── types.ts │ │ │ │ ├── utils.tsx │ │ │ │ ├── value-content-sections.tsx │ │ │ │ ├── value-content.helpers.ts │ │ │ │ └── value-content.tsx │ │ │ ├── workflow-history-store.tsx │ │ │ └── workflow-preview/ │ │ │ ├── __tests__/ │ │ │ │ └── index.spec.tsx │ │ │ ├── components/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── error-handle-on-node.spec.tsx │ │ │ │ │ └── node-handle.spec.tsx │ │ │ │ ├── custom-edge.tsx │ │ │ │ ├── error-handle-on-node.tsx │ │ │ │ ├── node-handle.tsx │ │ │ │ ├── nodes/ │ │ │ │ │ ├── base.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── if-else/ │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── iteration/ │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── iteration-start/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── loop/ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ └── node.tsx │ │ │ │ │ ├── loop-start/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── question-classifier/ │ │ │ │ │ └── node.tsx │ │ │ │ ├── note-node/ │ │ │ │ │ └── index.tsx │ │ │ │ └── zoom-in-out.tsx │ │ │ └── index.tsx │ │ └── workflow-app/ │ │ ├── __tests__/ │ │ │ ├── index.spec.tsx │ │ │ └── utils.spec.ts │ │ ├── components/ │ │ │ ├── __tests__/ │ │ │ │ ├── workflow-children.spec.tsx │ │ │ │ ├── workflow-main.spec.tsx │ │ │ │ └── workflow-panel.spec.tsx │ │ │ ├── workflow-children.tsx │ │ │ ├── workflow-header/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── chat-variable-trigger.spec.tsx │ │ │ │ │ ├── features-trigger.spec.tsx │ │ │ │ │ └── index.spec.tsx │ │ │ │ ├── chat-variable-trigger.tsx │ │ │ │ ├── features-trigger.tsx │ │ │ │ └── index.tsx │ │ │ ├── workflow-main.tsx │ │ │ ├── workflow-onboarding-modal/ │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.spec.tsx │ │ │ │ │ ├── start-node-option.spec.tsx │ │ │ │ │ └── start-node-selection-panel.spec.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── start-node-option.tsx │ │ │ │ └── start-node-selection-panel.tsx │ │ │ └── workflow-panel.tsx │ │ ├── hooks/ │ │ │ ├── __tests__/ │ │ │ │ ├── index.spec.ts │ │ │ │ ├── use-DSL.spec.ts │ │ │ │ ├── use-auto-onboarding.spec.ts │ │ │ │ ├── use-available-nodes-meta-data.spec.ts │ │ │ │ ├── use-configs-map.spec.ts │ │ │ │ ├── use-get-run-and-trace-url.spec.ts │ │ │ │ ├── use-inspect-vars-crud.spec.ts │ │ │ │ ├── use-nodes-sync-draft.spec.ts │ │ │ │ ├── use-workflow-init.spec.ts │ │ │ │ ├── use-workflow-refresh-draft.spec.ts │ │ │ │ ├── use-workflow-run-callbacks.spec.ts │ │ │ │ ├── use-workflow-run-utils.spec.ts │ │ │ │ ├── use-workflow-run.spec.ts │ │ │ │ ├── use-workflow-start-run.spec.tsx │ │ │ │ └── use-workflow-template.spec.ts │ │ │ ├── index.ts │ │ │ ├── use-DSL.ts │ │ │ ├── use-auto-onboarding.ts │ │ │ ├── use-available-nodes-meta-data.ts │ │ │ ├── use-configs-map.ts │ │ │ ├── use-get-run-and-trace-url.ts │ │ │ ├── use-inspect-vars-crud.ts │ │ │ ├── use-is-chat-mode.ts │ │ │ ├── use-nodes-sync-draft.ts │ │ │ ├── use-workflow-init.ts │ │ │ ├── use-workflow-refresh-draft.ts │ │ │ ├── use-workflow-run-callbacks.ts │ │ │ ├── use-workflow-run-utils.ts │ │ │ ├── use-workflow-run.ts │ │ │ ├── use-workflow-start-run.tsx │ │ │ └── use-workflow-template.ts │ │ ├── index.tsx │ │ ├── store/ │ │ │ └── workflow/ │ │ │ ├── __tests__/ │ │ │ │ └── workflow-slice.spec.ts │ │ │ └── workflow-slice.ts │ │ └── utils.ts │ ├── education-apply/ │ │ ├── constants.ts │ │ ├── education-apply-page.tsx │ │ ├── expire-notice-modal.tsx │ │ ├── hooks.ts │ │ ├── role-selector.tsx │ │ ├── search-input.tsx │ │ ├── types.ts │ │ ├── user-info.tsx │ │ └── verify-state-modal.tsx │ ├── forgot-password/ │ │ ├── ChangePasswordForm.tsx │ │ ├── ForgotPasswordForm.spec.tsx │ │ ├── ForgotPasswordForm.tsx │ │ └── page.tsx │ ├── init/ │ │ ├── InitPasswordPopup.tsx │ │ └── page.tsx │ ├── install/ │ │ ├── installForm.spec.tsx │ │ ├── installForm.tsx │ │ └── page.tsx │ ├── layout.tsx │ ├── oauth-callback/ │ │ └── page.tsx │ ├── page.tsx │ ├── reset-password/ │ │ ├── check-code/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── page.tsx │ │ └── set-password/ │ │ └── page.tsx │ ├── routePrefixHandle.tsx │ ├── signin/ │ │ ├── _header.tsx │ │ ├── check-code/ │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── mail-and-code-auth.tsx │ │ │ ├── mail-and-password-auth.tsx │ │ │ ├── social-auth.tsx │ │ │ └── sso-auth.tsx │ │ ├── invite-settings/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── normal-form.tsx │ │ ├── one-more-step.tsx │ │ ├── page.module.css │ │ ├── page.tsx │ │ ├── split.tsx │ │ └── utils/ │ │ └── post-login-redirect.ts │ ├── signup/ │ │ ├── check-code/ │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── input-mail.spec.tsx │ │ │ └── input-mail.tsx │ │ ├── layout.tsx │ │ ├── page.tsx │ │ └── set-password/ │ │ └── page.tsx │ └── styles/ │ ├── globals.css │ ├── markdown.css │ ├── monaco-sticky-fix.css │ └── preflight.css ├── bin/ │ └── uglify-embed.js ├── config/ │ ├── index.spec.ts │ └── index.ts ├── constants/ │ └── link.ts ├── context/ │ ├── access-control-store.ts │ ├── app-context-provider.tsx │ ├── app-context.ts │ ├── app-list-context.ts │ ├── dataset-detail.ts │ ├── datasets-context.ts │ ├── debug-configuration.ts │ ├── event-emitter-provider.tsx │ ├── event-emitter.ts │ ├── external-api-panel-context.tsx │ ├── external-knowledge-api-context.tsx │ ├── global-public-context.tsx │ ├── hooks/ │ │ └── use-trigger-events-limit-modal.ts │ ├── i18n.spec.ts │ ├── i18n.ts │ ├── mitt-context-provider.tsx │ ├── mitt-context.ts │ ├── modal-context-provider.tsx │ ├── modal-context.test.tsx │ ├── modal-context.ts │ ├── provider-context-mock.spec.tsx │ ├── provider-context-mock.tsx │ ├── provider-context-provider.tsx │ ├── provider-context.ts │ ├── query-client-server.ts │ ├── query-client.tsx │ ├── web-app-context.tsx │ ├── workspace-context-provider.tsx │ └── workspace-context.ts ├── contract/ │ ├── base.ts │ ├── console/ │ │ ├── apps.ts │ │ ├── billing.ts │ │ ├── explore.ts │ │ ├── model-providers.ts │ │ ├── notification.ts │ │ ├── plugins.ts │ │ ├── system.ts │ │ ├── trigger.ts │ │ └── try-app.ts │ ├── marketplace.ts │ └── router.ts ├── docker/ │ └── entrypoint.sh ├── docs/ │ ├── lint.md │ ├── overlay-migration.md │ └── test.md ├── env.ts ├── eslint-suppressions.json ├── eslint.config.mjs ├── eslint.constants.mjs ├── global.d.ts ├── hooks/ │ ├── use-api-access-url.ts │ ├── use-app-favicon.ts │ ├── use-async-window-open.spec.ts │ ├── use-async-window-open.ts │ ├── use-breakpoints.spec.ts │ ├── use-breakpoints.ts │ ├── use-document-title.spec.ts │ ├── use-document-title.ts │ ├── use-format-time-from-now.spec.ts │ ├── use-format-time-from-now.ts │ ├── use-i18n.ts │ ├── use-import-dsl.ts │ ├── use-knowledge.ts │ ├── use-metadata.ts │ ├── use-mitt.ts │ ├── use-moderate.ts │ ├── use-oauth.ts │ ├── use-pay.tsx │ ├── use-query-params.spec.tsx │ ├── use-query-params.ts │ ├── use-theme.ts │ ├── use-timestamp.spec.ts │ └── use-timestamp.ts ├── i18n/ │ ├── ar-TN/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── de-DE/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── en-US/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── es-ES/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── fa-IR/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── fr-FR/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── hi-IN/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── id-ID/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── it-IT/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── ja-JP/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── ko-KR/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── nl-NL/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── pl-PL/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── pt-BR/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── ro-RO/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── ru-RU/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── sl-SI/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── th-TH/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── tr-TR/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── uk-UA/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── vi-VN/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ ├── zh-Hans/ │ │ ├── app-annotation.json │ │ ├── app-api.json │ │ ├── app-debug.json │ │ ├── app-log.json │ │ ├── app-overview.json │ │ ├── app.json │ │ ├── billing.json │ │ ├── common.json │ │ ├── custom.json │ │ ├── dataset-creation.json │ │ ├── dataset-documents.json │ │ ├── dataset-hit-testing.json │ │ ├── dataset-pipeline.json │ │ ├── dataset-settings.json │ │ ├── dataset.json │ │ ├── education.json │ │ ├── explore.json │ │ ├── layout.json │ │ ├── login.json │ │ ├── oauth.json │ │ ├── pipeline.json │ │ ├── plugin-tags.json │ │ ├── plugin-trigger.json │ │ ├── plugin.json │ │ ├── register.json │ │ ├── run-log.json │ │ ├── share.json │ │ ├── time.json │ │ ├── tools.json │ │ └── workflow.json │ └── zh-Hant/ │ ├── app-annotation.json │ ├── app-api.json │ ├── app-debug.json │ ├── app-log.json │ ├── app-overview.json │ ├── app.json │ ├── billing.json │ ├── common.json │ ├── custom.json │ ├── dataset-creation.json │ ├── dataset-documents.json │ ├── dataset-hit-testing.json │ ├── dataset-pipeline.json │ ├── dataset-settings.json │ ├── dataset.json │ ├── education.json │ ├── explore.json │ ├── layout.json │ ├── login.json │ ├── oauth.json │ ├── pipeline.json │ ├── plugin-tags.json │ ├── plugin-trigger.json │ ├── plugin.json │ ├── register.json │ ├── run-log.json │ ├── share.json │ ├── time.json │ ├── tools.json │ └── workflow.json ├── i18n-config/ │ ├── DEV.md │ ├── README.md │ ├── client.ts │ ├── index.ts │ ├── language.ts │ ├── languages.ts │ ├── lib.client.ts │ ├── lib.server.ts │ ├── resources.ts │ ├── server.ts │ └── settings.ts ├── instrumentation-client.ts ├── knip.config.ts ├── models/ │ ├── access-control.ts │ ├── app.ts │ ├── common.ts │ ├── datasets.ts │ ├── debug.ts │ ├── explore.ts │ ├── log.ts │ ├── pipeline.ts │ ├── share.ts │ └── try-app.ts ├── next/ │ ├── dynamic.ts │ ├── headers.ts │ ├── index.ts │ ├── link.ts │ ├── navigation.ts │ └── script.ts ├── next.config.ts ├── package.json ├── plugins/ │ ├── dev-proxy/ │ │ ├── cookies.ts │ │ ├── server.spec.ts │ │ └── server.ts │ ├── eslint/ │ │ ├── index.js │ │ ├── namespaces.js │ │ ├── rules/ │ │ │ ├── consistent-placeholders.js │ │ │ ├── no-as-any-in-t.js │ │ │ ├── no-extra-keys.js │ │ │ ├── no-legacy-namespace-prefix.js │ │ │ └── require-ns-option.js │ │ └── utils.js │ └── vite/ │ ├── code-inspector.ts │ ├── custom-i18n-hmr.ts │ ├── inject-target.ts │ ├── next-static-image-test.ts │ ├── react-grab-open-file.ts │ └── utils.ts ├── postcss.config.js ├── proxy.ts ├── public/ │ ├── _offline.html │ ├── browserconfig.xml │ ├── embed.js │ ├── manifest.json │ ├── pdf.worker.min.mjs │ └── vs/ │ ├── base/ │ │ └── worker/ │ │ └── workerMain.js │ ├── basic-languages/ │ │ ├── abap/ │ │ │ └── abap.js │ │ ├── apex/ │ │ │ └── apex.js │ │ ├── azcli/ │ │ │ └── azcli.js │ │ ├── bat/ │ │ │ └── bat.js │ │ ├── bicep/ │ │ │ └── bicep.js │ │ ├── cameligo/ │ │ │ └── cameligo.js │ │ ├── clojure/ │ │ │ └── clojure.js │ │ ├── coffee/ │ │ │ └── coffee.js │ │ ├── cpp/ │ │ │ └── cpp.js │ │ ├── csharp/ │ │ │ └── csharp.js │ │ ├── csp/ │ │ │ └── csp.js │ │ ├── css/ │ │ │ └── css.js │ │ ├── cypher/ │ │ │ └── cypher.js │ │ ├── dart/ │ │ │ └── dart.js │ │ ├── dockerfile/ │ │ │ └── dockerfile.js │ │ ├── ecl/ │ │ │ └── ecl.js │ │ ├── elixir/ │ │ │ └── elixir.js │ │ ├── flow9/ │ │ │ └── flow9.js │ │ ├── freemarker2/ │ │ │ └── freemarker2.js │ │ ├── fsharp/ │ │ │ └── fsharp.js │ │ ├── go/ │ │ │ └── go.js │ │ ├── graphql/ │ │ │ └── graphql.js │ │ ├── handlebars/ │ │ │ └── handlebars.js │ │ ├── hcl/ │ │ │ └── hcl.js │ │ ├── html/ │ │ │ └── html.js │ │ ├── ini/ │ │ │ └── ini.js │ │ ├── java/ │ │ │ └── java.js │ │ ├── javascript/ │ │ │ └── javascript.js │ │ ├── julia/ │ │ │ └── julia.js │ │ ├── kotlin/ │ │ │ └── kotlin.js │ │ ├── less/ │ │ │ └── less.js │ │ ├── lexon/ │ │ │ └── lexon.js │ │ ├── liquid/ │ │ │ └── liquid.js │ │ ├── lua/ │ │ │ └── lua.js │ │ ├── m3/ │ │ │ └── m3.js │ │ ├── markdown/ │ │ │ └── markdown.js │ │ ├── mdx/ │ │ │ └── mdx.js │ │ ├── mips/ │ │ │ └── mips.js │ │ ├── msdax/ │ │ │ └── msdax.js │ │ ├── mysql/ │ │ │ └── mysql.js │ │ ├── objective-c/ │ │ │ └── objective-c.js │ │ ├── pascal/ │ │ │ └── pascal.js │ │ ├── pascaligo/ │ │ │ └── pascaligo.js │ │ ├── perl/ │ │ │ └── perl.js │ │ ├── pgsql/ │ │ │ └── pgsql.js │ │ ├── php/ │ │ │ └── php.js │ │ ├── pla/ │ │ │ └── pla.js │ │ ├── postiats/ │ │ │ └── postiats.js │ │ ├── powerquery/ │ │ │ └── powerquery.js │ │ ├── powershell/ │ │ │ └── powershell.js │ │ ├── protobuf/ │ │ │ └── protobuf.js │ │ ├── pug/ │ │ │ └── pug.js │ │ ├── python/ │ │ │ └── python.js │ │ ├── qsharp/ │ │ │ └── qsharp.js │ │ ├── r/ │ │ │ └── r.js │ │ ├── razor/ │ │ │ └── razor.js │ │ ├── redis/ │ │ │ └── redis.js │ │ ├── redshift/ │ │ │ └── redshift.js │ │ ├── restructuredtext/ │ │ │ └── restructuredtext.js │ │ ├── ruby/ │ │ │ └── ruby.js │ │ ├── rust/ │ │ │ └── rust.js │ │ ├── sb/ │ │ │ └── sb.js │ │ ├── scala/ │ │ │ └── scala.js │ │ ├── scheme/ │ │ │ └── scheme.js │ │ ├── scss/ │ │ │ └── scss.js │ │ ├── shell/ │ │ │ └── shell.js │ │ ├── solidity/ │ │ │ └── solidity.js │ │ ├── sophia/ │ │ │ └── sophia.js │ │ ├── sparql/ │ │ │ └── sparql.js │ │ ├── sql/ │ │ │ └── sql.js │ │ ├── st/ │ │ │ └── st.js │ │ ├── swift/ │ │ │ └── swift.js │ │ ├── systemverilog/ │ │ │ └── systemverilog.js │ │ ├── tcl/ │ │ │ └── tcl.js │ │ ├── twig/ │ │ │ └── twig.js │ │ ├── typescript/ │ │ │ └── typescript.js │ │ ├── typespec/ │ │ │ └── typespec.js │ │ ├── vb/ │ │ │ └── vb.js │ │ ├── wgsl/ │ │ │ └── wgsl.js │ │ ├── xml/ │ │ │ └── xml.js │ │ └── yaml/ │ │ └── yaml.js │ ├── editor/ │ │ ├── editor.main.css │ │ └── editor.main.js │ ├── language/ │ │ ├── css/ │ │ │ ├── cssMode.js │ │ │ └── cssWorker.js │ │ ├── html/ │ │ │ ├── htmlMode.js │ │ │ └── htmlWorker.js │ │ ├── json/ │ │ │ ├── jsonMode.js │ │ │ └── jsonWorker.js │ │ └── typescript/ │ │ ├── tsMode.js │ │ └── tsWorker.js │ ├── loader.js │ ├── nls.messages.de.js │ ├── nls.messages.es.js │ ├── nls.messages.fr.js │ ├── nls.messages.it.js │ ├── nls.messages.ja.js │ ├── nls.messages.ko.js │ ├── nls.messages.ru.js │ ├── nls.messages.zh-cn.js │ └── nls.messages.zh-tw.js ├── scripts/ │ ├── analyze-component.js │ ├── analyze-i18n-diff.ts │ ├── check-i18n.js │ ├── component-analyzer.js │ ├── copy-and-start.mjs │ ├── dev-hono-proxy.ts │ ├── gen-doc-paths.ts │ ├── gen-icons.mjs │ ├── generate-icons.js │ └── refactor-component.js ├── service/ │ ├── _tools_util.spec.ts │ ├── _tools_util.ts │ ├── access-control.ts │ ├── annotation.ts │ ├── apps.ts │ ├── base.spec.ts │ ├── base.ts │ ├── billing.ts │ ├── client.spec.ts │ ├── client.ts │ ├── common.ts │ ├── datasets.ts │ ├── debug.ts │ ├── explore.ts │ ├── fetch.spec.ts │ ├── fetch.ts │ ├── knowledge/ │ │ ├── use-create-dataset.ts │ │ ├── use-dataset.ts │ │ ├── use-document.ts │ │ ├── use-hit-testing.ts │ │ ├── use-import.ts │ │ ├── use-metadata.spec.tsx │ │ ├── use-metadata.ts │ │ └── use-segment.ts │ ├── log.ts │ ├── plugins.ts │ ├── refresh-token.ts │ ├── share.ts │ ├── sso.ts │ ├── strategy.ts │ ├── tag.ts │ ├── tools.ts │ ├── try-app.ts │ ├── use-apps.ts │ ├── use-base.ts │ ├── use-billing.ts │ ├── use-common.ts │ ├── use-dataset-card.ts │ ├── use-datasource.ts │ ├── use-education.ts │ ├── use-endpoints.ts │ ├── use-explore.ts │ ├── use-flow.ts │ ├── use-log.ts │ ├── use-models.ts │ ├── use-oauth.ts │ ├── use-pipeline.ts │ ├── use-plugins-auth.ts │ ├── use-plugins.ts │ ├── use-share.spec.tsx │ ├── use-share.ts │ ├── use-strategy.ts │ ├── use-tools.ts │ ├── use-triggers.ts │ ├── use-try-app.ts │ ├── use-workflow.ts │ ├── use-workspace.ts │ ├── utils.spec.ts │ ├── utils.ts │ ├── webapp-auth.ts │ ├── workflow-payload.ts │ └── workflow.ts ├── tailwind-common-config.ts ├── tailwind-css-plugin.ts ├── tailwind.config.ts ├── test/ │ ├── i18n-mock.ts │ └── nuqs-testing.tsx ├── themes/ │ ├── dark.css │ ├── light.css │ ├── manual-dark.css │ ├── manual-light.css │ ├── markdown-dark.css │ ├── markdown-light.css │ └── tailwind-theme-var-define.ts ├── tsconfig.json ├── tsslint.config.ts ├── types/ │ ├── app.ts │ ├── assets.d.ts │ ├── common.ts │ ├── doc-paths.ts │ ├── feature.ts │ ├── i18n.d.ts │ ├── jsx.d.ts │ ├── lamejs.d.ts │ ├── mdx.d.ts │ ├── model-provider.ts │ ├── pipeline.tsx │ ├── react-18-input-autosize.d.ts │ ├── try-app.ts │ └── workflow.ts ├── typography.js ├── utils/ │ ├── app-redirection.spec.ts │ ├── app-redirection.ts │ ├── classnames.ts │ ├── client.ts │ ├── clipboard.spec.ts │ ├── clipboard.ts │ ├── completion-params.spec.ts │ ├── completion-params.ts │ ├── context.spec.ts │ ├── context.ts │ ├── download.spec.ts │ ├── download.ts │ ├── draft-07.json │ ├── emoji.spec.ts │ ├── emoji.ts │ ├── encryption.ts │ ├── error-parser.ts │ ├── format.spec.ts │ ├── format.ts │ ├── get-icon.spec.ts │ ├── get-icon.ts │ ├── gtag.ts │ ├── index.spec.ts │ ├── index.ts │ ├── mcp.spec.ts │ ├── mcp.ts │ ├── model-config.spec.ts │ ├── model-config.ts │ ├── navigation.spec.ts │ ├── navigation.ts │ ├── object.ts │ ├── permission.spec.ts │ ├── permission.ts │ ├── plugin-version-feature.spec.ts │ ├── plugin-version-feature.ts │ ├── semver.spec.ts │ ├── semver.ts │ ├── server-only-context.ts │ ├── setup-status.spec.ts │ ├── setup-status.ts │ ├── time.spec.ts │ ├── time.ts │ ├── timezone.json │ ├── timezone.ts │ ├── tool-call.spec.ts │ ├── tool-call.ts │ ├── urlValidation.spec.ts │ ├── urlValidation.ts │ ├── validators.spec.ts │ ├── validators.ts │ ├── var.spec.ts │ └── var.ts ├── vite.config.ts └── vitest.setup.ts