gitextract_xprctcyt/ ├── .claude/ │ └── agents/ │ └── frontend-infrastructure-expert.md ├── .dockerignore ├── .gitattributes ├── .github/ │ ├── .licenserc.yaml │ ├── CODEOWNERS │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ ├── scripts/ │ │ └── check-file-size.sh │ └── workflows/ │ ├── ci.yml │ ├── ci@backend.yml │ ├── ci@main.yml │ ├── claude.yml │ ├── common-pr-checks.yml │ ├── idl.yaml │ ├── license-check.yaml │ └── semantic-pull-request.yaml ├── .gitignore ├── .mcp.json ├── .nvmrc ├── .prettierrc.js ├── .vscode/ │ ├── extensions.json │ └── settings.template.json ├── AUTHORS ├── CLAUDE.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE-APACHE ├── Makefile ├── README.md ├── README.zh_CN.md ├── backend/ │ ├── .gitignore │ ├── .hz │ ├── Dockerfile │ ├── README.md │ ├── api/ │ │ ├── handler/ │ │ │ └── coze/ │ │ │ ├── agent_run_service.go │ │ │ ├── base.go │ │ │ ├── bot_open_api_service.go │ │ │ ├── config_service.go │ │ │ ├── conversation_service.go │ │ │ ├── database_service.go │ │ │ ├── developer_api_service.go │ │ │ ├── intelligence_service.go │ │ │ ├── knowledge_service.go │ │ │ ├── memory_service.go │ │ │ ├── message_service.go │ │ │ ├── message_service_test.go │ │ │ ├── open_apiauth_service.go │ │ │ ├── passport_service.go │ │ │ ├── playground_service.go │ │ │ ├── plugin_develop_service.go │ │ │ ├── public_product_service.go │ │ │ ├── resource_service.go │ │ │ ├── upload_service.go │ │ │ ├── workflow_service.go │ │ │ └── workflow_service_test.go │ │ ├── internal/ │ │ │ └── httputil/ │ │ │ └── error_resp.go │ │ ├── middleware/ │ │ │ ├── ctx_cache.go │ │ │ ├── host.go │ │ │ ├── i18n.go │ │ │ ├── log.go │ │ │ ├── openapi_auth.go │ │ │ ├── request_inspector.go │ │ │ └── session.go │ │ ├── model/ │ │ │ ├── admin/ │ │ │ │ └── config/ │ │ │ │ └── config.go │ │ │ ├── app/ │ │ │ │ ├── bot_common/ │ │ │ │ │ └── bot_common.go │ │ │ │ ├── bot_open_api/ │ │ │ │ │ └── bot_open_api.go │ │ │ │ ├── developer_api/ │ │ │ │ │ └── developer_api.go │ │ │ │ └── intelligence/ │ │ │ │ ├── common/ │ │ │ │ │ ├── common_struct.go │ │ │ │ │ ├── intelligence_common_struct.go │ │ │ │ │ └── task_struct.go │ │ │ │ ├── intelligence.go │ │ │ │ ├── project/ │ │ │ │ │ └── project.go │ │ │ │ ├── publish/ │ │ │ │ │ └── publish.go │ │ │ │ ├── search.go │ │ │ │ └── task/ │ │ │ │ └── task.go │ │ │ ├── base/ │ │ │ │ └── base.go │ │ │ ├── conversation/ │ │ │ │ ├── agentrun/ │ │ │ │ │ └── agentrun_service.go │ │ │ │ ├── common/ │ │ │ │ │ └── common.go │ │ │ │ ├── conversation/ │ │ │ │ │ ├── conversation.go │ │ │ │ │ └── conversation_service.go │ │ │ │ ├── message/ │ │ │ │ │ ├── message.go │ │ │ │ │ └── message_service.go │ │ │ │ └── run/ │ │ │ │ └── run.go │ │ │ ├── coze/ │ │ │ │ └── api.go │ │ │ ├── data/ │ │ │ │ ├── database/ │ │ │ │ │ ├── database_svc.go │ │ │ │ │ └── table/ │ │ │ │ │ └── table.go │ │ │ │ ├── knowledge/ │ │ │ │ │ ├── common.go │ │ │ │ │ ├── document.go │ │ │ │ │ ├── knowledge.go │ │ │ │ │ ├── knowledge_svc.go │ │ │ │ │ ├── review.go │ │ │ │ │ └── slice.go │ │ │ │ └── variable/ │ │ │ │ ├── kvmemory/ │ │ │ │ │ └── kvmemory.go │ │ │ │ ├── project_memory/ │ │ │ │ │ └── project_memory.go │ │ │ │ └── variable_svc.go │ │ │ ├── file/ │ │ │ │ └── upload/ │ │ │ │ └── upload.go │ │ │ ├── marketplace/ │ │ │ │ ├── marketplace_common/ │ │ │ │ │ └── marketplace_common.go │ │ │ │ ├── product_common/ │ │ │ │ │ └── product_common.go │ │ │ │ └── product_public_api/ │ │ │ │ └── public_api.go │ │ │ ├── passport/ │ │ │ │ └── passport.go │ │ │ ├── permission/ │ │ │ │ └── openapiauth/ │ │ │ │ ├── openapiauth.go │ │ │ │ └── openapiauth_service.go │ │ │ ├── playground/ │ │ │ │ ├── playground.go │ │ │ │ ├── prompt_resource.go │ │ │ │ └── shortcut_command.go │ │ │ ├── plugin_develop/ │ │ │ │ ├── common/ │ │ │ │ │ └── plugin_develop_common.go │ │ │ │ └── plugin_develop.go │ │ │ ├── resource/ │ │ │ │ ├── common/ │ │ │ │ │ └── resource_common.go │ │ │ │ └── resource.go │ │ │ └── workflow/ │ │ │ ├── trace.go │ │ │ ├── workflow.go │ │ │ └── workflow_svc.go │ │ └── router/ │ │ ├── coze/ │ │ │ ├── api.go │ │ │ └── middleware.go │ │ └── register.go │ ├── application/ │ │ ├── app/ │ │ │ ├── app.go │ │ │ ├── convert.go │ │ │ ├── init.go │ │ │ └── model.go │ │ ├── application.go │ │ ├── base/ │ │ │ ├── appinfra/ │ │ │ │ └── app_infra.go │ │ │ └── ctxutil/ │ │ │ ├── api_auth.go │ │ │ ├── request.go │ │ │ └── session.go │ │ ├── connector/ │ │ │ ├── connector.go │ │ │ └── init.go │ │ ├── conversation/ │ │ │ ├── agent_run.go │ │ │ ├── build_chunk_event.go │ │ │ ├── conversation.go │ │ │ ├── init.go │ │ │ ├── message.go │ │ │ ├── openapi_agent_run.go │ │ │ ├── openapi_agent_run_test.go │ │ │ └── openapi_message.go │ │ ├── knowledge/ │ │ │ ├── convertor.go │ │ │ ├── init.go │ │ │ └── knowledge.go │ │ ├── memory/ │ │ │ ├── convertor.go │ │ │ ├── database.go │ │ │ ├── init.go │ │ │ └── variables.go │ │ ├── modelmgr/ │ │ │ ├── init.go │ │ │ └── modelmgr.go │ │ ├── openauth/ │ │ │ ├── init.go │ │ │ └── openapiauth.go │ │ ├── permission/ │ │ │ └── init.go │ │ ├── plugin/ │ │ │ ├── api_management.go │ │ │ ├── auth.go │ │ │ ├── info.go │ │ │ ├── init.go │ │ │ ├── lifecycle.go │ │ │ ├── playground.go │ │ │ ├── plugin.go │ │ │ ├── plugin_test.go │ │ │ └── registration.go │ │ ├── prompt/ │ │ │ ├── init.go │ │ │ └── prompt.go │ │ ├── search/ │ │ │ ├── init.go │ │ │ ├── project_pack.go │ │ │ ├── project_search.go │ │ │ ├── resource_pack.go │ │ │ └── resource_search.go │ │ ├── shortcutcmd/ │ │ │ ├── init.go │ │ │ └── shortcut_cmd.go │ │ ├── singleagent/ │ │ │ ├── create.go │ │ │ ├── duplicate.go │ │ │ ├── get.go │ │ │ ├── image.go │ │ │ ├── init.go │ │ │ ├── publish.go │ │ │ └── single_agent.go │ │ ├── template/ │ │ │ ├── init.go │ │ │ └── template.go │ │ ├── upload/ │ │ │ ├── consts.go │ │ │ └── icon.go │ │ ├── user/ │ │ │ ├── init.go │ │ │ └── user.go │ │ └── workflow/ │ │ ├── chatflow.go │ │ ├── chatflow_test.go │ │ ├── eventbus.go │ │ ├── init.go │ │ ├── workflow.go │ │ └── workflow_test.go │ ├── bizpkg/ │ │ ├── config/ │ │ │ ├── base/ │ │ │ │ └── base.go │ │ │ ├── config.go │ │ │ ├── knowledge/ │ │ │ │ └── knowledge.go │ │ │ └── modelmgr/ │ │ │ ├── builtin_conf.go │ │ │ ├── deprecate_model_get.go │ │ │ ├── extra.go │ │ │ ├── internal/ │ │ │ │ ├── model/ │ │ │ │ │ └── model_instance.gen.go │ │ │ │ └── query/ │ │ │ │ ├── gen.go │ │ │ │ └── model_instance.gen.go │ │ │ ├── mode_provider.go │ │ │ ├── model_get.go │ │ │ ├── model_meta.go │ │ │ ├── model_param.go │ │ │ ├── model_save.go │ │ │ └── modelmgr.go │ │ ├── debugutil/ │ │ │ └── workflow_debug.go │ │ ├── fileutil/ │ │ │ ├── fileutil.go │ │ │ └── pyutil.go │ │ └── llm/ │ │ └── modelbuilder/ │ │ ├── ark.go │ │ ├── builtin.go │ │ ├── claude.go │ │ ├── deepseek.go │ │ ├── gemini.go │ │ ├── llm_params.go │ │ ├── model_builder.go │ │ ├── ollama.go │ │ ├── openai.go │ │ └── qwen.go │ ├── build.sh │ ├── conf/ │ │ ├── admin/ │ │ │ └── index.html │ │ ├── model/ │ │ │ ├── model_meta.json │ │ │ └── template/ │ │ │ ├── model_template_ark.yaml │ │ │ ├── model_template_ark_doubao-1.5-lite.yaml │ │ │ ├── model_template_ark_doubao-1.5-pro-256k.yaml │ │ │ ├── model_template_ark_doubao-1.5-pro-32k.yaml │ │ │ ├── model_template_ark_doubao-1.5-thinking-pro.yaml │ │ │ ├── model_template_ark_doubao-1.5-thinking-vision-pro.yaml │ │ │ ├── model_template_ark_doubao-1.5-vision-lite.yaml │ │ │ ├── model_template_ark_doubao-1.5-vision-pro.yaml │ │ │ ├── model_template_ark_doubao-seed-1.6-flash.yaml │ │ │ ├── model_template_ark_doubao-seed-1.6-thinking.yaml │ │ │ ├── model_template_ark_doubao-seed-1.6.yaml │ │ │ ├── model_template_ark_volc_deepseek-r1.yaml │ │ │ ├── model_template_ark_volc_deepseek-v3.yaml │ │ │ ├── model_template_basic.yaml │ │ │ ├── model_template_byteplus_seed-1.6-flash.yaml │ │ │ ├── model_template_byteplus_seed-1.6.yaml │ │ │ ├── model_template_claude.yaml │ │ │ ├── model_template_deepseek.yaml │ │ │ ├── model_template_gemini.yaml │ │ │ ├── model_template_ollama.yaml │ │ │ ├── model_template_openai.yaml │ │ │ └── model_template_qwen.yaml │ │ ├── plugin/ │ │ │ ├── common/ │ │ │ │ └── oauth_schema.json │ │ │ └── pluginproduct/ │ │ │ ├── bocha_search.yaml │ │ │ ├── chestnut_sign.yaml │ │ │ ├── gaode_map.yaml │ │ │ ├── image_compression.yaml │ │ │ ├── lark_authentication_authorization.yaml │ │ │ ├── lark_base.yaml │ │ │ ├── lark_calendar.yaml │ │ │ ├── lark_docx.yaml │ │ │ ├── lark_message.yaml │ │ │ ├── lark_sheet.yaml │ │ │ ├── lark_task.yaml │ │ │ ├── lark_wiki.yaml │ │ │ ├── library_search.yaml │ │ │ ├── maker_smart_design.yaml │ │ │ ├── plugin_meta.yaml │ │ │ ├── sky_eye_check.yaml │ │ │ ├── sohu_hot_news.yaml │ │ │ ├── wolfram_alpha.yaml │ │ │ └── worth_buying.yaml │ │ ├── prompt/ │ │ │ ├── messages_to_query_template_jinja2.json │ │ │ └── nl2sql_template_jinja2.json │ │ └── workflow/ │ │ └── config.yaml │ ├── crossdomain/ │ │ ├── agent/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── single_agent.go │ │ │ └── model/ │ │ │ └── single_agent.go │ │ ├── agentrun/ │ │ │ ├── agentrunmock/ │ │ │ │ └── agent_run_mock.go │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── agent_run.go │ │ │ └── model/ │ │ │ └── agent_run.go │ │ ├── app/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── app.go │ │ │ └── model/ │ │ │ ├── app.go │ │ │ ├── connector.go │ │ │ └── consts.go │ │ ├── connector/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── connector.go │ │ │ └── model/ │ │ │ └── connector.go │ │ ├── conversation/ │ │ │ ├── contract.go │ │ │ ├── conversationmock/ │ │ │ │ └── conversation_mock.go │ │ │ ├── impl/ │ │ │ │ └── conversation.go │ │ │ └── model/ │ │ │ └── conversation.go │ │ ├── database/ │ │ │ ├── contract.go │ │ │ ├── databasemock/ │ │ │ │ └── database_mock.go │ │ │ ├── impl/ │ │ │ │ └── database.go │ │ │ └── model/ │ │ │ ├── const.go │ │ │ └── database.go │ │ ├── datacopy/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── datacopy.go │ │ │ └── model/ │ │ │ └── .gitkeep │ │ ├── knowledge/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── knowledge.go │ │ │ ├── knowledgemock/ │ │ │ │ └── knowledge_mock.go │ │ │ └── model/ │ │ │ └── knowledge.go │ │ ├── message/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ ├── message.go │ │ │ │ └── message_test.go │ │ │ ├── messagemock/ │ │ │ │ └── message_mock.go │ │ │ └── model/ │ │ │ └── message.go │ │ ├── permission/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── permission.go │ │ │ ├── model/ │ │ │ │ └── permission.go │ │ │ └── permissionmock/ │ │ │ └── permission_mock.go │ │ ├── plugin/ │ │ │ ├── consts/ │ │ │ │ └── consts.go │ │ │ ├── contract.go │ │ │ ├── convert/ │ │ │ │ ├── api/ │ │ │ │ │ └── api.go │ │ │ │ ├── auth.go │ │ │ │ ├── format.go │ │ │ │ ├── http.go │ │ │ │ ├── param.go │ │ │ │ └── plugin.go │ │ │ ├── impl/ │ │ │ │ └── plugin.go │ │ │ ├── model/ │ │ │ │ ├── default.go │ │ │ │ ├── openapi.go │ │ │ │ ├── option.go │ │ │ │ ├── plugin.go │ │ │ │ ├── plugin_manifest.go │ │ │ │ ├── plugin_method.go │ │ │ │ └── toolinfo.go │ │ │ └── pluginmock/ │ │ │ └── plugin_mock.go │ │ ├── search/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── search.go │ │ │ └── model/ │ │ │ ├── resource_doc.go │ │ │ └── search.go │ │ ├── upload/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── upload.go │ │ │ └── uploadmock/ │ │ │ └── upload_mock.go │ │ ├── user/ │ │ │ ├── contract.go │ │ │ └── impl/ │ │ │ └── user.go │ │ ├── variables/ │ │ │ ├── contract.go │ │ │ ├── impl/ │ │ │ │ └── variables.go │ │ │ └── model/ │ │ │ └── variable_instance.go │ │ └── workflow/ │ │ ├── contract.go │ │ ├── impl/ │ │ │ └── workflow.go │ │ └── model/ │ │ └── workflow.go │ ├── domain/ │ │ ├── agent/ │ │ │ └── singleagent/ │ │ │ ├── entity/ │ │ │ │ ├── agent_draft_display_info.go │ │ │ │ ├── agent_event.go │ │ │ │ ├── publish.go │ │ │ │ ├── single_agent.go │ │ │ │ └── single_agent_pulish.go │ │ │ ├── internal/ │ │ │ │ ├── agentflow/ │ │ │ │ │ ├── agent_flow_builder.go │ │ │ │ │ ├── agent_flow_builder_test.go │ │ │ │ │ ├── agent_flow_runner.go │ │ │ │ │ ├── callback_reply_chunk.go │ │ │ │ │ ├── node_chat_prompt.go │ │ │ │ │ ├── node_persona_render.go │ │ │ │ │ ├── node_prompt_variables.go │ │ │ │ │ ├── node_retriever.go │ │ │ │ │ ├── node_suggest_graph.go │ │ │ │ │ ├── node_suggest_parser.go │ │ │ │ │ ├── node_suggest_persona_render.go │ │ │ │ │ ├── node_suggest_prompt_variable.go │ │ │ │ │ ├── node_tool_database.go │ │ │ │ │ ├── node_tool_database_test.go │ │ │ │ │ ├── node_tool_knowledge.go │ │ │ │ │ ├── node_tool_plugin.go │ │ │ │ │ ├── node_tool_pre_retriever.go │ │ │ │ │ ├── node_tool_variables.go │ │ │ │ │ ├── node_tool_workflow.go │ │ │ │ │ ├── suggest_prompt.go │ │ │ │ │ └── system_prompt.go │ │ │ │ └── dal/ │ │ │ │ ├── agent_display_info.go │ │ │ │ ├── counter.go │ │ │ │ ├── model/ │ │ │ │ │ ├── single_agent_draft.gen.go │ │ │ │ │ ├── single_agent_publish.gen.go │ │ │ │ │ └── single_agent_version.gen.go │ │ │ │ ├── query/ │ │ │ │ │ ├── gen.go │ │ │ │ │ ├── single_agent_draft.gen.go │ │ │ │ │ ├── single_agent_publish.gen.go │ │ │ │ │ └── single_agent_version.gen.go │ │ │ │ ├── single_agent_draft.go │ │ │ │ ├── single_agent_publish.go │ │ │ │ └── single_agent_version.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── count_info.go │ │ │ ├── publish.go │ │ │ ├── single_agent.go │ │ │ └── single_agent_impl.go │ │ ├── app/ │ │ │ ├── entity/ │ │ │ │ ├── app.go │ │ │ │ ├── connector.go │ │ │ │ └── consts.go │ │ │ ├── internal/ │ │ │ │ └── dal/ │ │ │ │ ├── app_connector_release_ref.go │ │ │ │ ├── app_draft.go │ │ │ │ ├── app_release_record.go │ │ │ │ ├── cache.go │ │ │ │ ├── model/ │ │ │ │ │ ├── app_connector_release_ref.gen.go │ │ │ │ │ ├── app_draft.gen.go │ │ │ │ │ └── app_release_record.gen.go │ │ │ │ ├── option.go │ │ │ │ └── query/ │ │ │ │ ├── app_connector_release_ref.gen.go │ │ │ │ ├── app_draft.gen.go │ │ │ │ ├── app_release_record.gen.go │ │ │ │ └── gen.go │ │ │ ├── repository/ │ │ │ │ ├── app.go │ │ │ │ ├── app_impl.go │ │ │ │ └── option.go │ │ │ └── service/ │ │ │ ├── publish_app.go │ │ │ ├── service.go │ │ │ └── service_impl.go │ │ ├── connector/ │ │ │ ├── entity/ │ │ │ │ └── connector.go │ │ │ └── service/ │ │ │ ├── connector.go │ │ │ ├── connector_impl.go │ │ │ └── connector_impl_test.go │ │ ├── conversation/ │ │ │ ├── agentrun/ │ │ │ │ ├── entity/ │ │ │ │ │ ├── const.go │ │ │ │ │ ├── interrupt_event.go │ │ │ │ │ └── run_record.go │ │ │ │ ├── internal/ │ │ │ │ │ ├── agent_info.go │ │ │ │ │ ├── chatflow_run.go │ │ │ │ │ ├── dal/ │ │ │ │ │ │ ├── dao.go │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ └── run_record.gen.go │ │ │ │ │ │ └── query/ │ │ │ │ │ │ ├── gen.go │ │ │ │ │ │ └── run_record.gen.go │ │ │ │ │ ├── message_builder.go │ │ │ │ │ ├── message_builder_test.go │ │ │ │ │ ├── message_event.go │ │ │ │ │ ├── run.go │ │ │ │ │ ├── run_process_event.go │ │ │ │ │ └── singleagent_run.go │ │ │ │ ├── repository/ │ │ │ │ │ └── repository.go │ │ │ │ └── service/ │ │ │ │ ├── agent_run.go │ │ │ │ ├── agent_run_impl.go │ │ │ │ └── agent_run_test.go │ │ │ ├── conversation/ │ │ │ │ ├── entity/ │ │ │ │ │ └── conversation.go │ │ │ │ ├── internal/ │ │ │ │ │ └── dal/ │ │ │ │ │ ├── dao.go │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── conversation.gen.go │ │ │ │ │ └── query/ │ │ │ │ │ ├── conversation.gen.go │ │ │ │ │ └── gen.go │ │ │ │ ├── repository/ │ │ │ │ │ └── repository.go │ │ │ │ └── service/ │ │ │ │ ├── conversation.go │ │ │ │ ├── conversation_impl.go │ │ │ │ └── conversation_test.go │ │ │ └── message/ │ │ │ ├── entity/ │ │ │ │ ├── const.go │ │ │ │ ├── knowledge.go │ │ │ │ ├── message.go │ │ │ │ └── message_ext.go │ │ │ ├── internal/ │ │ │ │ └── dal/ │ │ │ │ ├── message.go │ │ │ │ ├── model/ │ │ │ │ │ └── message.gen.go │ │ │ │ └── query/ │ │ │ │ ├── gen.go │ │ │ │ └── message.gen.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── message.go │ │ │ ├── message_impl.go │ │ │ └── message_test.go │ │ ├── datacopy/ │ │ │ ├── entity/ │ │ │ │ └── entity.go │ │ │ ├── interface.go │ │ │ ├── internal/ │ │ │ │ ├── convert/ │ │ │ │ │ └── convert.go │ │ │ │ └── dal/ │ │ │ │ ├── dao/ │ │ │ │ │ └── data_copy_task.go │ │ │ │ ├── model/ │ │ │ │ │ └── data_copy_task.gen.go │ │ │ │ └── query/ │ │ │ │ ├── data_copy_task.gen.go │ │ │ │ └── gen.go │ │ │ └── service/ │ │ │ └── datacopy.go │ │ ├── knowledge/ │ │ │ ├── entity/ │ │ │ │ ├── const.go │ │ │ │ ├── document.go │ │ │ │ ├── event.go │ │ │ │ ├── knowledge.go │ │ │ │ ├── review.go │ │ │ │ ├── slice.go │ │ │ │ └── strategy.go │ │ │ ├── internal/ │ │ │ │ ├── consts/ │ │ │ │ │ └── consts.go │ │ │ │ ├── convert/ │ │ │ │ │ ├── parser.go │ │ │ │ │ ├── rdb.go │ │ │ │ │ ├── table.go │ │ │ │ │ └── table_test.go │ │ │ │ ├── dal/ │ │ │ │ │ ├── dao/ │ │ │ │ │ │ ├── knowledge.go │ │ │ │ │ │ ├── knowledge_document.go │ │ │ │ │ │ ├── knowledge_document_review.go │ │ │ │ │ │ ├── knowledge_document_slice.go │ │ │ │ │ │ ├── knowledge_document_test.go │ │ │ │ │ │ └── knowledge_test.go │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── knowledge.gen.go │ │ │ │ │ │ ├── knowledge_document.gen.go │ │ │ │ │ │ ├── knowledge_document_review.gen.go │ │ │ │ │ │ ├── knowledge_document_slice.gen.go │ │ │ │ │ │ ├── progress.go │ │ │ │ │ │ └── strategy.go │ │ │ │ │ └── query/ │ │ │ │ │ ├── gen.go │ │ │ │ │ ├── knowledge.gen.go │ │ │ │ │ ├── knowledge_document.gen.go │ │ │ │ │ ├── knowledge_document_review.gen.go │ │ │ │ │ └── knowledge_document_slice.gen.go │ │ │ │ ├── events/ │ │ │ │ │ └── events.go │ │ │ │ └── mock/ │ │ │ │ └── dal/ │ │ │ │ └── dao/ │ │ │ │ ├── knowledge.go │ │ │ │ ├── knowledge_document.go │ │ │ │ └── knowledge_document_slice.go │ │ │ ├── processor/ │ │ │ │ ├── impl/ │ │ │ │ │ ├── base.go │ │ │ │ │ ├── custom_doc.go │ │ │ │ │ ├── custom_table.go │ │ │ │ │ ├── init.go │ │ │ │ │ ├── local_table.go │ │ │ │ │ └── utils.go │ │ │ │ └── interface.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── convert.go │ │ │ ├── datacopy.go │ │ │ ├── event_handle.go │ │ │ ├── event_handle_test.go │ │ │ ├── interface.go │ │ │ ├── knowledge.go │ │ │ ├── knowledge_integration_test.go │ │ │ ├── knowledge_test.go │ │ │ ├── rdb.go │ │ │ ├── retrieve.go │ │ │ ├── retrieve_test.go │ │ │ ├── sheet.go │ │ │ ├── sheet_test.go │ │ │ └── validate.go │ │ ├── memory/ │ │ │ ├── database/ │ │ │ │ ├── entity/ │ │ │ │ │ └── database.go │ │ │ │ ├── internal/ │ │ │ │ │ ├── convertor/ │ │ │ │ │ │ ├── database.go │ │ │ │ │ │ └── types.go │ │ │ │ │ ├── dal/ │ │ │ │ │ │ ├── agent_to_database.go │ │ │ │ │ │ ├── draft_database_info.go │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ ├── agent_to_database.gen.go │ │ │ │ │ │ │ ├── draft_database_info.gen.go │ │ │ │ │ │ │ └── online_database_info.gen.go │ │ │ │ │ │ ├── online_database_info.go │ │ │ │ │ │ └── query/ │ │ │ │ │ │ ├── agent_to_database.gen.go │ │ │ │ │ │ ├── draft_database_info.gen.go │ │ │ │ │ │ ├── gen.go │ │ │ │ │ │ └── online_database_info.gen.go │ │ │ │ │ ├── physicaltable/ │ │ │ │ │ │ └── physical.go │ │ │ │ │ └── sheet/ │ │ │ │ │ └── sheet.go │ │ │ │ ├── repository/ │ │ │ │ │ └── repository.go │ │ │ │ └── service/ │ │ │ │ ├── database.go │ │ │ │ ├── database_impl.go │ │ │ │ └── database_impl_test.go │ │ │ └── variables/ │ │ │ ├── entity/ │ │ │ │ ├── sys_variables.go │ │ │ │ ├── variable_instance.go │ │ │ │ ├── variable_meta.go │ │ │ │ ├── variable_meta_schema.go │ │ │ │ └── variables_meta.go │ │ │ ├── internal/ │ │ │ │ └── dal/ │ │ │ │ ├── dal.go │ │ │ │ ├── model/ │ │ │ │ │ ├── variable_instance.gen.go │ │ │ │ │ └── variables_meta.gen.go │ │ │ │ ├── query/ │ │ │ │ │ ├── gen.go │ │ │ │ │ ├── variable_instance.gen.go │ │ │ │ │ └── variables_meta.gen.go │ │ │ │ ├── variable_instance.go │ │ │ │ └── variables_meta.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── variables.go │ │ │ └── variables_impl.go │ │ ├── openauth/ │ │ │ └── openapiauth/ │ │ │ ├── api_auth.go │ │ │ ├── api_auth_impl.go │ │ │ ├── api_auth_impl_test.go │ │ │ ├── entity/ │ │ │ │ ├── api_auth.go │ │ │ │ └── consts.go │ │ │ └── internal/ │ │ │ └── dal/ │ │ │ ├── api_key.go │ │ │ ├── model/ │ │ │ │ └── api_key.gen.go │ │ │ └── query/ │ │ │ ├── api_key.gen.go │ │ │ └── gen.go │ │ ├── permission/ │ │ │ ├── authz_checker.go │ │ │ ├── consts.go │ │ │ ├── permission.go │ │ │ ├── permission_impl.go │ │ │ └── resource_queryiers.go │ │ ├── plugin/ │ │ │ ├── conf/ │ │ │ │ ├── config.go │ │ │ │ └── load_plugin.go │ │ │ ├── dto/ │ │ │ │ ├── auth.go │ │ │ │ ├── coze_saas.go │ │ │ │ ├── plugin.go │ │ │ │ └── tool.go │ │ │ ├── encrypt/ │ │ │ │ ├── aes.go │ │ │ │ └── aes_test.go │ │ │ ├── entity/ │ │ │ │ ├── plugin.go │ │ │ │ └── tool.go │ │ │ ├── internal/ │ │ │ │ ├── dal/ │ │ │ │ │ ├── agent_tool_draft.go │ │ │ │ │ ├── agent_tool_version.go │ │ │ │ │ ├── cache.go │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── agent_tool_draft.gen.go │ │ │ │ │ │ ├── agent_tool_version.gen.go │ │ │ │ │ │ ├── plugin.gen.go │ │ │ │ │ │ ├── plugin_draft.gen.go │ │ │ │ │ │ ├── plugin_oauth_auth.gen.go │ │ │ │ │ │ ├── plugin_version.gen.go │ │ │ │ │ │ ├── tool.gen.go │ │ │ │ │ │ ├── tool_draft.gen.go │ │ │ │ │ │ └── tool_version.gen.go │ │ │ │ │ ├── option.go │ │ │ │ │ ├── plugin.go │ │ │ │ │ ├── plugin_draft.go │ │ │ │ │ ├── plugin_oauth_auth.go │ │ │ │ │ ├── plugin_version.go │ │ │ │ │ ├── query/ │ │ │ │ │ │ ├── agent_tool_draft.gen.go │ │ │ │ │ │ ├── agent_tool_version.gen.go │ │ │ │ │ │ ├── gen.go │ │ │ │ │ │ ├── plugin.gen.go │ │ │ │ │ │ ├── plugin_draft.gen.go │ │ │ │ │ │ ├── plugin_oauth_auth.gen.go │ │ │ │ │ │ ├── plugin_version.gen.go │ │ │ │ │ │ ├── tool.gen.go │ │ │ │ │ │ ├── tool_draft.gen.go │ │ │ │ │ │ └── tool_version.gen.go │ │ │ │ │ ├── tool.go │ │ │ │ │ ├── tool_draft.go │ │ │ │ │ └── tool_version.go │ │ │ │ ├── encoder/ │ │ │ │ │ └── req_encode.go │ │ │ │ └── openapi/ │ │ │ │ └── convert_protocol.go │ │ │ ├── repository/ │ │ │ │ ├── mock/ │ │ │ │ │ └── mock_oauth_repository.go │ │ │ │ ├── oauth_impl.go │ │ │ │ ├── oauth_repository.go │ │ │ │ ├── option.go │ │ │ │ ├── plugin_impl.go │ │ │ │ ├── plugin_repository.go │ │ │ │ ├── tool_impl.go │ │ │ │ ├── tool_impl_test.go │ │ │ │ └── tool_repository.go │ │ │ └── service/ │ │ │ ├── agent_tool.go │ │ │ ├── exec_tool.go │ │ │ ├── exec_tool_test.go │ │ │ ├── plugin_auth.go │ │ │ ├── plugin_draft.go │ │ │ ├── plugin_oauth.go │ │ │ ├── plugin_oauth_test.go │ │ │ ├── plugin_online.go │ │ │ ├── plugin_release.go │ │ │ ├── plugin_saas.go │ │ │ ├── plugin_saas_test.go │ │ │ ├── service.go │ │ │ ├── service_impl.go │ │ │ └── tool/ │ │ │ ├── invocation.go │ │ │ ├── invocation_args.go │ │ │ ├── invocation_custom_call.go │ │ │ ├── invocation_http.go │ │ │ ├── invocation_mcp.go │ │ │ └── invocation_saas.go │ │ ├── prompt/ │ │ │ ├── entity/ │ │ │ │ └── promot_resource.go │ │ │ ├── internal/ │ │ │ │ ├── dal/ │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── prompt_resource.gen.go │ │ │ │ │ ├── prompt_resource.go │ │ │ │ │ └── query/ │ │ │ │ │ ├── gen.go │ │ │ │ │ └── prompt_resource.gen.go │ │ │ │ └── official/ │ │ │ │ ├── official_prompt.go │ │ │ │ └── official_prompt_test.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── prompt.go │ │ │ └── prompt_impl.go │ │ ├── search/ │ │ │ ├── entity/ │ │ │ │ ├── project_doc.go │ │ │ │ ├── project_event.go │ │ │ │ ├── resource_doc.go │ │ │ │ ├── resources_event.go │ │ │ │ └── search.go │ │ │ └── service/ │ │ │ ├── eventbus.go │ │ │ ├── handler_project.go │ │ │ ├── handler_resource.go │ │ │ ├── search.go │ │ │ └── service.go │ │ ├── shortcutcmd/ │ │ │ ├── entity/ │ │ │ │ └── shortcut_cmd.go │ │ │ ├── internal/ │ │ │ │ └── dal/ │ │ │ │ ├── dao.go │ │ │ │ ├── model/ │ │ │ │ │ └── shortcut_command.gen.go │ │ │ │ └── query/ │ │ │ │ ├── gen.go │ │ │ │ └── shortcut_command.gen.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── shortcut_cmd.go │ │ │ └── shortcut_cmd_impl.go │ │ ├── template/ │ │ │ ├── entity/ │ │ │ │ └── template.go │ │ │ ├── internal/ │ │ │ │ └── dal/ │ │ │ │ ├── model/ │ │ │ │ │ └── template.gen.go │ │ │ │ ├── query/ │ │ │ │ │ ├── gen.go │ │ │ │ │ └── template.gen.go │ │ │ │ └── template.go │ │ │ └── repository/ │ │ │ └── repository.go │ │ ├── upload/ │ │ │ ├── entity/ │ │ │ │ ├── default_icon_uri.go │ │ │ │ └── file.go │ │ │ ├── internal/ │ │ │ │ └── dal/ │ │ │ │ ├── dao/ │ │ │ │ │ └── files.go │ │ │ │ ├── model/ │ │ │ │ │ └── files.gen.go │ │ │ │ └── query/ │ │ │ │ ├── files.gen.go │ │ │ │ └── gen.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── interface.go │ │ │ └── service.go │ │ ├── user/ │ │ │ ├── entity/ │ │ │ │ ├── saas_user.go │ │ │ │ ├── session.go │ │ │ │ ├── space.go │ │ │ │ └── user.go │ │ │ ├── internal/ │ │ │ │ └── dal/ │ │ │ │ ├── model/ │ │ │ │ │ ├── space.gen.go │ │ │ │ │ ├── space_user.gen.go │ │ │ │ │ └── user.gen.go │ │ │ │ ├── query/ │ │ │ │ │ ├── gen.go │ │ │ │ │ ├── space.gen.go │ │ │ │ │ ├── space_user.gen.go │ │ │ │ │ └── user.gen.go │ │ │ │ ├── space.go │ │ │ │ ├── space_user.go │ │ │ │ └── user.go │ │ │ ├── repository/ │ │ │ │ └── repository.go │ │ │ └── service/ │ │ │ ├── user.go │ │ │ ├── user_impl.go │ │ │ └── user_saas_impl.go │ │ └── workflow/ │ │ ├── component_interface.go │ │ ├── config/ │ │ │ └── workflow_config.go │ │ ├── entity/ │ │ │ ├── chatflow_role.go │ │ │ ├── conversation.go │ │ │ ├── interrupt_event.go │ │ │ ├── message.go │ │ │ ├── node_meta.go │ │ │ ├── vo/ │ │ │ │ ├── canvas.go │ │ │ │ ├── chat_flow_role.go │ │ │ │ ├── chatflow.go │ │ │ │ ├── conversation.go │ │ │ │ ├── curd.go │ │ │ │ ├── draft.go │ │ │ │ ├── meta.go │ │ │ │ ├── modelmgr.go │ │ │ │ ├── node.go │ │ │ │ ├── node_test.go │ │ │ │ ├── plugin_tool_info.go │ │ │ │ ├── validate_info.go │ │ │ │ ├── version_info.go │ │ │ │ ├── workflow_copy.go │ │ │ │ ├── workflow_info.go │ │ │ │ ├── workflow_publish.go │ │ │ │ └── workflow_tool.go │ │ │ ├── workflow.go │ │ │ ├── workflow_execution.go │ │ │ └── workflow_reference.go │ │ ├── interface.go │ │ ├── internal/ │ │ │ ├── canvas/ │ │ │ │ ├── adaptor/ │ │ │ │ │ ├── canvas_test.go │ │ │ │ │ ├── from_node.go │ │ │ │ │ └── to_schema.go │ │ │ │ ├── convert/ │ │ │ │ │ └── type_convert.go │ │ │ │ ├── examples/ │ │ │ │ │ ├── app_variables_for_sub_process.json │ │ │ │ │ ├── batch/ │ │ │ │ │ │ ├── batch_with_inner_interrupt.json │ │ │ │ │ │ ├── node_batches.json │ │ │ │ │ │ └── sub_workflow_as_batch.json │ │ │ │ │ ├── chatflow/ │ │ │ │ │ │ ├── chat_run_with_interrupt.json │ │ │ │ │ │ ├── llm_chat.json │ │ │ │ │ │ ├── llm_chat_with_history.json │ │ │ │ │ │ ├── new_chatflow.json │ │ │ │ │ │ └── start_exit.json │ │ │ │ │ ├── code_plugin.json │ │ │ │ │ ├── conversation_manager/ │ │ │ │ │ │ ├── conversation_history.json │ │ │ │ │ │ ├── conversation_list.json │ │ │ │ │ │ ├── create_conversation.json │ │ │ │ │ │ ├── delete_conversation.json │ │ │ │ │ │ ├── update_conversation.json │ │ │ │ │ │ └── update_dynamic_conversation.json │ │ │ │ │ ├── copy_to_app/ │ │ │ │ │ │ ├── child2_1.json │ │ │ │ │ │ ├── child_1.json │ │ │ │ │ │ ├── child_2.json │ │ │ │ │ │ ├── child_3.json │ │ │ │ │ │ ├── child_4.json │ │ │ │ │ │ ├── child_5.json │ │ │ │ │ │ ├── main.json │ │ │ │ │ │ └── main2.json │ │ │ │ │ ├── database_curd.json │ │ │ │ │ ├── entry_exit.json │ │ │ │ │ ├── exception/ │ │ │ │ │ │ ├── code_exception_branch.json │ │ │ │ │ │ ├── llm_default_output_retry_timeout.json │ │ │ │ │ │ └── llm_timeout_throw.json │ │ │ │ │ ├── function_call/ │ │ │ │ │ │ ├── llm_with_workflow_as_tool.json │ │ │ │ │ │ ├── llm_with_workflow_as_tool_1.json │ │ │ │ │ │ ├── llm_workflow_stream_tool.json │ │ │ │ │ │ ├── llm_workflow_stream_tool_1.json │ │ │ │ │ │ ├── tool_workflow_1.json │ │ │ │ │ │ ├── tool_workflow_2.json │ │ │ │ │ │ └── tool_workflow_3.json │ │ │ │ │ ├── get_canvas/ │ │ │ │ │ │ ├── get_canvas.json │ │ │ │ │ │ └── get_canvas_modify.json │ │ │ │ │ ├── httprequester/ │ │ │ │ │ │ ├── bear_auth_no_body.json │ │ │ │ │ │ ├── custom_auth_file_body.json │ │ │ │ │ │ ├── custom_auth_form_data_body.json │ │ │ │ │ │ ├── custom_auth_form_url_body.json │ │ │ │ │ │ ├── custom_auth_json_body.json │ │ │ │ │ │ ├── custom_auth_no_body.json │ │ │ │ │ │ ├── http_error.json │ │ │ │ │ │ ├── http_implicit_dependencies.json │ │ │ │ │ │ ├── http_with_url_template.json │ │ │ │ │ │ └── no_auth_no_body.json │ │ │ │ │ ├── input_complex.json │ │ │ │ │ ├── input_receiver.json │ │ │ │ │ ├── intent_detector_database_custom_sql.json │ │ │ │ │ ├── json/ │ │ │ │ │ │ ├── json_test.json │ │ │ │ │ │ └── json_test_warning.json │ │ │ │ │ ├── knowledge.json │ │ │ │ │ ├── knowledge_delete.json │ │ │ │ │ ├── llm_node_with_skills/ │ │ │ │ │ │ ├── llm_node_with_plugin_tool.json │ │ │ │ │ │ ├── llm_node_with_workflow_tool.json │ │ │ │ │ │ ├── llm_with_knowledge_skill.json │ │ │ │ │ │ └── llm_workflow_as_tool.json │ │ │ │ │ ├── loop_selector_variable_assign_text_processor.json │ │ │ │ │ ├── loop_with_object_input.json │ │ │ │ │ ├── message/ │ │ │ │ │ │ ├── agent_message.json │ │ │ │ │ │ ├── create_assistant_message.json │ │ │ │ │ │ ├── create_message.json │ │ │ │ │ │ ├── create_message_in_agent.json │ │ │ │ │ │ ├── delete_message.json │ │ │ │ │ │ ├── edit_message.json │ │ │ │ │ │ ├── edit_message_no_permission.json │ │ │ │ │ │ └── message_list.json │ │ │ │ │ ├── move_to_app/ │ │ │ │ │ │ ├── c1.json │ │ │ │ │ │ ├── c2.json │ │ │ │ │ │ ├── cc1.json │ │ │ │ │ │ └── main.json │ │ │ │ │ ├── parallel_interrupt.json │ │ │ │ │ ├── publish/ │ │ │ │ │ │ ├── publish_workflow.json │ │ │ │ │ │ ├── release_c1_workflow.json │ │ │ │ │ │ ├── release_cc1_workflow.json │ │ │ │ │ │ ├── release_error_workflow.json │ │ │ │ │ │ └── release_main_workflow.json │ │ │ │ │ ├── qa_with_structured_output.json │ │ │ │ │ ├── query_types/ │ │ │ │ │ │ ├── llm_intent_http_nodes.json │ │ │ │ │ │ ├── loop_condition.json │ │ │ │ │ │ ├── subworkflows.json │ │ │ │ │ │ ├── wf2.json │ │ │ │ │ │ └── wf2child.json │ │ │ │ │ ├── sse/ │ │ │ │ │ │ └── llm_emitter.json │ │ │ │ │ ├── start_node_default_values.json │ │ │ │ │ ├── subworkflow/ │ │ │ │ │ │ ├── bottom_workflow.json │ │ │ │ │ │ ├── middle_workflow.json │ │ │ │ │ │ └── top_workflow.json │ │ │ │ │ ├── type_convert/ │ │ │ │ │ │ └── mismatched_types.json │ │ │ │ │ ├── validate/ │ │ │ │ │ │ ├── invalid_input_parameter.json │ │ │ │ │ │ ├── sub_workflow_terminate_plan_type.json │ │ │ │ │ │ ├── workflow_has_loop.json │ │ │ │ │ │ ├── workflow_has_no_connected_nodes.json │ │ │ │ │ │ ├── workflow_nested_has_loop_or_batch.json │ │ │ │ │ │ ├── workflow_of_prune_isolate.json │ │ │ │ │ │ ├── workflow_ref_variable.json │ │ │ │ │ │ └── workflow_variable_assigner.json │ │ │ │ │ ├── variable_aggregate/ │ │ │ │ │ │ ├── aggregate_streams.json │ │ │ │ │ │ └── variable_aggregator.json │ │ │ │ │ └── workflow_wf_file_name.json │ │ │ │ └── validate/ │ │ │ │ └── canvas_validate.go │ │ │ ├── compose/ │ │ │ │ ├── designate_option.go │ │ │ │ ├── field_fill.go │ │ │ │ ├── field_fill_test.go │ │ │ │ ├── node_builder.go │ │ │ │ ├── node_runner.go │ │ │ │ ├── state.go │ │ │ │ ├── stream.go │ │ │ │ ├── test/ │ │ │ │ │ ├── batch_test.go │ │ │ │ │ ├── loop_test.go │ │ │ │ │ ├── question_answer_test.go │ │ │ │ │ └── workflow_test.go │ │ │ │ ├── workflow.go │ │ │ │ ├── workflow_field_mapping_test.go │ │ │ │ ├── workflow_from_node.go │ │ │ │ ├── workflow_run.go │ │ │ │ └── workflow_tool.go │ │ │ ├── execute/ │ │ │ │ ├── callback.go │ │ │ │ ├── collect_token.go │ │ │ │ ├── consts.go │ │ │ │ ├── context.go │ │ │ │ ├── event.go │ │ │ │ ├── event_handle.go │ │ │ │ ├── stream_container.go │ │ │ │ └── tool_option.go │ │ │ ├── nodes/ │ │ │ │ ├── batch/ │ │ │ │ │ └── batch.go │ │ │ │ ├── callbacks.go │ │ │ │ ├── code/ │ │ │ │ │ ├── code.go │ │ │ │ │ └── code_test.go │ │ │ │ ├── conversation/ │ │ │ │ │ ├── clearconversationhistory.go │ │ │ │ │ ├── conversationhistory.go │ │ │ │ │ ├── conversationlist.go │ │ │ │ │ ├── createconversation.go │ │ │ │ │ ├── createmessage.go │ │ │ │ │ ├── deleteconversation.go │ │ │ │ │ ├── deletemessage.go │ │ │ │ │ ├── editmessage.go │ │ │ │ │ ├── messagelist.go │ │ │ │ │ └── updateconversation.go │ │ │ │ ├── convert.go │ │ │ │ ├── database/ │ │ │ │ │ ├── adapt.go │ │ │ │ │ ├── common.go │ │ │ │ │ ├── customsql.go │ │ │ │ │ ├── customsql_test.go │ │ │ │ │ ├── delete.go │ │ │ │ │ ├── insert.go │ │ │ │ │ ├── query.go │ │ │ │ │ ├── query_test.go │ │ │ │ │ └── update.go │ │ │ │ ├── emitter/ │ │ │ │ │ └── emitter.go │ │ │ │ ├── entry/ │ │ │ │ │ └── entry.go │ │ │ │ ├── exit/ │ │ │ │ │ └── exit.go │ │ │ │ ├── httprequester/ │ │ │ │ │ ├── adapt.go │ │ │ │ │ ├── http_requester.go │ │ │ │ │ └── http_requester_test.go │ │ │ │ ├── intentdetector/ │ │ │ │ │ ├── intent_detector.go │ │ │ │ │ ├── prompt.go │ │ │ │ │ └── prompt_test.go │ │ │ │ ├── interrupt.go │ │ │ │ ├── json/ │ │ │ │ │ ├── json_deserialization.go │ │ │ │ │ ├── json_deserialization_test.go │ │ │ │ │ ├── json_serialization.go │ │ │ │ │ └── json_serialization_test.go │ │ │ │ ├── knowledge/ │ │ │ │ │ ├── adaptor.go │ │ │ │ │ ├── knowledge_deleter.go │ │ │ │ │ ├── knowledge_indexer.go │ │ │ │ │ └── knowledge_retrieve.go │ │ │ │ ├── llm/ │ │ │ │ │ ├── llm.go │ │ │ │ │ ├── model_with_info.go │ │ │ │ │ ├── plugin.go │ │ │ │ │ ├── prompt.go │ │ │ │ │ └── prompt_test.go │ │ │ │ ├── loop/ │ │ │ │ │ ├── break/ │ │ │ │ │ │ └── break.go │ │ │ │ │ ├── continue/ │ │ │ │ │ │ └── continue.go │ │ │ │ │ └── loop.go │ │ │ │ ├── node.go │ │ │ │ ├── option.go │ │ │ │ ├── parent_intermediate.go │ │ │ │ ├── plugin/ │ │ │ │ │ ├── exec.go │ │ │ │ │ └── plugin.go │ │ │ │ ├── qa/ │ │ │ │ │ └── question_answer.go │ │ │ │ ├── receiver/ │ │ │ │ │ ├── input_receiver.go │ │ │ │ │ └── input_receiver_test.go │ │ │ │ ├── selector/ │ │ │ │ │ ├── callbacks.go │ │ │ │ │ ├── clause.go │ │ │ │ │ ├── clause_test.go │ │ │ │ │ ├── operator.go │ │ │ │ │ ├── operator_test.go │ │ │ │ │ ├── schema.go │ │ │ │ │ └── selector.go │ │ │ │ ├── state.go │ │ │ │ ├── stream.go │ │ │ │ ├── subworkflow/ │ │ │ │ │ └── sub_workflow.go │ │ │ │ ├── template.go │ │ │ │ ├── textprocessor/ │ │ │ │ │ └── text_processor.go │ │ │ │ ├── utils.go │ │ │ │ ├── utils_test.go │ │ │ │ ├── variableaggregator/ │ │ │ │ │ └── variable_aggregator.go │ │ │ │ └── variableassigner/ │ │ │ │ ├── variable_assign.go │ │ │ │ ├── variable_assign_in_loop.go │ │ │ │ └── variable_assign_test.go │ │ │ ├── repo/ │ │ │ │ ├── cancel_signal_store.go │ │ │ │ ├── conversation_repository.go │ │ │ │ ├── dal/ │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── app_conversation_template_draft.gen.go │ │ │ │ │ │ ├── app_conversation_template_online.gen.go │ │ │ │ │ │ ├── app_dynamic_conversation_draft.gen.go │ │ │ │ │ │ ├── app_dynamic_conversation_online.gen.go │ │ │ │ │ │ ├── app_static_conversation_draft.gen.go │ │ │ │ │ │ ├── app_static_conversation_online.gen.go │ │ │ │ │ │ ├── chat_flow_role_config.gen.go │ │ │ │ │ │ ├── connector_workflow_version.gen.go │ │ │ │ │ │ ├── node_execution.gen.go │ │ │ │ │ │ ├── workflow_draft.gen.go │ │ │ │ │ │ ├── workflow_execution.gen.go │ │ │ │ │ │ ├── workflow_meta.gen.go │ │ │ │ │ │ ├── workflow_reference.gen.go │ │ │ │ │ │ ├── workflow_snapshot.gen.go │ │ │ │ │ │ └── workflow_version.gen.go │ │ │ │ │ └── query/ │ │ │ │ │ ├── app_conversation_template_draft.gen.go │ │ │ │ │ ├── app_conversation_template_online.gen.go │ │ │ │ │ ├── app_dynamic_conversation_draft.gen.go │ │ │ │ │ ├── app_dynamic_conversation_online.gen.go │ │ │ │ │ ├── app_static_conversation_draft.gen.go │ │ │ │ │ ├── app_static_conversation_online.gen.go │ │ │ │ │ ├── chat_flow_role_config.gen.go │ │ │ │ │ ├── connector_workflow_version.gen.go │ │ │ │ │ ├── gen.go │ │ │ │ │ ├── node_execution.gen.go │ │ │ │ │ ├── workflow_draft.gen.go │ │ │ │ │ ├── workflow_execution.gen.go │ │ │ │ │ ├── workflow_meta.gen.go │ │ │ │ │ ├── workflow_reference.gen.go │ │ │ │ │ ├── workflow_snapshot.gen.go │ │ │ │ │ └── workflow_version.gen.go │ │ │ │ ├── execute_history_store.go │ │ │ │ ├── execute_history_store_test.go │ │ │ │ ├── interrupt_event_store.go │ │ │ │ ├── repository.go │ │ │ │ └── suggest.go │ │ │ └── schema/ │ │ │ ├── branch_schema.go │ │ │ ├── node_builder.go │ │ │ ├── node_schema.go │ │ │ ├── stream.go │ │ │ └── workflow_schema.go │ │ ├── plugin/ │ │ │ ├── model.go │ │ │ ├── plugin.go │ │ │ └── plugin_test.go │ │ ├── service/ │ │ │ ├── as_tool_impl.go │ │ │ ├── conversation_impl.go │ │ │ ├── executable_impl.go │ │ │ ├── executable_impl_test.go │ │ │ ├── global_handler.go │ │ │ ├── service_impl.go │ │ │ └── utils.go │ │ └── variable/ │ │ ├── variable.go │ │ ├── variable_impl.go │ │ └── varmock/ │ │ └── var_mock.go │ ├── go.mod │ ├── go.sum │ ├── infra/ │ │ ├── cache/ │ │ │ ├── cache.go │ │ │ └── impl/ │ │ │ └── redis/ │ │ │ └── redis.go │ │ ├── checkpoint/ │ │ │ ├── mem.go │ │ │ └── redis.go │ │ ├── coderunner/ │ │ │ ├── code.go │ │ │ └── impl/ │ │ │ ├── direct/ │ │ │ │ └── runner.go │ │ │ ├── impl.go │ │ │ ├── sandbox/ │ │ │ │ └── runner.go │ │ │ └── script/ │ │ │ └── sandbox.py │ │ ├── document/ │ │ │ ├── extra.go │ │ │ ├── messages2query/ │ │ │ │ ├── impl/ │ │ │ │ │ ├── builtin/ │ │ │ │ │ │ ├── messages_to_query.go │ │ │ │ │ │ └── messages_to_query_test.go │ │ │ │ │ └── impl.go │ │ │ │ ├── messages_to_query.go │ │ │ │ └── options.go │ │ │ ├── nl2sql/ │ │ │ │ ├── impl/ │ │ │ │ │ ├── builtin/ │ │ │ │ │ │ ├── nl2sql.go │ │ │ │ │ │ └── nl2sql_test.go │ │ │ │ │ └── impl.go │ │ │ │ ├── nl2sql.go │ │ │ │ └── options.go │ │ │ ├── ocr/ │ │ │ │ ├── impl/ │ │ │ │ │ ├── impl.go │ │ │ │ │ ├── ppocr/ │ │ │ │ │ │ └── ppocr.go │ │ │ │ │ └── veocr/ │ │ │ │ │ └── ve_ocr.go │ │ │ │ └── ocr.go │ │ │ ├── parser/ │ │ │ │ ├── impl/ │ │ │ │ │ ├── builtin/ │ │ │ │ │ │ ├── align_schema.go │ │ │ │ │ │ ├── align_schema_test.go │ │ │ │ │ │ ├── chunk_custom.go │ │ │ │ │ │ ├── chunk_custom_test.go │ │ │ │ │ │ ├── convert.go │ │ │ │ │ │ ├── image.go │ │ │ │ │ │ ├── manager.go │ │ │ │ │ │ ├── parse_csv.go │ │ │ │ │ │ ├── parse_csv_test.go │ │ │ │ │ │ ├── parse_docx.py │ │ │ │ │ │ ├── parse_image.go │ │ │ │ │ │ ├── parse_iter.go │ │ │ │ │ │ ├── parse_json.go │ │ │ │ │ │ ├── parse_json_maps.go │ │ │ │ │ │ ├── parse_json_maps_test.go │ │ │ │ │ │ ├── parse_json_test.go │ │ │ │ │ │ ├── parse_markdown.go │ │ │ │ │ │ ├── parse_markdown_test.go │ │ │ │ │ │ ├── parse_pdf.py │ │ │ │ │ │ ├── parse_text.go │ │ │ │ │ │ ├── parse_xlsx.go │ │ │ │ │ │ ├── parse_xlsx_test.go │ │ │ │ │ │ ├── parser.go │ │ │ │ │ │ ├── py_parser_protocol.go │ │ │ │ │ │ ├── test_data/ │ │ │ │ │ │ │ ├── test_csv.csv │ │ │ │ │ │ │ ├── test_csv_badcase_1.csv │ │ │ │ │ │ │ ├── test_csv_header_only.csv │ │ │ │ │ │ │ ├── test_docx.docx │ │ │ │ │ │ │ ├── test_docx_1.docx │ │ │ │ │ │ │ ├── test_markdown.md │ │ │ │ │ │ │ └── test_xlsx.xlsx │ │ │ │ │ │ └── util.go │ │ │ │ │ ├── impl.go │ │ │ │ │ └── ppstructure/ │ │ │ │ │ ├── manager.go │ │ │ │ │ └── parser.go │ │ │ │ ├── manager.go │ │ │ │ └── parser.go │ │ │ ├── progressbar/ │ │ │ │ ├── impl/ │ │ │ │ │ └── progressbar/ │ │ │ │ │ └── impl.go │ │ │ │ └── interface.go │ │ │ ├── rerank/ │ │ │ │ ├── impl/ │ │ │ │ │ ├── impl.go │ │ │ │ │ ├── rrf/ │ │ │ │ │ │ └── rrf.go │ │ │ │ │ └── vikingdb/ │ │ │ │ │ └── vikingdb.go │ │ │ │ └── rerank.go │ │ │ ├── searchstore/ │ │ │ │ ├── dsl.go │ │ │ │ ├── impl/ │ │ │ │ │ ├── elasticsearch/ │ │ │ │ │ │ ├── consts.go │ │ │ │ │ │ ├── elasticsearch_manager.go │ │ │ │ │ │ └── elasticsearch_searchstore.go │ │ │ │ │ ├── impl.go │ │ │ │ │ ├── milvus/ │ │ │ │ │ │ ├── consts.go │ │ │ │ │ │ ├── convert.go │ │ │ │ │ │ ├── milvus_manager.go │ │ │ │ │ │ └── milvus_searchstore.go │ │ │ │ │ ├── oceanbase/ │ │ │ │ │ │ ├── consts.go │ │ │ │ │ │ ├── convert.go │ │ │ │ │ │ ├── factory.go │ │ │ │ │ │ ├── oceanbase_manager.go │ │ │ │ │ │ ├── oceanbase_searchstore.go │ │ │ │ │ │ └── register.go │ │ │ │ │ └── vikingdb/ │ │ │ │ │ ├── consts.go │ │ │ │ │ ├── vikingdb_manager.go │ │ │ │ │ ├── vikingdb_searchstore.go │ │ │ │ │ └── vk_test.go │ │ │ │ ├── manager.go │ │ │ │ ├── options.go │ │ │ │ └── searchstore.go │ │ │ └── table.go │ │ ├── dynconf/ │ │ │ ├── impl/ │ │ │ │ ├── .gitkeep │ │ │ │ └── static/ │ │ │ │ ├── internal/ │ │ │ │ │ ├── common.go │ │ │ │ │ ├── raw_json.go │ │ │ │ │ └── raw_yaml.go │ │ │ │ ├── json.go │ │ │ │ ├── static_config.go │ │ │ │ └── yaml.go │ │ │ └── provider.go │ │ ├── embedding/ │ │ │ ├── embedding.go │ │ │ └── impl/ │ │ │ ├── ark/ │ │ │ │ └── ark.go │ │ │ ├── http/ │ │ │ │ ├── http.go │ │ │ │ └── http_test.go │ │ │ ├── impl.go │ │ │ └── wrap/ │ │ │ ├── dense_only.go │ │ │ ├── gemini.go │ │ │ ├── ollama.go │ │ │ └── openai.go │ │ ├── es/ │ │ │ ├── es.go │ │ │ ├── impl/ │ │ │ │ └── es/ │ │ │ │ ├── es7.go │ │ │ │ ├── es8.go │ │ │ │ ├── es_impl.go │ │ │ │ └── parse_address.go │ │ │ ├── model.go │ │ │ └── query.go │ │ ├── eventbus/ │ │ │ ├── consume_option.go │ │ │ ├── eventbus.go │ │ │ ├── impl/ │ │ │ │ ├── eventbus.go │ │ │ │ ├── kafka/ │ │ │ │ │ ├── consumer.go │ │ │ │ │ └── producer.go │ │ │ │ ├── nats/ │ │ │ │ │ ├── consumer.go │ │ │ │ │ ├── nats_test.go │ │ │ │ │ └── producer.go │ │ │ │ ├── nsq/ │ │ │ │ │ ├── consumer.go │ │ │ │ │ └── producer.go │ │ │ │ ├── pulsar/ │ │ │ │ │ ├── consumer.go │ │ │ │ │ ├── producer.go │ │ │ │ │ └── pulsar_test.go │ │ │ │ └── rmq/ │ │ │ │ ├── consumer.go │ │ │ │ ├── local_test.go │ │ │ │ └── producer.go │ │ │ └── send_option.go │ │ ├── idgen/ │ │ │ ├── idgen.go │ │ │ └── impl/ │ │ │ └── idgen/ │ │ │ └── idgen.go │ │ ├── imagex/ │ │ │ ├── get_resource_opt.go │ │ │ ├── imagex.go │ │ │ ├── impl/ │ │ │ │ └── veimagex/ │ │ │ │ └── veimagex.go │ │ │ └── upload_auth_opt.go │ │ ├── oceanbase/ │ │ │ ├── oceanbase.go │ │ │ ├── oceanbase_official.go │ │ │ └── types.go │ │ ├── orm/ │ │ │ ├── database.go │ │ │ └── impl/ │ │ │ └── mysql/ │ │ │ └── mysql.go │ │ ├── rdb/ │ │ │ ├── entity/ │ │ │ │ ├── const.go │ │ │ │ └── rdb.go │ │ │ ├── impl/ │ │ │ │ └── rdb/ │ │ │ │ ├── mysql.go │ │ │ │ └── mysql_test.go │ │ │ └── rdb.go │ │ ├── sqlparser/ │ │ │ ├── impl/ │ │ │ │ └── sqlparser/ │ │ │ │ ├── sql_parser.go │ │ │ │ └── sql_parser_test.go │ │ │ └── sql_parser.go │ │ ├── sse/ │ │ │ ├── impl/ │ │ │ │ └── sse/ │ │ │ │ └── sse.go │ │ │ └── sse.go │ │ └── storage/ │ │ ├── impl/ │ │ │ ├── internal/ │ │ │ │ └── fileutil/ │ │ │ │ └── file_util.go │ │ │ ├── minio/ │ │ │ │ ├── minio.go │ │ │ │ └── minio_imagex.go │ │ │ ├── s3/ │ │ │ │ ├── s3.go │ │ │ │ └── s3_imagex.go │ │ │ ├── storage.go │ │ │ └── tos/ │ │ │ ├── tos.go │ │ │ └── tos_imagex.go │ │ ├── option.go │ │ └── storage.go │ ├── internal/ │ │ ├── mock/ │ │ │ ├── crossdomain/ │ │ │ │ └── crossuser/ │ │ │ │ └── crossuser.go │ │ │ ├── domain/ │ │ │ │ ├── agent/ │ │ │ │ │ └── singleagent/ │ │ │ │ │ ├── database_service_mock.go │ │ │ │ │ ├── knowledge_mock.go │ │ │ │ │ └── single_agent_mock.go │ │ │ │ ├── conversation/ │ │ │ │ │ ├── agentrun/ │ │ │ │ │ │ └── agent_run_mock.go │ │ │ │ │ └── conversation/ │ │ │ │ │ └── conversation_mock.go │ │ │ │ ├── memory/ │ │ │ │ │ └── database/ │ │ │ │ │ ├── crossdomain/ │ │ │ │ │ │ └── search.go │ │ │ │ │ └── database_mock.go │ │ │ │ ├── plugin/ │ │ │ │ │ └── interface.go │ │ │ │ ├── shortcutcmd/ │ │ │ │ │ └── shortcut_cmd_mock.go │ │ │ │ ├── upload/ │ │ │ │ │ └── upload_service_mock.go │ │ │ │ └── workflow/ │ │ │ │ ├── crossdomain/ │ │ │ │ │ └── code/ │ │ │ │ │ └── code_mock.go │ │ │ │ └── interface.go │ │ │ └── infra/ │ │ │ ├── chatmodel/ │ │ │ │ └── base_model_mock.go │ │ │ ├── eventbus/ │ │ │ │ └── eventbus_mock.go │ │ │ ├── idgen/ │ │ │ │ └── idgen_mock.go │ │ │ ├── imagex/ │ │ │ │ └── imagex_mock.go │ │ │ ├── nl2sql_mock/ │ │ │ │ └── nl2sql_mock.go │ │ │ ├── orm/ │ │ │ │ └── sqlitedb.go │ │ │ ├── rdb/ │ │ │ │ └── rdb_mock.go │ │ │ └── storage/ │ │ │ └── storage_mock.go │ │ └── testutil/ │ │ └── chat_model.go │ ├── main.go │ ├── pkg/ │ │ ├── ctxcache/ │ │ │ ├── ctx_cache.go │ │ │ └── ctx_cache_test.go │ │ ├── envkey/ │ │ │ └── env_key.go │ │ ├── errorx/ │ │ │ ├── code/ │ │ │ │ └── register.go │ │ │ ├── error.go │ │ │ ├── error_test.go │ │ │ └── internal/ │ │ │ ├── msg.go │ │ │ ├── register.go │ │ │ ├── stack.go │ │ │ ├── stack_test.go │ │ │ └── status.go │ │ ├── execute/ │ │ │ └── execute.go │ │ ├── goutil/ │ │ │ ├── goutil.go │ │ │ └── url.go │ │ ├── hertzutil/ │ │ │ └── domain/ │ │ │ └── origin_host.go │ │ ├── i18n/ │ │ │ └── i18n.go │ │ ├── kvstore/ │ │ │ └── kvstore.go │ │ ├── lang/ │ │ │ ├── conv/ │ │ │ │ └── to.go │ │ │ ├── crypto/ │ │ │ │ └── md5.go │ │ │ ├── maps/ │ │ │ │ └── maps.go │ │ │ ├── ptr/ │ │ │ │ └── ptr.go │ │ │ ├── sets/ │ │ │ │ └── sets.go │ │ │ ├── signal/ │ │ │ │ └── signal.go │ │ │ ├── slices/ │ │ │ │ └── iter.go │ │ │ ├── sqlutil/ │ │ │ │ └── sqlutil.go │ │ │ └── ternary/ │ │ │ └── ternary.go │ │ ├── logs/ │ │ │ ├── default.go │ │ │ └── logger.go │ │ ├── saasapi/ │ │ │ └── client.go │ │ ├── safego/ │ │ │ ├── panic_err.go │ │ │ └── safego.go │ │ ├── sonic/ │ │ │ └── sonic.go │ │ ├── taskgroup/ │ │ │ └── taskgroup.go │ │ └── urltobase64url/ │ │ └── parser.go │ └── types/ │ ├── consts/ │ │ └── consts.go │ ├── ddl/ │ │ └── gen_orm_query.go │ └── errno/ │ ├── agent.go │ ├── app.go │ ├── connector.go │ ├── conversation.go │ ├── knowledge.go │ ├── memory.go │ ├── modelmgr.go │ ├── permission.go │ ├── plugin.go │ ├── prompt.go │ ├── search.go │ ├── shortcutcmd.go │ ├── upload.go │ ├── user.go │ └── workflow.go ├── common/ │ ├── _templates/ │ │ ├── _plugins/ │ │ │ ├── SelectTeamPlugin.ts │ │ │ ├── SetDefaultAuthorPlugin.ts │ │ │ ├── ShowTemplatePlugin.ts │ │ │ ├── global.config.ts │ │ │ └── utils/ │ │ │ ├── index.ts │ │ │ └── parse-args.ts │ │ ├── component/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── init.config.ts │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── demo/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ └── typings.d.ts │ │ │ ├── stories/ │ │ │ │ ├── demo.stories.tsx │ │ │ │ └── hello.mdx │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── node-core/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── init.config.ts │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── rsbuild-web/ │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── index.html │ │ │ ├── init.config.ts │ │ │ ├── package.json │ │ │ ├── rsbuild.config.ts │ │ │ ├── src/ │ │ │ │ ├── app.tsx │ │ │ │ ├── global.d.ts │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ └── pages/ │ │ │ │ ├── main/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ └── page1/ │ │ │ │ └── index.tsx │ │ │ ├── tailwind.config.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── rspack-web/ │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── env/ │ │ │ │ ├── README.md │ │ │ │ ├── index.ts │ │ │ │ ├── scripts/ │ │ │ │ │ └── index.ts │ │ │ │ └── tsconfig.json │ │ │ ├── eslint.config.js │ │ │ ├── index.html │ │ │ ├── init.config.ts │ │ │ ├── package.json │ │ │ ├── rspack.config.ts │ │ │ ├── src/ │ │ │ │ ├── App.css │ │ │ │ ├── App.tsx │ │ │ │ ├── components/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── index.tsx │ │ │ │ ├── pages/ │ │ │ │ │ ├── page1/ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── page2/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── store.ts │ │ │ │ ├── router.tsx │ │ │ │ ├── store/ │ │ │ │ │ ├── store.ts │ │ │ │ │ └── userinfo-slice.ts │ │ │ │ ├── typing/ │ │ │ │ │ ├── env/ │ │ │ │ │ │ └── index.d.ts │ │ │ │ │ └── global.d.ts │ │ │ │ └── utils/ │ │ │ │ └── .gitkeep │ │ │ ├── tailwind.config.js │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── solid-component/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── init.config.ts │ │ │ ├── package.json │ │ │ ├── rollup.config.mjs │ │ │ ├── src/ │ │ │ │ ├── demo/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── main.css │ │ │ │ └── typings.d.ts │ │ │ ├── stories/ │ │ │ │ ├── demo.stories.tsx │ │ │ │ └── hello.mdx │ │ │ ├── tailwind.config.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ └── template.json │ ├── autoinstallers/ │ │ ├── package.json │ │ ├── plugins/ │ │ │ ├── package.json │ │ │ └── rush-plugins/ │ │ │ ├── @coze-arch/ │ │ │ │ ├── rush-clear-build-cache-plugin/ │ │ │ │ │ ├── @coze-arch/ │ │ │ │ │ │ └── rush-clear-build-cache-plugin/ │ │ │ │ │ │ └── command-line.json │ │ │ │ │ └── rush-plugin-manifest.json │ │ │ │ ├── rush-dep-level-check-plugin/ │ │ │ │ │ └── rush-plugin-manifest.json │ │ │ │ ├── rush-fix-ts-refers-plugin/ │ │ │ │ │ ├── @coze-arch/ │ │ │ │ │ │ └── rush-fix-ts-refers-plugin/ │ │ │ │ │ │ └── command-line.json │ │ │ │ │ └── rush-plugin-manifest.json │ │ │ │ ├── rush-increment-run-plugin/ │ │ │ │ │ ├── @coze-arch/ │ │ │ │ │ │ └── rush-increment-run-plugin/ │ │ │ │ │ │ └── command-line.json │ │ │ │ │ └── rush-plugin-manifest.json │ │ │ │ ├── rush-publish-plugin/ │ │ │ │ │ ├── @coze-arch/ │ │ │ │ │ │ └── rush-publish-plugin/ │ │ │ │ │ │ └── command-line.json │ │ │ │ │ └── rush-plugin-manifest.json │ │ │ │ └── rush-run-tsc-plugin/ │ │ │ │ ├── @coze-arch/ │ │ │ │ │ └── rush-run-tsc-plugin/ │ │ │ │ │ └── command-line.json │ │ │ │ └── rush-plugin-manifest.json │ │ │ └── rush-init-project-plugin/ │ │ │ ├── rush-init-project-plugin/ │ │ │ │ └── command-line.json │ │ │ └── rush-plugin-manifest.json │ │ ├── rush-commands/ │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── convert-comments/ │ │ │ │ ├── README.md │ │ │ │ ├── cli/ │ │ │ │ │ ├── command.ts │ │ │ │ │ └── config.ts │ │ │ │ ├── example/ │ │ │ │ │ └── config.json │ │ │ │ ├── implementation-plan.md │ │ │ │ ├── index.ts │ │ │ │ ├── modules/ │ │ │ │ │ ├── chinese-detection.ts │ │ │ │ │ ├── file-replacement.ts │ │ │ │ │ ├── file-scan.ts │ │ │ │ │ ├── report.ts │ │ │ │ │ └── translation.ts │ │ │ │ ├── requirements.md │ │ │ │ ├── technical-specification.md │ │ │ │ ├── types/ │ │ │ │ │ ├── config.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── chinese.ts │ │ │ │ │ ├── fp.ts │ │ │ │ │ ├── git.ts │ │ │ │ │ ├── language.ts │ │ │ │ │ └── semaphore.ts │ │ │ │ └── volc/ │ │ │ │ └── translate.ts │ │ │ └── tsconfig.json │ │ ├── rush-commitlint/ │ │ │ ├── .cz-config.js │ │ │ ├── commitlint.config.js │ │ │ ├── package.json │ │ │ └── utils.js │ │ └── rush-lint-staged/ │ │ ├── .lintstagedrc.js │ │ ├── package.json │ │ └── utils.js │ ├── config/ │ │ ├── rush/ │ │ │ ├── .npmrc-publish │ │ │ ├── artifactory.json │ │ │ ├── build-cache.json │ │ │ ├── cobuild.json │ │ │ ├── command-line.json │ │ │ ├── custom-tips.json │ │ │ ├── deploy.json │ │ │ ├── experiments.json │ │ │ ├── pnpm-config.json │ │ │ ├── repo-state.json │ │ │ ├── rush-plugins.json │ │ │ ├── subspaces.json │ │ │ └── version-policies.json │ │ ├── rush-plugins/ │ │ │ └── rush-bytedance-build-cache-plugin.json │ │ └── subspaces/ │ │ ├── default/ │ │ │ ├── .npmrc │ │ │ ├── .pnpmfile.cjs │ │ │ ├── common-versions.json │ │ │ ├── pnpm-config.json │ │ │ ├── pnpm-patches/ │ │ │ │ ├── @douyinfe__semi-rspack-plugin@2.61.0.patch │ │ │ │ ├── ahooks@3.7.8.patch │ │ │ │ ├── web-streams-polyfill@3.2.1.patch │ │ │ │ └── web-streams-polyfill@3.3.2.patch │ │ │ └── repo-state.json │ │ ├── e2e/ │ │ │ ├── .npmrc │ │ │ ├── pnpm-config.json │ │ │ └── repo-state.json │ │ └── e2e-opencoze/ │ │ └── repo-state.json │ ├── git-hooks/ │ │ ├── commit-msg │ │ ├── commit-msg.sample │ │ ├── post-checkout │ │ ├── post-commit │ │ ├── post-merge │ │ ├── pre-commit │ │ └── pre-push │ └── scripts/ │ ├── install-run-rush-pnpm.js │ ├── install-run-rush.js │ ├── install-run-rushx.js │ └── install-run.js ├── cspell.json ├── docker/ │ ├── atlas/ │ │ ├── README.md │ │ ├── atlas.hcl │ │ ├── migrations/ │ │ │ ├── 20250703095335_initial.sql │ │ │ ├── 20250703115304_update.sql │ │ │ ├── 20250704040445_update.sql │ │ │ ├── 20250708075302_update.sql │ │ │ ├── 20250710100212_update.sql │ │ │ ├── 20250711034533_update.sql │ │ │ ├── 20250717125913_update.sql │ │ │ ├── 20250718104121_update.sql │ │ │ ├── 20250730131847_update.sql │ │ │ ├── 20250802115105_update.sql │ │ │ ├── 20250812093734_update.sql │ │ │ ├── 20250813081543_update.sql │ │ │ ├── 20250822060516_update.sql │ │ │ ├── 20251015103940_update.sql │ │ │ ├── 20251016034721_update.sql │ │ │ ├── 20251024091145_update.sql │ │ │ ├── 20251028085526_update.sql │ │ │ └── atlas.sum │ │ └── opencoze_latest_schema.hcl │ ├── docker-compose-debug.yml │ ├── docker-compose-oceanbase.yml │ ├── docker-compose-oceanbase_debug.yml │ ├── docker-compose.yml │ ├── nginx/ │ │ ├── conf.d/ │ │ │ └── default.conf │ │ ├── nginx.conf │ │ └── ssl/ │ │ └── .gitkeep │ └── volumes/ │ ├── elasticsearch/ │ │ ├── elasticsearch.yml │ │ ├── es_index_schema/ │ │ │ ├── coze_resource.index-template.json │ │ │ └── project_draft.index-template.json │ │ └── setup_es.sh │ ├── etcd/ │ │ └── etcd.conf.yml │ ├── minio/ │ │ └── .mc/ │ │ └── config.json │ ├── mysql/ │ │ ├── schema.sql │ │ └── sql_init.sql │ └── rocketmq/ │ └── broker.conf ├── docs/ │ ├── .gitkeep │ ├── nats-eventbus-integration-guide-en.md │ ├── nats-eventbus-integration-guide.md │ ├── oceanbase-integration-guide-en.md │ ├── oceanbase-integration-guide.md │ ├── pulsar-eventbus-integration-guide-en.md │ └── pulsar-eventbus-integration-guide.md ├── frontend/ │ ├── .gitignore │ ├── .npmignore │ ├── .prettierignore │ ├── .stylelintignore │ ├── Dockerfile │ ├── README.md │ ├── apps/ │ │ └── coze-studio/ │ │ ├── .stylelintrc.js │ │ ├── README.md │ │ ├── __tests__/ │ │ │ └── .gitkeep │ │ ├── config/ │ │ │ └── rush-project.json │ │ ├── eslint.config.js │ │ ├── index.html │ │ ├── package.json │ │ ├── postcss.config.js │ │ ├── rsbuild.config.ts │ │ ├── server.js │ │ ├── src/ │ │ │ ├── app.tsx │ │ │ ├── global.d.ts │ │ │ ├── global.less │ │ │ ├── index.less │ │ │ ├── index.tsx │ │ │ ├── layout.tsx │ │ │ ├── pages/ │ │ │ │ ├── develop.tsx │ │ │ │ ├── docs.tsx │ │ │ │ ├── explore.tsx │ │ │ │ ├── library.tsx │ │ │ │ ├── plugin/ │ │ │ │ │ ├── layout.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── tool/ │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── plugin-mock-set/ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ └── page.tsx │ │ │ │ │ └── page.tsx │ │ │ │ └── redirect.tsx │ │ │ └── routes/ │ │ │ ├── async-components.tsx │ │ │ └── index.tsx │ │ ├── tailwind.config.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── tsconfig.misc.json │ │ └── vitest.config.ts │ ├── config/ │ │ ├── eslint-config/ │ │ │ ├── .prettierrc.js │ │ │ ├── README.md │ │ │ ├── compat.js │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.base.js │ │ │ ├── eslint.config.js │ │ │ ├── eslint.config.node.js │ │ │ ├── eslint.config.web.js │ │ │ ├── package.json │ │ │ ├── rules/ │ │ │ │ ├── common-standard.js │ │ │ │ ├── import.js │ │ │ │ ├── js-standard.js │ │ │ │ ├── test-standard.js │ │ │ │ └── ts-standard.js │ │ │ ├── scripts/ │ │ │ │ ├── reslint.sh │ │ │ │ └── rprettier.sh │ │ │ ├── src/ │ │ │ │ ├── define-config.ts │ │ │ │ └── index.js │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── postcss-config/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.js │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── rsbuild-config/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── stylelint-config/ │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── examples/ │ │ │ │ ├── class-pattern.less │ │ │ │ ├── first-level-global.less │ │ │ │ ├── max-nesting-level.less │ │ │ │ └── no-important.less │ │ │ ├── package.json │ │ │ ├── plugins/ │ │ │ │ └── plugin-disallow-nesting-level-one-global.js │ │ │ ├── src/ │ │ │ │ ├── define-config.ts │ │ │ │ └── index.js │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── tailwind-config/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── coze.js │ │ │ │ ├── dark.js │ │ │ │ ├── design-token.ts │ │ │ │ ├── index.js │ │ │ │ ├── light.js │ │ │ │ ├── tailwind-contents.ts │ │ │ │ └── util.js │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── ts-config/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ ├── rush-project.json │ │ │ │ └── rushx-config.json │ │ │ ├── eslint.config.js │ │ │ ├── global.d.ts │ │ │ ├── package.json │ │ │ ├── scripts/ │ │ │ │ └── rtsc.sh │ │ │ ├── tsconfig.base.json │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.node.json │ │ │ └── tsconfig.web.json │ │ └── vitest-config/ │ │ ├── README.md │ │ ├── config/ │ │ │ └── rush-project.json │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── define-config.ts │ │ │ ├── index.js │ │ │ ├── preset-default.ts │ │ │ ├── preset-node.ts │ │ │ ├── preset-web.ts │ │ │ └── tsc-only.ts │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ ├── disallowed_3rd_libraries.json │ ├── infra/ │ │ ├── eslint-plugin/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.js │ │ │ │ ├── index.ts │ │ │ │ ├── processors/ │ │ │ │ │ └── json.ts │ │ │ │ ├── rules/ │ │ │ │ │ ├── max-lines-per-function/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── no-batch-import-or-export/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── no-deep-relative-import/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── no-duplicated-deps/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── no-empty-catch/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── no-new-error/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── no-pkg-dir-import/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── test/ │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── package-disallow-deps/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── package-require-author/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tsx-no-leaked-render/ │ │ │ │ │ │ ├── fixture/ │ │ │ │ │ │ │ ├── react.tsx │ │ │ │ │ │ │ └── tsconfig.json │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── use-error-in-catch/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ └── zustand/ │ │ │ │ ├── index.js │ │ │ │ ├── index.ts │ │ │ │ └── rules/ │ │ │ │ ├── __tests__/ │ │ │ │ │ └── utils.test.ts │ │ │ │ ├── no-get-state-in-comp/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── no-state-mutation/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── prefer-curry-create/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── prefer-selector/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── prefer-shallow/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── proper-store-typing/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── store-filename-convention/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── store-name-convention/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tester.ts │ │ │ │ ├── utils.ts │ │ │ │ ├── zustand-devtools-config/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ └── zustand-prefer-middlewares/ │ │ │ │ ├── index.test.ts │ │ │ │ └── index.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.mts │ │ ├── idl/ │ │ │ ├── idl-parser/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── common.ts │ │ │ │ │ ├── demo.proto.ts │ │ │ │ │ ├── demo.thrift.ts │ │ │ │ │ ├── demo.unify.ts │ │ │ │ │ ├── idl/ │ │ │ │ │ │ ├── dep/ │ │ │ │ │ │ │ ├── base.proto │ │ │ │ │ │ │ ├── base.thrift │ │ │ │ │ │ │ ├── basee.proto │ │ │ │ │ │ │ ├── basee.thrift │ │ │ │ │ │ │ ├── common.proto │ │ │ │ │ │ │ └── common.thrift │ │ │ │ │ │ ├── error.proto │ │ │ │ │ │ ├── error.thrift │ │ │ │ │ │ ├── index.proto │ │ │ │ │ │ ├── index.thrift │ │ │ │ │ │ ├── unify_base.thrift │ │ │ │ │ │ ├── unify_dependent1.proto │ │ │ │ │ │ ├── unify_dependent1.thrift │ │ │ │ │ │ ├── unify_dependent2.proto │ │ │ │ │ │ ├── unify_dependent2.thrift │ │ │ │ │ │ ├── unify_error.thrift │ │ │ │ │ │ ├── unify_index.proto │ │ │ │ │ │ ├── unify_index.thrift │ │ │ │ │ │ ├── unify_search.proto │ │ │ │ │ │ ├── unify_search.thrift │ │ │ │ │ │ └── weird.proto │ │ │ │ │ ├── proto.field.test.ts │ │ │ │ │ ├── proto.index.test.ts │ │ │ │ │ ├── proto.method.test.ts │ │ │ │ │ ├── proto.service.test.ts │ │ │ │ │ ├── thrift.enum.test.ts │ │ │ │ │ ├── thrift.field.test.ts │ │ │ │ │ ├── thrift.function.test.ts │ │ │ │ │ ├── thrift.index.test.ts │ │ │ │ │ ├── thrift.service.test.ts │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── unify.enum.test.ts │ │ │ │ │ ├── unify.field.test.ts │ │ │ │ │ ├── unify.function.test.ts │ │ │ │ │ ├── unify.index.test.ts │ │ │ │ │ ├── unify.other.test.ts │ │ │ │ │ └── unify.service.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── extension_type.ts │ │ │ │ │ │ └── extension_util.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── proto/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── thrift/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── unify/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── proto.ts │ │ │ │ │ │ ├── thrift.ts │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ └── util.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── idl2ts-cli/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── actions.ts │ │ │ │ │ ├── cli.js │ │ │ │ │ ├── cli.ts │ │ │ │ │ ├── mock-dev.ts │ │ │ │ │ ├── optional/ │ │ │ │ │ │ ├── forward.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── alias.ts │ │ │ │ │ │ ├── comment.ts │ │ │ │ │ │ ├── filter-types-plugin.ts │ │ │ │ │ │ ├── formatter.ts │ │ │ │ │ │ ├── local-config.ts │ │ │ │ │ │ └── mock-plugin.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── idl2ts-generator/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── context.ts │ │ │ │ │ ├── core.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ ├── adapter-plugin.ts │ │ │ │ │ │ ├── auto-fix-duplicate-plugin.ts │ │ │ │ │ │ ├── auto-fix-path-plugin.ts │ │ │ │ │ │ ├── client-plugin.ts │ │ │ │ │ │ ├── comment-format-plugin.ts │ │ │ │ │ │ ├── ignore-struct-field.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── meta-plugin.ts │ │ │ │ │ │ ├── mock-transformer.ts │ │ │ │ │ │ ├── pkg-entry-plugin.ts │ │ │ │ │ │ └── schema-plugin.ts │ │ │ │ │ ├── template.ts │ │ │ │ │ ├── type-mapper.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── idl2ts-helper/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── ctx.ts │ │ │ │ │ ├── helper.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── parser.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── idl2ts-plugin/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── plugin.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── program.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── idl2ts-runtime/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── config-center.ts │ │ │ │ ├── create-api.ts │ │ │ │ ├── index.ts │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── plugins/ │ │ │ ├── import-watch-loader/ │ │ │ │ ├── README.md │ │ │ │ ├── __test__/ │ │ │ │ │ └── index.test.js │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── tsconfig.build.json │ │ │ └── pkg-root-webpack-plugin/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── index.test.ts │ │ │ ├── config/ │ │ │ │ ├── rush-project.json │ │ │ │ └── rushx-config.json │ │ │ ├── eslint.config.js │ │ │ ├── lib/ │ │ │ │ ├── index.d.ts │ │ │ │ └── index.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ └── utils/ │ │ ├── fs-enhance/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── file-enhance.test.ts │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── monorepo-kits/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── docs/ │ │ │ │ └── llms.txt │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.ts │ │ │ │ ├── lookup.ts │ │ │ │ ├── rush-config.ts │ │ │ │ └── sub-packages.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ └── rush-logger/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ └── logger.test.ts │ │ ├── config/ │ │ │ └── rush-project.json │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── tsconfig.misc.json │ │ └── vitest.config.ts │ ├── packages/ │ │ ├── agent-ide/ │ │ │ ├── agent-publish/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── bot-publish/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-auth-fail.ts │ │ │ │ │ │ │ └── use-get-bot-info.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── publish-result/ │ │ │ │ │ │ │ ├── component/ │ │ │ │ │ │ │ │ └── publish-result-area/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── typings.ts │ │ │ │ │ │ └── publish-table/ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── get-connector-selectable.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-connectors-publish.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── table-collection/ │ │ │ │ │ │ ├── config-status.tsx │ │ │ │ │ │ ├── connector-action/ │ │ │ │ │ │ │ ├── api-bind-button.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── store-bind.tsx │ │ │ │ │ │ ├── get-config-status.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-auth-success.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── plugin-limit-tooltip.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-audit-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-bot-audit/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-audit-base/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── audit-error-message/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interfaces/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-config-area/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── model-config-view/ │ │ │ │ │ │ ├── dialogue-config-view/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── model-config-view.tsx │ │ │ │ │ │ └── single-agent-model-view/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── monetize-config/ │ │ │ │ │ │ ├── button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── panel/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── query-collect/ │ │ │ │ │ │ ├── generate-by-template.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── tips.tsx │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-config-area-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── bot-config-area.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── model-config-view/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── model-config-view.tsx │ │ │ │ │ │ └── single-agent-model-view/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-editor-context-store/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── context/ │ │ │ │ │ │ └── bot-editor-context/ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── model-capability/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── store/ │ │ │ │ │ │ ├── bot-plugins.ts │ │ │ │ │ │ ├── dataset.ts │ │ │ │ │ │ ├── free-grab-modal-hierarchy.ts │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ └── get-model-preset-values.ts │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ ├── nl-prompt-modal.ts │ │ │ │ │ │ ├── onboarding-dirty-logic-compatibility.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── exhaustive-check.ts │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── convert-model-value-type.ts │ │ │ │ │ │ └── get-model-by-id.ts │ │ │ │ │ └── model-capability/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-input-length-limit/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── services.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── services/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-plugin/ │ │ │ │ ├── entry/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ └── auth/ │ │ │ │ │ │ │ └── use-auth-for-api-tool.test.ts │ │ │ │ │ │ ├── setup.ts │ │ │ │ │ │ └── util/ │ │ │ │ │ │ └── get-env.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── check_failed/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── code-snippet/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── oauth-action/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── plugin-apis/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── plugin-modal.tsx │ │ │ │ │ │ │ │ └── use-plugin-apis-modal.tsx │ │ │ │ │ │ │ ├── plugin-header/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── plugin-tool-detail/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── tool-header.tsx │ │ │ │ │ │ │ ├── use-content-base-more.tsx │ │ │ │ │ │ │ ├── use-content-baseinfo.tsx │ │ │ │ │ │ │ ├── use-content-debug.tsx │ │ │ │ │ │ │ ├── use-content-request.tsx │ │ │ │ │ │ │ └── use-content-response.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ │ │ └── use-auth-for-api-tool.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── pages/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── mock-set/ │ │ │ │ │ │ │ │ ├── get-col.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── mock-set-detail/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── plugin-id/ │ │ │ │ │ │ │ │ ├── create-tool.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── plugin-tool-detail/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── util/ │ │ │ │ │ │ ├── get-env.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── export/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── file-import-utils.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── component/ │ │ │ │ │ │ │ ├── agent-skill-plugin-modal/ │ │ │ │ │ │ │ │ ├── content/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ │ ├── sider/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── use-request-cache.tsx │ │ │ │ │ │ │ ├── bot_edit/ │ │ │ │ │ │ │ │ ├── bot-code-edit.tsx │ │ │ │ │ │ │ │ ├── bot-form-edit/ │ │ │ │ │ │ │ │ │ ├── code-modal.tsx │ │ │ │ │ │ │ │ │ ├── import-modal.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── plugin-edit/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ │ ├── editor.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── file-import/ │ │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ │ ├── import-content.module.less │ │ │ │ │ │ │ │ ├── import-content.tsx │ │ │ │ │ │ │ │ ├── import-modal.module.less │ │ │ │ │ │ │ │ ├── import-modal.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── plugin-info-confirm/ │ │ │ │ │ │ │ │ │ ├── fields.tsx │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ ├── show-merge-tool.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── plugin-docs/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── plugin-feat-modal/ │ │ │ │ │ │ │ ├── feat-button/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── mock-set/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ └── mock-set/ │ │ │ │ │ │ │ ├── use-gen-tree-branch.test.ts │ │ │ │ │ │ │ ├── use-mock-set-in-setting-modal.test.ts │ │ │ │ │ │ │ └── use-save-mock-data.test.ts │ │ │ │ │ │ ├── mock-set/ │ │ │ │ │ │ │ ├── hooks.test.ts │ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ │ ├── mock-utils.test.ts │ │ │ │ │ │ ├── setup.ts │ │ │ │ │ │ ├── use-trans-schema.test.ts │ │ │ │ │ │ └── util/ │ │ │ │ │ │ └── mock-set/ │ │ │ │ │ │ └── get-mock-set-options.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── component/ │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ └── use-get-mockset.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── long-text-with-tooltip/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── mock-data-card/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── mock-data-create-card.tsx │ │ │ │ │ │ │ ├── mock-data-list.tsx │ │ │ │ │ │ │ ├── mock-data-page-breadcrumb.tsx │ │ │ │ │ │ │ ├── mock-select/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── option-item.module.less │ │ │ │ │ │ │ │ └── option-item.tsx │ │ │ │ │ │ │ ├── mock-set-intro.tsx │ │ │ │ │ │ │ ├── mockset-delete-modal/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── space-holder/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── edenx-app-env.d.ts │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ ├── use-gen-tree-branch.ts │ │ │ │ │ │ │ ├── use-mock-set-in-setting-modal.ts │ │ │ │ │ │ │ ├── use-save-mock-data.ts │ │ │ │ │ │ │ └── use-trans-schema.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── util/ │ │ │ │ │ │ ├── get-mock-set-options.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── typings.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── plugin-risk-warning/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── store.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── tools/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── hook/ │ │ │ │ │ │ ├── example/ │ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ │ └── parameters/ │ │ │ │ │ │ └── use-parameters-in-setting-modal-controller.test.ts │ │ │ │ │ └── plugin_modal/ │ │ │ │ │ └── utils.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── example-checkbox/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── example-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── info_popover/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── info-popover.tsx │ │ │ │ │ │ └── plugin_modal/ │ │ │ │ │ │ ├── base-info.tsx │ │ │ │ │ │ ├── base-more.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── cascader-item/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── file-upload-item/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── upload.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── item-error-tip/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ ├── debug-components/ │ │ │ │ │ │ │ ├── debug-check.tsx │ │ │ │ │ │ │ ├── debug-params.tsx │ │ │ │ │ │ │ ├── diy-mdbox.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── params-form/ │ │ │ │ │ │ │ ├── columns/ │ │ │ │ │ │ │ │ ├── param-value-col.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── debug.tsx │ │ │ │ │ │ ├── file.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── input-and-variable/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── params-components/ │ │ │ │ │ │ │ ├── columns/ │ │ │ │ │ │ │ │ └── param-type-col.tsx │ │ │ │ │ │ │ ├── default-value-input.tsx │ │ │ │ │ │ │ ├── form-components.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── request-params.tsx │ │ │ │ │ │ ├── response-params.tsx │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── modal.ts │ │ │ │ │ │ │ └── params.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── example/ │ │ │ │ │ │ │ ├── use-debug-footer.tsx │ │ │ │ │ │ │ ├── use-edit-example.tsx │ │ │ │ │ │ │ ├── use-view-example.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── parameters/ │ │ │ │ │ │ └── use-parameters-in-setting-modal-controller.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-answer-action-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── message-box-action-bar/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-area-plugin-debug-common/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ ├── services/ │ │ │ │ │ │ └── life-cycle/ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ ├── command.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── message.ts │ │ │ │ │ │ └── render.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ └── biz-context.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-area-provider/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-bot-editor-chat-background.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── provider/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-area-provider-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── provider/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-background/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── chat-background-content/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── chat-background-modal/ │ │ │ │ │ │ └── use-chat-background-uploader/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-background-config-content/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── chat-background-config-content/ │ │ │ │ │ │ ├── cropper-footer/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── cropper-upload/ │ │ │ │ │ │ │ ├── cropper/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── cropper-cover/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── cropper-guide/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── drag-upload-content/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-background-config-content-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-background-shared/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── hook/ │ │ │ │ │ │ └── use-background-content.test.ts │ │ │ │ │ └── util.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-background-content.ts │ │ │ │ │ │ ├── use-crop-image.ts │ │ │ │ │ │ ├── use-drag-image.ts │ │ │ │ │ │ ├── use-submit-cropped-image.ts │ │ │ │ │ │ └── use-upload-img.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── service/ │ │ │ │ │ │ └── upload-controller.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-components-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── receive-message-box/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-debug-area/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── onboarding-message-pop/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── upload-tooltips-content/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── context/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ └── shortcut/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── retry.module.less │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── commons/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── diff-node-render/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── term-service/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── term-service-modal/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-send-diff-event.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── context/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── debug-tool-list/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── debug-tool-list/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── debug-dropdown-button/ │ │ │ │ │ │ │ │ ├── button-padding-table.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── tool-pane/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── debug-tool-list-context.ts │ │ │ │ │ │ ├── debug-tool-list.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── entry/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── shortcut-skills-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── tool-sheet/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-init-toast.tsx │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── modes/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── single-mode/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── coach-mark.tsx │ │ │ │ │ │ │ │ └── model-diff-button.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── section-area/ │ │ │ │ │ │ │ ├── agent-chat-area.tsx │ │ │ │ │ │ │ └── agent-config-area/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── tool-area.tsx │ │ │ │ │ │ └── workflow-mode/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── entry-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── single-mode-tool-pane-list/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── table-memory-tool/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── workflow-mode-tool-pane-list/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── editor/ │ │ │ │ │ │ └── agent-editor.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── layout/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── header/ │ │ │ │ │ │ ├── bot-info-card/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── bot-publish-status/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── bot-status/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── origin-status.tsx │ │ │ │ │ │ │ └── style.module.less │ │ │ │ │ │ ├── deploy-button/ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ └── service.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── more-menu-button/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── link-drop-item.tsx │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── layout-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── header/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── mode-list.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-init-agent.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── layout/ │ │ │ │ │ │ ├── base.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── memory-tool-pane-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── memory-tool-pane/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── model-manager/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── convert-model-params-to-schema.test.ts │ │ │ │ │ ├── get-fixed-single-agent-schema.test.ts │ │ │ │ │ ├── get-model-class-sort-list.test.ts │ │ │ │ │ └── model-params.json │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── model-capability-confirm-model/ │ │ │ │ │ │ │ ├── base.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── model-form/ │ │ │ │ │ │ │ ├── form-item/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── group-item/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── model-select/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── ui-model-select.tsx │ │ │ │ │ │ │ ├── preset-radio-group/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── model-select-v2/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── model-option/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── model-option-avatar/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── model-option-group/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── model-option-thumb/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── model-select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── model-select-ui/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── popover-model-config-view/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── popover-model-list-view/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── multi-agent/ │ │ │ │ │ │ │ └── model-form/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── single-agent-model-form/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constant/ │ │ │ │ │ │ └── model-form-component.ts │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── formily-context/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ └── model-form-context/ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ ├── use-get-model-list.ts │ │ │ │ │ │ │ ├── use-get-schema.ts │ │ │ │ │ │ │ └── use-get-single-agent-current-model.ts │ │ │ │ │ │ └── model-form/ │ │ │ │ │ │ └── use-handle-model-form.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── report-events/ │ │ │ │ │ │ └── report-event-names.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── exhaustive-check.ts │ │ │ │ │ ├── field-init-strategy.ts │ │ │ │ │ ├── flatten-object.ts │ │ │ │ │ ├── model/ │ │ │ │ │ │ ├── convert-form-value-to-model-info.ts │ │ │ │ │ │ ├── convert-model-info-to-flat-object.ts │ │ │ │ │ │ ├── convert-model-params-to-schema.ts │ │ │ │ │ │ ├── get-diversity-preset-value-by-style.ts │ │ │ │ │ │ ├── get-fixed-model-form-values.ts │ │ │ │ │ │ ├── get-fixed-single-agent-schema.ts │ │ │ │ │ │ ├── get-model-class-sort-list.ts │ │ │ │ │ │ └── get-model-option-list.ts │ │ │ │ │ └── model-func-config-check/ │ │ │ │ │ └── agent-check.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── navigate/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── navigate-tools-page.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── onboarding/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── markdown-editor/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── action-bar/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── insert-link-popover/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── upload-progress-mask/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── constant/ │ │ │ │ │ │ │ │ └── file.ts │ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ │ ├── get-insert-text-at-position.ts │ │ │ │ │ │ │ │ ├── get-insert-text.ts │ │ │ │ │ │ │ │ ├── get-is-file-format-valid.ts │ │ │ │ │ │ │ │ ├── get-markdown-image-link.ts │ │ │ │ │ │ │ │ └── get-markdown-link.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-markdown-editor.ts │ │ │ │ │ │ │ │ └── use-upload-file.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ │ └── upload-controller.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── onboarding-markdown-modal/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── markdown-description-popover/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── onboarding-suggestion-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── onboarding-preview/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── onboarding-suggestion/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constant/ │ │ │ │ │ │ └── onboarding-variable.ts │ │ │ │ │ ├── demo/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── bot-plugins/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── onboarding/ │ │ │ │ │ │ └── use-render-variable-element.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── exhaustive-check.ts │ │ │ │ │ ├── onboarding-variable.ts │ │ │ │ │ ├── onboarding.ts │ │ │ │ │ └── typed-keys.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── onboarding-message-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-area-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── plugin-apis-area/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-content/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── plugin-content/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-content-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-modal-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── plugin-modal/ │ │ │ │ │ │ │ ├── filter/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── plugin-filter/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── plugin-filter.module.less │ │ │ │ │ │ └── plugin-panel/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-setting/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── agent-skill-setting-modal/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── part-main.tsx │ │ │ │ │ │ ├── part-mock-set.tsx │ │ │ │ │ │ └── part-params-set/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-setting-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-shared/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── plugin-panel/ │ │ │ │ │ │ ├── activate-popover/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── helper.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ └── plugin-perf-statics/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── plugin-modal-constants.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── service/ │ │ │ │ │ │ └── fetch-plugin.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── auth-mode.ts │ │ │ │ │ │ ├── mockset-interface.ts │ │ │ │ │ │ └── plugin-modal-types.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── get-api-unique-id.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── prompt/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── prompt-editor/ │ │ │ │ │ │ │ ├── agent-ide-prompt/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ └── prompt-view/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── actions/ │ │ │ │ │ │ │ ├── import-to-library.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── prompt-library.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-prompt/ │ │ │ │ │ │ ├── use-add-library.ts │ │ │ │ │ │ └── use-get-library-data.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── prompt-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── publish-to-base/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── big-checkbox/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── context/ │ │ │ │ │ │ └── store-context.tsx │ │ │ │ │ ├── expection-display/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── feishu-base-modal/ │ │ │ │ │ │ ├── base-input-fields-table.tsx │ │ │ │ │ │ ├── base-output-fields-table.tsx │ │ │ │ │ │ ├── field-line/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── input-config-line-select-edit.tsx │ │ │ │ │ │ │ ├── input-config-line.tsx │ │ │ │ │ │ │ ├── output-struct-line.tsx │ │ │ │ │ │ │ ├── require-verify-center.tsx │ │ │ │ │ │ │ ├── required-warn.tsx │ │ │ │ │ │ │ └── use-require-verify.ts │ │ │ │ │ │ ├── form-title.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── sortable-field-table.tsx │ │ │ │ │ │ └── step-indicator.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── md-tooltip/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── store/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── validate/ │ │ │ │ │ ├── field-interaction/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── output-struct.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── skills-pane-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── skills-pane/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── skills-nav.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── space-bot/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── component/ │ │ │ │ │ │ └── onboarding-message/ │ │ │ │ │ │ └── onboarding-editor/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-init-editor.test.ts │ │ │ │ │ │ └── methods/ │ │ │ │ │ │ ├── get-image-url.test.ts │ │ │ │ │ │ ├── get-upload-token.test.ts │ │ │ │ │ │ ├── init-editor.test.ts │ │ │ │ │ │ └── slice-editor.test.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── publish-platform-setting/ │ │ │ │ │ │ │ ├── use-custom-platform-controller.test.ts │ │ │ │ │ │ │ ├── use-custom-platform-setting-modal-controller.test.ts │ │ │ │ │ │ │ ├── use-normal-platform-controller.test.ts │ │ │ │ │ │ │ └── use-oauth-setting-modal-controller.test.ts │ │ │ │ │ │ └── use-monetize-config-readonly.test.ts │ │ │ │ │ └── setup.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ └── styles/ │ │ │ │ │ │ ├── common.less │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── mixins.less │ │ │ │ │ │ ├── semi_ui.less │ │ │ │ │ │ └── variables.less │ │ │ │ │ ├── component/ │ │ │ │ │ │ ├── add-button/ │ │ │ │ │ │ │ ├── add-button.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── authorize-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── auto-generate-btn/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── bind-connector-modal/ │ │ │ │ │ │ │ ├── connector-error/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── connector-field/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── connector-form/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── connector-guide/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── connector-link/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ └── use-step-action.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── use-connector-form-modal.tsx │ │ │ │ │ │ ├── bot-debug-button/ │ │ │ │ │ │ │ ├── bot-debug-button.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── bot-debug-panel/ │ │ │ │ │ │ │ ├── button.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── bot-diff-view/ │ │ │ │ │ │ │ ├── bot-submit-modal.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── new-diff-view.tsx │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── bot-move-modal/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── item-grid-view/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── move-detail-pane/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── select-space-pane/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── selector-item/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── move-failed-modal.tsx │ │ │ │ │ │ │ └── move-modal.tsx │ │ │ │ │ │ ├── chat-background/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── collapsible-textarea/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── config-area/ │ │ │ │ │ │ │ └── use-bot-config.tsx │ │ │ │ │ │ ├── connector-action/ │ │ │ │ │ │ │ ├── diff-view-button.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── kv-bind-button.tsx │ │ │ │ │ │ ├── content-view/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── data-memory/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── add-variable/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── group-table/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── group-wrapper/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── parma-header/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── sys-header.tsx │ │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ │ └── user-header.tsx │ │ │ │ │ │ │ │ └── variable-tree/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── data-memory.tsx │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── memory-add-modal.tsx │ │ │ │ │ │ │ ├── memory-list.tsx │ │ │ │ │ │ │ ├── memory-template-modal.tsx │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── exhaustive-check.ts │ │ │ │ │ │ ├── data-set/ │ │ │ │ │ │ │ ├── data-set-area.tsx │ │ │ │ │ │ │ └── index.module.less │ │ │ │ │ │ ├── error-boundary-with-logger.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── input-slider/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── input-slider.tsx │ │ │ │ │ │ ├── memory-tool-pane/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── mode-select/ │ │ │ │ │ │ │ ├── change-button.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── mode-change-view.tsx │ │ │ │ │ │ ├── model-btn-view/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── nav-modal/ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── nl-prompt-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── onboarding-message/ │ │ │ │ │ │ │ ├── common-component.tsx │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ ├── editor-expend-modal/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── onboarding-editor/ │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ ├── use-init-editor.ts │ │ │ │ │ │ │ │ │ ├── use-modal-editor-submit.ts │ │ │ │ │ │ │ │ │ ├── use-on-editor.ts │ │ │ │ │ │ │ │ │ └── use-submit-editor.ts │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── method/ │ │ │ │ │ │ │ │ │ ├── editor-content-helper.ts │ │ │ │ │ │ │ │ │ ├── get-image-url.ts │ │ │ │ │ │ │ │ │ ├── get-schema.ts │ │ │ │ │ │ │ │ │ ├── get-upload-token.ts │ │ │ │ │ │ │ │ │ ├── init-editor.ts │ │ │ │ │ │ │ │ │ └── slice-editor.ts │ │ │ │ │ │ │ │ └── plugins/ │ │ │ │ │ │ │ │ └── insert-template/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── tool-item.tsx │ │ │ │ │ │ │ └── suggestion-list/ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ └── use-add-empty-suggestion.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── suggestion-header.tsx │ │ │ │ │ │ │ └── suggestion-item.tsx │ │ │ │ │ │ ├── plugin-permission-manage-list/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── publish-platform-description/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── publish-platform-setting/ │ │ │ │ │ │ │ ├── avatar-ipt.tsx │ │ │ │ │ │ │ ├── custom-platform-setting-modal.tsx │ │ │ │ │ │ │ ├── custom.tsx │ │ │ │ │ │ │ ├── id-with-cp.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── name-with-icon.tsx │ │ │ │ │ │ │ ├── normal.tsx │ │ │ │ │ │ │ ├── oauth-setting-modal.tsx │ │ │ │ │ │ │ └── tag-with-status.tsx │ │ │ │ │ │ ├── rc-slider-wrapper/ │ │ │ │ │ │ │ ├── handle-render.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── sheet-view/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── multiple-sheet/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── single-sheet/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── suggestion/ │ │ │ │ │ │ │ ├── suggestion-block.tsx │ │ │ │ │ │ │ └── suggestion-content/ │ │ │ │ │ │ │ ├── suggestion-content.module.less │ │ │ │ │ │ │ └── suggestion-content.tsx │ │ │ │ │ │ └── table-memory/ │ │ │ │ │ │ ├── datebase-list/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── prompt-settings-button.tsx │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ └── reload-database-list.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-expert-mode-config.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── prompt-editor-kit.ts │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── bot-editor-service/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ └── editor-kit/ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── hook/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── publish-platform-setting/ │ │ │ │ │ │ │ ├── use-custom-platform-controller.ts │ │ │ │ │ │ │ ├── use-custom-platform-setting-modal-controller.ts │ │ │ │ │ │ │ ├── use-normal-platform-controller.ts │ │ │ │ │ │ │ └── use-oauth-setting-modal-controller.ts │ │ │ │ │ │ ├── tools-publish-back-modal.ts │ │ │ │ │ │ ├── use-connector-diff-modal.tsx │ │ │ │ │ │ ├── use-create-bot/ │ │ │ │ │ │ │ ├── agent-info-form.tsx │ │ │ │ │ │ │ ├── form-switch/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── use-agent-form-management.ts │ │ │ │ │ │ │ └── use-agent-persistence.ts │ │ │ │ │ │ ├── use-dataset-auto-change-confirm.tsx │ │ │ │ │ │ ├── use-edit-confirm.ts │ │ │ │ │ │ ├── use-free-drag-modal-hierarchy.ts │ │ │ │ │ │ ├── use-init.tsx │ │ │ │ │ │ ├── use-monetize-config-readonly.ts │ │ │ │ │ │ ├── use-node-id.ts │ │ │ │ │ │ ├── use-plugin-permission-manage.ts │ │ │ │ │ │ ├── use-popover-lock.ts │ │ │ │ │ │ ├── use-query-collect.ts │ │ │ │ │ │ ├── use-space-role.ts │ │ │ │ │ │ ├── use-subscribe-background.ts │ │ │ │ │ │ ├── use-subscribe-onboarding-and-update-chat-area.ts │ │ │ │ │ │ └── use-unbind-platform.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── pages/ │ │ │ │ │ │ └── publish/ │ │ │ │ │ │ └── index.module.less │ │ │ │ │ ├── service/ │ │ │ │ │ │ ├── free-grab-modal-hierarchy-service/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── nl-prompt-modal-visibility-service/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ └── shared-apply-record-service/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── store/ │ │ │ │ │ │ ├── bot-list-filter/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── bot-mode/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── bot-page/ │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ ├── debug-panel/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ ├── evaluation-panel/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ ├── explore/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── risk-warning/ │ │ │ │ │ │ └── store.ts │ │ │ │ │ ├── type.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── util/ │ │ │ │ │ ├── auth.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tailwind.config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.check.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── tool/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── duplicate-use-ability-config.tsx │ │ │ │ │ ├── store/ │ │ │ │ │ │ └── tool-area.test.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── error.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── ability-area-container/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── add-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── agent-skill-container/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── agent-skill-content/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── agent-skill-content-block/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── agent-skill-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── agent-skill-view/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── auto-generate-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── fallbacks/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── grouping-container/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── invisible-tool-controller/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── model-capability-tips/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-container/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-content-block/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-item/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-item-action/ │ │ │ │ │ │ │ ├── actions/ │ │ │ │ │ │ │ │ ├── tool-item-action-card.tsx │ │ │ │ │ │ │ │ ├── tool-item-action-copy.tsx │ │ │ │ │ │ │ │ ├── tool-item-action-delete.tsx │ │ │ │ │ │ │ │ ├── tool-item-action-drag.tsx │ │ │ │ │ │ │ │ ├── tool-item-action-edit.tsx │ │ │ │ │ │ │ │ ├── tool-item-action-info.tsx │ │ │ │ │ │ │ │ └── tool-item-action-setting.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-item-icon/ │ │ │ │ │ │ │ ├── icons/ │ │ │ │ │ │ │ │ ├── tool-item-icon-card.tsx │ │ │ │ │ │ │ │ ├── tool-item-icon-info.tsx │ │ │ │ │ │ │ │ └── tool-item-icon-people.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-item-list/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-item-switch/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-menu/ │ │ │ │ │ │ │ ├── guide-popover.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-menu-dropdown-menu/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-popover/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tool-tooltip/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── tool-view/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── tool-content-block.ts │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── ability-area-context.tsx │ │ │ │ │ │ ├── ability-config-context.tsx │ │ │ │ │ │ ├── agent-skill-config-context.tsx │ │ │ │ │ │ ├── preference-context.tsx │ │ │ │ │ │ └── tool-item-context.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── agent-skill/ │ │ │ │ │ │ │ └── use-agent-skill.ts │ │ │ │ │ │ ├── agent-skill-modal/ │ │ │ │ │ │ │ ├── use-agent-modal-trigger-event.ts │ │ │ │ │ │ │ └── use-agent-skill-modal.tsx │ │ │ │ │ │ ├── builtin/ │ │ │ │ │ │ │ ├── use-ability-config.ts │ │ │ │ │ │ │ ├── use-create-store.ts │ │ │ │ │ │ │ ├── use-get-tool-config.ts │ │ │ │ │ │ │ ├── use-register-agent-skill-key.ts │ │ │ │ │ │ │ ├── use-register-tool-group.ts │ │ │ │ │ │ │ └── use-register-tool-key.ts │ │ │ │ │ │ ├── event/ │ │ │ │ │ │ │ └── use-event.ts │ │ │ │ │ │ ├── public/ │ │ │ │ │ │ │ ├── agent/ │ │ │ │ │ │ │ │ └── use-has-agent-skill.ts │ │ │ │ │ │ │ ├── collapse/ │ │ │ │ │ │ │ │ ├── use-tool-content-block-default-expand.tsx │ │ │ │ │ │ │ │ └── use-tool-toggle-collapse.ts │ │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ │ ├── use-tool-all-hidden.ts │ │ │ │ │ │ │ │ └── use-tool-valid-data.ts │ │ │ │ │ │ │ ├── init/ │ │ │ │ │ │ │ │ └── use-init.ts │ │ │ │ │ │ │ ├── modal/ │ │ │ │ │ │ │ │ └── use-agent-modal-callbacks.ts │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ └── use-tool-store.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ └── use-ability-store-context.tsx │ │ │ │ │ │ └── tool/ │ │ │ │ │ │ └── use-tool-toggle-collapse.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── store/ │ │ │ │ │ │ ├── agent-area.ts │ │ │ │ │ │ └── tool-area.ts │ │ │ │ │ ├── typings/ │ │ │ │ │ │ ├── button.ts │ │ │ │ │ │ ├── event-callbacks.ts │ │ │ │ │ │ ├── event.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── scoped-events.ts │ │ │ │ │ │ └── store.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── error.ts │ │ │ │ │ ├── has-valid-key.ts │ │ │ │ │ ├── is-tool-key.ts │ │ │ │ │ ├── is-valid-context.ts │ │ │ │ │ ├── model-function-config-type-mapping.ts │ │ │ │ │ └── tool-content-block.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tailwind.config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── tool-config/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── shortcut-config/ │ │ │ │ │ └── get-strict-shortcuts.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── shortcut-config/ │ │ │ │ │ │ ├── get-strict-shortcuts.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── workflow/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── workflow-as-agent/ │ │ │ │ │ │ └── workflow-config-area/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── use-agent-workflow-modal.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── workflow-as-agent-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── workflow-card/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── workflow-card-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── workflow-card/ │ │ │ │ │ │ ├── add-button.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── workflow-item/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── workflow-item/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── workflow-item-actions.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-navigate-workflow.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── workflow-modal/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ └── workflow-modal/ │ │ │ │ │ ├── base.tsx │ │ │ │ │ └── hooks.tsx │ │ │ │ ├── index.ts │ │ │ │ └── typings.d.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── arch/ │ │ │ ├── api-schema/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── api.config.js │ │ │ │ ├── api.dev.local.js │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── _mock_utils.js │ │ │ │ │ ├── _schemas.d.ts │ │ │ │ │ ├── _schemas.js │ │ │ │ │ ├── api/ │ │ │ │ │ │ └── config.ts │ │ │ │ │ ├── idl/ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ ├── marketplace/ │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── product_common.ts │ │ │ │ │ │ │ └── public_api.ts │ │ │ │ │ │ └── passport/ │ │ │ │ │ │ └── passport.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-api/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── axios.test.ts │ │ │ │ │ └── basic-api.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── app-builder-api.ts │ │ │ │ │ ├── axios.ts │ │ │ │ │ ├── basic-api.ts │ │ │ │ │ ├── benefit-api.ts │ │ │ │ │ ├── card-api.ts │ │ │ │ │ ├── connector-api.ts │ │ │ │ │ ├── coze-space-api.ts │ │ │ │ │ ├── debugger-api.ts │ │ │ │ │ ├── developer-api.ts │ │ │ │ │ ├── developer-backend.ts │ │ │ │ │ ├── devops-evaluation-api.ts │ │ │ │ │ ├── dp-manage-api.ts │ │ │ │ │ ├── evaluation-lite-api.ts │ │ │ │ │ ├── filebox-api.ts │ │ │ │ │ ├── fornax-api.ts │ │ │ │ │ ├── fornax-evaluation-api.ts │ │ │ │ │ ├── fornax-ml-flow-api.ts │ │ │ │ │ ├── fornax-ob-api.ts │ │ │ │ │ ├── fornax-prompt.ts │ │ │ │ │ ├── fulfill-api.ts │ │ │ │ │ ├── hub-api.ts │ │ │ │ │ ├── idl/ │ │ │ │ │ │ ├── app_builder.ts │ │ │ │ │ │ ├── basic_api.ts │ │ │ │ │ │ ├── benefit.ts │ │ │ │ │ │ ├── card.ts │ │ │ │ │ │ ├── connector_api.ts │ │ │ │ │ │ ├── debugger_api.ts │ │ │ │ │ │ ├── developer_api.ts │ │ │ │ │ │ ├── developer_backend.ts │ │ │ │ │ │ ├── devops_evaluation.ts │ │ │ │ │ │ ├── dp_manage.ts │ │ │ │ │ │ ├── evaluation_lite.ts │ │ │ │ │ │ ├── filebox.ts │ │ │ │ │ │ ├── fornax_api.ts │ │ │ │ │ │ ├── fulfill.ts │ │ │ │ │ │ ├── hub_api.ts │ │ │ │ │ │ ├── incentive.ts │ │ │ │ │ │ ├── intelligence_api.ts │ │ │ │ │ │ ├── knowledge.ts │ │ │ │ │ │ ├── market_interaction_api.ts │ │ │ │ │ │ ├── memory.ts │ │ │ │ │ │ ├── multimedia_api.ts │ │ │ │ │ │ ├── notify_api.ts │ │ │ │ │ │ ├── ob_data.ts │ │ │ │ │ │ ├── ob_query_api.ts │ │ │ │ │ │ ├── pat_permission_api.ts │ │ │ │ │ │ ├── permission_authz.ts │ │ │ │ │ │ ├── permission_oauth2.ts │ │ │ │ │ │ ├── playground_api.ts │ │ │ │ │ │ ├── plugin_develop.ts │ │ │ │ │ │ ├── plugin_impl_api.ts │ │ │ │ │ │ ├── product_api.ts │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ ├── social_api.ts │ │ │ │ │ │ ├── trade.ts │ │ │ │ │ │ ├── ui-builder.ts │ │ │ │ │ │ ├── workflow_api.ts │ │ │ │ │ │ └── xmemory_api.ts │ │ │ │ │ ├── incentive-api.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── intelligence-api.ts │ │ │ │ │ ├── knowledge-api.ts │ │ │ │ │ ├── market-interaction-api.ts │ │ │ │ │ ├── memory-api.ts │ │ │ │ │ ├── multimedia-api.ts │ │ │ │ │ ├── notify-api.ts │ │ │ │ │ ├── ob-data-api.ts │ │ │ │ │ ├── ob-query-api.ts │ │ │ │ │ ├── pat-permission-api.ts │ │ │ │ │ ├── permission-authz-api.ts │ │ │ │ │ ├── permission-oauth2-api.ts │ │ │ │ │ ├── playground-api.ts │ │ │ │ │ ├── plugin-develop.ts │ │ │ │ │ ├── product-api.ts │ │ │ │ │ ├── resource.ts │ │ │ │ │ ├── social-api.ts │ │ │ │ │ ├── stone-fornax-evaluation.ts │ │ │ │ │ ├── trade-api.ts │ │ │ │ │ ├── ui-builder-api.ts │ │ │ │ │ ├── workflow-api.ts │ │ │ │ │ └── xmemory-api.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.mts │ │ │ ├── bot-env/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── scripts/ │ │ │ │ │ ├── build.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── runtime/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.mts │ │ │ ├── bot-env-adapter/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── scripts/ │ │ │ │ │ ├── build.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── base.ts │ │ │ │ │ ├── configs/ │ │ │ │ │ │ └── volcano.ts │ │ │ │ │ ├── configs.ts │ │ │ │ │ ├── features.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── runtime/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── config-helper.ts │ │ │ │ │ └── current-branch.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.mts │ │ │ ├── bot-error/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── certain-error.test.ts │ │ │ │ │ ├── custom-error.test.ts │ │ │ │ │ ├── source-error.test.ts │ │ │ │ │ ├── use-error-catch.test.ts │ │ │ │ │ └── use-route-error-catch.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── certain-error.ts │ │ │ │ │ ├── const.ts │ │ │ │ │ ├── custom-error.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── source-error.ts │ │ │ │ │ ├── use-error-catch.ts │ │ │ │ │ └── use-route-error-catch.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-flags/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── persist-cache.test.ts │ │ │ │ │ ├── pull-feature-flags.test.ts │ │ │ │ │ ├── read-from-context.test.ts │ │ │ │ │ ├── storage.test.ts │ │ │ │ │ └── use-flags.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup/ │ │ │ │ │ └── index.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── feature-flags.ts │ │ │ │ │ ├── get-flags.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── pull-feature-flags.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── use-flags.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── persist-cache.ts │ │ │ │ │ ├── read-from-context.ts │ │ │ │ │ ├── repoter.ts │ │ │ │ │ ├── storage.ts │ │ │ │ │ ├── tools.ts │ │ │ │ │ └── wait.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-hooks/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── page-jump.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup/ │ │ │ │ │ └── index.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── page-jump/ │ │ │ │ │ ├── config.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-hooks-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup/ │ │ │ │ │ └── index.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-responsive-body-style.ts │ │ │ │ │ └── use-responsive.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-hooks-base/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── bot/ │ │ │ │ │ │ ├── use-message-report-event.test.ts │ │ │ │ │ │ └── use-user-sender-info.test.ts │ │ │ │ │ ├── editor-layout.test.tsx │ │ │ │ │ ├── router/ │ │ │ │ │ │ └── use-reset-location-state.test.ts │ │ │ │ │ ├── use-component-state.test.ts │ │ │ │ │ ├── use-default-expand-check.test.ts │ │ │ │ │ ├── use-drag-and-paste-upload/ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ ├── get-file-list-by-drag.test.ts │ │ │ │ │ │ │ └── is-has-file-by-drag.test.ts │ │ │ │ │ │ └── index.test.tsx │ │ │ │ │ ├── use-drag-upload.test.ts │ │ │ │ │ ├── use-exposure.test.ts │ │ │ │ │ ├── use-initial-value.test.ts │ │ │ │ │ ├── use-line-clamp.test.tsx │ │ │ │ │ ├── use-loggedin.test.ts │ │ │ │ │ ├── use-responsive.test.ts │ │ │ │ │ └── use-route-config.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup/ │ │ │ │ │ └── index.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── bot/ │ │ │ │ │ │ ├── use-message-report-event.ts │ │ │ │ │ │ └── use-user-sender-info.ts │ │ │ │ │ ├── editor-layout/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── router/ │ │ │ │ │ │ └── use-reset-location-state.ts │ │ │ │ │ ├── use-component-state.ts │ │ │ │ │ ├── use-default-expand-check/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── use-drag-and-paste-upload/ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ ├── get-file-list-by-drag.ts │ │ │ │ │ │ │ └── is-has-file-by-drag.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── use-exposure.ts │ │ │ │ │ ├── use-initial-value.ts │ │ │ │ │ ├── use-line-clamp.ts │ │ │ │ │ ├── use-loggedin.ts │ │ │ │ │ ├── use-page-state.ts │ │ │ │ │ ├── use-responsive.ts │ │ │ │ │ └── use-route-config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-http/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── api-error.test.ts │ │ │ │ │ ├── axios.test.ts │ │ │ │ │ ├── eventbus.test.ts │ │ │ │ │ └── global-interceptor.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── api-error.ts │ │ │ │ │ ├── axios.ts │ │ │ │ │ ├── eventbus.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.mts │ │ │ ├── bot-md-box-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── full/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── lazy/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── light/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── slots/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── style.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-monaco-editor/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── loader.ts │ │ │ │ │ ├── monaco-editor.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── demo.stories.tsx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-space-api/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── space-api-v2.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── space-api-v2.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-store/ │ │ │ │ ├── README.md │ │ │ │ ├── __mocks__/ │ │ │ │ │ └── zustand.ts │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ └── index.test.tsx │ │ │ │ │ ├── space-gray/ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── get-storage.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup-vitest.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── data_item.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── space-gray/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── type.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── get-storage.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-tea/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── utils.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-typings/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── common.ts │ │ │ │ │ ├── data_item.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── navigator.d.ts │ │ │ │ │ ├── teamspace.ts │ │ │ │ │ └── window.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── bot-utils/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── array.test.ts │ │ │ │ │ ├── date.test.ts │ │ │ │ │ ├── dom.test.ts │ │ │ │ │ ├── get-report-error.test.ts │ │ │ │ │ ├── html.test.tsx │ │ │ │ │ ├── image.test.ts │ │ │ │ │ ├── index.test.ts │ │ │ │ │ ├── is-mobile.test.ts │ │ │ │ │ ├── message-report.test.ts │ │ │ │ │ ├── number.test.ts │ │ │ │ │ ├── responsive-table-column.test.ts │ │ │ │ │ ├── retry-import.test.ts │ │ │ │ │ ├── safe-json-parse.test.ts │ │ │ │ │ ├── setup.ts │ │ │ │ │ ├── skill.test.ts │ │ │ │ │ ├── upload-file-v2.test.ts │ │ │ │ │ ├── upload-file.test.ts │ │ │ │ │ ├── url.test.ts │ │ │ │ │ └── viewport.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── array-buffer-to-object.ts │ │ │ │ │ ├── array.ts │ │ │ │ │ ├── cache.ts │ │ │ │ │ ├── date.ts │ │ │ │ │ ├── dom.ts │ │ │ │ │ ├── event-handler.ts │ │ │ │ │ ├── get-report-error.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── html.ts │ │ │ │ │ ├── image.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── is-mobile.ts │ │ │ │ │ ├── message-report.ts │ │ │ │ │ ├── number.ts │ │ │ │ │ ├── platform.ts │ │ │ │ │ ├── post-message-channel.ts │ │ │ │ │ ├── responsive-table-column.ts │ │ │ │ │ ├── retry-import.ts │ │ │ │ │ ├── safe-json-parse.ts │ │ │ │ │ ├── skill.ts │ │ │ │ │ ├── upload-file-v2.ts │ │ │ │ │ ├── upload-file.ts │ │ │ │ │ ├── url.ts │ │ │ │ │ └── viewport.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── default-slardar/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── fetch-stream/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── type.test.ts │ │ │ │ │ └── utils.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── fetch-stream.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── type.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── foundation-sdk/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── layout.ts │ │ │ │ │ │ ├── passport.ts │ │ │ │ │ │ └── user.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── hooks/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-boolean/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── use-hover/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── use-persist-callback/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── use-state-realtime/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── use-toggle/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── use-update-effect/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── use-url-params/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── i18n/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── i18n-provider/ │ │ │ │ │ │ ├── context.test.tsx │ │ │ │ │ │ └── index.test.tsx │ │ │ │ │ ├── i18n.test.tsx │ │ │ │ │ └── raw/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── i18n-provider/ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── intl/ │ │ │ │ │ │ ├── i18n-impl.ts │ │ │ │ │ │ ├── i18n.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── raw/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── resource.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── idl/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── auto-generated/ │ │ │ │ │ │ ├── .bam-mark │ │ │ │ │ │ ├── app_builder/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── app_builder_api.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── filebox.ts │ │ │ │ │ │ │ ├── plugin_common.ts │ │ │ │ │ │ │ ├── plugin_develop_common.ts │ │ │ │ │ │ │ ├── starry.ts │ │ │ │ │ │ │ └── user.ts │ │ │ │ │ │ ├── basic_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── audit.ts │ │ │ │ │ │ │ ├── counter.ts │ │ │ │ │ │ │ ├── flow_platform_audit_common.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── report_admin_api.ts │ │ │ │ │ │ │ ├── report_common.ts │ │ │ │ │ │ │ ├── report_public_api.ts │ │ │ │ │ │ │ ├── user_common.ts │ │ │ │ │ │ │ ├── user_public_api.ts │ │ │ │ │ │ │ └── user_rpc.ts │ │ │ │ │ │ ├── benefit/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── benefit.ts │ │ │ │ │ │ │ ├── benefit_common.ts │ │ │ │ │ │ │ ├── bot.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── oapi.ts │ │ │ │ │ │ │ ├── service.ts │ │ │ │ │ │ │ └── wallet.ts │ │ │ │ │ │ ├── bot_connector/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ └── bot_connector.ts │ │ │ │ │ │ ├── bot_open_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ └── bot_open_api.ts │ │ │ │ │ │ ├── bytefaas_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── admin.ts │ │ │ │ │ │ │ ├── agent.ts │ │ │ │ │ │ │ ├── alarm.ts │ │ │ │ │ │ │ ├── async_request.ts │ │ │ │ │ │ │ ├── build.ts │ │ │ │ │ │ │ ├── burst_protector.ts │ │ │ │ │ │ │ ├── cluster.ts │ │ │ │ │ │ │ ├── code_revision.ts │ │ │ │ │ │ │ ├── codeagent_cp.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── consul_trigger.ts │ │ │ │ │ │ │ ├── debug.ts │ │ │ │ │ │ │ ├── diagnosis.ts │ │ │ │ │ │ │ ├── eventbus.ts │ │ │ │ │ │ │ ├── filterplugin.ts │ │ │ │ │ │ │ ├── http_trigger.ts │ │ │ │ │ │ │ ├── image.ts │ │ │ │ │ │ │ ├── instance.ts │ │ │ │ │ │ │ ├── mcp_server.ts │ │ │ │ │ │ │ ├── mcp_tool.ts │ │ │ │ │ │ │ ├── mqevent.ts │ │ │ │ │ │ │ ├── other.ts │ │ │ │ │ │ │ ├── packages.ts │ │ │ │ │ │ │ ├── pipeline_template.ts │ │ │ │ │ │ │ ├── plugin_function.ts │ │ │ │ │ │ │ ├── regional_meta.ts │ │ │ │ │ │ │ ├── release.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── resource_group.ts │ │ │ │ │ │ │ ├── revision.ts │ │ │ │ │ │ │ ├── sandbox.ts │ │ │ │ │ │ │ ├── scale_record.ts │ │ │ │ │ │ │ ├── scale_setting.ts │ │ │ │ │ │ │ ├── scale_strategies.ts │ │ │ │ │ │ │ ├── service.ts │ │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ │ ├── subscription.ts │ │ │ │ │ │ │ ├── tce.ts │ │ │ │ │ │ │ ├── template.ts │ │ │ │ │ │ │ ├── ticket.ts │ │ │ │ │ │ │ ├── tickets.ts │ │ │ │ │ │ │ ├── timer.ts │ │ │ │ │ │ │ ├── tos.ts │ │ │ │ │ │ │ ├── trigger.ts │ │ │ │ │ │ │ ├── trigger_debug.ts │ │ │ │ │ │ │ ├── trigger_frozen_active.ts │ │ │ │ │ │ │ └── volcengine.ts │ │ │ │ │ │ ├── card/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ ├── card.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ ├── resource_common.ts │ │ │ │ │ │ │ ├── retriever.ts │ │ │ │ │ │ │ └── shortcut_command.ts │ │ │ │ │ │ ├── connector_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── connector.ts │ │ │ │ │ │ │ ├── feishu_base.ts │ │ │ │ │ │ │ └── open_api.ts │ │ │ │ │ │ ├── debugger_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_debugger_coze.ts │ │ │ │ │ │ │ ├── flow_devops_debugger_ping.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_callback_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_entity.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object_callback.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry_common.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry_field_filter.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry_span.ts │ │ │ │ │ │ │ ├── infra.ts │ │ │ │ │ │ │ ├── mockset.ts │ │ │ │ │ │ │ ├── run_event.ts │ │ │ │ │ │ │ ├── structure_gen.ts │ │ │ │ │ │ │ └── testcase.ts │ │ │ │ │ │ ├── developer_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── acrosite.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ ├── bot_connector_manage.ts │ │ │ │ │ │ │ ├── bot_task_common.ts │ │ │ │ │ │ │ ├── bot_user_auth.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── data_connector.ts │ │ │ │ │ │ │ ├── data_connector_plugin.ts │ │ │ │ │ │ │ ├── dataset.ts │ │ │ │ │ │ │ ├── developer_api.ts │ │ │ │ │ │ │ ├── document.ts │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ ├── plugin_common.ts │ │ │ │ │ │ │ ├── product_common.ts │ │ │ │ │ │ │ ├── profile_memory.ts │ │ │ │ │ │ │ ├── shortcut_command.ts │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ └── table.ts │ │ │ │ │ │ ├── developer_backend/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── benefit_common.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── oapi.ts │ │ │ │ │ │ │ └── open_api.ts │ │ │ │ │ │ ├── devops_evaluation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── automation.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_automation.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_callback_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_dataset.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_dataset_openapi.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_entity.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_manual_annotation.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_openapi_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_ping.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_proxy.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_task.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_task_openapi.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_common.ts │ │ │ │ │ │ │ └── model.ts │ │ │ │ │ │ ├── dp_manage/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_dp_manage.ts │ │ │ │ │ │ │ ├── model_arena.ts │ │ │ │ │ │ │ ├── multi_version.ts │ │ │ │ │ │ │ └── rule.ts │ │ │ │ │ │ ├── english_examination/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── entity.ts │ │ │ │ │ │ │ ├── external.ts │ │ │ │ │ │ │ ├── origin.ts │ │ │ │ │ │ │ └── uniexam.ts │ │ │ │ │ │ ├── evaluation_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── automation.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_automation.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_callback_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_dataset.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_dataset_openapi.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_entity.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_manual_annotation.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_openapi_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_ping.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_proxy.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_task.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_task_openapi.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_common.ts │ │ │ │ │ │ │ └── model.ts │ │ │ │ │ │ ├── evaluation_lite/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot.ts │ │ │ │ │ │ │ ├── flow_devops_coze_evaluation.ts │ │ │ │ │ │ │ ├── flow_devops_coze_evaluation_entity.ts │ │ │ │ │ │ │ ├── flow_devops_coze_evaluation_evaluator.ts │ │ │ │ │ │ │ ├── flow_devops_coze_evaluation_v2.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_callback_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_dataset.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_entity.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_manual_annotation.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_task.ts │ │ │ │ │ │ │ ├── setup.ts │ │ │ │ │ │ │ ├── task.ts │ │ │ │ │ │ │ └── user.ts │ │ │ │ │ │ ├── filebox/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── file.ts │ │ │ │ │ │ │ ├── http_model.ts │ │ │ │ │ │ │ └── rpc_model.ts │ │ │ │ │ │ ├── flow_bot_operation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── agw_common.ts │ │ │ │ │ │ │ ├── agw_common_param.ts │ │ │ │ │ │ │ ├── api_manage.ts │ │ │ │ │ │ │ ├── auth.ts │ │ │ │ │ │ │ ├── bam_api.ts │ │ │ │ │ │ │ ├── banner.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── benefit_common.ts │ │ │ │ │ │ │ ├── byte_tree.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── home_banner.ts │ │ │ │ │ │ │ ├── menu.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── oapi.ts │ │ │ │ │ │ │ ├── op_bot.ts │ │ │ │ │ │ │ ├── open_api.ts │ │ │ │ │ │ │ ├── prompt.ts │ │ │ │ │ │ │ ├── punish.ts │ │ │ │ │ │ │ ├── voice.ts │ │ │ │ │ │ │ └── workspace.ts │ │ │ │ │ │ ├── fornax_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── agent.ts │ │ │ │ │ │ │ ├── aidpcallback.ts │ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ │ ├── auth.ts │ │ │ │ │ │ │ ├── automation.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── dp.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_callback_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_dataset.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_entity.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_manual_annotation.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_task.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_agentservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_appservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_authservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_automationservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_dpservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_graphservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_ide.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_infra.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_modelevalservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_modelservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_openapi_graphservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_resourceservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_spaceservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_tag.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_userservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_common.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_fieldfilter.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_common.ts │ │ │ │ │ │ │ ├── graph.ts │ │ │ │ │ │ │ ├── ide.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── modeleval.ts │ │ │ │ │ │ │ ├── openapi_graph.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── space.ts │ │ │ │ │ │ │ └── user.ts │ │ │ │ │ │ ├── fornax_api2/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── agent.ts │ │ │ │ │ │ │ ├── aidpcallback.ts │ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ │ ├── auth.ts │ │ │ │ │ │ │ ├── automation.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── dp.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_callback_common.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_dataset.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_entity.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_evaluator_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_manual_annotation.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_object_callback.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_task.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_agentservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_appservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_authservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_automationservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_dpservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_graphservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_ide.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_infra.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_modelevalservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_modelservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_openapi_graphservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_resourceservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_spaceservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_tag.ts │ │ │ │ │ │ │ ├── flow_devops_fornax_userservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_common.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_fieldfilter.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_common.ts │ │ │ │ │ │ │ ├── graph.ts │ │ │ │ │ │ │ ├── ide.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── modeleval.ts │ │ │ │ │ │ │ ├── openapi_graph.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── space.ts │ │ │ │ │ │ │ └── user.ts │ │ │ │ │ │ ├── fornax_eino_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── flow_devops_eino_app.ts │ │ │ │ │ │ │ ├── flow_devops_eino_app_canvas.ts │ │ │ │ │ │ │ └── flow_devops_eino_app_debug.ts │ │ │ │ │ │ ├── fornax_knowledge/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_knowledge_common.ts │ │ │ │ │ │ │ ├── flow_devops_knowledge_platform.ts │ │ │ │ │ │ │ ├── flow_devops_knowledge_retrive.ts │ │ │ │ │ │ │ └── flow_devops_knowledge_runtime.ts │ │ │ │ │ │ ├── fornax_ml_flow/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── ai_annotate.ts │ │ │ │ │ │ │ ├── aidpcallback.ts │ │ │ │ │ │ │ ├── annotation_job.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── batch_infer.ts │ │ │ │ │ │ │ ├── dataprocess.ts │ │ │ │ │ │ │ ├── dataset.ts │ │ │ │ │ │ │ ├── datasetv2.ts │ │ │ │ │ │ │ ├── datasetv2job.ts │ │ │ │ │ │ │ ├── datasetv2lineage.ts │ │ │ │ │ │ │ ├── datasetv2similarity.ts │ │ │ │ │ │ │ ├── filter.ts │ │ │ │ │ │ │ ├── flow_devops_evaluation_callback_common.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_common.ts │ │ │ │ │ │ │ ├── fornax_domain_model.ts │ │ │ │ │ │ │ ├── ml_flow_domain_model.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── openapi.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_annotateservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_annotationjobservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_batchinferservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_crowdsourcingannotationjobservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_dataprocessservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_datasetservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_datasetservicev2.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_modelservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_openapi_annotationjobservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_openapi_batchinferservice.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_openapi_datasetservicev2.ts │ │ │ │ │ │ │ ├── stone_fornax_ml_flow_tagservice.ts │ │ │ │ │ │ │ └── tag.ts │ │ │ │ │ │ ├── fornax_nclc/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_custom_component.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_eino_plugin.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_entity.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_schema_frontend.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_schema_registry.ts │ │ │ │ │ │ │ └── flow_devops_nclc_workflow.ts │ │ │ │ │ │ ├── fornax_ob_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── annotation.ts │ │ │ │ │ │ │ ├── authz.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── datasetv2.ts │ │ │ │ │ │ │ ├── datasetv2similarity.ts │ │ │ │ │ │ │ ├── eval_set.ts │ │ │ │ │ │ │ ├── eval_target.ts │ │ │ │ │ │ │ ├── evaluation_domain_common.ts │ │ │ │ │ │ │ ├── evaluator.ts │ │ │ │ │ │ │ ├── filter.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_common.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_fieldfilter.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_fieldfilterv2.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_indicatorservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_metricsservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_operationservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_taskservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_threadservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_traceservice.ts │ │ │ │ │ │ │ ├── flow_devops_fornaxob_viewservice.ts │ │ │ │ │ │ │ ├── fornaxob_domain_common.ts │ │ │ │ │ │ │ ├── metrics.ts │ │ │ │ │ │ │ ├── operation.ts │ │ │ │ │ │ │ ├── query.ts │ │ │ │ │ │ │ ├── span.ts │ │ │ │ │ │ │ ├── stone_fornax_evaluation_expt.ts │ │ │ │ │ │ │ ├── tag.ts │ │ │ │ │ │ │ └── task.ts │ │ │ │ │ │ ├── fornax_plugin/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── definition.ts │ │ │ │ │ │ │ ├── flow_devops_plugin_ping.ts │ │ │ │ │ │ │ ├── flow_devops_plugin_platform.ts │ │ │ │ │ │ │ ├── release.ts │ │ │ │ │ │ │ └── tool.ts │ │ │ │ │ │ ├── fulfill/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── auto_charge.ts │ │ │ │ │ │ │ ├── bot_operation_common.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── coze_token_task.ts │ │ │ │ │ │ │ ├── dist_reward_task.ts │ │ │ │ │ │ │ ├── fulfill_common.ts │ │ │ │ │ │ │ ├── fulfillment.ts │ │ │ │ │ │ │ ├── order.ts │ │ │ │ │ │ │ └── service.ts │ │ │ │ │ │ ├── fulfill_operation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── auto_charge.ts │ │ │ │ │ │ │ ├── bot_operation_common.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── coze_token_task.ts │ │ │ │ │ │ │ ├── dist_reward_task.ts │ │ │ │ │ │ │ ├── fulfill_common.ts │ │ │ │ │ │ │ ├── fulfillment.ts │ │ │ │ │ │ │ ├── order.ts │ │ │ │ │ │ │ └── service.ts │ │ │ │ │ │ ├── hub_api/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── incentive/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── api.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ └── rpc.ts │ │ │ │ │ │ ├── incentive_operation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── api.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ └── rpc.ts │ │ │ │ │ │ ├── intelligence_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ ├── common_struct.ts │ │ │ │ │ │ │ ├── domain_audit.ts │ │ │ │ │ │ │ ├── domain_common.ts │ │ │ │ │ │ │ ├── domain_common_value_object.ts │ │ │ │ │ │ │ ├── domain_connector.ts │ │ │ │ │ │ │ ├── domain_draft_bot.ts │ │ │ │ │ │ │ ├── domain_library.ts │ │ │ │ │ │ │ ├── domain_model.ts │ │ │ │ │ │ │ ├── domain_model_tuning_task.ts │ │ │ │ │ │ │ ├── domain_ocean_project.ts │ │ │ │ │ │ │ ├── domain_project_version.ts │ │ │ │ │ │ │ ├── domain_publish_record.ts │ │ │ │ │ │ │ ├── domain_space.ts │ │ │ │ │ │ │ ├── domain_tpm_expansion_record.ts │ │ │ │ │ │ │ ├── domain_tpm_volca_operate_record.ts │ │ │ │ │ │ │ ├── domain_user.ts │ │ │ │ │ │ │ ├── domain_user_complete_profile_record.ts │ │ │ │ │ │ │ ├── folder.ts │ │ │ │ │ │ │ ├── intelligence_common_struct.ts │ │ │ │ │ │ │ ├── method_struct.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── mq_struct.ts │ │ │ │ │ │ │ ├── ocean_project.ts │ │ │ │ │ │ │ ├── ocean_project_common_struct.ts │ │ │ │ │ │ │ ├── open_api.ts │ │ │ │ │ │ │ ├── project.ts │ │ │ │ │ │ │ ├── publish.ts │ │ │ │ │ │ │ ├── search.ts │ │ │ │ │ │ │ ├── task.ts │ │ │ │ │ │ │ ├── task_common.ts │ │ │ │ │ │ │ ├── task_struct.ts │ │ │ │ │ │ │ └── user_profile.ts │ │ │ │ │ │ ├── interaction_operation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── admin_api.ts │ │ │ │ │ │ │ ├── counter.ts │ │ │ │ │ │ │ ├── flow_marketplace_interaction_common.ts │ │ │ │ │ │ │ ├── flow_platform_audit_common.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── public_api.ts │ │ │ │ │ │ │ ├── rpc.ts │ │ │ │ │ │ │ └── share.ts │ │ │ │ │ │ ├── knowledge/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── connector.ts │ │ │ │ │ │ │ ├── connector_common.ts │ │ │ │ │ │ │ ├── dataset.ts │ │ │ │ │ │ │ ├── document.ts │ │ │ │ │ │ │ ├── openapi.ts │ │ │ │ │ │ │ ├── opensearch.ts │ │ │ │ │ │ │ ├── resource_common.ts │ │ │ │ │ │ │ ├── review.ts │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ ├── url.ts │ │ │ │ │ │ │ └── volcano_dataset.ts │ │ │ │ │ │ ├── magic_english/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ └── entity.ts │ │ │ │ │ │ ├── market_interaction_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── admin_api.ts │ │ │ │ │ │ │ ├── counter.ts │ │ │ │ │ │ │ ├── flow_marketplace_interaction_common.ts │ │ │ │ │ │ │ ├── flow_platform_audit_common.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── public_api.ts │ │ │ │ │ │ │ ├── rpc.ts │ │ │ │ │ │ │ └── share.ts │ │ │ │ │ │ ├── marketplace_operation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── admin_api.ts │ │ │ │ │ │ │ ├── attr.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── open_api.ts │ │ │ │ │ │ │ ├── product.ts │ │ │ │ │ │ │ ├── product_audit_callback.ts │ │ │ │ │ │ │ ├── product_common.ts │ │ │ │ │ │ │ └── public_api.ts │ │ │ │ │ │ ├── memory/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── connector.ts │ │ │ │ │ │ │ ├── connector_common.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── data_connector.ts │ │ │ │ │ │ │ ├── data_connector_common.ts │ │ │ │ │ │ │ ├── dataset.ts │ │ │ │ │ │ │ ├── document.ts │ │ │ │ │ │ │ ├── kvmemory.ts │ │ │ │ │ │ │ ├── long_term_memory.ts │ │ │ │ │ │ │ ├── memory.ts │ │ │ │ │ │ │ ├── project_memory.ts │ │ │ │ │ │ │ ├── resource_common.ts │ │ │ │ │ │ │ ├── retriever.ts │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ ├── table.ts │ │ │ │ │ │ │ ├── team_space.ts │ │ │ │ │ │ │ ├── volcano_database.ts │ │ │ │ │ │ │ └── web_crawl.ts │ │ │ │ │ │ ├── multimedia_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── api.ts │ │ │ │ │ │ │ ├── bidirectional.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── rpc.ts │ │ │ │ │ │ │ ├── voice_api.ts │ │ │ │ │ │ │ └── voiceprint_api.ts │ │ │ │ │ │ ├── nclc_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_custom_component.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_eino_plugin.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_entity.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_schema_frontend.ts │ │ │ │ │ │ │ ├── flow_devops_nclc_schema_registry.ts │ │ │ │ │ │ │ └── flow_devops_nclc_workflow.ts │ │ │ │ │ │ ├── notice/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── file.ts │ │ │ │ │ │ │ ├── open.ts │ │ │ │ │ │ │ ├── task.ts │ │ │ │ │ │ │ └── template.ts │ │ │ │ │ │ ├── notify_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── api.ts │ │ │ │ │ │ │ └── common.ts │ │ │ │ │ │ ├── ob_data/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── agw_common.ts │ │ │ │ │ │ │ ├── agw_common_param.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── field_filter.ts │ │ │ │ │ │ │ ├── ob_data.ts │ │ │ │ │ │ │ ├── ob_query.ts │ │ │ │ │ │ │ ├── ob_span.ts │ │ │ │ │ │ │ ├── ob_trace.ts │ │ │ │ │ │ │ ├── observe_query.ts │ │ │ │ │ │ │ ├── observe_trace.ts │ │ │ │ │ │ │ ├── performance.ts │ │ │ │ │ │ │ └── queries.ts │ │ │ │ │ │ ├── ob_query_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_insight_indicators.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_metrics.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_query.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry_common.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry_field_filter.ts │ │ │ │ │ │ │ ├── flow_devops_ob_query_telemetry_span.ts │ │ │ │ │ │ │ ├── ob_query.ts │ │ │ │ │ │ │ └── ob_query_trace.ts │ │ │ │ │ │ ├── pat_permission_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ └── openapi.ts │ │ │ │ │ │ ├── permission_authz/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ ├── principal.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ └── role.ts │ │ │ │ │ │ ├── permission_oauth2/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ └── openapi.ts │ │ │ │ │ │ ├── playground_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ ├── bot_open_api.ts │ │ │ │ │ │ │ ├── bot_task_common.ts │ │ │ │ │ │ │ ├── douyin_fenshen.ts │ │ │ │ │ │ │ ├── frontier.ts │ │ │ │ │ │ │ ├── long_term_memory.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── op.ts │ │ │ │ │ │ │ ├── open_api_playground.ts │ │ │ │ │ │ │ ├── playground.ts │ │ │ │ │ │ │ ├── prompt_resource.ts │ │ │ │ │ │ │ ├── punish_center.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── resource_common.ts │ │ │ │ │ │ │ ├── shortcut_command.ts │ │ │ │ │ │ │ ├── task_common.ts │ │ │ │ │ │ │ └── user_delete_base.ts │ │ │ │ │ │ ├── plugin_develop/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ ├── card.ts │ │ │ │ │ │ │ ├── card_resource_common.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ ├── plugin_develop.ts │ │ │ │ │ │ │ ├── plugin_develop_common.ts │ │ │ │ │ │ │ ├── plugin_openapi.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── resource_resource_common.ts │ │ │ │ │ │ │ ├── retriever.ts │ │ │ │ │ │ │ ├── shortcut_command.ts │ │ │ │ │ │ │ └── task_common.ts │ │ │ │ │ │ ├── plugin_impl_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── bill.ts │ │ │ │ │ │ │ ├── chunking.ts │ │ │ │ │ │ │ ├── dataset.ts │ │ │ │ │ │ │ ├── encyclopedia.ts │ │ │ │ │ │ │ ├── file_code.ts │ │ │ │ │ │ │ ├── kvmemory.ts │ │ │ │ │ │ │ ├── life.ts │ │ │ │ │ │ │ ├── musiclm.ts │ │ │ │ │ │ │ ├── news.ts │ │ │ │ │ │ │ ├── table.ts │ │ │ │ │ │ │ ├── task.ts │ │ │ │ │ │ │ ├── toutiao.ts │ │ │ │ │ │ │ ├── twitter.ts │ │ │ │ │ │ │ ├── waimai.ts │ │ │ │ │ │ │ ├── waimai_ExchangeTokenResponse.ts │ │ │ │ │ │ │ ├── waimai_FoodListResponse.ts │ │ │ │ │ │ │ └── waimai_ShopcartOperationResponse.ts │ │ │ │ │ │ ├── plugin_operation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── admin_api.ts │ │ │ │ │ │ │ ├── auth_api.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ └── plugin_common.ts │ │ │ │ │ │ ├── product_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── admin_api.ts │ │ │ │ │ │ │ ├── attr.ts │ │ │ │ │ │ │ ├── benefit_common.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── open_api.ts │ │ │ │ │ │ │ ├── product.ts │ │ │ │ │ │ │ ├── product_audit_callback.ts │ │ │ │ │ │ │ ├── product_common.ts │ │ │ │ │ │ │ └── public_api.ts │ │ │ │ │ │ ├── prompt_admin_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── ability_provider.ts │ │ │ │ │ │ │ ├── copilot.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── model_manage.ts │ │ │ │ │ │ │ └── ocean_cloud_admin_api.ts │ │ │ │ │ │ ├── prompt_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_callback.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_commercial_openapi.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_common.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_debug.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_manage.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_mcp.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_optimize.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_paas.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_platform.ts │ │ │ │ │ │ │ ├── mcp.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ └── release.ts │ │ │ │ │ │ ├── prompt_api2/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_callback.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_commercial_openapi.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_common.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_debug.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_manage.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_mcp.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_optimize.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_paas.ts │ │ │ │ │ │ │ ├── flow_devops_prompt_platform.ts │ │ │ │ │ │ │ ├── mcp.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ └── release.ts │ │ │ │ │ │ ├── prompt_evaluate_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ ├── op.ts │ │ │ │ │ │ │ ├── op_bots.ts │ │ │ │ │ │ │ └── plugin_common.ts │ │ │ │ │ │ ├── prompt_record_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ └── record.ts │ │ │ │ │ │ ├── resource/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── resource_common.ts │ │ │ │ │ │ │ └── task_common.ts │ │ │ │ │ │ ├── social_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_common.ts │ │ │ │ │ │ │ └── society.ts │ │ │ │ │ │ ├── stone_coze_space/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── admin.ts │ │ │ │ │ │ │ ├── contract.ts │ │ │ │ │ │ │ ├── domain_machine_task.ts │ │ │ │ │ │ │ ├── exper_agent.ts │ │ │ │ │ │ │ ├── external_agent.ts │ │ │ │ │ │ │ ├── invite.ts │ │ │ │ │ │ │ ├── landing_page.ts │ │ │ │ │ │ │ ├── market.ts │ │ │ │ │ │ │ ├── mobile.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── task.ts │ │ │ │ │ │ │ └── user.ts │ │ │ │ │ │ ├── stone_cozeloop_observability_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── annotation.ts │ │ │ │ │ │ │ ├── authz.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── coze_loop_observability_openapi.ts │ │ │ │ │ │ │ ├── coze_loop_observability_saas.ts │ │ │ │ │ │ │ ├── coze_loop_observability_trace.ts │ │ │ │ │ │ │ ├── filter.ts │ │ │ │ │ │ │ ├── span.ts │ │ │ │ │ │ │ └── view.ts │ │ │ │ │ │ ├── stone_fornax_evaluation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── authz.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── datasetv2.ts │ │ │ │ │ │ │ ├── datasetv2similarity.ts │ │ │ │ │ │ │ ├── eval_set.ts │ │ │ │ │ │ │ ├── eval_target.ts │ │ │ │ │ │ │ ├── evaluator.ts │ │ │ │ │ │ │ ├── stone_fornax_evaluation_eval_set.ts │ │ │ │ │ │ │ ├── stone_fornax_evaluation_eval_target.ts │ │ │ │ │ │ │ ├── stone_fornax_evaluation_evaluator.ts │ │ │ │ │ │ │ ├── stone_fornax_evaluation_expt.ts │ │ │ │ │ │ │ └── tag.ts │ │ │ │ │ │ ├── trade/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── account.ts │ │ │ │ │ │ │ ├── benefit.ts │ │ │ │ │ │ │ ├── benefit_conf.ts │ │ │ │ │ │ │ ├── bill.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── fulfill.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── order.ts │ │ │ │ │ │ │ ├── pipo.ts │ │ │ │ │ │ │ ├── price_rule.ts │ │ │ │ │ │ │ ├── product.ts │ │ │ │ │ │ │ ├── product_common.ts │ │ │ │ │ │ │ ├── security.ts │ │ │ │ │ │ │ └── subscription.ts │ │ │ │ │ │ ├── trade_operation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── account.ts │ │ │ │ │ │ │ ├── benefit.ts │ │ │ │ │ │ │ ├── benefit_conf.ts │ │ │ │ │ │ │ ├── bill.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── fulfill.ts │ │ │ │ │ │ │ ├── marketplace_common.ts │ │ │ │ │ │ │ ├── order.ts │ │ │ │ │ │ │ ├── pipo.ts │ │ │ │ │ │ │ ├── price_rule.ts │ │ │ │ │ │ │ ├── product.ts │ │ │ │ │ │ │ ├── product_common.ts │ │ │ │ │ │ │ ├── security.ts │ │ │ │ │ │ │ └── subscription.ts │ │ │ │ │ │ ├── ui_builder/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── crawl.ts │ │ │ │ │ │ │ ├── custom_package.ts │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ ├── resource_common.ts │ │ │ │ │ │ │ ├── starry.ts │ │ │ │ │ │ │ ├── task_common.ts │ │ │ │ │ │ │ └── uibuilder.ts │ │ │ │ │ │ ├── workflow_api/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ ├── agent_provider.ts │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ ├── bot_schema.ts │ │ │ │ │ │ │ ├── copilot.ts │ │ │ │ │ │ │ ├── copilot_common.ts │ │ │ │ │ │ │ ├── event.ts │ │ │ │ │ │ │ ├── hook_common.ts │ │ │ │ │ │ │ ├── kctx.ts │ │ │ │ │ │ │ ├── permission.ts │ │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ │ ├── resource_common.ts │ │ │ │ │ │ │ ├── trace.ts │ │ │ │ │ │ │ ├── trigger.ts │ │ │ │ │ │ │ ├── wf_openapi.ts │ │ │ │ │ │ │ └── workflow.ts │ │ │ │ │ │ └── xmemory_api/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ ├── keyword_search.ts │ │ │ │ │ │ ├── memory.ts │ │ │ │ │ │ ├── storage.ts │ │ │ │ │ │ ├── time_capsule.ts │ │ │ │ │ │ ├── user_behavior.ts │ │ │ │ │ │ └── vector_search.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── load-remote-worker/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── setup.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── logger/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── console-client.test.ts │ │ │ │ │ ├── console-disable.test.ts │ │ │ │ │ ├── duration-tracer.test.ts │ │ │ │ │ ├── logger.test.ts │ │ │ │ │ ├── reporter.test.ts │ │ │ │ │ ├── slardar.test.ts │ │ │ │ │ └── utils.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── console-disable.ts │ │ │ │ │ ├── error-boundary/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── logger/ │ │ │ │ │ │ ├── console-client.ts │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ ├── core.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── log-options-helper.ts │ │ │ │ │ │ └── logger.ts │ │ │ │ │ ├── reporter/ │ │ │ │ │ │ ├── duration-tracer.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── slardar/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── runtime.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── types/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── pdfjs-shadow/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── generate-assets.test.ts │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── init-pdfjs-dist.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── scripts/ │ │ │ │ │ ├── build-assets.ts │ │ │ │ │ ├── build-worker.ts │ │ │ │ │ ├── build.ts │ │ │ │ │ ├── const.ts │ │ │ │ │ └── tsconfig.json │ │ │ │ ├── src/ │ │ │ │ │ ├── generate-assets.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── init-pdfjs-dist.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── report-events/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── bot-detail-event.ts │ │ │ │ │ ├── chat-room-event.ts │ │ │ │ │ ├── common-error.ts │ │ │ │ │ ├── cookie-banner.ts │ │ │ │ │ ├── custom-platform-event.ts │ │ │ │ │ ├── database-event.ts │ │ │ │ │ ├── editor-autosave.ts │ │ │ │ │ ├── events.ts │ │ │ │ │ ├── explore-event.ts │ │ │ │ │ ├── feature-event.ts │ │ │ │ │ ├── filebox-event.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── interaction-event.ts │ │ │ │ │ ├── invite-event.ts │ │ │ │ │ ├── knowledge-event.ts │ │ │ │ │ ├── multi-agent.ts │ │ │ │ │ ├── plugin-event.ts │ │ │ │ │ ├── publish-event.ts │ │ │ │ │ ├── report-event.ts │ │ │ │ │ ├── social-scene-event.ts │ │ │ │ │ ├── template-event.ts │ │ │ │ │ ├── variable-event.ts │ │ │ │ │ └── workflow-event.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── report-tti/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ └── custom-perf-metric.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── custom-perf-metric.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── resources/ │ │ │ │ └── studio-i18n-resource/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── locale-data.d.ts │ │ │ │ │ └── locales/ │ │ │ │ │ ├── en.json │ │ │ │ │ └── zh-CN.json │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── responsive-kit/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── layout/ │ │ │ │ │ │ ├── ResponsiveBox.test.tsx │ │ │ │ │ │ └── ResponsiveList.test.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── media-query.test.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── token-map-to-str.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── layout/ │ │ │ │ │ │ ├── ResponsiveBox.tsx │ │ │ │ │ │ ├── ResponsiveList.tsx │ │ │ │ │ │ └── responsive.module.less │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── media-query.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── token-map-to-str.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── slardar-adapter/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── slardar-interface/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── tea/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── tea-adapter/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── tea-interface/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── coze-pro/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── events.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── playground/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── product/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── utils/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── setup.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── url/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── parse-hash-or-query.test.ts │ │ │ │ │ └── parse-hash-or-query.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── web-context/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── const/ │ │ │ │ │ ├── app.test.ts │ │ │ │ │ ├── community.test.ts │ │ │ │ │ └── custom.test.ts │ │ │ │ ├── event-bus.test.ts │ │ │ │ ├── global-var.test.ts │ │ │ │ ├── index.test.ts │ │ │ │ └── location.test.ts │ │ │ ├── config/ │ │ │ │ ├── rush-project.json │ │ │ │ └── rushx-config.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── const/ │ │ │ │ │ ├── app.ts │ │ │ │ │ ├── community.ts │ │ │ │ │ └── custom.ts │ │ │ │ ├── event-bus.ts │ │ │ │ ├── global-var.ts │ │ │ │ ├── index.ts │ │ │ │ └── location.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── common/ │ │ │ ├── assets/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── style/ │ │ │ │ │ ├── common.less │ │ │ │ │ ├── image-colors.less │ │ │ │ │ ├── index.less │ │ │ │ │ ├── mixins.less │ │ │ │ │ ├── tailwind.less │ │ │ │ │ └── variables.less │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── auth/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── project/ │ │ │ │ │ │ ├── calc-permission.test.ts │ │ │ │ │ │ ├── constants.test.ts │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ ├── store.test.ts │ │ │ │ │ │ ├── use-destory-project.test.ts │ │ │ │ │ │ ├── use-project-auth.test.ts │ │ │ │ │ │ └── use-project-role.test.ts │ │ │ │ │ └── space/ │ │ │ │ │ ├── calc-permission.test.ts │ │ │ │ │ ├── constants.test.ts │ │ │ │ │ ├── index.test.ts │ │ │ │ │ ├── store.test.ts │ │ │ │ │ ├── use-destory-space.test.ts │ │ │ │ │ ├── use-space-auth.test.ts │ │ │ │ │ └── use-space-role.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── project/ │ │ │ │ │ │ ├── calc-permission.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ ├── use-destory-project.ts │ │ │ │ │ │ ├── use-project-auth.ts │ │ │ │ │ │ └── use-project-role.ts │ │ │ │ │ ├── space/ │ │ │ │ │ │ ├── calc-permission.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ ├── use-destory-space.ts │ │ │ │ │ │ ├── use-space-auth.ts │ │ │ │ │ │ └── use-space-role.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── auth-adapter/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── project/ │ │ │ │ │ │ └── use-init-project-role.test.ts │ │ │ │ │ └── space/ │ │ │ │ │ └── use-init-space-role.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── project/ │ │ │ │ │ │ └── use-init-project-role.ts │ │ │ │ │ ├── space/ │ │ │ │ │ │ └── use-init-space-role.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── biz-components/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── async-setting/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── banner/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── coachmark/ │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── step-card/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── tooltip/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── parameters/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── custom-tree-node/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── auto-size-tooltip/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── line-component/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── param-description/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── param-name/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── param-operator/ │ │ │ │ │ │ │ │ │ │ ├── add-operation.tsx │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── param-type/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── popup-container/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── workflow-sl-input/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── workflow-sl-textarea/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ └── header/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ ├── config-context.ts │ │ │ │ │ │ │ └── node-context.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-config.ts │ │ │ │ │ │ │ ├── use-error-message.ts │ │ │ │ │ │ │ └── use-node.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── parameters.module.less │ │ │ │ │ │ ├── parameters.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── convert-map-to-options.ts │ │ │ │ │ │ ├── resolve-path.ts │ │ │ │ │ │ ├── traverse.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── picture-upload/ │ │ │ │ │ │ ├── auto-generate/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── picture-upload.tsx │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── custom-upload-request.ts │ │ │ │ │ │ └── get-base64.ts │ │ │ │ │ ├── select-intelligence-modal/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── intelligence-item.tsx │ │ │ │ │ │ │ └── intelligence-list.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ ├── use-intelligence-search.ts │ │ │ │ │ │ │ └── use-modal.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── services/ │ │ │ │ │ │ └── use-case-services/ │ │ │ │ │ │ ├── highlight-text.service.tsx │ │ │ │ │ │ └── intelligence-search.service.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── update-user-avatar/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── stories/ │ │ │ │ │ └── parameters/ │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ └── valid-value.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── chat-area/ │ │ │ │ ├── chat-answer-action/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ ├── get-is-last-group.test.ts │ │ │ │ │ │ ├── get-is-pushed-message.test.ts │ │ │ │ │ │ ├── get-show-feedback.test.ts │ │ │ │ │ │ └── get-show-regenerate.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── action-bar-container/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── action-bar-hover-container/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── bot-trigger-config-button-group/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── copy-text-message/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── delete-message/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── divider/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── frown-upon/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── more-operations/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── quote-message/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── regenerate-message/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── thumbs-up/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── utils-methods/ │ │ │ │ │ │ │ └── hooks.ts │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ ├── main/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── preference/ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── report-message-feedback/ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-dispatch-mouse-leave.ts │ │ │ │ │ │ │ ├── use-get-bot-participant-info.ts │ │ │ │ │ │ │ ├── use-init-store-set.ts │ │ │ │ │ │ │ ├── use-quote-plugin.ts │ │ │ │ │ │ │ ├── use-report-message-feedback.ts │ │ │ │ │ │ │ ├── use-tooltip-trigger.ts │ │ │ │ │ │ │ └── use-update-home-trigger-config.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── report-events/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ └── favorite-bot-trigger-config.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── get-is-last-group.ts │ │ │ │ │ │ ├── get-is-pushed-message.ts │ │ │ │ │ │ ├── get-show-bot-trigger-button.ts │ │ │ │ │ │ ├── get-show-feedback.ts │ │ │ │ │ │ └── get-show-regenerate.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.dev.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── chat-area/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── get-receive-message-box-theme.test.ts │ │ │ │ │ │ │ └── get-thinking-placeholder-theme.test.ts │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ └── use-background-scroll.test.ts │ │ │ │ │ │ ├── messages.test.ts │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ └── load-more/ │ │ │ │ │ │ │ └── message-index-helper.test.ts │ │ │ │ │ │ ├── store-action-implement/ │ │ │ │ │ │ │ └── message/ │ │ │ │ │ │ │ └── get-message-index-range.test.ts │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── dom/ │ │ │ │ │ │ │ │ └── computed-style-to-number.test.ts │ │ │ │ │ │ │ ├── find-respond-record.test.ts │ │ │ │ │ │ │ ├── get-is-group-chat-active.test.ts │ │ │ │ │ │ │ ├── get-responding.test.ts │ │ │ │ │ │ │ ├── is-file-count-exceeds-limit.test.ts │ │ │ │ │ │ │ ├── message.test.ts │ │ │ │ │ │ │ └── proxy-freeze.test.ts │ │ │ │ │ │ └── waiting.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── chat-area-main/ │ │ │ │ │ │ │ ├── index.modules.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── absolute-row/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── batch-upload-file-list/ │ │ │ │ │ │ │ │ ├── common-file/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── mask.tsx │ │ │ │ │ │ │ │ ├── delete-file-button/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── file-item.tsx │ │ │ │ │ │ │ │ ├── image-file/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── mask.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── chat-background/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── chat-input/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── chat-input-integration/ │ │ │ │ │ │ │ │ ├── chat-input-absolute-slot.tsx │ │ │ │ │ │ │ │ ├── chat-iput-integration-layout-ui.tsx │ │ │ │ │ │ │ │ ├── chat-iput-integration.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── chat-input-mask-layer/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── content-box/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── context-divider/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── context-divider-with-onboarding/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── drag-upload-area/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── fuction-call-message/ │ │ │ │ │ │ │ │ ├── function-call-content/ │ │ │ │ │ │ │ │ │ ├── api-tag/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── collapse-panel-header.tsx │ │ │ │ │ │ │ │ │ ├── collapse-panel-with-header.tsx │ │ │ │ │ │ │ │ │ ├── function-call-message.tsx │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── knowledge-recall/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── process-content/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── invisible-uikit-event-controller/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── load-more/ │ │ │ │ │ │ │ │ ├── load-more.tsx │ │ │ │ │ │ │ │ ├── load-retry.module.less │ │ │ │ │ │ │ │ └── load-retry.tsx │ │ │ │ │ │ │ ├── message-box/ │ │ │ │ │ │ │ │ ├── actions/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── function-call-content/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── reveal-trigger.tsx │ │ │ │ │ │ │ ├── message-group/ │ │ │ │ │ │ │ │ ├── body/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── wrapper/ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── message-group-list/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── onborading/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── onborading-message/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── plugin-async-quote/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── preview/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── receive-message-box/ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── send-message-box/ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── suggestion/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── to-newest-tip/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── wait-generating/ │ │ │ │ │ │ │ │ ├── index.modules.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── wrapper/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ ├── agent.ts │ │ │ │ │ │ │ ├── content.ts │ │ │ │ │ │ │ ├── file.ts │ │ │ │ │ │ │ ├── message.ts │ │ │ │ │ │ │ └── scroll-list.ts │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ ├── after-init-service/ │ │ │ │ │ │ │ │ ├── after-init-service-context.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── chat-action-lock/ │ │ │ │ │ │ │ │ ├── chat-action-lock-context.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── chat-area-context/ │ │ │ │ │ │ │ │ ├── chat-area-callback.ts │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── default-props.ts │ │ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ │ │ └── generate-chat-core-props.ts │ │ │ │ │ │ │ │ ├── provider-new.tsx │ │ │ │ │ │ │ │ ├── provider.tsx │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── chat-area-custom-component-context.tsx │ │ │ │ │ │ │ ├── chat-input-layout/ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ │ │ ├── chat-input-props/ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ │ │ ├── copywriting/ │ │ │ │ │ │ │ │ ├── copywriting-context.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── drag-upload/ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ │ │ ├── load-more/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── load-more-context.tsx │ │ │ │ │ │ │ ├── message-box/ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ │ │ ├── preference/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── preference-context.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── scroll-view-context.tsx │ │ │ │ │ │ │ ├── scroll-view-size/ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── store-set/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── upload-controller-context/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ │ ├── chat-action-lock/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── load-more/ │ │ │ │ │ │ │ │ │ ├── get-insert-messages.ts │ │ │ │ │ │ │ │ │ ├── get-listen-process-chat-state-change.ts │ │ │ │ │ │ │ │ │ ├── get-load-request.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── listen-message-length-change.ts │ │ │ │ │ │ │ │ │ └── use-prepare-load-more.ts │ │ │ │ │ │ │ │ ├── use-chat-area-context.ts │ │ │ │ │ │ │ │ ├── use-chat-area-custom-component.ts │ │ │ │ │ │ │ │ ├── use-chat-area-waiting-state.ts │ │ │ │ │ │ │ │ ├── use-chat-area.ts │ │ │ │ │ │ │ │ ├── use-chat-core.ts │ │ │ │ │ │ │ │ ├── use-conversation-id.ts │ │ │ │ │ │ │ │ ├── use-create-chat-area-store.ts │ │ │ │ │ │ │ │ ├── use-create-plugin-store.ts │ │ │ │ │ │ │ │ ├── use-get-scroll-view.ts │ │ │ │ │ │ │ │ ├── use-init-status.ts │ │ │ │ │ │ │ │ └── use-method-common-deps.ts │ │ │ │ │ │ │ ├── controller/ │ │ │ │ │ │ │ │ └── use-chat-area-controller.ts │ │ │ │ │ │ │ ├── dom/ │ │ │ │ │ │ │ │ └── use-compute-scroll-view-size.ts │ │ │ │ │ │ │ ├── file/ │ │ │ │ │ │ │ │ ├── use-delete-file.ts │ │ │ │ │ │ │ │ ├── use-drag-upload.ts │ │ │ │ │ │ │ │ ├── use-paste-upload.ts │ │ │ │ │ │ │ │ ├── use-upload.ts │ │ │ │ │ │ │ │ └── use-validate-file-list.ts │ │ │ │ │ │ │ ├── init/ │ │ │ │ │ │ │ │ ├── use-auto-update-user-info.ts │ │ │ │ │ │ │ │ ├── use-create-and-update-init-service.ts │ │ │ │ │ │ │ │ └── use-init-chat-area.ts │ │ │ │ │ │ │ ├── messages/ │ │ │ │ │ │ │ │ ├── use-anwer-message-helper.ts │ │ │ │ │ │ │ │ ├── use-clear-context.ts │ │ │ │ │ │ │ │ ├── use-clear-history.ts │ │ │ │ │ │ │ │ ├── use-delete-message-group.ts │ │ │ │ │ │ │ │ ├── use-is-clear-message-history-lock.ts │ │ │ │ │ │ │ │ ├── use-is-render-answer-action.ts │ │ │ │ │ │ │ │ ├── use-latest-section-message.ts │ │ │ │ │ │ │ │ ├── use-mark-message-read.ts │ │ │ │ │ │ │ │ ├── use-reset-to-newest-tip.ts │ │ │ │ │ │ │ │ ├── use-send-message/ │ │ │ │ │ │ │ │ │ ├── file-message.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── new-message.ts │ │ │ │ │ │ │ │ │ ├── regenerate.ts │ │ │ │ │ │ │ │ │ └── text-message.ts │ │ │ │ │ │ │ │ └── use-stop-responding.ts │ │ │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ │ │ └── use-get-chatcore-plugin.ts │ │ │ │ │ │ │ ├── public/ │ │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ │ ├── use-bot-info.ts │ │ │ │ │ │ │ │ ├── use-delete-message-group.ts │ │ │ │ │ │ │ │ ├── use-file.ts │ │ │ │ │ │ │ │ ├── use-get-message-group.ts │ │ │ │ │ │ │ │ ├── use-get-messages.ts │ │ │ │ │ │ │ │ ├── use-has-message-list.ts │ │ │ │ │ │ │ │ ├── use-is-clear-history-lock.ts │ │ │ │ │ │ │ │ ├── use-is-delete-message-lock.ts │ │ │ │ │ │ │ │ ├── use-is-onboarding-empty.ts │ │ │ │ │ │ │ │ ├── use-is-send-message-lock.ts │ │ │ │ │ │ │ │ ├── use-latest-section-id.ts │ │ │ │ │ │ │ │ ├── use-limited-chat-core.ts │ │ │ │ │ │ │ │ ├── use-manual-init.ts │ │ │ │ │ │ │ │ ├── use-message-index.ts │ │ │ │ │ │ │ │ ├── use-messages-overview.ts │ │ │ │ │ │ │ │ ├── use-onboarding-center-offset.ts │ │ │ │ │ │ │ │ ├── use-select-onboarding.ts │ │ │ │ │ │ │ │ ├── use-send-message.ts │ │ │ │ │ │ │ │ ├── use-show-bgackground.ts │ │ │ │ │ │ │ │ ├── use-subscribe-waiting.ts │ │ │ │ │ │ │ │ ├── use-unselect-all.ts │ │ │ │ │ │ │ │ └── use-waiting.ts │ │ │ │ │ │ │ └── uikit/ │ │ │ │ │ │ │ ├── use-background-scroll.ts │ │ │ │ │ │ │ ├── use-builtin-button-status.ts │ │ │ │ │ │ │ ├── use-display-user-info.ts │ │ │ │ │ │ │ ├── use-event-callbacks.ts │ │ │ │ │ │ │ └── use-ui-kit-message-image-auto-size-config.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ │ ├── life-cycle-context.ts │ │ │ │ │ │ │ │ ├── plugin-name.ts │ │ │ │ │ │ │ │ └── plugin.ts │ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ │ └── plugin-scope-context.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── limit-selector/ │ │ │ │ │ │ │ │ │ ├── use-limit-message-meta-selector.ts │ │ │ │ │ │ │ │ │ ├── use-limit-message-selector.ts │ │ │ │ │ │ │ │ │ ├── use-limit-onboarding-selector.ts │ │ │ │ │ │ │ │ │ ├── use-limit-selection-selector.ts │ │ │ │ │ │ │ │ │ └── use-limit-waiting-selector.ts │ │ │ │ │ │ │ │ ├── use-limit-selector.ts │ │ │ │ │ │ │ │ ├── use-plugin-custom-components.ts │ │ │ │ │ │ │ │ ├── use-plugin-list.ts │ │ │ │ │ │ │ │ ├── use-plugin-public-methods.ts │ │ │ │ │ │ │ │ └── use-plugin.ts │ │ │ │ │ │ │ ├── life-cycle/ │ │ │ │ │ │ │ │ ├── app-life-cycle/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── command-life-cycle/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── create-plugin-benchmark.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── message-life-cycle/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ └── render-life-cycle/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── plugin-class/ │ │ │ │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ └── service/ │ │ │ │ │ │ │ │ ├── app-life-cycle-service.ts │ │ │ │ │ │ │ │ ├── command-life-cycle-service.ts │ │ │ │ │ │ │ │ ├── life-cycle-service.ts │ │ │ │ │ │ │ │ ├── message-life-cycle-service.ts │ │ │ │ │ │ │ │ └── render-life-cycle-service.ts │ │ │ │ │ │ │ ├── plugin-context/ │ │ │ │ │ │ │ │ ├── in-life-cycle-context/ │ │ │ │ │ │ │ │ │ └── after-create-store-set/ │ │ │ │ │ │ │ │ │ └── create-get-message-index-store-methods.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── methods/ │ │ │ │ │ │ │ │ │ └── create-message-methods.ts │ │ │ │ │ │ │ │ ├── store-instant-values/ │ │ │ │ │ │ │ │ │ ├── create-get-global-init-store-instant-values.ts │ │ │ │ │ │ │ │ │ ├── create-get-message-meta-store-instant-values.ts │ │ │ │ │ │ │ │ │ ├── create-get-messages-store-instant-values.ts │ │ │ │ │ │ │ │ │ ├── create-section-id-instant-values.ts │ │ │ │ │ │ │ │ │ └── create-waiting-store.ts │ │ │ │ │ │ │ │ ├── store-readonly-methods/ │ │ │ │ │ │ │ │ │ ├── batch-upload-store.ts │ │ │ │ │ │ │ │ │ ├── bot-info-store.ts │ │ │ │ │ │ │ │ │ ├── message-meta-store.ts │ │ │ │ │ │ │ │ │ └── messages-store.ts │ │ │ │ │ │ │ │ ├── store-writeable-methods/ │ │ │ │ │ │ │ │ │ ├── create-waiting-store.ts │ │ │ │ │ │ │ │ │ ├── message-index-store.ts │ │ │ │ │ │ │ │ │ ├── messags-store.ts │ │ │ │ │ │ │ │ │ └── onbaording-store.ts │ │ │ │ │ │ │ │ ├── subscribes/ │ │ │ │ │ │ │ │ │ ├── create-subscribe-global-init-state.ts │ │ │ │ │ │ │ │ │ ├── create-subscribe-message-meta.ts │ │ │ │ │ │ │ │ │ ├── create-subscribe-message.ts │ │ │ │ │ │ │ │ │ ├── create-subscribe-onboarding.ts │ │ │ │ │ │ │ │ │ ├── create-subscribe-selection.ts │ │ │ │ │ │ │ │ │ └── create-subscribe-waiting.ts │ │ │ │ │ │ │ │ └── writeable-methods/ │ │ │ │ │ │ │ │ ├── create-message-methods.ts │ │ │ │ │ │ │ │ └── create-section-id-methods.ts │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── plugin-class/ │ │ │ │ │ │ │ │ │ ├── app-life-cycle.ts │ │ │ │ │ │ │ │ │ ├── chat-area-plugin-context.ts │ │ │ │ │ │ │ │ │ ├── command-life-cycle.ts │ │ │ │ │ │ │ │ │ ├── life-cycle.ts │ │ │ │ │ │ │ │ │ ├── message-life-cycle.ts │ │ │ │ │ │ │ │ │ ├── render-life-cycle.ts │ │ │ │ │ │ │ │ │ └── selector.ts │ │ │ │ │ │ │ │ ├── plugin-component/ │ │ │ │ │ │ │ │ │ ├── content-box.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── message-box.ts │ │ │ │ │ │ │ │ ├── register-plugin.ts │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ └── create-life-cycle-service.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── create-custom-component.ts │ │ │ │ │ │ │ ├── create-life-cycle-service.ts │ │ │ │ │ │ │ ├── is-readonly-plugin.ts │ │ │ │ │ │ │ └── is-writeable-plugin.ts │ │ │ │ │ │ ├── report-events/ │ │ │ │ │ │ │ ├── get-report-error.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── report-event-names.ts │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ ├── chat-action-lock/ │ │ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ │ │ └── action-lock-map.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── extend-data-lifecycle/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── fix-message/ │ │ │ │ │ │ │ │ ├── fix-history-message-list.ts │ │ │ │ │ │ │ │ ├── fix-image-message.ts │ │ │ │ │ │ │ │ └── fix-message-struct.ts │ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ │ └── parse-error-info.ts │ │ │ │ │ │ │ ├── ignore-message/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── init-service/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── init-store.ts │ │ │ │ │ │ │ │ └── pre-init-store.ts │ │ │ │ │ │ │ ├── listen-message-update.ts │ │ │ │ │ │ │ ├── load-more/ │ │ │ │ │ │ │ │ ├── command/ │ │ │ │ │ │ │ │ │ ├── load-by-scroll.ts │ │ │ │ │ │ │ │ │ ├── load-eagerly.ts │ │ │ │ │ │ │ │ │ ├── load-passively.ts │ │ │ │ │ │ │ │ │ ├── load-silently.ts │ │ │ │ │ │ │ │ │ ├── on-clear-history-effect.ts │ │ │ │ │ │ │ │ │ └── on-initial-load-effect.ts │ │ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ │ │ ├── load-lock-error-helper.ts │ │ │ │ │ │ │ │ │ └── message-index-helper.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── load-command.ts │ │ │ │ │ │ │ │ └── load-more-env-tools.ts │ │ │ │ │ │ │ ├── mark-read/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── send-message/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── upload-controller.ts │ │ │ │ │ │ │ └── upload-plugin.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ ├── action-implement/ │ │ │ │ │ │ │ │ ├── helper-type.ts │ │ │ │ │ │ │ │ └── messages/ │ │ │ │ │ │ │ │ ├── get-message-index-range.ts │ │ │ │ │ │ │ │ └── update-message.ts │ │ │ │ │ │ │ ├── audio-ui.ts │ │ │ │ │ │ │ ├── batch-upload-file.ts │ │ │ │ │ │ │ ├── chat-action.ts │ │ │ │ │ │ │ ├── file.ts │ │ │ │ │ │ │ ├── global-init.ts │ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ │ ├── add-answer-location.ts │ │ │ │ │ │ │ │ ├── add-message-deduplicate.ts │ │ │ │ │ │ │ │ ├── add-verbose-info.ts │ │ │ │ │ │ │ │ ├── get-bot-state.ts │ │ │ │ │ │ │ │ ├── get-default-distribute-merber-set-type.ts │ │ │ │ │ │ │ │ ├── get-latest-message-group-context-divider.ts │ │ │ │ │ │ │ │ ├── get-meta-by-message.ts │ │ │ │ │ │ │ │ ├── group-message-list.ts │ │ │ │ │ │ │ │ ├── hide-avatar.ts │ │ │ │ │ │ │ │ ├── mark-group-context-divider.ts │ │ │ │ │ │ │ │ ├── mutate-meta-by-groups.ts │ │ │ │ │ │ │ │ ├── scan-meta-suggestions.ts │ │ │ │ │ │ │ │ └── split-section.ts │ │ │ │ │ │ │ ├── message-index.ts │ │ │ │ │ │ │ ├── message-meta.ts │ │ │ │ │ │ │ ├── messages.ts │ │ │ │ │ │ │ ├── onboarding.ts │ │ │ │ │ │ │ ├── plugins.ts │ │ │ │ │ │ │ ├── section-id.ts │ │ │ │ │ │ │ ├── selection.ts │ │ │ │ │ │ │ ├── sender-info.ts │ │ │ │ │ │ │ ├── suggestions.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── waiting.ts │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ └── uikit.less │ │ │ │ │ │ ├── typing/ │ │ │ │ │ │ │ ├── module.d.ts │ │ │ │ │ │ │ └── util-types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── add-file-type.ts │ │ │ │ │ │ ├── array.ts │ │ │ │ │ │ ├── batch-file-upload.ts │ │ │ │ │ │ ├── build-in-process-sent-message.ts │ │ │ │ │ │ ├── builtin-asr-process.ts │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── get-receive-message-box-theme.ts │ │ │ │ │ │ │ └── get-thinking-placeholder-theme.ts │ │ │ │ │ │ ├── dom/ │ │ │ │ │ │ │ └── computed-style-to-number.ts │ │ │ │ │ │ ├── event-bus/ │ │ │ │ │ │ │ └── uikit-event-bus.ts │ │ │ │ │ │ ├── exhaustive-check.ts │ │ │ │ │ │ ├── fake-chat-core.ts │ │ │ │ │ │ ├── file-manage.ts │ │ │ │ │ │ ├── fucntion-call/ │ │ │ │ │ │ │ ├── function-message-unit.ts │ │ │ │ │ │ │ ├── get-is-function-calling.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── function-call-message-type.ts │ │ │ │ │ │ ├── get-is-policy-exception.ts │ │ │ │ │ │ ├── get-new-conversation-dom-id.ts │ │ │ │ │ │ ├── get-regenerate-message.ts │ │ │ │ │ │ ├── init-plugins.ts │ │ │ │ │ │ ├── is-file-count-exceeds-limit.ts │ │ │ │ │ │ ├── is-valid-context.ts │ │ │ │ │ │ ├── local-log.ts │ │ │ │ │ │ ├── message-group/ │ │ │ │ │ │ │ ├── flat-message-group-list.ts │ │ │ │ │ │ │ ├── get-is-group-chat-active.ts │ │ │ │ │ │ │ ├── get-message-by-group.ts │ │ │ │ │ │ │ ├── message-group-exhaustive-check.ts │ │ │ │ │ │ │ ├── message-group.ts │ │ │ │ │ │ │ └── regenerate-message.ts │ │ │ │ │ │ ├── message-security-strategy.ts │ │ │ │ │ │ ├── message.ts │ │ │ │ │ │ ├── modify-file-message-percent-and-status.ts │ │ │ │ │ │ ├── proxy-freeze.ts │ │ │ │ │ │ ├── resume-message.ts │ │ │ │ │ │ ├── safe-json-parse.ts │ │ │ │ │ │ ├── stop-responding.ts │ │ │ │ │ │ ├── suggestions.ts │ │ │ │ │ │ ├── upload.ts │ │ │ │ │ │ └── verbose.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── chat-area-plugin-reasoning/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── custom-components/ │ │ │ │ │ │ │ └── message-inner-addon-bottom/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ └── life-cycle/ │ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ │ ├── command.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── message.ts │ │ │ │ │ │ │ └── render.ts │ │ │ │ │ │ └── types/ │ │ │ │ │ │ └── biz-context.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── chat-core/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __mocks__/ │ │ │ │ │ │ └── @slardar/ │ │ │ │ │ │ └── web/ │ │ │ │ │ │ └── client.ts │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── channel/ │ │ │ │ │ │ │ └── http-chunk/ │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ │ ├── chat-sdk/ │ │ │ │ │ │ │ ├── events/ │ │ │ │ │ │ │ │ └── slardar-events.test.ts │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ └── services/ │ │ │ │ │ │ │ ├── create-message-service.test.ts │ │ │ │ │ │ │ ├── http-chunk-service.test.ts │ │ │ │ │ │ │ ├── message-manager-service.test.ts │ │ │ │ │ │ │ ├── plugins-service.test.ts │ │ │ │ │ │ │ └── send-message-service.test.ts │ │ │ │ │ │ ├── chunk-process.test.ts │ │ │ │ │ │ ├── message/ │ │ │ │ │ │ │ ├── chunk-processor.test.ts │ │ │ │ │ │ │ └── message-manager.test.ts │ │ │ │ │ │ ├── request-manager/ │ │ │ │ │ │ │ ├── api-error.test.ts │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ └── request-config.test.ts │ │ │ │ │ │ └── setup.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ │ └── rushx-config.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── channel/ │ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ │ └── http-chunk/ │ │ │ │ │ │ │ ├── events/ │ │ │ │ │ │ │ │ ├── http-chunk-events.ts │ │ │ │ │ │ │ │ └── slardar-events.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── chat-sdk/ │ │ │ │ │ │ │ ├── events/ │ │ │ │ │ │ │ │ ├── sdk-events.ts │ │ │ │ │ │ │ │ └── slardar-events.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ │ ├── create-message-service.ts │ │ │ │ │ │ │ │ ├── http-chunk-service.ts │ │ │ │ │ │ │ │ ├── message-manager-service.ts │ │ │ │ │ │ │ │ ├── plugins-service.ts │ │ │ │ │ │ │ │ └── send-message-service.ts │ │ │ │ │ │ │ └── types/ │ │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ │ └── services/ │ │ │ │ │ │ │ └── message-manager-service.ts │ │ │ │ │ │ ├── credential/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── token-manager.ts │ │ │ │ │ │ ├── custom-error/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── message/ │ │ │ │ │ │ │ ├── chunk-processor.ts │ │ │ │ │ │ │ ├── events/ │ │ │ │ │ │ │ │ └── slardar-events.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── message-manager.ts │ │ │ │ │ │ │ ├── presend-local-message/ │ │ │ │ │ │ │ │ ├── presend-local-message-events-manager.ts │ │ │ │ │ │ │ │ ├── presend-local-message-factory.ts │ │ │ │ │ │ │ │ └── presend-local-message.ts │ │ │ │ │ │ │ └── types/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── message-manager.ts │ │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ │ └── upload-plugin/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── types/ │ │ │ │ │ │ │ └── plugin-upload.ts │ │ │ │ │ │ ├── report-log/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── log-options-helper.ts │ │ │ │ │ │ │ └── slardar/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── request-manager/ │ │ │ │ │ │ │ ├── api-error.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── request-config.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── shared/ │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── data-handler.ts │ │ │ │ │ │ │ ├── env.ts │ │ │ │ │ │ │ └── safe-json-parse.ts │ │ │ │ │ │ └── typing/ │ │ │ │ │ │ └── type.d.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── chat-uikit/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.ts │ │ │ │ │ │ ├── main.ts.back1 │ │ │ │ │ │ └── preview.ts │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-observe-card-container.test.tsx │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── file-name.test.ts │ │ │ │ │ │ └── get-image-display-attribute.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── chat/ │ │ │ │ │ │ │ │ ├── audio-record/ │ │ │ │ │ │ │ │ │ ├── audio-static-toast/ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── variant.ts │ │ │ │ │ │ │ │ │ ├── audio-wave/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── chat-input/ │ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ │ ├── clear-context-button/ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── clear-history-button/ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── more-button/ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ └── send-button/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── use-text-area.ts │ │ │ │ │ │ │ │ ├── chat-upload/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── context-divider/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── on-boarding/ │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── variants.ts │ │ │ │ │ │ │ │ ├── stop-respond-button/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── thinking-placeholder/ │ │ │ │ │ │ │ │ │ ├── animation.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ │ └── variant.ts │ │ │ │ │ │ │ │ └── with-rule-img-background/ │ │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ └── use-get-background-info.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── button/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── content-box/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── coze-md-box/ │ │ │ │ │ │ │ │ │ └── lazy.tsx │ │ │ │ │ │ │ │ ├── full-width-aligner/ │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── message-box/ │ │ │ │ │ │ │ │ │ ├── default-avatar-wrap.tsx │ │ │ │ │ │ │ │ │ ├── fallback.tsx │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── message-box-wrap.tsx │ │ │ │ │ │ │ │ │ ├── message-box.less │ │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ │ │ └── variants.ts │ │ │ │ │ │ │ │ ├── message-content-time/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── to-newest-tip/ │ │ │ │ │ │ │ │ │ ├── animation.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ │ ├── tooltips/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── user-label/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── contents/ │ │ │ │ │ │ │ │ ├── file-content/ │ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ │ └── FileCard/ │ │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ │ ├── file-card.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ │ │ └── variants.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── image-content/ │ │ │ │ │ │ │ │ │ ├── image-box.tsx │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── multimodal-content/ │ │ │ │ │ │ │ │ │ ├── file-item-list.tsx │ │ │ │ │ │ │ │ │ ├── image-item-list.tsx │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── text-item-list.tsx │ │ │ │ │ │ │ │ ├── plain-text-content/ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── simple-function-content/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ │ ├── single-image-content/ │ │ │ │ │ │ │ │ │ ├── auto-size.tsx │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── single-image-content-ui.tsx │ │ │ │ │ │ │ │ ├── suggestion-content/ │ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ │ └── suggestion-item/ │ │ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── variants.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── text-content/ │ │ │ │ │ │ │ │ ├── index.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── md-box-slots/ │ │ │ │ │ │ │ ├── coze-image.tsx │ │ │ │ │ │ │ └── link/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ ├── content-box.ts │ │ │ │ │ │ │ ├── grab.ts │ │ │ │ │ │ │ └── message-box.ts │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ ├── custom-components/ │ │ │ │ │ │ │ │ ├── custom-components-context.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── local-cache/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── local-cache-context.tsx │ │ │ │ │ │ │ ├── message-box/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── onboarding/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-audio-record-interaction.ts │ │ │ │ │ │ │ ├── use-event-callback.ts │ │ │ │ │ │ │ ├── use-observe-card-container.ts │ │ │ │ │ │ │ └── use-state-with-local-cache.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── main.css │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── convert-bytes.ts │ │ │ │ │ │ │ ├── date-time.ts │ │ │ │ │ │ │ ├── default-enable.ts │ │ │ │ │ │ │ ├── file-name.ts │ │ │ │ │ │ │ ├── image/ │ │ │ │ │ │ │ │ └── get-image-display-attribute.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── is-apple-webkit.ts │ │ │ │ │ │ │ ├── is-file.ts │ │ │ │ │ │ │ ├── is-function-call.ts │ │ │ │ │ │ │ ├── is-image.ts │ │ │ │ │ │ │ ├── is-suggestion.ts │ │ │ │ │ │ │ ├── is-text.ts │ │ │ │ │ │ │ ├── local-cache/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── make-fake-image-message.ts │ │ │ │ │ │ │ ├── multimodal.ts │ │ │ │ │ │ │ ├── platform.ts │ │ │ │ │ │ │ ├── report-event.ts │ │ │ │ │ │ │ └── safe-json-parse.ts │ │ │ │ │ │ └── variants/ │ │ │ │ │ │ └── message-box-inner-variants.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── chat/ │ │ │ │ │ │ │ └── ChatInput.stories.tsx │ │ │ │ │ │ ├── contents/ │ │ │ │ │ │ │ ├── CardContent.stories.tsx │ │ │ │ │ │ │ ├── SuggestionItem.stories.tsx │ │ │ │ │ │ │ └── TextContent.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── chat-uikit-shared/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ └── file.ts │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ └── event-center/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── chat-input/ │ │ │ │ │ │ │ │ ├── audio-record/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── input-native-callbacks.ts │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── content.ts │ │ │ │ │ │ │ ├── copywriting.ts │ │ │ │ │ │ │ ├── event.ts │ │ │ │ │ │ │ └── file.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── chat-workflow-render/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── chat-flow-render/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── input-node-render.tsx │ │ │ │ │ │ │ │ │ ├── node-wrapper-ui.tsx │ │ │ │ │ │ │ │ │ ├── question-node-render.tsx │ │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── workflow-render/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── input-node-render.tsx │ │ │ │ │ │ │ │ ├── node-wrapper-ui.tsx │ │ │ │ │ │ │ │ ├── question-node-render.tsx │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── use-event-callback.test.ts │ │ │ │ │ │ ├── use-imperative-layout-effect.test.ts │ │ │ │ │ │ └── use-search.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-event-callback.ts │ │ │ │ │ │ │ ├── use-imperative-layout-effect.ts │ │ │ │ │ │ │ └── use-search.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── plugin-chat-background/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── custom-components/ │ │ │ │ │ │ │ └── chat-background-ui/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ └── life-cycle/ │ │ │ │ │ │ │ └── app.ts │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ └── biz-context.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── plugin-chat-shortcuts/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── shortcut-bar/ │ │ │ │ │ │ │ │ └── use-load-more.test.ts │ │ │ │ │ │ │ └── shortcut.test.ts │ │ │ │ │ │ ├── methods/ │ │ │ │ │ │ │ └── shortcut-tool/ │ │ │ │ │ │ │ └── shortcut-edit/ │ │ │ │ │ │ │ ├── action-switch-area/ │ │ │ │ │ │ │ │ ├── choose-send-type-radio/ │ │ │ │ │ │ │ │ │ └── method.test.ts │ │ │ │ │ │ │ │ └── method.test.ts │ │ │ │ │ │ │ └── components-table/ │ │ │ │ │ │ │ └── method.test.ts │ │ │ │ │ │ ├── setup.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── data-helper.test.ts │ │ │ │ │ │ ├── get-ui-mode-by-biz-scene.test.ts │ │ │ │ │ │ ├── handle-error.test.ts │ │ │ │ │ │ └── shortcut-query.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── components-table/ │ │ │ │ │ │ │ │ └── options/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── load-more-list/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── short-cut-panel/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── widgets/ │ │ │ │ │ │ │ ├── form/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── label-with-desc/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── placeholder/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── root/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── submit-button/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── text-input/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ └── chat-area-state/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── shortcut-bar/ │ │ │ │ │ │ │ │ └── use-load-more.ts │ │ │ │ │ │ │ ├── shortcut.ts │ │ │ │ │ │ │ ├── use-imperative-layout-effect.ts │ │ │ │ │ │ │ └── use-upload-plugin.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── shortcut/ │ │ │ │ │ │ │ ├── component/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── load-more/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── method.ts │ │ │ │ │ │ │ │ └── shortcuts-load-more-list.tsx │ │ │ │ │ │ │ ├── query-shortcut/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── template-shortcut/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── variants.ts │ │ │ │ │ │ ├── shortcut-bar/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── types/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── shortcut-template/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── shortcut-tool/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── shortcut-config/ │ │ │ │ │ │ │ │ ├── config-action/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── shortcut-list/ │ │ │ │ │ │ │ │ ├── empty-shortcuts.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── shortcut-item.tsx │ │ │ │ │ │ │ ├── shortcut-edit/ │ │ │ │ │ │ │ │ ├── action-switch-area/ │ │ │ │ │ │ │ │ │ ├── confirm-modal.tsx │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── method.ts │ │ │ │ │ │ │ │ │ └── skill-switch/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── method.ts │ │ │ │ │ │ │ │ │ └── tool-action.tsx │ │ │ │ │ │ │ │ ├── button-name/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── shortcut-icon/ │ │ │ │ │ │ │ │ │ ├── icon-list.tsx │ │ │ │ │ │ │ │ │ ├── icon.tsx │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── use-get-icon-list.ts │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── action-button/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── field-label/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── tip/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── components-table/ │ │ │ │ │ │ │ │ │ ├── component-default-value/ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── input-field.tsx │ │ │ │ │ │ │ │ │ │ ├── method.ts │ │ │ │ │ │ │ │ │ │ ├── select-field.tsx │ │ │ │ │ │ │ │ │ │ └── upload-field.tsx │ │ │ │ │ │ │ │ │ ├── component-parameter/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── component-type-select/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── method.ts │ │ │ │ │ │ │ │ │ │ ├── select-content.tsx │ │ │ │ │ │ │ │ │ │ └── upload-contnet.tsx │ │ │ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── method.ts │ │ │ │ │ │ │ │ │ ├── table-components.tsx │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ ├── components.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── method.ts │ │ │ │ │ │ │ │ ├── modal.tsx │ │ │ │ │ │ │ │ ├── switch-agent/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── var-query-textarea/ │ │ │ │ │ │ │ │ ├── components-select.tsx │ │ │ │ │ │ │ │ ├── container.tsx │ │ │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ │ ├── suggestion/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ ├── util.ts │ │ │ │ │ │ │ │ └── var-list.tsx │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── data-helper.ts │ │ │ │ │ │ ├── dsl-template/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── templates.ts │ │ │ │ │ │ ├── file-const.ts │ │ │ │ │ │ ├── get-ui-mode-by-biz-scene.ts │ │ │ │ │ │ ├── handle-error.ts │ │ │ │ │ │ ├── shortcut-query.ts │ │ │ │ │ │ ├── tool-params.ts │ │ │ │ │ │ └── uuid.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tailwind.config.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── plugin-message-grab/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ └── filter-message.ts │ │ │ │ │ │ ├── create.ts │ │ │ │ │ │ ├── custom-components/ │ │ │ │ │ │ │ ├── input-addon-top/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── menu-list/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── message-inner-top-slot/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── local-slot.tsx │ │ │ │ │ │ │ │ ├── quote-top-ui.tsx │ │ │ │ │ │ │ │ └── remote-slot.tsx │ │ │ │ │ │ │ ├── message-list-float-slot/ │ │ │ │ │ │ │ │ ├── float-menu.tsx │ │ │ │ │ │ │ │ ├── grab-menu.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── quote-button/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── quote-node/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── variants.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-auto-get-max-position.ts │ │ │ │ │ │ │ ├── use-float-menu-listener.ts │ │ │ │ │ │ │ ├── use-grab-plugin.ts │ │ │ │ │ │ │ └── use-hide-quote.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ └── life-cycle/ │ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ │ ├── command.ts │ │ │ │ │ │ │ └── message.ts │ │ │ │ │ │ ├── stores/ │ │ │ │ │ │ │ ├── preference.ts │ │ │ │ │ │ │ ├── quote.ts │ │ │ │ │ │ │ └── selection.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── plugin-biz-context.ts │ │ │ │ │ │ │ └── public-methods.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── extract-text-from-react-node.ts │ │ │ │ │ │ ├── get-message.ts │ │ │ │ │ │ ├── get-mouse-nearby-rect.ts │ │ │ │ │ │ ├── get-refer-from-message.ts │ │ │ │ │ │ └── get-sender-id.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── plugin-resume/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── hooks/ │ │ │ │ │ │ └── use-get-position.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── custom-components/ │ │ │ │ │ │ │ └── interrupt-message/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── interrupt-message-content/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-get-position.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── life-cycle-service/ │ │ │ │ │ │ │ ├── message-life-cycle-service.ts │ │ │ │ │ │ │ └── render-life-cycle-service.ts │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── text-grab/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ ├── compare-node-position.test.ts │ │ │ │ │ │ ├── find-ancestor-node-by-tag-name.test.ts │ │ │ │ │ │ ├── find-last-child-node.test.ts │ │ │ │ │ │ ├── find-last-sibling-node.test.ts │ │ │ │ │ │ ├── find-nearest-link-node.test.ts │ │ │ │ │ │ ├── get-all-child-nodes-in-node.test.ts │ │ │ │ │ │ ├── get-all-node-in-range.test.ts │ │ │ │ │ │ └── get-range-direction.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ └── range.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-grab.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── node.ts │ │ │ │ │ │ │ └── selection.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── find-picture-valid-child-node.ts │ │ │ │ │ │ ├── get-ancestor-attribute-node.ts │ │ │ │ │ │ ├── get-ancestor-attribute-value.ts │ │ │ │ │ │ ├── get-picture-node-url.ts │ │ │ │ │ │ ├── get-rect-data.ts │ │ │ │ │ │ ├── get-selection-data.ts │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ ├── compare-node-position.ts │ │ │ │ │ │ │ ├── find-ancestor-node-by-tag-name.ts │ │ │ │ │ │ │ ├── find-last-child-node.ts │ │ │ │ │ │ │ ├── find-last-sibling-node.ts │ │ │ │ │ │ │ ├── find-nearest-link-node.ts │ │ │ │ │ │ │ ├── find-not-contains-previous-sibling.ts │ │ │ │ │ │ │ ├── get-all-child-nodes-in-node.ts │ │ │ │ │ │ │ ├── get-all-nodes-in-range.ts │ │ │ │ │ │ │ ├── get-range-direction.ts │ │ │ │ │ │ │ ├── get-selection-direction.ts │ │ │ │ │ │ │ ├── has-ancestor-with-attribute.ts │ │ │ │ │ │ │ └── is-range-collapsed.ts │ │ │ │ │ │ ├── is-touch-device.ts │ │ │ │ │ │ ├── normalizer/ │ │ │ │ │ │ │ ├── get-humanize-content-text.ts │ │ │ │ │ │ │ ├── get-normalize-node-list.ts │ │ │ │ │ │ │ ├── get-origin-content-text.ts │ │ │ │ │ │ │ ├── is-grab-element.ts │ │ │ │ │ │ │ ├── is-grab-image.ts │ │ │ │ │ │ │ ├── is-grab-link.ts │ │ │ │ │ │ │ └── is-grab-text-node.ts │ │ │ │ │ │ ├── parse-markdown-to-grab-node.ts │ │ │ │ │ │ ├── process-node/ │ │ │ │ │ │ │ ├── process-child-node.ts │ │ │ │ │ │ │ └── process-special-node.ts │ │ │ │ │ │ ├── refine-range/ │ │ │ │ │ │ │ ├── fix-end-empty.ts │ │ │ │ │ │ │ ├── fix-end-node.ts │ │ │ │ │ │ │ ├── fix-link.ts │ │ │ │ │ │ │ ├── fix-start-node.ts │ │ │ │ │ │ │ └── refine-range.ts │ │ │ │ │ │ └── should-refine-range.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── utils/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── async.test.ts │ │ │ │ │ ├── exhaustive-check.test.ts │ │ │ │ │ ├── int64.test.ts │ │ │ │ │ ├── json-parse.test.ts │ │ │ │ │ ├── perform-simple-type-check.test.ts │ │ │ │ │ ├── rate-limit.test.ts │ │ │ │ │ ├── safe-async-throw.test.ts │ │ │ │ │ └── update-only-defined.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── index.ts │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── async.ts │ │ │ │ │ ├── collection.ts │ │ │ │ │ ├── exhaustive-check.ts │ │ │ │ │ ├── get-report-error.ts │ │ │ │ │ ├── int64.ts │ │ │ │ │ ├── json-parse.ts │ │ │ │ │ ├── parse-markdown/ │ │ │ │ │ │ └── parse-markdown-to-text.ts │ │ │ │ │ ├── perform-simple-type-check.ts │ │ │ │ │ ├── rate-limit.ts │ │ │ │ │ ├── safe-async-throw.ts │ │ │ │ │ ├── type-helper.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── update-only-defined.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── coze-mitt/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── editor-plugins/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── action-bar/ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── use-action-bar-perference.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── ui-component.tsx │ │ │ │ │ ├── actions/ │ │ │ │ │ │ ├── copy/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── insert-input-slot/ │ │ │ │ │ │ ├── component.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── expression/ │ │ │ │ │ │ ├── core/ │ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── parser/ │ │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── tree-helper/ │ │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── highlight/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── popover/ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ ├── use-character-trigger-context.ts │ │ │ │ │ │ │ │ ├── use-drill-variable-tree.ts │ │ │ │ │ │ │ │ ├── use-empty-content.ts │ │ │ │ │ │ │ │ ├── use-filtered-variable-tree.ts │ │ │ │ │ │ │ │ ├── use-focused.ts │ │ │ │ │ │ │ │ ├── use-interpolation-content.ts │ │ │ │ │ │ │ │ ├── use-keyboard.ts │ │ │ │ │ │ │ │ ├── use-options-operations.ts │ │ │ │ │ │ │ │ ├── use-selected-value.ts │ │ │ │ │ │ │ │ ├── use-selection.ts │ │ │ │ │ │ │ │ └── use-tree.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── popover.module.less │ │ │ │ │ │ │ ├── popover.tsx │ │ │ │ │ │ │ └── shared.ts │ │ │ │ │ │ ├── shared.ts │ │ │ │ │ │ ├── validation/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── validate.ts │ │ │ │ │ │ └── variable-types.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── input-slot/ │ │ │ │ │ │ ├── action/ │ │ │ │ │ │ │ └── insert-input-slot-action.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-in-input-slot.ts │ │ │ │ │ │ │ └── use-in-jinja-raw.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── input-config-popover/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── input-slot-widget/ │ │ │ │ │ │ ├── config-mode-popover.tsx │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── language-support/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── library-insert/ │ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-keymap.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── library-block-widget/ │ │ │ │ │ │ │ ├── index.css │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── library-block-widget-type.tsx │ │ │ │ │ │ ├── library-search-popover/ │ │ │ │ │ │ │ ├── actions/ │ │ │ │ │ │ │ │ ├── add-library-action.tsx │ │ │ │ │ │ │ │ └── rename-library-action.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── library-item.tsx │ │ │ │ │ │ │ └── library-list.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── get-library-info.ts │ │ │ │ │ │ ├── get-library-status.tsx │ │ │ │ │ │ ├── get-library-tooltip.tsx │ │ │ │ │ │ └── library-validate.ts │ │ │ │ │ ├── library-variable-insert/ │ │ │ │ │ │ ├── content-search-popover/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── library/ │ │ │ │ │ │ │ │ ├── use-library-list.tsx │ │ │ │ │ │ │ │ └── use-options-operations.tsx │ │ │ │ │ │ │ ├── style.module.less │ │ │ │ │ │ │ └── variable/ │ │ │ │ │ │ │ └── use-variables-tree.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── shared/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-editor-readonly.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ └── template-parser.ts │ │ │ │ │ ├── syntax-highlight/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── jinja.tsx │ │ │ │ │ │ └── markdown.tsx │ │ │ │ │ ├── theme/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── theme-extension.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tailwind.config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── flowgram-adapter/ │ │ │ │ ├── common/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── fixed-layout-editor/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── css-load.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── free-layout-editor/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── css-load.ts │ │ │ │ │ ├── deprecated.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-entity.ts │ │ │ │ │ └── workflow-json-format.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── md-editor-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── editor.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── prompt-kit/ │ │ │ │ ├── adapter/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── create-prompt/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── prompt-configurator-modal.tsx │ │ │ │ │ │ │ └── use-modal.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── base/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── create-prompt/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── footer-actions/ │ │ │ │ │ │ │ │ │ ├── close-modal.tsx │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── prompt-diff.tsx │ │ │ │ │ │ │ │ │ └── save-prompt.tsx │ │ │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ │ │ ├── insert-input-slot.tsx │ │ │ │ │ │ │ │ ├── placeholder/ │ │ │ │ │ │ │ │ │ └── import-prompt-when-empty.tsx │ │ │ │ │ │ │ │ └── prompt-info-input.tsx │ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── prompt-configurator-modal.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── use-modal.tsx │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── render.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── shared/ │ │ │ │ │ │ │ ├── css/ │ │ │ │ │ │ │ │ └── index.css │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-editor-readonly.ts │ │ │ │ │ │ │ │ └── use-set-session-visible-persist.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ │ └── free-grab-modal-hierarchy-service/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── prompt.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── insert-to-newline.ts │ │ │ │ │ │ │ └── rect.ts │ │ │ │ │ │ ├── theme/ │ │ │ │ │ │ │ └── default.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── main/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── prompt-library/ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ ├── footer-actions/ │ │ │ │ │ │ │ ├── copy-prompt.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── insert-to-editor.tsx │ │ │ │ │ │ │ └── prompt-diff.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── infinite-list/ │ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ │ ├── footer.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ └── use-scroll.ts │ │ │ │ │ │ ├── library-item.tsx │ │ │ │ │ │ ├── library-list.tsx │ │ │ │ │ │ └── library-request.ts │ │ │ │ │ ├── prompt-recommend/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-case/ │ │ │ │ │ │ │ │ └── use-scroll-control.ts │ │ │ │ │ │ │ └── use-get-librarys.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── recommend-card/ │ │ │ │ │ │ │ ├── card-loading.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── recommend-pannel/ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── scroll-button.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── uploader-adapter/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── uploader-interface/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── websocket-manager-adapter/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.tsx │ │ │ │ └── typings.d.ts │ │ │ ├── stories/ │ │ │ │ ├── demo.stories.tsx │ │ │ │ └── hello.mdx │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── community/ │ │ │ ├── component/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── avatar-name/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── card/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── button/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── info/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── tag/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── template/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── connector-list/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── const/ │ │ │ │ │ │ └── url.ts │ │ │ │ │ ├── favorite-button/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── favorite-icon-btn/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── favorite-icon/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── favorite-icon-mobile/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-animation-change.ts │ │ │ │ │ │ │ ├── use-farvorite-request.ts │ │ │ │ │ │ │ └── use-favorite-change.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── infinite-list/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── empty/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── footer/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-scroll.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── official-label/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── search-input/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── recommend-area/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── recommend-item/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── recommend-more/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── recommend-popover/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-item-select.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── search-input-store.ts │ │ │ │ │ ├── sub-menu-item/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ ├── usage-invoke/ │ │ │ │ │ │ ├── format-number.ts │ │ │ │ │ │ └── use-usage-modal.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ └── tea/ │ │ │ │ │ └── product/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tailwind.config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ ├── vitest.config.ts │ │ │ │ └── vitest.setup.ts │ │ │ └── explore/ │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── page-list/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── plugin-page-list/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── search/ │ │ │ │ │ │ ├── empty/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── entity-type-selector/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── filter-group/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── result-word/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── search-card/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── search-filter/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── plugin-filter/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── template-filter/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── sub-menu/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── use-entity-type.ts │ │ │ │ │ └── use-explore-route.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── pages/ │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── search/ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── search-store.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ └── template/ │ │ │ │ │ └── index.tsx │ │ │ │ └── typings.d.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── components/ │ │ │ ├── biz-tooltip-ui/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── components/ │ │ │ │ │ ├── case-block.test.tsx │ │ │ │ │ ├── rerank-tips.test.tsx │ │ │ │ │ └── rewrite-tips.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── setting-tips/ │ │ │ │ │ │ ├── case-block.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── rerank-tips.tsx │ │ │ │ │ │ └── rewrite-tips.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-icons/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── factory.tsx │ │ │ │ │ ├── global.d.ts │ │ │ │ │ └── index.tsx │ │ │ │ ├── stories/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-semi/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── ui-audio/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-button/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-cascader/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-content/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-divider/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-drawer/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-dropdown/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-empty/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-flip-move/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-footer/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-form/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── text-area/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-header/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-icon-button/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-input/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-layout/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── ui-composition-modal.tsx │ │ │ │ │ │ │ ├── ui-drag-modal.tsx │ │ │ │ │ │ │ ├── ui-mobile-modal.tsx │ │ │ │ │ │ │ ├── ui-modal.tsx │ │ │ │ │ │ │ └── ui-tabs-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-pagination/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-search/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-search-input/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-sign/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── sign-frame.tsx │ │ │ │ │ │ │ └── sign-panel.tsx │ │ │ │ │ │ ├── ui-tab-bar/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-table/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-table-action/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-table-meta/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── ui-tag/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── ui-toast/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-grab.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── semi/ │ │ │ │ │ │ ├── anchor.ts │ │ │ │ │ │ ├── auto-complete.ts │ │ │ │ │ │ ├── avatar.ts │ │ │ │ │ │ ├── backtop.ts │ │ │ │ │ │ ├── badge.ts │ │ │ │ │ │ ├── banner.ts │ │ │ │ │ │ ├── breadcrumb.ts │ │ │ │ │ │ ├── button.ts │ │ │ │ │ │ ├── calendar.ts │ │ │ │ │ │ ├── card.ts │ │ │ │ │ │ ├── carousel.ts │ │ │ │ │ │ ├── cascader.ts │ │ │ │ │ │ ├── checkbox.ts │ │ │ │ │ │ ├── collapse.ts │ │ │ │ │ │ ├── collapsible.ts │ │ │ │ │ │ ├── config-provider.ts │ │ │ │ │ │ ├── date-picker.ts │ │ │ │ │ │ ├── descriptions.ts │ │ │ │ │ │ ├── divider.ts │ │ │ │ │ │ ├── dropdown.ts │ │ │ │ │ │ ├── empty.ts │ │ │ │ │ │ ├── form.ts │ │ │ │ │ │ ├── grid.ts │ │ │ │ │ │ ├── highlight.ts │ │ │ │ │ │ ├── icon-button.ts │ │ │ │ │ │ ├── icons.ts │ │ │ │ │ │ ├── image.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── input-number.ts │ │ │ │ │ │ ├── input.ts │ │ │ │ │ │ ├── layout.ts │ │ │ │ │ │ ├── list.ts │ │ │ │ │ │ ├── locale.ts │ │ │ │ │ │ ├── modal.ts │ │ │ │ │ │ ├── navigation.ts │ │ │ │ │ │ ├── notification.ts │ │ │ │ │ │ ├── overflow-list.ts │ │ │ │ │ │ ├── pagination.ts │ │ │ │ │ │ ├── popconfirm.ts │ │ │ │ │ │ ├── popover.ts │ │ │ │ │ │ ├── progress.ts │ │ │ │ │ │ ├── radio.ts │ │ │ │ │ │ ├── rating.ts │ │ │ │ │ │ ├── resize-observer.ts │ │ │ │ │ │ ├── scroll-list.ts │ │ │ │ │ │ ├── select.ts │ │ │ │ │ │ ├── side-sheet.ts │ │ │ │ │ │ ├── skeleton.ts │ │ │ │ │ │ ├── slider.ts │ │ │ │ │ │ ├── space.ts │ │ │ │ │ │ ├── spin.ts │ │ │ │ │ │ ├── steps.ts │ │ │ │ │ │ ├── switch.ts │ │ │ │ │ │ ├── table.ts │ │ │ │ │ │ ├── tabs.ts │ │ │ │ │ │ ├── tag-input.ts │ │ │ │ │ │ ├── tag.ts │ │ │ │ │ │ ├── time-picker.ts │ │ │ │ │ │ ├── timeline.ts │ │ │ │ │ │ ├── toast.ts │ │ │ │ │ │ ├── tooltip.ts │ │ │ │ │ │ ├── transfer.ts │ │ │ │ │ │ ├── tree-select.ts │ │ │ │ │ │ ├── tree.ts │ │ │ │ │ │ ├── trigger.ts │ │ │ │ │ │ ├── typography.ts │ │ │ │ │ │ └── upload.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── env.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── json-viewer/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── index.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── json-field/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── json-field.module.less │ │ │ │ │ │ ├── line/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── long-str-value.tsx │ │ │ │ │ │ └── text-field.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── context.tsx │ │ │ │ │ ├── declarations.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-expand.ts │ │ │ │ │ │ └── use-value.tsx │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── types.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── big-number.ts │ │ │ │ │ ├── generate-field.ts │ │ │ │ │ ├── generate-str-avoid-escape.ts │ │ │ │ │ ├── generate-str-to-link.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── loading-button/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── mouse-pad-selector/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── icons/ │ │ │ │ │ │ ├── mouse.tsx │ │ │ │ │ │ └── pad.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── mouse-pad-selector.module.less │ │ │ │ │ ├── mouse-pad-selector.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ ├── utils.ts │ │ │ │ │ ├── with-guiding-popover.module.less │ │ │ │ │ └── with-guiding-popover.tsx │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ ├── demo1.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── resource-tree/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── base-node/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── icon.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── tags.tsx │ │ │ │ │ │ ├── collapse/ │ │ │ │ │ │ │ ├── arrow.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── lines-render/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── line-svg.tsx │ │ │ │ │ │ │ ├── render-line.tsx │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ └── tools/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── interactive.tsx │ │ │ │ │ │ ├── minimap-switch.tsx │ │ │ │ │ │ ├── minimap.tsx │ │ │ │ │ │ └── zoom-select.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ ├── id.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── line.ts │ │ │ │ │ │ └── node.ts │ │ │ │ │ ├── contexts/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── tree-context.tsx │ │ │ │ │ ├── entities/ │ │ │ │ │ │ ├── custom-render-state.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── render-state-entity.ts │ │ │ │ │ ├── fixed-layout-editor-provider/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── preset/ │ │ │ │ │ │ ├── container-module.ts │ │ │ │ │ │ ├── fixed-layout-preset.ts │ │ │ │ │ │ ├── fixed-layout-props.ts │ │ │ │ │ │ ├── flow-registers.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── use-base-color.tsx │ │ │ │ │ │ ├── use-custom-node-render.tsx │ │ │ │ │ │ └── use-editor-props.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── initial-data.ts │ │ │ │ │ ├── layers/ │ │ │ │ │ │ ├── flow-lines-layer.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── node-registries.ts │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── custom-line-plugin.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── services/ │ │ │ │ │ │ ├── custom-hover-service.ts │ │ │ │ │ │ ├── custom-lines-manager.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── tree-service.ts │ │ │ │ │ ├── typings/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── line.ts │ │ │ │ │ │ └── tree.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── ext-info.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── line.ts │ │ │ │ │ ├── node.ts │ │ │ │ │ ├── status.ts │ │ │ │ │ └── transform-tree.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── vitest.config.ts │ │ │ ├── scroll-view/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── scroll-view/ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── consts.ts │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── is-apple-webkit.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── table-view/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── components/ │ │ │ │ │ ├── image-render/ │ │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ │ ├── use-image-preview.test.tsx │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ ├── renders/ │ │ │ │ │ │ ├── actions-render.test.tsx │ │ │ │ │ │ ├── edit-header-render.test.tsx │ │ │ │ │ │ ├── tag-render.test.tsx │ │ │ │ │ │ └── text-render.test.tsx │ │ │ │ │ └── table-view/ │ │ │ │ │ ├── edit-menu.test.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── service.test.ts │ │ │ │ │ └── utils.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── renders/ │ │ │ │ │ │ │ ├── actions-render.tsx │ │ │ │ │ │ │ ├── edit-header-render.tsx │ │ │ │ │ │ │ ├── image-render/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── use-image-preview.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── tag-render.tsx │ │ │ │ │ │ │ └── text-render.tsx │ │ │ │ │ │ ├── table-view/ │ │ │ │ │ │ │ ├── edit-menu.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── service.ts │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── main.css │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── virtual-list/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ └── index.ts │ │ │ ├── stories/ │ │ │ │ └── .gitkeep │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── data/ │ │ │ ├── common/ │ │ │ │ ├── e2e/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ │ └── rushx-config.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── bot-e2e.ts │ │ │ │ │ │ ├── common-e2e.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── knowledge-e2e.ts │ │ │ │ │ │ └── variable-e2e.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ └── tsconfig.misc.json │ │ │ │ ├── feature-register/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── external-store.ts │ │ │ │ │ │ ├── feature-registry-manager.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── react.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── reporter/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── data-reporter.test.ts │ │ │ │ │ │ ├── error-boundary.test.tsx │ │ │ │ │ │ └── utils.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ │ └── rushx-config.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── error-boundary/ │ │ │ │ │ │ │ ├── error-boundary.tsx │ │ │ │ │ │ │ └── index.module.less │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── reporter/ │ │ │ │ │ │ │ ├── data-reporter.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ └── DataErrorBoundary.stories.tsx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── utils/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── data-type-select.test.tsx │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── singleline-select.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── abortable.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── data-type-select/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── input-with-count/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── singleline-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── text-area/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── database-page.ts │ │ │ │ │ ├── feishu-lark.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── use-data-modal.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── knowledge-page.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── typing.d.ts │ │ │ │ │ ├── update-interval.ts │ │ │ │ │ └── url.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── data-type-select.stories.tsx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── knowledge/ │ │ │ │ ├── common/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ └── preview.js │ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ ├── doc-preview/ │ │ │ │ │ │ │ │ ├── preview-md.tsx │ │ │ │ │ │ │ │ ├── preview-txt.tsx │ │ │ │ │ │ │ │ └── use-preview-pdf/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── file-picker/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── common-file-picker.module.less │ │ │ │ │ │ │ │ │ └── common-file-picker.tsx │ │ │ │ │ │ │ │ ├── consts.ts │ │ │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ └── useDefaultLabelRenderer.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── segment-menu/ │ │ │ │ │ │ │ │ ├── document-item.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── segment-tree.tsx │ │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── use-context-menu.tsx │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ └── level-tree-op.ts │ │ │ │ │ │ │ ├── text-knowledge-editor/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ └── preview-chunk/ │ │ │ │ │ │ │ │ │ ├── document/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── image/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── title/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── event/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── extensions/ │ │ │ │ │ │ │ │ │ └── image-with-tos-key.ts │ │ │ │ │ │ │ │ ├── features/ │ │ │ │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ │ │ │ ├── editor.tsx │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── editor-actions/ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ │ │ │ ├── registry.ts │ │ │ │ │ │ │ │ │ │ └── upload-image/ │ │ │ │ │ │ │ │ │ │ ├── base.tsx │ │ │ │ │ │ │ │ │ │ ├── button-action.tsx │ │ │ │ │ │ │ │ │ │ ├── custom-upload.tsx │ │ │ │ │ │ │ │ │ │ ├── icon-action.tsx │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── menu-action.tsx │ │ │ │ │ │ │ │ │ ├── editor-context-menu/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── editor-toolbar/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── hover-edit-bar/ │ │ │ │ │ │ │ │ │ │ ├── hover-edit-bar.tsx │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── hover-edit-bar-actions/ │ │ │ │ │ │ │ │ │ │ ├── add-after-action.tsx │ │ │ │ │ │ │ │ │ │ ├── add-before-action.tsx │ │ │ │ │ │ │ │ │ │ ├── delete-action.tsx │ │ │ │ │ │ │ │ │ │ ├── edit-action.tsx │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ │ │ │ └── registry.ts │ │ │ │ │ │ │ │ │ ├── preview/ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── preview.tsx │ │ │ │ │ │ │ │ │ ├── preview-context-menu/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── preview-context-menu-items/ │ │ │ │ │ │ │ │ │ ├── add-after-action.tsx │ │ │ │ │ │ │ │ │ ├── add-before-action.tsx │ │ │ │ │ │ │ │ │ ├── delete-action.tsx │ │ │ │ │ │ │ │ │ ├── edit-action.tsx │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ │ │ └── registry.ts │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ ├── inner/ │ │ │ │ │ │ │ │ │ │ ├── use-control-context-menu.ts │ │ │ │ │ │ │ │ │ │ ├── use-control-editor-context-menu.ts │ │ │ │ │ │ │ │ │ │ ├── use-control-preview-context-menu.ts │ │ │ │ │ │ │ │ │ │ ├── use-create-chunk.ts │ │ │ │ │ │ │ │ │ │ ├── use-delete-chunk.ts │ │ │ │ │ │ │ │ │ │ ├── use-hover-effect.ts │ │ │ │ │ │ │ │ │ │ ├── use-out-editor-mode.ts │ │ │ │ │ │ │ │ │ │ └── use-update-chunk.ts │ │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ │ ├── chunk-actions/ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── use-add-empty-chunk-action.ts │ │ │ │ │ │ │ │ │ │ └── use-delete-action.ts │ │ │ │ │ │ │ │ │ ├── use-create-local-chunk.ts │ │ │ │ │ │ │ │ │ ├── use-delete-local-chunk.ts │ │ │ │ │ │ │ │ │ ├── use-delete-remote-chunk.ts │ │ │ │ │ │ │ │ │ ├── use-init-editor.ts │ │ │ │ │ │ │ │ │ ├── use-preview-context-menu.ts │ │ │ │ │ │ │ │ │ ├── use-save-chunk.ts │ │ │ │ │ │ │ │ │ └── use-update-remote-chunk.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── scenes/ │ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ │ ├── editor-context-actions-contributes.ts │ │ │ │ │ │ │ │ │ │ ├── hover-edit-bar-actions-contributes.ts │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ │ │ │ │ ├── preview-context-menu-items-contributes.ts │ │ │ │ │ │ │ │ │ │ └── types/ │ │ │ │ │ │ │ │ │ │ └── base-document.ts │ │ │ │ │ │ │ │ │ └── level/ │ │ │ │ │ │ │ │ │ ├── editor-actions-contributes.ts │ │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ │ ├── inner/ │ │ │ │ │ │ │ │ │ │ │ ├── use-active-chunk.ts │ │ │ │ │ │ │ │ │ │ │ └── use-chunk-render-path.ts │ │ │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ └── use-scroll-to-selection.ts │ │ │ │ │ │ │ │ │ ├── hover-edit-bar-actions-contributes.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ │ │ │ ├── preview-context-menu-items-contributes.ts │ │ │ │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ │ │ │ ├── chunk-op.service.ts │ │ │ │ │ │ │ │ │ │ └── locate-segment.ts │ │ │ │ │ │ │ │ │ └── types/ │ │ │ │ │ │ │ │ │ └── level-document.ts │ │ │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ │ │ ├── inner/ │ │ │ │ │ │ │ │ │ │ ├── chunk-op.service.ts │ │ │ │ │ │ │ │ │ │ ├── document-editor.service.ts │ │ │ │ │ │ │ │ │ │ ├── get-editor-img-cls.ts │ │ │ │ │ │ │ │ │ │ ├── get-editor-table-cls.ts │ │ │ │ │ │ │ │ │ │ └── get-editor-words-cls.ts │ │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ │ ├── get-editor-content.ts │ │ │ │ │ │ │ │ │ ├── get-init-editor-content.ts │ │ │ │ │ │ │ │ │ ├── get-render-editor-content.ts │ │ │ │ │ │ │ │ │ └── is-editor-content-change.ts │ │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ │ └── chunk.ts │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ ├── escape-html.ts │ │ │ │ │ │ │ │ └── upload.ts │ │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ │ ├── stories/ │ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ │ └── vitest.config.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ └── preview.js │ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── use-get-knowledge-list-info.ts │ │ │ │ │ │ │ ├── use-knowledge-navigate.ts │ │ │ │ │ │ │ └── use-tos-content.tsx │ │ │ │ │ │ ├── stories/ │ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ │ └── vitest.config.ts │ │ │ │ │ ├── services/ │ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ │ └── preview.js │ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── src/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ ├── get-knowledge-ide-query.ts │ │ │ │ │ │ │ ├── get-knowledge-is-full-mode-by-biz.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── stories/ │ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ │ └── vitest.config.ts │ │ │ │ │ └── stores/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── knowledge-preview.ts │ │ │ │ │ │ ├── level-segments-slice.ts │ │ │ │ │ │ ├── params-store.ts │ │ │ │ │ │ ├── processing-knowledge.ts │ │ │ │ │ │ ├── storage-strategy-slice.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── knowledge-data-set-for-agent/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ └── data-set.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── knowledge-ide-adapter/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── scenes/ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ ├── img-ide/ │ │ │ │ │ │ │ │ │ ├── import-knowledge-source-menu-contributes.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── modal/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── table-ide/ │ │ │ │ │ │ │ │ │ ├── import-knowledge-source-menu-contributes.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── text-ide/ │ │ │ │ │ │ │ │ │ ├── import-knowledge-source-menu-contributes.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── biz-agent-ide/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── biz-library/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── biz-project/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── biz-workflow/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── modal/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── knowledge-ide-base/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ │ └── common.less │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── Icon-with-suffix/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── auto-generate-photo-detail-button/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── header-tags/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── knowledge-config-menu/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-ide-upate-config/ │ │ │ │ │ │ │ │ ├── table-config-button/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── text-config-button/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-modal-nav-bar/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-nav-bar/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-source-menu/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-source-menu-item/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-source-radio/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-source-radio-group/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── photo-detail-modal/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── photo-filter/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── preview-navigation/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── related-bots-list/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── render-document-icon/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── suffix.tsx │ │ │ │ │ │ │ └── tag/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── tag.tsx │ │ │ │ │ │ ├── constant/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── polling.ts │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ └── knowledge-ide-registry-context/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── features/ │ │ │ │ │ │ │ ├── image-knowledge-workspace/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── use-photo-list.ts │ │ │ │ │ │ │ ├── import-knowledge-source-button/ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── services/ │ │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ │ ├── disabled-tooltip.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── biz-agent-ide/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── module.ts │ │ │ │ │ │ │ ├── import-knowledge-source-menu/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── import-knowledge-source-radio-group/ │ │ │ │ │ │ │ │ ├── import-image-knowledge-source-contributes.ts │ │ │ │ │ │ │ │ ├── import-table-knowledge-source-contributes.ts │ │ │ │ │ │ │ │ ├── import-text-knowledge-source-contributes.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── import-knowledge-sources/ │ │ │ │ │ │ │ │ ├── menu/ │ │ │ │ │ │ │ │ │ ├── image-local/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ │ │ ├── registry.ts │ │ │ │ │ │ │ │ │ ├── table-custom/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── table-local/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── text-custom/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── text-local/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── radio/ │ │ │ │ │ │ │ │ ├── image-local/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ │ ├── registry.ts │ │ │ │ │ │ │ │ ├── table-custom/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── table-local/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── text-custom/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── text-local/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-ide-table-config/ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── table-custom/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── knowledge-ide-table-config-menu-contributes.ts │ │ │ │ │ │ │ │ └── table-local/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── knowledge-ide-table-config-menu-contributes.ts │ │ │ │ │ │ │ ├── knowledge-ide-table-config-menus/ │ │ │ │ │ │ │ │ ├── configuration-table-structure/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ │ └── registry.ts │ │ │ │ │ │ │ ├── nav-bar/ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── biz-agent-ide/ │ │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ │ │ └── use-before-knowledgeide-close.ts │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── biz-library/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── biz-project/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── biz-workflow/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── module.ts │ │ │ │ │ │ │ ├── nav-bar-action-button/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── table-knowledge-workspace/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ │ │ │ └── table-data-view.tsx │ │ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ │ │ ├── table-actions-context.tsx │ │ │ │ │ │ │ │ │ ├── table-data-context.tsx │ │ │ │ │ │ │ │ │ └── table-ui-context.tsx │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ ├── inner/ │ │ │ │ │ │ │ │ │ │ ├── use-create-slice.ts │ │ │ │ │ │ │ │ │ │ ├── use-get-slice-list-data.ts │ │ │ │ │ │ │ │ │ │ ├── use-scroll.ts │ │ │ │ │ │ │ │ │ │ └── use-table-height.ts │ │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ │ ├── use-add-row.ts │ │ │ │ │ │ │ │ │ ├── use-delete-slice-modal.tsx │ │ │ │ │ │ │ │ │ ├── use-table-segment-modal.tsx │ │ │ │ │ │ │ │ │ └── use-table-slice-operations.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ │ └── get-table-render-columns-data.tsx │ │ │ │ │ │ │ │ └── styles/ │ │ │ │ │ │ │ │ └── index.module.less │ │ │ │ │ │ │ └── text-knowledge-workspace/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── base-content.tsx │ │ │ │ │ │ │ │ ├── doc-selector.tsx │ │ │ │ │ │ │ │ ├── doc-tag.tsx │ │ │ │ │ │ │ │ ├── file-preview.tsx │ │ │ │ │ │ │ │ ├── level-content.tsx │ │ │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ │ │ └── text-toolbar.tsx │ │ │ │ │ │ │ ├── doc-selector.tsx │ │ │ │ │ │ │ ├── doc-tag.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── life-cycle/ │ │ │ │ │ │ │ │ │ ├── use-document-info.ts │ │ │ │ │ │ │ │ │ └── use-slice-data.ts │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ ├── use-document-management.ts │ │ │ │ │ │ │ │ ├── use-file-preview.ts │ │ │ │ │ │ │ │ ├── use-init-select-first-doc.ts │ │ │ │ │ │ │ │ ├── use-level-segments.ts │ │ │ │ │ │ │ │ ├── use-modals.ts │ │ │ │ │ │ │ │ └── use-slice-counter.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── styles/ │ │ │ │ │ │ │ │ └── index.module.less │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── base-segment.ts │ │ │ │ │ │ │ ├── document-opts.tsx │ │ │ │ │ │ │ ├── document-utils.tsx │ │ │ │ │ │ │ └── level-segment.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-get-knowledge-type.ts │ │ │ │ │ │ │ └── use-reload-knowledge-ide.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── modal/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── module.ts │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ ├── dataset.ts │ │ │ │ │ │ │ ├── document.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── slice.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── slice.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── history.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── preview.tsx │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── knowledge-modal-adapter/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── create-knowledge-modal-v2/ │ │ │ │ │ │ │ └── scenes/ │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── edit-knowledge-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── knowledge-list-modal/ │ │ │ │ │ │ │ └── scenes/ │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-content.tsx │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── knowledge-modal-base/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── batch-checkbox-doc/ │ │ │ │ │ │ │ ├── const.tsx │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── batch-fetch-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── batch-frequency-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ ├── create-knowledge-modal-v2/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── source-radio/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── source-select/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── features/ │ │ │ │ │ │ │ │ ├── add-type-content/ │ │ │ │ │ │ │ │ │ └── coze-knowledge/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── import-knowledge-source/ │ │ │ │ │ │ │ │ │ ├── image-local/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── module.ts │ │ │ │ │ │ │ │ │ ├── table-custom/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── table-local/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── text-custom/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── text-local/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── import-knowledge-source-select/ │ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ │ ├── image-knowledge-source-select.tsx │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── table-knowledge-source-select.tsx │ │ │ │ │ │ │ │ │ │ └── text-knowledge-source-select.tsx │ │ │ │ │ │ │ │ │ └── module.ts │ │ │ │ │ │ │ │ └── select-format-type/ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── module.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── delete-unit-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── edit-knowledge-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── edit-unit-name-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── fetch-slice-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── knowledge-list-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── knowledge-card/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-card-list/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── file-popover/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── vertical.tsx │ │ │ │ │ │ │ ├── sider-category.tsx │ │ │ │ │ │ │ ├── use-content.tsx │ │ │ │ │ │ │ └── use-knowledge-filter/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── rag-mode-configuration/ │ │ │ │ │ │ │ ├── constant.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── radio-group-setting.tsx │ │ │ │ │ │ │ ├── setting-item.tsx │ │ │ │ │ │ │ ├── slider-setting.tsx │ │ │ │ │ │ │ ├── title-area.tsx │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── set-append-frequency-modal/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── account-frequency-item.tsx │ │ │ │ │ │ │ │ └── main.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── life-cycle/ │ │ │ │ │ │ │ │ │ └── use-init.ts │ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ │ └── use-set-append-frequency-modal.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── service/ │ │ │ │ │ │ │ └── use-case/ │ │ │ │ │ │ │ └── save-setting-change.ts │ │ │ │ │ │ ├── slice-delete-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── table-segment-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── modal.tsx │ │ │ │ │ │ ├── text-resegment-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ ├── update-frequency-modal/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── slice.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── knowledge-resource-processor-adapter/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── scenes/ │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── knowledge-resource-processor-base/ │ │ │ │ │ ├── .storybook/ │ │ │ │ │ │ ├── main.js │ │ │ │ │ │ └── preview.js │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── .gitkeep │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ │ └── common.less │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── browser-url-modal/ │ │ │ │ │ │ │ │ ├── browser-url-modal.tsx │ │ │ │ │ │ │ │ ├── editor-context-actions-contributes.ts │ │ │ │ │ │ │ │ ├── editor-toolbar-actions-contributes.ts │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ └── get-web-info.ts │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── card-radio-group/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── collapse-panel/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── configuration/ │ │ │ │ │ │ │ │ ├── banner.tsx │ │ │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── loading.tsx │ │ │ │ │ │ │ ├── document-list/ │ │ │ │ │ │ │ │ ├── document-item.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── empty/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── empty-auth/ │ │ │ │ │ │ │ │ ├── common-empty-auth/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── frequency-form-item/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── process-progress-item/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── process-progress-item.tsx │ │ │ │ │ │ │ ├── table-format/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── table-preview/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ ├── table-setting-bar/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ └── table-structure/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── unit-progress/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── unit-progress.tsx │ │ │ │ │ │ │ ├── upload-footer/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── upload-footer.tsx │ │ │ │ │ │ │ ├── upload-navbar/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── upload-unit-file/ │ │ │ │ │ │ │ │ ├── before-upload.ts │ │ │ │ │ │ │ │ ├── custom-request.ts │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── preview-file.tsx │ │ │ │ │ │ │ │ ├── type.d.ts │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ ├── upload-unit-file.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ └── upload-unit-table/ │ │ │ │ │ │ │ ├── actions/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── action-render/ │ │ │ │ │ │ │ │ │ ├── action.tsx │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── unit-name/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── unit-name.tsx │ │ │ │ │ │ │ │ └── upload-status/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── upload-unit-table.tsx │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ ├── components.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── table.ts │ │ │ │ │ │ │ └── text.ts │ │ │ │ │ │ ├── features/ │ │ │ │ │ │ │ ├── knowledge-type/ │ │ │ │ │ │ │ │ ├── image/ │ │ │ │ │ │ │ │ │ └── file/ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ ├── annotation/ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── process/ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── use-retry.ts │ │ │ │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ ├── table/ │ │ │ │ │ │ │ │ │ ├── first-party/ │ │ │ │ │ │ │ │ │ │ ├── custom/ │ │ │ │ │ │ │ │ │ │ │ ├── add/ │ │ │ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── create/ │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── create-v2.module.less │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── create-v2.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── create.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ │ │ │ ├── incremental/ │ │ │ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ ├── upload.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── local/ │ │ │ │ │ │ │ │ │ │ ├── add/ │ │ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ │ │ ├── configuration/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── configuration.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── preview/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ │ │ └── preview.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── processing/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ │ │ └── processing.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── upload.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ │ ├── incremental/ │ │ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ │ │ ├── configuration/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── configuration.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── preview/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ │ │ └── preview.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── processing/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ │ │ └── processing.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── upload.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ └── text/ │ │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ │ ├── first-party/ │ │ │ │ │ │ │ │ │ ├── custom/ │ │ │ │ │ │ │ │ │ │ ├── add/ │ │ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── processing/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── processing.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── segment/ │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ ├── segment.tsx │ │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ │ │ │ │ │ ├── editor-context-actions-contributes.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── editor-toolbar-actions-contributes.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── upload.tsx │ │ │ │ │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── local/ │ │ │ │ │ │ │ │ │ ├── add/ │ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ ├── preview/ │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── processing/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── processing.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ ├── segment/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ ├── segment.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── upload.tsx │ │ │ │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ │ │ │ ├── doc-review-slice.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── resegment/ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── preview/ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── processing/ │ │ │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── processing.tsx │ │ │ │ │ │ │ │ │ │ └── segment/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ ├── segment.tsx │ │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ │ │ ├── doc-review-slice.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── interface.ts │ │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── resegment/ │ │ │ │ │ │ │ │ ├── table/ │ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ │ ├── configuration/ │ │ │ │ │ │ │ │ │ │ │ ├── configuration.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── preview/ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ └── preview.tsx │ │ │ │ │ │ │ │ │ │ └── processing/ │ │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ └── processing.tsx │ │ │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── slice.ts │ │ │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ │ │ └── text/ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── steps/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── processing/ │ │ │ │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── processing.tsx │ │ │ │ │ │ │ │ │ └── segment/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── segment.tsx │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── segment-config/ │ │ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── text-local/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── segment-preview/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── segment-strategys/ │ │ │ │ │ │ │ │ ├── document-parse-strategy/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── precision-parsing/ │ │ │ │ │ │ │ │ │ │ ├── document-parse-form/ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── pdf-filter/ │ │ │ │ │ │ │ │ │ │ │ ├── filter-modal.module.less │ │ │ │ │ │ │ │ │ │ │ ├── filter-modal.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── pdf-document.tsx │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── quick-parsing/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── segment-strategy/ │ │ │ │ │ │ │ │ ├── automatic-cleaning/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── custom/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── upload-task-list/ │ │ │ │ │ │ │ ├── image-local/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── table-local/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── text-local/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ └── base/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── components.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── process.ts │ │ │ │ │ │ │ ├── table.ts │ │ │ │ │ │ │ └── text.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ ├── convert-crop-data.ts │ │ │ │ │ │ ├── convert-filter-strategy-to-params.ts │ │ │ │ │ │ ├── get-storage-strategy-enabled.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── is-local-text-document.ts │ │ │ │ │ │ ├── map-pdf-filter-config.ts │ │ │ │ │ │ ├── render-document-filter-value.ts │ │ │ │ │ │ ├── table.ts │ │ │ │ │ │ ├── text.ts │ │ │ │ │ │ └── validate-common-doc-next-step.ts │ │ │ │ │ ├── stories/ │ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ │ └── hello.mdx │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── knowledge-resource-processor-core/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── main.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── context.tsx │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── main.tsx │ │ │ │ │ ├── protocol/ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── upload.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── memory/ │ │ │ ├── database/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── components/ │ │ │ │ │ ├── database-debug.test.tsx │ │ │ │ │ └── multi-table.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── rollup.config.mjs │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── database-debug/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── multi-table.tsx │ │ │ │ │ │ │ └── table/ │ │ │ │ │ │ │ ├── get-columns.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── reset-btn.tsx │ │ │ │ │ │ ├── filebox-list/ │ │ │ │ │ │ │ ├── action-buttons/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ ├── document-list/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── filebox-filter/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ │ ├── format-size.ts │ │ │ │ │ │ │ │ └── prefix-uri.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-file-list.ts │ │ │ │ │ │ │ │ ├── use-retry.ts │ │ │ │ │ │ │ │ └── use-upload-modal.tsx │ │ │ │ │ │ │ ├── image-list/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── memory-debug-dropdown/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── memory-debug-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── variable-debug/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-send-tea-event-for-memory-debug.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tailwind.config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── database-creator/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── database-modal.test.tsx │ │ │ │ │ ├── mock-components/ │ │ │ │ │ │ ├── mock-banner.tsx │ │ │ │ │ │ ├── mock-button.tsx │ │ │ │ │ │ ├── mock-divider.tsx │ │ │ │ │ │ ├── mock-form.tsx │ │ │ │ │ │ ├── mock-icon.tsx │ │ │ │ │ │ ├── mock-image.tsx │ │ │ │ │ │ ├── mock-modal.tsx │ │ │ │ │ │ ├── mock-popconfirm.tsx │ │ │ │ │ │ ├── mock-popover.tsx │ │ │ │ │ │ ├── mock-spin.tsx │ │ │ │ │ │ ├── mock-switch.tsx │ │ │ │ │ │ ├── mock-table-action.tsx │ │ │ │ │ │ ├── mock-textarea.tsx │ │ │ │ │ │ ├── mock-toast.tsx │ │ │ │ │ │ ├── mock-tooltip.tsx │ │ │ │ │ │ ├── mock-ui-button.tsx │ │ │ │ │ │ ├── mock-ui-table.tsx │ │ │ │ │ │ └── readme.md │ │ │ │ │ └── readme.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── bot-debug-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-create-from-excel/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── processing/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── upload-progress/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── processing-tag/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── step-footer/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── table-preview/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── table-structure/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── upload/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ ├── datamodel/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── namespaces/ │ │ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ │ │ ├── table_base.ts │ │ │ │ │ │ │ │ └── table_import.ts │ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ │ ├── event-emitter.ts │ │ │ │ │ │ │ │ ├── get-base64.ts │ │ │ │ │ │ │ │ ├── get-file-extension.ts │ │ │ │ │ │ │ │ └── get-file-icon.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-step.ts │ │ │ │ │ │ │ │ └── use-upload-progress.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ │ ├── initial-config.ts │ │ │ │ │ │ │ │ └── step.ts │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── database-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-table-structure/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── ColumnHeader/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── KeyTipsNode/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ │ └── validate.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── singleline-input/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── singleline-select/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── const.tsx │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-create-from-excel-fg.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── database-v2-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── base-info-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── create-table-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── database-mode-select/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── database-v2-base/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── base-info-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── create-table-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-field-title/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-table-structure/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ └── KeyTipsNode/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ │ └── validate.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dismissible-banner/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── singleline-input/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── singleline-select/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ ├── database-field.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── features/ │ │ │ │ │ │ └── database-detail-waring/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── database-field.ts │ │ │ │ │ │ ├── database-tabs.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── get-base64.ts │ │ │ │ │ └── get-file-extension.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── database-v2-main/ │ │ │ │ ├── .eslintrc.js │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── batch-import-modal/ │ │ │ │ │ │ │ ├── import-steps.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── steps/ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ ├── preview.tsx │ │ │ │ │ │ │ ├── process.tsx │ │ │ │ │ │ │ └── upload.tsx │ │ │ │ │ │ ├── bot-debug-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-detail/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-table-data/ │ │ │ │ │ │ │ ├── batch-delete-toolbar.tsx │ │ │ │ │ │ │ ├── formatter.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── sortable-row.tsx │ │ │ │ │ │ │ ├── test-data.ts │ │ │ │ │ │ │ ├── tool-buttons-bar.tsx │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── database-table-structure-readonly/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── field-edit-kit/ │ │ │ │ │ │ │ ├── date/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── switch/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── textarea/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── row-edit-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── select-database-modal/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── items.tsx │ │ │ │ │ │ └── sider-category.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-connector-options.ts │ │ │ │ │ │ ├── use-expert-mode-config.ts │ │ │ │ │ │ ├── use-get-table-data.ts │ │ │ │ │ │ ├── use-library-create-database-modal.tsx │ │ │ │ │ │ ├── use-route-leaving-guard.tsx │ │ │ │ │ │ └── use-table-data.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── pages/ │ │ │ │ │ │ ├── database/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── library/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── fake-fetch.ts │ │ │ │ │ ├── get-default-value.ts │ │ │ │ │ ├── is-empty-value.ts │ │ │ │ │ ├── is-in-int64-range.ts │ │ │ │ │ ├── is-table-data-error-or-un-submit.ts │ │ │ │ │ └── table.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── llm-plugins/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── index.ts │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── recall-slices/ │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ └── filter-unnecessary-content-from-slice.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ ├── demo.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── variables/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── variable-group/ │ │ │ │ │ │ ├── group-collapsible-wraper/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── group-header/ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ └── use-get-hide-keys.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── render.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── variable-tree/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── custom-tree-node/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── add-operation/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── param-channel/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── param-default/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── param-description/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── param-name/ │ │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ │ └── use-cache-field.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── services/ │ │ │ │ │ │ │ │ │ └── check-rules.ts │ │ │ │ │ │ │ │ ├── param-operator/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── param-type/ │ │ │ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ │ │ └── readonly-text/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── json-editor/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── light.module.less │ │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ │ └── convert-schema-service.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── format-json.ts │ │ │ │ │ │ └── json-import/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ ├── life-cycle-service/ │ │ │ │ │ │ │ │ └── init-service.ts │ │ │ │ │ │ │ └── use-case-service/ │ │ │ │ │ │ │ └── export-variable-service.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── cut-off.ts │ │ │ │ │ │ ├── merge.ts │ │ │ │ │ │ └── traverse.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── type.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── context/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── variable-tree-context.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── life-cycle/ │ │ │ │ │ │ ├── use-destory.ts │ │ │ │ │ │ └── use-init.ts │ │ │ │ │ └── use-case/ │ │ │ │ │ ├── use-change-warning.ts │ │ │ │ │ ├── use-hidden-session.ts │ │ │ │ │ └── use-leave-waring.tsx │ │ │ │ ├── index.module.less │ │ │ │ ├── index.tsx │ │ │ │ ├── service/ │ │ │ │ │ └── use-case-service/ │ │ │ │ │ └── submit-service.ts │ │ │ │ ├── store/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── variable-groups/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── store.ts │ │ │ │ │ ├── transform/ │ │ │ │ │ │ ├── dto2vo.ts │ │ │ │ │ │ └── vo2dto.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── types/ │ │ │ │ │ └── view-variable-tree.ts │ │ │ │ ├── typings.d.ts │ │ │ │ ├── utils/ │ │ │ │ │ └── traverse.ts │ │ │ │ ├── variables-config.tsx │ │ │ │ └── variables-value.tsx │ │ │ ├── stories/ │ │ │ │ ├── demo.stories.tsx │ │ │ │ └── hello.mdx │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── devops/ │ │ │ ├── common-modules/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── modules/ │ │ │ │ │ │ └── query-trace/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── flamethread/ │ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── typing.ts │ │ │ │ │ │ │ ├── topology-flow/ │ │ │ │ │ │ │ │ ├── constant/ │ │ │ │ │ │ │ │ │ ├── flow.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── custom-edges/ │ │ │ │ │ │ │ │ │ ├── common.module.less │ │ │ │ │ │ │ │ │ ├── common.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── custom-nodes/ │ │ │ │ │ │ │ │ │ ├── common.module.less │ │ │ │ │ │ │ │ │ ├── common.tsx │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── hook.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── typing.ts │ │ │ │ │ │ │ │ └── util.tsx │ │ │ │ │ │ │ ├── trace-flamethread/ │ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── typing.ts │ │ │ │ │ │ │ │ └── util.ts │ │ │ │ │ │ │ ├── trace-tree/ │ │ │ │ │ │ │ │ ├── config.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── typing.ts │ │ │ │ │ │ │ │ └── util.tsx │ │ │ │ │ │ │ └── tree/ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── typing.ts │ │ │ │ │ │ │ └── util.ts │ │ │ │ │ │ ├── config/ │ │ │ │ │ │ │ └── cspan.ts │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-span-transform.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── typings/ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ ├── cspan.ts │ │ │ │ │ │ │ └── graph.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── cspan-graph.ts │ │ │ │ │ │ ├── cspan-transform.ts │ │ │ │ │ │ ├── cspan.ts │ │ │ │ │ │ ├── field-item-handler.ts │ │ │ │ │ │ └── format-time.ts │ │ │ │ │ ├── services/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── styles/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── typings/ │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── README.md │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── debug/ │ │ │ │ └── debug-panel/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── debug-panel/ │ │ │ │ │ │ ├── chart/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ ├── common.module.less │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── query-filter/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── side-panel/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── span-info.tsx │ │ │ │ │ │ └── summary/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── consts/ │ │ │ │ │ │ ├── env.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── span.tsx │ │ │ │ │ │ └── static.tsx │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-batch-span-cols.tsx │ │ │ │ │ │ ├── use-debug-panel-layout-config.tsx │ │ │ │ │ │ ├── use-span-cols.tsx │ │ │ │ │ │ └── use-trace-cols.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── main.css │ │ │ │ │ ├── store/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── typings/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── field-item.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── span.ts │ │ │ │ │ └── url.ts │ │ │ │ ├── tailwind.config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── json-link-preview/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── load-error/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── not-support/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── overlay.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-resource-size.ts │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ ├── image/ │ │ │ │ │ │ │ ├── hooks.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── preview.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── pdf/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── preview.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── download.ts │ │ │ │ │ ├── parse.ts │ │ │ │ │ └── url.ts │ │ │ │ ├── tailwind.config.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── mockset-manage/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hooks.test.ts │ │ │ │ │ └── utils.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── auto-generate-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── mock-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── option-item.module.less │ │ │ │ │ │ │ └── option-item.tsx │ │ │ │ │ │ ├── mockset-delete-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── mockset-edit-modal/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── const.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ └── use-get-mockset.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── auto-generate-storage.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── testset-manage/ │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── auto-load-more.module.less │ │ │ │ │ ├── auto-load-more.tsx │ │ │ │ │ ├── sidesheet-title.module.less │ │ │ │ │ ├── sidesheet-title.tsx │ │ │ │ │ ├── testset-edit-sidesheet/ │ │ │ │ │ │ ├── auto-fill.module.less │ │ │ │ │ │ ├── auto-fill.tsx │ │ │ │ │ │ ├── form-label.module.less │ │ │ │ │ │ ├── form-label.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node-form-section.module.less │ │ │ │ │ │ ├── node-form-section.tsx │ │ │ │ │ │ ├── testset-name-input.module.less │ │ │ │ │ │ ├── testset-name-input.tsx │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── testset-select/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── testset-option-item.module.less │ │ │ │ │ │ └── testset-option-item.tsx │ │ │ │ │ └── testset-sidesheet/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── testset-list-item.module.less │ │ │ │ │ └── testset-list-item.tsx │ │ │ │ ├── context.tsx │ │ │ │ ├── events.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-check-schema.ts │ │ │ │ │ ├── use-testset-manage-store.ts │ │ │ │ │ └── use-testset-options.ts │ │ │ │ ├── index.ts │ │ │ │ ├── store.ts │ │ │ │ ├── types.ts │ │ │ │ └── typing.d.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── foundation/ │ │ │ ├── account-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── setup-vitest.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── passport-api/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ ├── constants.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── account-base/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── setup-vitest.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── factory.test.ts │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ └── use-sync-local-storage-uid.test.ts │ │ │ │ │ │ ├── factory.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-sync-local-storage-uid.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── store/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── user.test.ts │ │ │ │ │ │ └── user.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── passport.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── factory.test.ts │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ ├── factory.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── account-ui-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── pages/ │ │ │ │ │ │ └── login-page/ │ │ │ │ │ │ ├── favicon.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── service.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── account-ui-base/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── loading-container.tsx │ │ │ │ │ │ ├── require-auth-container/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── user-info-panel/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── password-field.tsx │ │ │ │ │ │ ├── user-info-field.tsx │ │ │ │ │ │ └── username-input/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── logout.tsx │ │ │ │ │ │ └── use-account-settings/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── use-modal.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── browser-upgrade-banner/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── browser-upgrade-wrap/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── compare-version.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── is-mobile.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── enterprise-store-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-check-enterprise-exist.test.ts │ │ │ │ │ │ ├── use-current-enterprise-info.test.ts │ │ │ │ │ │ └── use-enterprise-list.test.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── personal.test.ts │ │ │ │ │ └── switch-enterprise.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-check-enterprise-exist.ts │ │ │ │ │ │ ├── use-current-enterprise-info.ts │ │ │ │ │ │ └── use-enterprise-list.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── stores/ │ │ │ │ │ │ └── enterprise.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── personal.ts │ │ │ │ │ └── switch-enterprise.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── foundation-sdk/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── passport.ts │ │ │ │ │ ├── space.ts │ │ │ │ │ └── user.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── global/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-app-init/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── use-alert-on-logout.ts │ │ │ │ │ │ └── use-create-bot-action.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── global-loading.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── global-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── account-dropdown/ │ │ │ │ │ │ │ ├── account-settings/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── user-info-menu.tsx │ │ │ │ │ │ ├── global-layout/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── global-layout-composed/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-has-sider.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-app-init/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-init-common-config.ts │ │ │ │ │ │ ├── use-reset-store-on-logout.ts │ │ │ │ │ │ ├── use-responsive-body-style.ts │ │ │ │ │ │ └── use-track-route-change.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── global-store/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── stores/ │ │ │ │ │ │ └── common-config-store.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── layout/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── mobile.test.ts │ │ │ │ │ ├── setup-vitest.ts │ │ │ │ │ └── use-mobile-tips.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── assets/ │ │ │ │ │ │ └── styles/ │ │ │ │ │ │ └── common.less │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── account-dropdown/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── back-button/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── global-error/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── global-layout/ │ │ │ │ │ │ │ ├── component/ │ │ │ │ │ │ │ │ ├── action-btn.tsx │ │ │ │ │ │ │ │ ├── menu-item.tsx │ │ │ │ │ │ │ │ ├── sider.tsx │ │ │ │ │ │ │ │ └── sub-menu.tsx │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── side-sheet.module.less │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── side-sheet-menu.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-mobile-tips/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── store/ │ │ │ │ │ │ ├── bot-mobile/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── local-storage/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── core/ │ │ │ │ │ │ └── local-storage-service.test.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-value.test.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ └── parse.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── config.ts │ │ │ │ │ ├── core/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-value.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── parse.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── space-store/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __mocks__/ │ │ │ │ │ └── zustand.ts │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup-vitest.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ └── use-space-app.test.ts │ │ │ │ │ │ └── use-space-app.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── space/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── use-refresh-space.test.ts │ │ │ │ │ │ │ ├── use-space-list.test.ts │ │ │ │ │ │ │ └── use-space.test.ts │ │ │ │ │ │ └── hooks.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── space-store-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __mocks__/ │ │ │ │ │ └── zustand.ts │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── space.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup-vitest.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── space/ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── space-ui-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── space-layout/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── workspace-sub-menu/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── const.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-init-space.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── space-ui-base/ │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── space-id-layout.tsx │ │ │ │ │ └── workspace-sub-menu/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── favorites-list-item.tsx │ │ │ │ │ │ ├── favorites-list.tsx │ │ │ │ │ │ ├── list.css │ │ │ │ │ │ ├── workspace-list-item.tsx │ │ │ │ │ │ └── workspace-list.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ └── use-init-space.ts │ │ │ │ ├── index.tsx │ │ │ │ └── typings.d.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── project-ide/ │ │ │ ├── base-adapter/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-commit-version.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── services/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── options-service.ts │ │ │ │ │ └── ws-service.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── base-interface/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── create-store.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── biz-components/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-open-resource.ts │ │ │ │ │ │ ├── use-resource-copy-dispatch.tsx │ │ │ │ │ │ └── use-resource-list.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── resource-folder-coze/ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ ├── expandable-arrow.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-delete-modal.tsx │ │ │ │ │ │ │ ├── use-resource-folder-config.tsx │ │ │ │ │ │ │ ├── use-resource-open.ts │ │ │ │ │ │ │ └── with-rename-sync.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ │ ├── create-resource-folder-plugin.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── resource-folder-contribution.ts │ │ │ │ │ │ │ └── shortcut-service.ts │ │ │ │ │ │ ├── resource-folder-coze.tsx │ │ │ │ │ │ ├── resource-group-actions.tsx │ │ │ │ │ │ ├── resource-group.module.less │ │ │ │ │ │ ├── resource-group.tsx │ │ │ │ │ │ ├── styles.module.less │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ ├── stores/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── primary-sidebar-store.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── biz-data/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── sider-category.tsx │ │ │ │ │ ├── database-main.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-data-resource.tsx │ │ │ │ │ │ ├── use-database-resource.tsx │ │ │ │ │ │ ├── use-import-data.tsx │ │ │ │ │ │ ├── use-knowledge-resource.tsx │ │ │ │ │ │ └── use-resource-operation.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── main.tsx │ │ │ │ │ ├── registry.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── variables-main.tsx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── biz-plugin/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ ├── use-plugin-resource.tsx │ │ │ │ │ │ └── use-resource-operation.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── main.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── biz-plugin-registry-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── registry.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── biz-workflow/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── workflow-tooltip.module.less │ │ │ │ │ │ ├── workflow-tooltip.tsx │ │ │ │ │ │ └── workflow-widget-icon.tsx │ │ │ │ │ ├── constants.tsx │ │ │ │ │ ├── conversation/ │ │ │ │ │ │ ├── chat-history/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-skeleton.tsx │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── conversation-content/ │ │ │ │ │ │ │ ├── edit-input.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dynamic-chat-list/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-batch-delete.ts │ │ │ │ │ │ │ ├── use-connector-list.ts │ │ │ │ │ │ │ ├── use-conversation-list.ts │ │ │ │ │ │ │ ├── use-create-chat.ts │ │ │ │ │ │ │ ├── use-delete-chat/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── use-update-chat.ts │ │ │ │ │ │ ├── main.module.less │ │ │ │ │ │ ├── main.tsx │ │ │ │ │ │ ├── registry.tsx │ │ │ │ │ │ ├── static-chat-list/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── title-with-tooltip/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── debug.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-change-flow-mode.ts │ │ │ │ │ │ ├── use-import-library-workflow.tsx │ │ │ │ │ │ ├── use-listen-message-event.ts │ │ │ │ │ │ ├── use-name-validators.ts │ │ │ │ │ │ ├── use-project-api.ts │ │ │ │ │ │ ├── use-refresh.ts │ │ │ │ │ │ ├── use-resource-operation.tsx │ │ │ │ │ │ └── use-workflow-resource.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── main.tsx │ │ │ │ │ ├── registry.tsx │ │ │ │ │ ├── type.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── client/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── ide-client.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── contributions/ │ │ │ │ │ │ └── client-default-contribution.ts │ │ │ │ │ ├── create-default-preset.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── options.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── core/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── application/ │ │ │ │ │ │ ├── application.ts │ │ │ │ │ │ ├── container-module.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── command/ │ │ │ │ │ │ ├── create-command-plugin.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── container-factory.ts │ │ │ │ │ │ ├── context-key-service.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── lifecycle-contribution.ts │ │ │ │ │ │ ├── open-service.ts │ │ │ │ │ │ ├── path.ts │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ ├── prioritizeable.spec.ts │ │ │ │ │ │ ├── prioritizeable.ts │ │ │ │ │ │ ├── storage-service.ts │ │ │ │ │ │ ├── uri.spec.ts │ │ │ │ │ │ ├── uri.ts │ │ │ │ │ │ └── window-service.ts │ │ │ │ │ ├── event/ │ │ │ │ │ │ ├── create-event-plugin.ts │ │ │ │ │ │ ├── event-container-module.ts │ │ │ │ │ │ ├── event-contribution.ts │ │ │ │ │ │ ├── event-registry.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── label/ │ │ │ │ │ │ ├── create-label-plugin.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── label-handler.ts │ │ │ │ │ │ ├── label-manager.ts │ │ │ │ │ │ ├── label-service.ts │ │ │ │ │ │ └── uri-label.tsx │ │ │ │ │ ├── navigation/ │ │ │ │ │ │ ├── browser-history.ts │ │ │ │ │ │ ├── create-navigation-plugin.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── navigation-contribution.ts │ │ │ │ │ │ ├── navigation-history.ts │ │ │ │ │ │ └── navigation-service.ts │ │ │ │ │ ├── preference/ │ │ │ │ │ │ ├── create-preferences-plugin.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── preference-contribution.ts │ │ │ │ │ │ ├── preferences-contribution.ts │ │ │ │ │ │ └── preferences-manager.ts │ │ │ │ │ ├── renderer/ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ ├── ide-provider.tsx │ │ │ │ │ │ ├── ide-renderer.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-ide-container.ts │ │ │ │ │ │ ├── use-ide-service.ts │ │ │ │ │ │ ├── use-location.ts │ │ │ │ │ │ ├── use-navigation.ts │ │ │ │ │ │ ├── use-refresh.ts │ │ │ │ │ │ ├── use-styling.tsx │ │ │ │ │ │ └── use-theme.ts │ │ │ │ │ ├── resource/ │ │ │ │ │ │ ├── auto-save-resource.ts │ │ │ │ │ │ ├── create-resource-plugin.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── resource-manager.ts │ │ │ │ │ │ ├── resource-service.ts │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── shortcut/ │ │ │ │ │ │ ├── create-shortcuts-plugin.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── keybinding/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── keybinding-service.ts │ │ │ │ │ │ │ └── keybinding.ts │ │ │ │ │ │ ├── shortcuts/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── shortcuts-container-module.ts │ │ │ │ │ │ ├── shortcuts-service.tsx │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── device.ts │ │ │ │ │ │ ├── dom.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── key-label.ts │ │ │ │ │ │ └── key-match.ts │ │ │ │ │ └── styles/ │ │ │ │ │ ├── color/ │ │ │ │ │ │ ├── color-contribution.ts │ │ │ │ │ │ ├── color-service.ts │ │ │ │ │ │ ├── colors/ │ │ │ │ │ │ │ ├── base-colors.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── view-colors.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── create-styles-plugin.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── styles-contribution.ts │ │ │ │ │ ├── styling/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── styling-contribution.ts │ │ │ │ │ │ └── styling-service.ts │ │ │ │ │ ├── theme/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── theme-service.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ ├── vitest.config.ts │ │ │ │ └── vitest.setup.ts │ │ │ ├── framework/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── ide-client.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── resource-folder/ │ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-collapsed-map.ts │ │ │ │ │ │ │ │ ├── use-context-change.ts │ │ │ │ │ │ │ │ ├── use-create-edit-resource/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── promise-controller.ts │ │ │ │ │ │ │ │ │ └── use-custom-validator.ts │ │ │ │ │ │ │ │ ├── use-custom-event.tsx │ │ │ │ │ │ │ │ ├── use-focus-resource/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── use-mouse-event/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── use-drag-ui.tsx │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ ├── use-optimism-ui/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── use-register-command/ │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── use-right-click-panel/ │ │ │ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── util.ts │ │ │ │ │ │ │ │ ├── use-selected-change.ts │ │ │ │ │ │ │ │ └── uss-state-ref.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── render-components/ │ │ │ │ │ │ │ │ ├── base-render.tsx │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── item-render.tsx │ │ │ │ │ │ │ │ │ ├── memo-text.tsx │ │ │ │ │ │ │ │ │ ├── more-tools.tsx │ │ │ │ │ │ │ │ │ ├── name-input.tsx │ │ │ │ │ │ │ │ │ └── static-error-msg-render.tsx │ │ │ │ │ │ │ │ ├── file-render.tsx │ │ │ │ │ │ │ │ └── folder-render.tsx │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── base-event.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── resource-modal/ │ │ │ │ │ │ ├── styles.module.less │ │ │ │ │ │ ├── success-content.tsx │ │ │ │ │ │ └── use-navigate-resource.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ ├── commands.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── uri.ts │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── widget-context.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-activate-widget-context.ts │ │ │ │ │ │ ├── use-commit-version.tsx │ │ │ │ │ │ ├── use-current-mode-type.ts │ │ │ │ │ │ ├── use-current-split-screen.ts │ │ │ │ │ │ ├── use-current-widget-context.ts │ │ │ │ │ │ ├── use-get-ui-widget-from-id.ts │ │ │ │ │ │ ├── use-ide-location.ts │ │ │ │ │ │ ├── use-ide-navigate.ts │ │ │ │ │ │ ├── use-ide-service-in-biz.ts │ │ │ │ │ │ ├── use-message-event.ts │ │ │ │ │ │ ├── use-project-id.ts │ │ │ │ │ │ ├── use-project-ide-services.ts │ │ │ │ │ │ ├── use-shortcuts.ts │ │ │ │ │ │ ├── use-space-id.ts │ │ │ │ │ │ ├── use-title.ts │ │ │ │ │ │ ├── use-view-service.ts │ │ │ │ │ │ └── use-ws-listener.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── close-confirm-plugin/ │ │ │ │ │ │ │ ├── close-confirm-contribution.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── create-context-menu-plugin/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── create-preset-plugin/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── lifecycle-service.ts │ │ │ │ │ │ │ ├── preset-contribution.ts │ │ │ │ │ │ │ ├── project-ide-services.ts │ │ │ │ │ │ │ ├── tooltip-contribution.tsx │ │ │ │ │ │ │ ├── view-service.ts │ │ │ │ │ │ │ ├── widget-service.ts │ │ │ │ │ │ │ └── with-registry-content/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── use-lifecycle.ts │ │ │ │ │ │ │ └── use-mount.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── services/ │ │ │ │ │ │ ├── error-service.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── message-event-service.ts │ │ │ │ │ │ └── modal-service.tsx │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── client.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── registry.ts │ │ │ │ │ │ ├── resource.ts │ │ │ │ │ │ ├── services.ts │ │ │ │ │ │ └── widget.ts │ │ │ │ │ ├── utils/ │ │ │ │ │ │ ├── add-preserved-search-params.ts │ │ │ │ │ │ ├── custom-layout.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── resource-tools.ts │ │ │ │ │ │ └── with-lazy-load.tsx │ │ │ │ │ └── widgets/ │ │ │ │ │ ├── primary-sidebar-widget/ │ │ │ │ │ │ ├── config-widget.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── resource-widget.tsx │ │ │ │ │ └── project-ide-widget.tsx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── main/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── browser-title/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── configuration/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── error-fallback/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── global-handler/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── global-loading/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── global-modals/ │ │ │ │ │ │ │ ├── close-confirm-modal/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── resource-modal/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── loop-content.tsx │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── primary-sidebar/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── resource-list/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-resource-actions.tsx │ │ │ │ │ │ ├── resource-tree-modal/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── resource-content.tsx │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── sidebar-expand/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── toolbar/ │ │ │ │ │ │ │ ├── full-screen-button/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── reload-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── top-bar/ │ │ │ │ │ │ │ ├── go-back-button.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── operators/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── monetize/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── project-info/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── info-content.tsx │ │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── ui-builder/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── widget-default-renderer/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── shortcut-item/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── widget-fallback/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── widget-title/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── styles.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-project-info.ts │ │ │ │ │ ├── index.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── layout.tsx │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ ├── create-app-plugin/ │ │ │ │ │ │ │ ├── app-contribution.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── layout-restore-service.ts │ │ │ │ │ │ │ ├── open-url-resource-service.ts │ │ │ │ │ │ │ ├── project-info-service.ts │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ └── layout-store.ts │ │ │ │ │ │ │ └── widget-event-service.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── styles/ │ │ │ │ │ ├── recommend.css │ │ │ │ │ └── widgets.css │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ └── tsconfig.misc.json │ │ │ ├── ui-adapter/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── left-content-buttons/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── mode-tab/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── secondary-sidebar/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── ui-builder/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-commit-version.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── view/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── activity-bar/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── styles.ts │ │ │ │ │ ├── scroll-bar/ │ │ │ │ │ │ ├── handlers/ │ │ │ │ │ │ │ ├── click-rail.js │ │ │ │ │ │ │ ├── drag-thumb.js │ │ │ │ │ │ │ ├── keyboard.js │ │ │ │ │ │ │ ├── mouse-wheel.js │ │ │ │ │ │ │ └── touch.js │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── lib/ │ │ │ │ │ │ │ ├── class-names.js │ │ │ │ │ │ │ ├── css.js │ │ │ │ │ │ │ ├── dom.js │ │ │ │ │ │ │ ├── event-manager.js │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ ├── process-scroll-diff.js │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ └── perfect-scrollbar.d.ts │ │ │ │ │ │ └── update-geometry.js │ │ │ │ │ └── status-bar/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── constants/ │ │ │ │ │ ├── area-id.ts │ │ │ │ │ ├── class-names.ts │ │ │ │ │ ├── dock-panel.ts │ │ │ │ │ ├── hover.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── view-options.ts │ │ │ │ │ └── view.ts │ │ │ │ ├── contributions/ │ │ │ │ │ ├── activity-bar-contribution.ts │ │ │ │ │ ├── context-menu/ │ │ │ │ │ │ ├── context-menu-container-module.ts │ │ │ │ │ │ ├── context-menu.ts │ │ │ │ │ │ ├── create-context-menu-plugin.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── menu-registry.ts │ │ │ │ │ │ └── menu.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── styles/ │ │ │ │ │ │ ├── menu-style.ts │ │ │ │ │ │ └── panel-style.ts │ │ │ │ │ ├── view-common-contribution.ts │ │ │ │ │ └── view-contribution.ts │ │ │ │ ├── create-view-plugin.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-current-resource.ts │ │ │ │ │ ├── use-current-widget-from-area.ts │ │ │ │ │ └── use-current-widget.ts │ │ │ │ ├── index.css │ │ │ │ ├── index.ts │ │ │ │ ├── lumino/ │ │ │ │ │ ├── algorithm/ │ │ │ │ │ │ ├── array.ts │ │ │ │ │ │ ├── chain.ts │ │ │ │ │ │ ├── empty.ts │ │ │ │ │ │ ├── enumerate.ts │ │ │ │ │ │ ├── filter.ts │ │ │ │ │ │ ├── find.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── iter.ts │ │ │ │ │ │ ├── map.ts │ │ │ │ │ │ ├── range.ts │ │ │ │ │ │ ├── reduce.ts │ │ │ │ │ │ ├── repeat.ts │ │ │ │ │ │ ├── retro.ts │ │ │ │ │ │ ├── sort.ts │ │ │ │ │ │ ├── stride.ts │ │ │ │ │ │ ├── string.ts │ │ │ │ │ │ ├── take.ts │ │ │ │ │ │ └── zip.ts │ │ │ │ │ ├── collections/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── linkedlist.ts │ │ │ │ │ ├── coreutils/ │ │ │ │ │ │ ├── index.common.ts │ │ │ │ │ │ ├── index.node.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── json.ts │ │ │ │ │ │ ├── mime.ts │ │ │ │ │ │ ├── promise.ts │ │ │ │ │ │ ├── random.browser.ts │ │ │ │ │ │ ├── random.node.ts │ │ │ │ │ │ ├── random.ts │ │ │ │ │ │ ├── token.ts │ │ │ │ │ │ ├── uuid.browser.ts │ │ │ │ │ │ ├── uuid.node.ts │ │ │ │ │ │ └── uuid.ts │ │ │ │ │ ├── disposable/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── domutils/ │ │ │ │ │ │ ├── clipboard.ts │ │ │ │ │ │ ├── element.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── platform.ts │ │ │ │ │ │ └── selector.ts │ │ │ │ │ ├── dragdrop/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── messaging/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── properties/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── signaling/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── virtualdom/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── widgets/ │ │ │ │ │ ├── boxengine.ts │ │ │ │ │ ├── boxlayout.ts │ │ │ │ │ ├── boxpanel.ts │ │ │ │ │ ├── docklayout.ts │ │ │ │ │ ├── dockpanel.ts │ │ │ │ │ ├── focustracker.ts │ │ │ │ │ ├── gridlayout.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── layout.ts │ │ │ │ │ ├── panel.ts │ │ │ │ │ ├── panellayout.ts │ │ │ │ │ ├── scrollbar.ts │ │ │ │ │ ├── singletonlayout.ts │ │ │ │ │ ├── splitlayout.ts │ │ │ │ │ ├── splitpanel.ts │ │ │ │ │ ├── stackedlayout.ts │ │ │ │ │ ├── stackedpanel.ts │ │ │ │ │ ├── tabbar.ts │ │ │ │ │ ├── tabpanel.ts │ │ │ │ │ ├── title.ts │ │ │ │ │ ├── utils.ts │ │ │ │ │ └── widget.ts │ │ │ │ ├── services/ │ │ │ │ │ ├── debug-service.ts │ │ │ │ │ ├── drag-service.ts │ │ │ │ │ ├── hover-service.ts │ │ │ │ │ └── view-service.ts │ │ │ │ ├── shell/ │ │ │ │ │ ├── application-shell.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── layout-restorer.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── types/ │ │ │ │ │ ├── common.ts │ │ │ │ │ ├── custom-lumino.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── toolbar.ts │ │ │ │ │ └── view.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── create-portal.tsx │ │ │ │ │ ├── icon.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── layout.ts │ │ │ │ │ ├── tools.ts │ │ │ │ │ └── uri.ts │ │ │ │ ├── view-manager.tsx │ │ │ │ ├── view-renderer.tsx │ │ │ │ ├── widget/ │ │ │ │ │ ├── base-widget.ts │ │ │ │ │ ├── dock-panel-renderer-factory.ts │ │ │ │ │ ├── dock-panel-renderer.ts │ │ │ │ │ ├── dock-panel.ts │ │ │ │ │ ├── handlers/ │ │ │ │ │ │ └── side-panel-handler.tsx │ │ │ │ │ ├── react-widget.tsx │ │ │ │ │ ├── react-widgets/ │ │ │ │ │ │ ├── activity-bar-widget/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── custom-render-widget-factory.tsx │ │ │ │ │ │ ├── debug-bar-widget.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── split-widget.tsx │ │ │ │ │ │ └── status-bar-widget.tsx │ │ │ │ │ ├── tab-bar/ │ │ │ │ │ │ ├── custom-tabbar.ts │ │ │ │ │ │ ├── tab-renderer.ts │ │ │ │ │ │ ├── toolbar.tsx │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── widget-factory.ts │ │ │ │ │ └── widget-open-handler.ts │ │ │ │ └── widget-manager.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── studio/ │ │ │ ├── autosave/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __mocks__/ │ │ │ │ │ └── zustand.ts │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── core/ │ │ │ │ │ │ ├── manager.test.ts │ │ │ │ │ │ └── observer.test.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── setup-vitest.ts │ │ │ │ ├── src/ │ │ │ │ │ ├── core/ │ │ │ │ │ │ ├── manager.ts │ │ │ │ │ │ └── observer.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── type/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── bot-utils/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── with-slardar-id-button.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── with-slardar-id-button.tsx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── common/ │ │ │ │ └── file-kit/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── util.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── accept.ts │ │ │ │ │ ├── const.ts │ │ │ │ │ ├── exports/ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ └── logic.ts │ │ │ │ │ ├── file-type.ts │ │ │ │ │ ├── icon/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ └── util.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── util.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── components/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── avatar-name.test.tsx │ │ │ │ │ └── select-space-modal.test.tsx │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── avatar-background-notice-dot/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── avatar-name/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── card-thumbnail-popover/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── carousel/ │ │ │ │ │ │ ├── carousel-item/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── collapsible-icon-button/ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── coze-brand/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── dnd-provider/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── duplicate-bot/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── flow-shortcuts-help/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── generate-button/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── generate-gif/ │ │ │ │ │ │ ├── image-picker.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── generate-img-tab/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── image-list/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── input-controls/ │ │ │ │ │ │ └── input-slider/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── input-with-count/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── link-list/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── list-tab/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── list-tab.tsx │ │ │ │ │ ├── loading-button/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── markdown-editor/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── action-bar/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── insert-link-popover/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── upload-progress-mask/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constant/ │ │ │ │ │ │ │ ├── file.ts │ │ │ │ │ │ │ └── onboarding-variable.ts │ │ │ │ │ │ ├── helpers/ │ │ │ │ │ │ │ ├── get-insert-text-at-position.ts │ │ │ │ │ │ │ ├── get-insert-text.ts │ │ │ │ │ │ │ ├── get-is-file-format-valid.ts │ │ │ │ │ │ │ ├── get-markdown-image-link.ts │ │ │ │ │ │ │ └── get-markdown-link.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-markdown-editor.ts │ │ │ │ │ │ │ └── use-upload-file.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ └── upload-controller.ts │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── exhaustive-check.ts │ │ │ │ │ │ ├── onboarding-variable.ts │ │ │ │ │ │ └── typed-keys.ts │ │ │ │ │ ├── model-option/ │ │ │ │ │ │ ├── model-description.tsx │ │ │ │ │ │ └── option-item.tsx │ │ │ │ │ ├── monetize/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── monetize-config-panel/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── monetize-credit-refresh-cycle/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── monetize-description/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── monetize-free-chat-count/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── monetize-publish-info/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── monetize-switch/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── personal-header/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── space-app-list/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── top-bar/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── plugin-limit-info/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ └── parameters-popover/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── popover-content/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── project-duplicate-modal/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── resizable-layout/ │ │ │ │ │ │ ├── handle.module.less │ │ │ │ │ │ ├── handle.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── search/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── search-no-result/ │ │ │ │ │ │ ├── card/ │ │ │ │ │ │ │ ├── bot/ │ │ │ │ │ │ │ │ ├── BotNoResult.tsx │ │ │ │ │ │ │ │ ├── BotNoResultDark.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ │ ├── CommonNoResult.tsx │ │ │ │ │ │ │ │ ├── CommonNoResultDark.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── recommend/ │ │ │ │ │ │ │ │ ├── RecommendNoResult.tsx │ │ │ │ │ │ │ │ ├── RecommendNoResultDark.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── social/ │ │ │ │ │ │ │ │ ├── SocialNoResult.tsx │ │ │ │ │ │ │ │ ├── SocialNoResultDark.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── social-scene-flow/ │ │ │ │ │ │ │ │ ├── SocialSceneFlowNoResult.tsx │ │ │ │ │ │ │ │ ├── SocialSceneFlowNoResultDark.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── widget/ │ │ │ │ │ │ │ ├── WidgetNoResult.tsx │ │ │ │ │ │ │ ├── WidgetNoResultDark.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── factory/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── mask/ │ │ │ │ │ │ ├── SearchNoResultDark.tsx │ │ │ │ │ │ ├── SearchNoResultLight.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── select-space-modal/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── social-scene/ │ │ │ │ │ │ └── collapsible-role-list/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── sortable-list/ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── space-form-select/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── sticky/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── table-select-all-popover/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── tea-exposure/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ ├── ui-breadcrumb/ │ │ │ │ │ │ ├── bread-crumb.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── ui-search/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── upload-generate-button/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ ├── vitest.config.ts │ │ │ │ └── vitest.setup.ts │ │ │ ├── entity-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-create-agent.tsx │ │ │ │ │ │ ├── use-create-or-update-agent/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── use-update-agent.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── mockset-edit-modal-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── mockset-edit-modal/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── mockset-editor/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── mockset-editor/ │ │ │ │ │ │ ├── editor.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── light-theme-editor.module.less │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── mockset-editor-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── mockset-editor/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── mockset-shared/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── interface.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── open-platform/ │ │ │ │ ├── chat-app-sdk/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── OWNERS │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config/ │ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ │ └── rushx-config.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── rspack-config/ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ ├── base.ts │ │ │ │ │ │ ├── build.config.ts │ │ │ │ │ │ ├── dev.config.ts │ │ │ │ │ │ ├── dev.ts │ │ │ │ │ │ ├── env.ts │ │ │ │ │ │ ├── export.ts │ │ │ │ │ │ ├── rules.ts │ │ │ │ │ │ └── semi-css-var-postcss-plugin.ts │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── index.test.tsx │ │ │ │ │ │ │ ├── auth.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── main.less │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── icons/ │ │ │ │ │ │ │ │ ├── close.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── spin.tsx │ │ │ │ │ │ │ └── widget/ │ │ │ │ │ │ │ ├── ast-btn.tsx │ │ │ │ │ │ │ ├── chat-content.tsx │ │ │ │ │ │ │ ├── chat-non-iframe.tsx │ │ │ │ │ │ │ ├── image-preview.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── non-iframe-app/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── non-iframe-bot/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dev-app/ │ │ │ │ │ │ │ ├── App.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── main.less │ │ │ │ │ │ │ ├── page/ │ │ │ │ │ │ │ │ ├── AppWidget.tsx │ │ │ │ │ │ │ │ ├── Chat.tsx │ │ │ │ │ │ │ │ └── Client.tsx │ │ │ │ │ │ │ └── routes/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── export-ui/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-image-preview.ts │ │ │ │ │ │ │ └── use-message-interact.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── setter.test.ts │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── global.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── test/ │ │ │ │ │ │ │ └── setup.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── chat.ts │ │ │ │ │ │ │ ├── client.ts │ │ │ │ │ │ │ └── post.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── util/ │ │ │ │ │ │ ├── get-chat-config.ts │ │ │ │ │ │ └── style.ts │ │ │ │ │ ├── tailwind.config.js │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── open-auth/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── hooks/ │ │ │ │ │ │ └── use-token.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── setup/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── auth-table/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── instructions-wrap/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── pat/ │ │ │ │ │ │ │ ├── data-table/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── table-column/ │ │ │ │ │ │ │ │ ├── column-create-at.tsx │ │ │ │ │ │ │ │ ├── column-expire-at.tsx │ │ │ │ │ │ │ │ ├── column-last-use-at.tsx │ │ │ │ │ │ │ │ ├── column-name.tsx │ │ │ │ │ │ │ │ ├── column-op.tsx │ │ │ │ │ │ │ │ ├── column-status.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── permission-modal/ │ │ │ │ │ │ │ │ ├── common-form-params/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── result-modal/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── top-body/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── pat/ │ │ │ │ │ │ │ │ ├── action/ │ │ │ │ │ │ │ │ │ ├── use-pat-form.ts │ │ │ │ │ │ │ │ │ └── use-pat-operation.ts │ │ │ │ │ │ │ │ └── use-token.ts │ │ │ │ │ │ │ └── use-table-height.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ └── time.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ ├── open-chat/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ │ └── setup.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── chat/ │ │ │ │ │ │ │ ├── builder-chat/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── audit-panel/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── background/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ │ │ └── builder-chat-context.tsx │ │ │ │ │ │ │ │ ├── coze-chat.tsx │ │ │ │ │ │ │ │ ├── data-type.ts │ │ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ │ │ └── get-connector-id.ts │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ ├── use-bot-user-update.ts │ │ │ │ │ │ │ │ │ ├── use-core-manager.ts │ │ │ │ │ │ │ │ │ ├── use-init-chat.ts │ │ │ │ │ │ │ │ │ ├── use-on-boarding-update.ts │ │ │ │ │ │ │ │ │ └── use-request-init.ts │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── plugins/ │ │ │ │ │ │ │ │ │ └── event-callback/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ │ │ │ └── life-cycle/ │ │ │ │ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ │ │ │ │ ├── command.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── message.ts │ │ │ │ │ │ │ │ │ │ └── render.ts │ │ │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ │ │ └── biz-context.ts │ │ │ │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ │ │ ├── create-conversation.ts │ │ │ │ │ │ │ │ │ └── get-bot-info.ts │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ └── web-sdk/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── conversation-list-sider/ │ │ │ │ │ │ │ │ ├── conversation-item/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── mobile/ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── operate/ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ └── pc/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── operate/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── conversation-list/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── error-boundary/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── error-fallback/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── footer/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── mobile/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── pc/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── icon/ │ │ │ │ │ │ │ │ └── add-new-conversation.tsx │ │ │ │ │ │ │ ├── loading/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── studio-open-chat/ │ │ │ │ │ │ │ ├── area/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── audio-unfocus-text/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── chat-input-let-slot/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── shortcut-bar/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── __test__/ │ │ │ │ │ │ │ │ │ └── user-info.test.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── use-chat-op-info.tsx │ │ │ │ │ │ │ │ ├── use-conversation-list.ts │ │ │ │ │ │ │ │ ├── use-error.ts │ │ │ │ │ │ │ │ ├── use-get-theme.ts │ │ │ │ │ │ │ │ ├── use-is-show-background.ts │ │ │ │ │ │ │ │ ├── use-pagination-request.ts │ │ │ │ │ │ │ │ ├── use-update-conversation-name-by-message.ts │ │ │ │ │ │ │ │ └── use-user-info.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ │ │ └── life-cycle/ │ │ │ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ │ │ │ ├── command.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── message.ts │ │ │ │ │ │ │ │ │ └── render.ts │ │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ │ └── biz-context.ts │ │ │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ │ │ ├── provider/ │ │ │ │ │ │ │ │ ├── coz-sdk/ │ │ │ │ │ │ │ │ │ ├── api-adapter/ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── message/ │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ ├── message-convert-to-coze.ts │ │ │ │ │ │ │ │ │ │ │ ├── message-convert-to-sdk.ts │ │ │ │ │ │ │ │ │ │ │ └── message-parser.ts │ │ │ │ │ │ │ │ │ │ ├── use-break-message.ts │ │ │ │ │ │ │ │ │ │ ├── use-clear-history.ts │ │ │ │ │ │ │ │ │ │ ├── use-clear-message-context.ts │ │ │ │ │ │ │ │ │ │ ├── use-common-hooks.ts │ │ │ │ │ │ │ │ │ │ ├── use-message-list.ts │ │ │ │ │ │ │ │ │ │ └── use-send-message.ts │ │ │ │ │ │ │ │ │ ├── chat-provider.tsx │ │ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ │ │ │ ├── convert-shortcut-data.ts │ │ │ │ │ │ │ │ │ │ └── coze-api-custom.ts │ │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ │ └── use-bg-background-plugin.ts │ │ │ │ │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ │ │ └── delete-message/ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── custom-components/ │ │ │ │ │ │ │ │ │ │ │ ├── message-box/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── message-box-footer/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── use-message-footer-info.ts │ │ │ │ │ │ │ │ │ │ │ ├── message-box-hover-slot/ │ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ │ └── use-message-hover-info.ts │ │ │ │ │ │ │ │ │ │ │ └── message-group-footer/ │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ └── use-message-group-footer-info.ts │ │ │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ │ │ ├── use-cur-message-info.ts │ │ │ │ │ │ │ │ │ │ │ ├── use-delete-message.ts │ │ │ │ │ │ │ │ │ │ │ └── use-submit-feedback-api.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ │ │ │ │ └── life-cycle/ │ │ │ │ │ │ │ │ │ │ │ ├── app.ts │ │ │ │ │ │ │ │ │ │ │ ├── command.ts │ │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ │ ├── message.ts │ │ │ │ │ │ │ │ │ │ │ └── render.ts │ │ │ │ │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ │ │ │ │ └── biz-context.ts │ │ │ │ │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ │ │ ├── use-api-client.ts │ │ │ │ │ │ │ │ │ ├── use-core-manager.ts │ │ │ │ │ │ │ │ │ ├── use-core-override-config.ts │ │ │ │ │ │ │ │ │ ├── use-request-init.ts │ │ │ │ │ │ │ │ │ └── use-upload-file-api.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── store/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ ├── exports/ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── helper/ │ │ │ │ │ │ │ ├── clear-local-message-history.ts │ │ │ │ │ │ │ ├── coze-api-upload.ts │ │ │ │ │ │ │ ├── get-local-message-history-key.ts │ │ │ │ │ │ │ ├── get-local-message-history.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── is-show-feedback.ts │ │ │ │ │ │ │ └── studio-open-client-reporter.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── client.ts │ │ │ │ │ │ │ ├── conversations.ts │ │ │ │ │ │ │ ├── core.ts │ │ │ │ │ │ │ ├── i18n.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── open.ts │ │ │ │ │ │ │ ├── post.ts │ │ │ │ │ │ │ ├── props.ts │ │ │ │ │ │ │ └── user.ts │ │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ │ └── util/ │ │ │ │ │ │ ├── connector.ts │ │ │ │ │ │ ├── env.ts │ │ │ │ │ │ ├── error.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── is-promise-like.ts │ │ │ │ │ │ ├── json-handle.ts │ │ │ │ │ │ └── storage.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── open-env-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── chat.test.ts │ │ │ │ │ └── setup.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── chat/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-form-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── plugin-form-content/ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-publish-ui-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── plugin-publish-ui/ │ │ │ │ │ │ ├── base.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── version-description-form.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-shared/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-tool-columns/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── use-get-tool-columns.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── plugin-tool-columns-adapter/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-get-tool-columns-adapter.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── premium/ │ │ │ │ ├── premium-components-adapter/ │ │ │ │ │ ├── .stylelintrc.js │ │ │ │ │ ├── README.md │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── premium-manage/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── use-init-open-premium-manage.ts │ │ │ │ │ │ │ │ └── use-premium-manage-modal.tsx │ │ │ │ │ │ │ ├── premium-paywall/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── premium-paywall-banner/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-fetch-knowledge-benefit.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── typings.d.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ ├── vitest.config.ts │ │ │ │ │ └── vitest.setup.ts │ │ │ │ └── premium-store-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── data.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-benefit-basic.ts │ │ │ │ │ │ ├── use-premium-quota.ts │ │ │ │ │ │ └── use-premium-type.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── stores/ │ │ │ │ │ │ └── premium.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── premium-type.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ ├── vitest.config.ts │ │ │ │ └── vitest.setup.ts │ │ │ ├── publish-manage-hooks/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-is-publish-record-ready.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── stores/ │ │ │ │ ├── bot-detail/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── __mocks__/ │ │ │ │ │ │ └── setup-vitest.ts │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── hook/ │ │ │ │ │ │ │ └── use-bot-detail-readonly.test.ts │ │ │ │ │ │ ├── init/ │ │ │ │ │ │ │ └── init-bot-detail-store.test.ts │ │ │ │ │ │ ├── save-manager/ │ │ │ │ │ │ │ ├── auto-save/ │ │ │ │ │ │ │ │ ├── bot-skill/ │ │ │ │ │ │ │ │ │ ├── configs/ │ │ │ │ │ │ │ │ │ │ ├── chat-background.test.ts │ │ │ │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ │ │ │ ├── knowledge.test.ts │ │ │ │ │ │ │ │ │ │ ├── layout-info.test.ts │ │ │ │ │ │ │ │ │ │ ├── onboarding-content.test.ts │ │ │ │ │ │ │ │ │ │ ├── plugin.test.ts │ │ │ │ │ │ │ │ │ │ ├── suggestion-config.test.ts │ │ │ │ │ │ │ │ │ │ ├── task-info.test.ts │ │ │ │ │ │ │ │ │ │ ├── variables.test.ts │ │ │ │ │ │ │ │ │ │ ├── voices-info.test.ts │ │ │ │ │ │ │ │ │ │ └── workflows.test.ts │ │ │ │ │ │ │ │ │ └── index.test.ts │ │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ │ │ └── config.test.ts │ │ │ │ │ │ │ │ └── request.test.ts │ │ │ │ │ │ │ ├── manual-save/ │ │ │ │ │ │ │ │ ├── dev-hooks.test.ts │ │ │ │ │ │ │ │ ├── filebox.test.ts │ │ │ │ │ │ │ │ ├── memory-table.test.ts │ │ │ │ │ │ │ │ ├── multi-agent.test.ts │ │ │ │ │ │ │ │ ├── query-collect.test.ts │ │ │ │ │ │ │ │ ├── shortcuts.test.ts │ │ │ │ │ │ │ │ ├── time-capsule.test.ts │ │ │ │ │ │ │ │ └── tts.test.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── bot-dto-info.test.ts │ │ │ │ │ │ │ └── save-fetcher.test.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ ├── bot-info.test.ts │ │ │ │ │ │ │ ├── bot-skill.test.ts │ │ │ │ │ │ │ ├── collaboration-quota.test.ts │ │ │ │ │ │ │ ├── collaboration.test.ts │ │ │ │ │ │ │ ├── diff-task.test.ts │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ ├── manually-switch-agent-store.test.ts │ │ │ │ │ │ │ ├── model.test.ts │ │ │ │ │ │ │ ├── monetize-config-store.test.ts │ │ │ │ │ │ │ ├── multi-agent.test.ts │ │ │ │ │ │ │ ├── page-runtime.test.ts │ │ │ │ │ │ │ ├── persona.test.ts │ │ │ │ │ │ │ ├── query-collect.test.ts │ │ │ │ │ │ │ └── use-generate-image-store.test.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── execute-draft-bot-request-id.test.ts │ │ │ │ │ │ ├── generate-image.test.ts │ │ │ │ │ │ ├── get-dot-status.test.ts │ │ │ │ │ │ ├── get-read-only.test.ts │ │ │ │ │ │ ├── handle-status.test.ts │ │ │ │ │ │ ├── plugin-apis.test.ts │ │ │ │ │ │ ├── replace-bot-prompt.test.ts │ │ │ │ │ │ ├── save.test.ts │ │ │ │ │ │ ├── setter-factory.test.ts │ │ │ │ │ │ ├── storage.test.ts │ │ │ │ │ │ ├── submit.test.ts │ │ │ │ │ │ └── uniq-memory-list.test.ts │ │ │ │ │ ├── config/ │ │ │ │ │ │ └── rush-project.json │ │ │ │ │ ├── eslint.config.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── src/ │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-bot-detail-readonly.ts │ │ │ │ │ │ │ └── use-chat-background-state.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── init/ │ │ │ │ │ │ │ ├── init-bot-detail-store.ts │ │ │ │ │ │ │ └── init-generate-image.ts │ │ │ │ │ │ ├── save-manager/ │ │ │ │ │ │ │ ├── auto-save/ │ │ │ │ │ │ │ │ ├── bot-skill/ │ │ │ │ │ │ │ │ │ ├── configs/ │ │ │ │ │ │ │ │ │ │ ├── chat-background.ts │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ ├── knowledge.ts │ │ │ │ │ │ │ │ │ │ ├── layout-info.ts │ │ │ │ │ │ │ │ │ │ ├── onboarding-content.ts │ │ │ │ │ │ │ │ │ │ ├── plugin.ts │ │ │ │ │ │ │ │ │ │ ├── suggestion-config.ts │ │ │ │ │ │ │ │ │ │ ├── task-info.ts │ │ │ │ │ │ │ │ │ │ ├── variables.ts │ │ │ │ │ │ │ │ │ │ ├── voices-info.ts │ │ │ │ │ │ │ │ │ │ └── workflows.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── model/ │ │ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── multi-agent/ │ │ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ ├── persona/ │ │ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ │ └── request.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── manual-save/ │ │ │ │ │ │ │ │ ├── dev-hooks.ts │ │ │ │ │ │ │ │ ├── filebox.ts │ │ │ │ │ │ │ │ ├── memory-table.ts │ │ │ │ │ │ │ │ ├── multi-agent.ts │ │ │ │ │ │ │ │ ├── query-collect.ts │ │ │ │ │ │ │ │ ├── shortcuts.ts │ │ │ │ │ │ │ │ ├── time-capsule.ts │ │ │ │ │ │ │ │ └── tts.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── bot-dto-info.ts │ │ │ │ │ │ │ └── save-fetcher.ts │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ └── get-bot-data-service.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ ├── audit-info.ts │ │ │ │ │ │ │ ├── bot-info.ts │ │ │ │ │ │ │ ├── bot-skill/ │ │ │ │ │ │ │ │ ├── defaults.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ └── transform.ts │ │ │ │ │ │ │ ├── collaborate-quota.ts │ │ │ │ │ │ │ ├── collaboration.ts │ │ │ │ │ │ │ ├── diff-task.ts │ │ │ │ │ │ │ ├── generate-image-store.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── manually-switch-agent-store.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── monetize-config-store.ts │ │ │ │ │ │ │ ├── multi-agent/ │ │ │ │ │ │ │ │ ├── defaults.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── store.ts │ │ │ │ │ │ │ │ └── transform.ts │ │ │ │ │ │ │ ├── page-runtime/ │ │ │ │ │ │ │ │ ├── defaults.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── store.ts │ │ │ │ │ │ │ ├── persona.ts │ │ │ │ │ │ │ └── query-collect.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── agent.ts │ │ │ │ │ │ │ ├── generate-image.ts │ │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ │ ├── persona.ts │ │ │ │ │ │ │ ├── skill.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── avatar-background-socket/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── execute-draft-bot-request-id.ts │ │ │ │ │ │ ├── find-agent.ts │ │ │ │ │ │ ├── generate-image.ts │ │ │ │ │ │ ├── get-dot-status.ts │ │ │ │ │ │ ├── get-read-only.ts │ │ │ │ │ │ ├── handle-agent.ts │ │ │ │ │ │ ├── handle-status.ts │ │ │ │ │ │ ├── integrated-fg.ts │ │ │ │ │ │ ├── plugin-apis.ts │ │ │ │ │ │ ├── replace-bot-prompt.ts │ │ │ │ │ │ ├── save.ts │ │ │ │ │ │ ├── setter-factory.ts │ │ │ │ │ │ ├── storage.ts │ │ │ │ │ │ ├── submit.ts │ │ │ │ │ │ └── uniq-memory-list.ts │ │ │ │ │ ├── tsconfig.build.json │ │ │ │ │ ├── tsconfig.json │ │ │ │ │ ├── tsconfig.misc.json │ │ │ │ │ └── vitest.config.ts │ │ │ │ └── bot-plugin/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── context.tsx │ │ │ │ │ ├── hook/ │ │ │ │ │ │ └── unlock.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── store/ │ │ │ │ │ │ ├── plugin-history-panel-ui.ts │ │ │ │ │ │ └── plugin.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ ├── auth.ts │ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── store/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── plugin.ts │ │ │ │ │ │ ├── tool.ts │ │ │ │ │ │ └── user.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── api.ts │ │ │ │ │ ├── error.ts │ │ │ │ │ └── fetch.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── user-store/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ └── index.test.ts │ │ │ │ ├── config/ │ │ │ │ │ ├── rush-project.json │ │ │ │ │ └── rushx-config.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── workspace/ │ │ │ ├── entry-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── pages/ │ │ │ │ │ │ ├── develop/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── library/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── entry-base/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── creator.tsx │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ └── list.tsx │ │ │ │ │ │ └── workspace-empty.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── filter-style.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── pages/ │ │ │ │ │ │ ├── database/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── develop/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ └── bot-card/ │ │ │ │ │ │ │ │ ├── copy-process-mask.tsx │ │ │ │ │ │ │ │ ├── description.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── intelligence-tag.tsx │ │ │ │ │ │ │ │ ├── menu-actions.tsx │ │ │ │ │ │ │ │ ├── model-info.tsx │ │ │ │ │ │ │ │ └── name.tsx │ │ │ │ │ │ │ ├── develop-filter-options.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-cached-query-params.ts │ │ │ │ │ │ │ │ ├── use-card-actions.tsx │ │ │ │ │ │ │ │ ├── use-global-event-listeners.ts │ │ │ │ │ │ │ │ ├── use-intelligence-actions.tsx │ │ │ │ │ │ │ │ ├── use-intelligence-list.ts │ │ │ │ │ │ │ │ └── use-project-copy-polling.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── page-utils/ │ │ │ │ │ │ │ │ ├── copy.ts │ │ │ │ │ │ │ │ ├── filters.ts │ │ │ │ │ │ │ │ ├── parameters.ts │ │ │ │ │ │ │ │ └── predicate.ts │ │ │ │ │ │ │ ├── service/ │ │ │ │ │ │ │ │ └── intelligence-copy-task-polling-service.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── knowledge-preview/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── knowledge-upload/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── library/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── base-library-item.tsx │ │ │ │ │ │ │ │ └── library-header.tsx │ │ │ │ │ │ │ ├── consts.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-cached-query-params.ts │ │ │ │ │ │ │ │ ├── use-columns.tsx │ │ │ │ │ │ │ │ └── use-entity-configs/ │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ ├── use-database-config.tsx │ │ │ │ │ │ │ │ ├── use-knowledge-config.tsx │ │ │ │ │ │ │ │ ├── use-plugin-config.tsx │ │ │ │ │ │ │ │ ├── use-prompt-config.tsx │ │ │ │ │ │ │ │ └── use-workflow-config.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── mockset/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── mockset-list/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── tool/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── project-entity-adapter/ │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── project-entity-base/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── bot-form-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── delete-project-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── guide-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── project-form/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── project-form-modal/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── project-template-modal/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── template-components/ │ │ │ │ │ │ │ ├── card.module.less │ │ │ │ │ │ │ ├── create-empty-project-ui.tsx │ │ │ │ │ │ │ ├── project-template-card.tsx │ │ │ │ │ │ │ ├── project-template-group.tsx │ │ │ │ │ │ │ └── skeleton.tsx │ │ │ │ │ │ └── switch-with-desc/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-base-update-or-copy-project-modal.tsx │ │ │ │ │ │ ├── use-copy-project-modal.ts │ │ │ │ │ │ ├── use-create-project-modal.tsx │ │ │ │ │ │ ├── use-delete-intelligence.tsx │ │ │ │ │ │ ├── use-hidden-session.ts │ │ │ │ │ │ ├── use-project-form-submit-state.ts │ │ │ │ │ │ ├── use-project-template-copy-modal.tsx │ │ │ │ │ │ └── use-update-project-modal.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── type/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ └── common-project-form-valid.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── project-publish/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ ├── rush-project.json │ │ │ │ └── rushx-config.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── context/ │ │ │ │ │ └── publish-container-context.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── use-biz-connector-anchor.ts │ │ │ │ │ ├── use-mcp-config-modal.tsx │ │ │ │ │ └── use-publish-status.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── publish-button/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── publish-main/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── bind-actions/ │ │ │ │ │ │ │ ├── api-bind.tsx │ │ │ │ │ │ │ ├── store-bind.tsx │ │ │ │ │ │ │ ├── template-bind/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── template-config-form.tsx │ │ │ │ │ │ │ │ ├── template-preview-card.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── undo-button.tsx │ │ │ │ │ │ │ └── web-sdk-bind.tsx │ │ │ │ │ │ ├── config-status.tsx │ │ │ │ │ │ ├── connector-action.tsx │ │ │ │ │ │ ├── connector-card.tsx │ │ │ │ │ │ ├── connector-group-header.module.less │ │ │ │ │ │ ├── connector-group-header.tsx │ │ │ │ │ │ ├── connector-tab-bar/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── connector-union-select.tsx │ │ │ │ │ │ ├── mcp-config-btn.tsx │ │ │ │ │ │ ├── option-with-tooltip.tsx │ │ │ │ │ │ ├── publish-container/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── social-platform-chatflow.tsx │ │ │ │ │ │ └── version-desc-input/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-auto-scroll-to-connector.ts │ │ │ │ │ │ ├── use-chatflow-options.ts │ │ │ │ │ │ ├── use-connector-scroll.ts │ │ │ │ │ │ └── use-product-category-options.ts │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── publish-basic-info.tsx │ │ │ │ │ ├── publish-connectors.tsx │ │ │ │ │ ├── publish-record.tsx │ │ │ │ │ ├── publish-title-bar.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ ├── connector-disabled-publish.ts │ │ │ │ │ ├── display-screen-option.ts │ │ │ │ │ ├── format-connector-groups.ts │ │ │ │ │ ├── get-config-status.ts │ │ │ │ │ ├── get-fixed-version-number.ts │ │ │ │ │ ├── increment-version-number.ts │ │ │ │ │ ├── init-publish-store.ts │ │ │ │ │ ├── is-store-bind-configured.ts │ │ │ │ │ ├── publish-draft.ts │ │ │ │ │ └── version-number-check.ts │ │ │ │ ├── publish-progress/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── connector-status.tsx │ │ │ │ │ │ ├── publish-step-icon.tsx │ │ │ │ │ │ └── publish-step-title.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── service/ │ │ │ │ │ └── connector-anchor.ts │ │ │ │ ├── store.ts │ │ │ │ ├── typings.d.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── is-publish-finish.ts │ │ │ │ │ ├── setter-factory.ts │ │ │ │ │ └── upload-custom-request.ts │ │ │ │ └── web-sdk-guide/ │ │ │ │ ├── index.module.less │ │ │ │ └── index.tsx │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ └── workflow/ │ │ ├── adapter/ │ │ │ ├── base/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ └── use-support-imageflow-nodes-query.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── get-enabled-node-types.ts │ │ │ │ │ ├── get-upload-cdn-asset.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── code-editor/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ ├── biz-editor.tsx │ │ │ │ │ │ │ ├── editor.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── preset.ts │ │ │ │ │ │ │ ├── python-editor.tsx │ │ │ │ │ │ │ ├── typescript-editor-utils.ts │ │ │ │ │ │ │ └── typescript-editor.tsx │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── style.module.less │ │ │ │ │ │ ├── previewer/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── theme.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── interface.ts │ │ │ │ │ ├── typings.d.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── convert-schema.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── nodes/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── demo/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── playground/ │ │ │ │ ├── .storybook/ │ │ │ │ │ ├── main.js │ │ │ │ │ └── preview.js │ │ │ │ ├── .stylelintrc.js │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── .gitkeep │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-navigate-back.tsx │ │ │ │ │ │ └── use-page-params.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── page.tsx │ │ │ │ │ └── typings.d.ts │ │ │ │ ├── stories/ │ │ │ │ │ ├── demo.stories.tsx │ │ │ │ │ └── hello.mdx │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── resources/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── audio/ │ │ │ │ │ └── index.ts │ │ │ │ ├── auth/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── knowledge/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── market/ │ │ │ │ │ └── use-workflow-publish-entry.ts │ │ │ │ ├── prompt/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── store/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── typings.d.ts │ │ │ │ └── voice/ │ │ │ │ └── index.tsx │ │ │ ├── stories/ │ │ │ │ ├── demo.stories.tsx │ │ │ │ └── hello.mdx │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── base/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── api/ │ │ │ │ │ ├── api.test.ts │ │ │ │ │ └── with-query-client.test.tsx │ │ │ │ ├── contexts/ │ │ │ │ │ └── workflow-node-context.test.tsx │ │ │ │ ├── entities/ │ │ │ │ │ └── workflow-node.test.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── use-node-test-id.test.tsx │ │ │ │ │ └── use-workflow-node.test.tsx │ │ │ │ ├── store/ │ │ │ │ │ └── workflow/ │ │ │ │ │ └── index.test.ts │ │ │ │ ├── types/ │ │ │ │ │ ├── block-input-dto.test.ts │ │ │ │ │ ├── node-type.test.ts │ │ │ │ │ ├── node.test.ts │ │ │ │ │ ├── param-definition.test.ts │ │ │ │ │ ├── view-variable-tree.test.ts │ │ │ │ │ └── vo.test.ts │ │ │ │ └── utils/ │ │ │ │ ├── concat-test-id.test.ts │ │ │ │ ├── form-helpers.test.ts │ │ │ │ ├── is-general-workflow.test.ts │ │ │ │ ├── node-result-extractor/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ ├── parsers/ │ │ │ │ │ │ └── default-parser.test.ts │ │ │ │ │ └── type.test.ts │ │ │ │ ├── output-image-parser.test.ts │ │ │ │ ├── schema-extractor/ │ │ │ │ │ └── parsers/ │ │ │ │ │ ├── expression-parser.test.ts │ │ │ │ │ ├── image-reference.test.ts │ │ │ │ │ ├── output.test.ts │ │ │ │ │ ├── ref-input-parameters.test.ts │ │ │ │ │ └── variable-merge-groups-parser.test.ts │ │ │ │ └── start-params.test.ts │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── api/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── with-query-client.tsx │ │ │ │ ├── constants/ │ │ │ │ │ └── index.ts │ │ │ │ ├── contexts/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── workflow-node-context.tsx │ │ │ │ ├── entities/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── workflow-node.ts │ │ │ │ ├── global.d.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-node-test-id.ts │ │ │ │ │ └── use-workflow-node.ts │ │ │ │ ├── index.ts │ │ │ │ ├── services/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── validation-service.ts │ │ │ │ ├── store/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── workflow/ │ │ │ │ │ └── index.ts │ │ │ │ ├── types/ │ │ │ │ │ ├── block-input-dto.ts │ │ │ │ │ ├── condition.ts │ │ │ │ │ ├── data-set.ts │ │ │ │ │ ├── database.ts │ │ │ │ │ ├── dto.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── llm.ts │ │ │ │ │ ├── node-type.ts │ │ │ │ │ ├── node.ts │ │ │ │ │ ├── param-definition.ts │ │ │ │ │ ├── registry.ts │ │ │ │ │ ├── utils.ts │ │ │ │ │ ├── view-variable-tree.ts │ │ │ │ │ ├── view-variable-type.ts │ │ │ │ │ ├── vo.ts │ │ │ │ │ └── workflow.ts │ │ │ │ └── utils/ │ │ │ │ ├── concat-test-id.ts │ │ │ │ ├── form-helpers.ts │ │ │ │ ├── get-file-accept.ts │ │ │ │ ├── index.ts │ │ │ │ ├── is-general-workflow.ts │ │ │ │ ├── node-result-extractor/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── parsers/ │ │ │ │ │ │ ├── default-parser.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── type.ts │ │ │ │ ├── output-image-parser.ts │ │ │ │ ├── schema-extractor/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ ├── parser-dataset.test.ts │ │ │ │ │ │ ├── parser-default.test.ts │ │ │ │ │ │ ├── parser-input-parameter.test.ts │ │ │ │ │ │ ├── parser-intents.test.ts │ │ │ │ │ │ ├── parser-json-string.test.ts │ │ │ │ │ │ ├── parser-outputs.test.ts │ │ │ │ │ │ ├── parser-variable-assign.test.ts │ │ │ │ │ │ ├── resource/ │ │ │ │ │ │ │ ├── imageflow-config.ts │ │ │ │ │ │ │ ├── imageflow-schema.ts │ │ │ │ │ │ │ ├── workflow-config.ts │ │ │ │ │ │ │ └── workflow-schema.ts │ │ │ │ │ │ ├── schema-imageflow.test.ts │ │ │ │ │ │ └── schema-workflow.test.ts │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── parsers/ │ │ │ │ │ │ ├── concat-result.ts │ │ │ │ │ │ ├── custom-array-concat-char.ts │ │ │ │ │ │ ├── custom-split-char.ts │ │ │ │ │ │ ├── dataset-param.ts │ │ │ │ │ │ ├── db-conditions.ts │ │ │ │ │ │ ├── db-fields.ts │ │ │ │ │ │ ├── expression-parser.ts │ │ │ │ │ │ ├── image-reference.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── input-parameters.ts │ │ │ │ │ │ ├── intents.ts │ │ │ │ │ │ ├── json-string-parser.ts │ │ │ │ │ │ ├── llm-param.ts │ │ │ │ │ │ ├── output.ts │ │ │ │ │ │ ├── ref-input-parameters.ts │ │ │ │ │ │ ├── variable-assign.ts │ │ │ │ │ │ └── variable-merge-groups-parser.ts │ │ │ │ │ ├── type.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── slardar-reporter.ts │ │ │ │ ├── start-params.ts │ │ │ │ └── traverse.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── components/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── expression-editor/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── counter/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── leaf/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── render/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── suggestion/ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── state.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── model/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parser/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── tree-helper/ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── type.ts │ │ │ │ │ └── validator/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── expression-editor-next/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── popover.test.tsx │ │ │ │ │ │ └── renderer.test.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── popover/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── use-empty-content.ts │ │ │ │ │ │ │ ├── use-filtered-variable-tree.ts │ │ │ │ │ │ │ ├── use-focused.ts │ │ │ │ │ │ │ ├── use-interpolation-content.ts │ │ │ │ │ │ │ ├── use-keyboard.ts │ │ │ │ │ │ │ ├── use-options-operations.ts │ │ │ │ │ │ │ ├── use-pruned-variable-tree.ts │ │ │ │ │ │ │ ├── use-selected-value.ts │ │ │ │ │ │ │ ├── use-selection.ts │ │ │ │ │ │ │ └── use-tree.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── popover.module.less │ │ │ │ │ │ ├── popover.tsx │ │ │ │ │ │ └── shared.ts │ │ │ │ │ ├── renderer/ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── renderer.tsx │ │ │ │ │ │ └── validate.ts │ │ │ │ │ └── shared.ts │ │ │ │ ├── flow-shortcuts-help/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── use-open-workflow-detail.ts │ │ │ │ │ ├── use-workflow-list.ts │ │ │ │ │ ├── use-workflow-modal.tsx │ │ │ │ │ └── use-workflow-resource-action/ │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── type.ts │ │ │ │ │ ├── use-chatflow-switch.ts │ │ │ │ │ ├── use-copy-action.ts │ │ │ │ │ ├── use-create-workflow-modal.tsx │ │ │ │ │ ├── use-delete-action.tsx │ │ │ │ │ ├── use-publish-action.tsx │ │ │ │ │ ├── use-workflow-publish-entry.ts │ │ │ │ │ ├── use-workflow-resource-click.ts │ │ │ │ │ ├── use-workflow-resource-menu-actions.tsx │ │ │ │ │ └── utils.ts │ │ │ │ ├── image-uploader/ │ │ │ │ │ ├── image-uploader.ts │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── use-image-uploader.ts │ │ │ │ ├── index.ts │ │ │ │ ├── size-select/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── text/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── types/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── workflow-list.ts │ │ │ │ ├── typings.d.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── cronjob-translator.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── voice-select/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── workflow-commit-list/ │ │ │ │ │ ├── commit-item.tsx │ │ │ │ │ ├── history-list.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── type.ts │ │ │ │ │ └── use-version-history.ts │ │ │ │ ├── workflow-edit/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ └── workflow-modal/ │ │ │ │ ├── constants.ts │ │ │ │ ├── content/ │ │ │ │ │ ├── card/ │ │ │ │ │ │ ├── bot-button/ │ │ │ │ │ │ │ ├── added-button/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── delete-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── lib-button.tsx │ │ │ │ │ │ └── parameters/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── filter/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── sort-type-select.tsx │ │ │ │ ├── filter-douyin/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── hooks/ │ │ │ │ │ ├── use-i18n-text.ts │ │ │ │ │ ├── use-workflow-action.tsx │ │ │ │ │ ├── use-workflow-modal-parts.tsx │ │ │ │ │ ├── use-workflow-product-list.ts │ │ │ │ │ └── use-workflow-search.tsx │ │ │ │ ├── index.module.less │ │ │ │ ├── index.tsx │ │ │ │ ├── sider/ │ │ │ │ │ ├── create-workflow-btn.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── workflow-filter.module.less │ │ │ │ │ └── workflow-filter.tsx │ │ │ │ ├── type.ts │ │ │ │ ├── utils.ts │ │ │ │ └── workflow-modal-context.tsx │ │ │ ├── stories/ │ │ │ │ ├── demo.stories.tsx │ │ │ │ └── hello.mdx │ │ │ ├── tailwind.config.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── fabric-canvas/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── hooks/ │ │ │ │ │ ├── use-align.test.tsx │ │ │ │ │ ├── use-background.test.tsx │ │ │ │ │ ├── use-canvas-change.test.tsx │ │ │ │ │ ├── use-canvas-clip.test.tsx │ │ │ │ │ ├── use-canvas-resize.test.tsx │ │ │ │ │ ├── use-common-operation.test.tsx │ │ │ │ │ ├── use-fabric-editor.test.tsx │ │ │ │ │ ├── use-fabric-preview.test.tsx │ │ │ │ │ ├── use-group.test.tsx │ │ │ │ │ ├── use-init-canvas.test.tsx │ │ │ │ │ ├── use-mouse-position.test.tsx │ │ │ │ │ ├── use-snap-move.test.tsx │ │ │ │ │ └── use-viewport.test.tsx │ │ │ │ └── typings.test.ts │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── assert/ │ │ │ │ │ └── font.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── content-menu/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── fabric-editor/ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ ├── fabric-editor.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── use-shortcut.tsx │ │ │ │ │ ├── fabric-preview/ │ │ │ │ │ │ ├── fabric-preview.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── form/ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── icon-button/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── pop-in-screen/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── ref-title/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── setters/ │ │ │ │ │ │ ├── border-width.module.less │ │ │ │ │ │ ├── border-width.tsx │ │ │ │ │ │ ├── color-picker.module.less │ │ │ │ │ │ ├── color-picker.tsx │ │ │ │ │ │ ├── font-size.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── input-number.tsx │ │ │ │ │ │ ├── label-select.tsx │ │ │ │ │ │ ├── line-height.tsx │ │ │ │ │ │ ├── ref-select.module.less │ │ │ │ │ │ ├── ref-select.tsx │ │ │ │ │ │ ├── single-select.tsx │ │ │ │ │ │ ├── text-align.tsx │ │ │ │ │ │ ├── text-family.module.less │ │ │ │ │ │ ├── text-family.tsx │ │ │ │ │ │ ├── text-type.tsx │ │ │ │ │ │ └── uploader.tsx │ │ │ │ │ └── topbar/ │ │ │ │ │ ├── align.tsx │ │ │ │ │ ├── image-upload.module.less │ │ │ │ │ ├── image-upload.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── context/ │ │ │ │ │ ├── global.tsx │ │ │ │ │ └── index.tsx │ │ │ │ ├── global.d.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-active-object-change.tsx │ │ │ │ │ ├── use-align.tsx │ │ │ │ │ ├── use-background.tsx │ │ │ │ │ ├── use-canvas-change.tsx │ │ │ │ │ ├── use-canvas-clip.tsx │ │ │ │ │ ├── use-canvas-resize.tsx │ │ │ │ │ ├── use-common-operation.tsx │ │ │ │ │ ├── use-copy-paste.tsx │ │ │ │ │ ├── use-drag-add.tsx │ │ │ │ │ ├── use-fabric-editor.tsx │ │ │ │ │ ├── use-fabric-preview.tsx │ │ │ │ │ ├── use-free-pencil.tsx │ │ │ │ │ ├── use-group.tsx │ │ │ │ │ ├── use-img-add.tsx │ │ │ │ │ ├── use-init-canvas.tsx │ │ │ │ │ ├── use-inline-text-add.tsx │ │ │ │ │ ├── use-mouse-position.tsx │ │ │ │ │ ├── use-position.tsx │ │ │ │ │ ├── use-redo-undo.tsx │ │ │ │ │ ├── use-schema-change.tsx │ │ │ │ │ ├── use-snap-move.tsx │ │ │ │ │ ├── use-storage.tsx │ │ │ │ │ └── use-viewport.tsx │ │ │ │ ├── index.module.less │ │ │ │ ├── index.tsx │ │ │ │ ├── share/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── fabric-image.ts │ │ │ │ │ ├── font.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── typings.ts │ │ │ │ ├── typings.ts │ │ │ │ └── utils/ │ │ │ │ ├── common.tsx │ │ │ │ ├── controls.tsx │ │ │ │ ├── create-controls.tsx │ │ │ │ ├── default-props.tsx │ │ │ │ ├── element-factory.tsx │ │ │ │ ├── fabric-utils.tsx │ │ │ │ ├── font-loader.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── schema-to-form-value.ts │ │ │ │ └── snap/ │ │ │ │ ├── helpline.tsx │ │ │ │ ├── rule/ │ │ │ │ │ ├── align.tsx │ │ │ │ │ ├── padding.tsx │ │ │ │ │ └── resize.tsx │ │ │ │ ├── snap.tsx │ │ │ │ └── util.tsx │ │ │ ├── stories/ │ │ │ │ └── demo.stories.tsx │ │ │ ├── tailwind.config.js │ │ │ ├── tailwind.config.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── feature-encapsulate/ │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── api-service.mock.ts │ │ │ │ ├── create-container.ts │ │ │ │ ├── default.mock.ts │ │ │ │ ├── encapsulate/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── encapsulate-nodes-service.test.ts.snap │ │ │ │ │ ├── encapsulate-lines-service.test.ts │ │ │ │ │ ├── encapsulate-nodes-service.test.ts │ │ │ │ │ └── encapsulate-service.test.ts │ │ │ │ ├── generate/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── encapsulate-generate-service.test.ts.snap │ │ │ │ │ └── encapsulate-generate-service.test.ts │ │ │ │ ├── setup.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── get-node-point.test.ts │ │ │ │ │ ├── get-sub-workflow-info.test.ts │ │ │ │ │ └── set-node-position.test.ts │ │ │ │ ├── validate/ │ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ │ └── encapsulate-validate-result.test.ts.snap │ │ │ │ │ ├── encapsulate-validate-manager.test.ts │ │ │ │ │ └── encapsulate-validate-result.test.ts │ │ │ │ ├── validation-service.mock.ts │ │ │ │ ├── validators/ │ │ │ │ │ ├── input-lines.test.ts │ │ │ │ │ ├── loop-nodes.test.ts │ │ │ │ │ ├── output-lines.test.ts │ │ │ │ │ ├── ports.test.ts │ │ │ │ │ └── start-end.test.ts │ │ │ │ └── workflow.mock.ts │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── api/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── encapsulate-api-service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── create-workflow-encapsulate-plugin.ts │ │ │ │ ├── encapsulate/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── encapsulate-lines-service.ts │ │ │ │ │ ├── encapsulate-manager.ts │ │ │ │ │ ├── encapsulate-nodes-service.ts │ │ │ │ │ ├── encapsulate-service.ts │ │ │ │ │ ├── encapsulate-variable-service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── encapsulate-context.ts │ │ │ │ ├── generate/ │ │ │ │ │ ├── encapsulate-generate-service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── index.ts │ │ │ │ ├── render/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── encapsulate-button/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ ├── encapsulate-panel/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── encapsulate-render-container-module.ts │ │ │ │ │ ├── encapsulate-render-service.ts │ │ │ │ │ ├── encapsulate-shortcuts-contribution.ts │ │ │ │ │ ├── encapsulate-tooltip/ │ │ │ │ │ │ ├── error-title.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-encapsulate.ts │ │ │ │ │ │ ├── use-selected-nodes.ts │ │ │ │ │ │ ├── use-validate.tsx │ │ │ │ │ │ └── use-variable-change.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── types.ts │ │ │ │ ├── typings.d.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── check-encapsulate-gray.ts │ │ │ │ │ ├── exclude-start-end.ts │ │ │ │ │ ├── get-node-point.ts │ │ │ │ │ ├── get-nodes-parent-id.ts │ │ │ │ │ ├── get-nodes-with-sub-canvas.ts │ │ │ │ │ ├── get-sub-workflow-info.ts │ │ │ │ │ ├── has-sub-canvas-nodes.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── random-name-suffix.ts │ │ │ │ │ ├── set-node-position.ts │ │ │ │ │ ├── subcanvas.ts │ │ │ │ │ └── variable.ts │ │ │ │ ├── validate/ │ │ │ │ │ ├── encapsulate-validate-manager.ts │ │ │ │ │ ├── encapsulate-validate-result.ts │ │ │ │ │ ├── encapsulate-validate-service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── validators/ │ │ │ │ │ ├── encapsulate-base-validator.ts │ │ │ │ │ ├── encapsulate-form-validator.ts │ │ │ │ │ ├── encapsulate-input-lines-validator.ts │ │ │ │ │ ├── encapsulate-output-lines-validator.ts │ │ │ │ │ ├── encapsulate-ports-validator.ts │ │ │ │ │ ├── encapsulate-schema-validator.ts │ │ │ │ │ ├── encapsulate-validators-container-module.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── loop-nodes-validator.ts │ │ │ │ │ ├── start-end-validator.ts │ │ │ │ │ └── sub-canvas-validator.ts │ │ │ │ └── workflow-encapsulate-container-module.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── history/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── create-operation-report-plugin.ts │ │ │ │ ├── hooks/ │ │ │ │ │ └── use-clear-history.ts │ │ │ │ ├── index.ts │ │ │ │ ├── operation-metas/ │ │ │ │ │ ├── add-line.ts │ │ │ │ │ ├── add-node.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── services/ │ │ │ │ │ └── workflow-operation-report-service.ts │ │ │ │ ├── utils/ │ │ │ │ │ └── should-merge.ts │ │ │ │ ├── workflow-history-config.ts │ │ │ │ ├── workflow-history-container-module.ts │ │ │ │ ├── workflow-history-operations-contribution.ts │ │ │ │ └── workflow-history-shortcuts-contribution.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── nodes/ │ │ │ ├── .npmignore │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── __mocks__/ │ │ │ │ │ └── speeck-sdk.ts │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ └── setup-vitest.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── entity-datas/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── workflow-node-data/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── workflow-node-data.ts │ │ │ │ │ └── workflow-node-test-run-data/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── typings.ts │ │ │ │ │ └── workflow-node-test-run-data.ts │ │ │ │ ├── global.d.ts │ │ │ │ ├── index.ts │ │ │ │ ├── service/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── workflow-nodes-service.ts │ │ │ │ ├── setting-on-error/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-timeout-config.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── utils/ │ │ │ │ │ │ ├── generate-meta.ts │ │ │ │ │ │ ├── get-timeout-config.ts │ │ │ │ │ │ └── outputs.ts │ │ │ │ │ └── utils.ts │ │ │ │ ├── typings/ │ │ │ │ │ ├── form-value-to-dto.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── node.ts │ │ │ │ │ ├── playground-context.ts │ │ │ │ │ ├── services.ts │ │ │ │ │ ├── test-run.ts │ │ │ │ │ └── trigger.ts │ │ │ │ ├── utils/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── __mocks__/ │ │ │ │ │ │ │ ├── mock-models.ts │ │ │ │ │ │ │ └── mock-schema.ts │ │ │ │ │ │ ├── add-node-data.test.ts │ │ │ │ │ │ ├── get-input-type.test.ts │ │ │ │ │ │ ├── get-llm-model-ids.test.ts │ │ │ │ │ │ ├── get-llm-models.test.ts │ │ │ │ │ │ ├── get-sorted-input-parameters.test.ts │ │ │ │ │ │ ├── llm-utils.test.ts │ │ │ │ │ │ └── trigger-form.test.ts │ │ │ │ │ ├── add-node-data.ts │ │ │ │ │ ├── get-input-type.ts │ │ │ │ │ ├── get-llm-model-ids.ts │ │ │ │ │ ├── get-llm-models.ts │ │ │ │ │ ├── get-sorted-input-parameters.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── llm-utils.ts │ │ │ │ │ ├── node-utils.ts │ │ │ │ │ └── trigger-form.ts │ │ │ │ ├── validators/ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ ├── code-empty-validator.test.ts │ │ │ │ │ │ ├── node-meta-validator.test.ts │ │ │ │ │ │ ├── question-option-validator.test.ts │ │ │ │ │ │ ├── setting-on-error-validator.test.ts │ │ │ │ │ │ └── system-variable-validator.test.ts │ │ │ │ │ ├── code-empty-validator.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── input-tree-validator.ts │ │ │ │ │ ├── json-schema-validator.ts │ │ │ │ │ ├── node-meta-validator.ts │ │ │ │ │ ├── output-tree-validator/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── schema.ts │ │ │ │ │ ├── question-option-validator.ts │ │ │ │ │ ├── setting-on-error-validator.ts │ │ │ │ │ └── system-variable-validator.ts │ │ │ │ ├── workflow-document-with-format.ts │ │ │ │ ├── workflow-json-format.ts │ │ │ │ └── workflow-nodes-container-module.ts │ │ │ ├── stories/ │ │ │ │ ├── index.stories.tsx │ │ │ │ └── tsconfig.json │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── playground/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ └── .gitkeep │ │ │ ├── config/ │ │ │ │ ├── rush-project.json │ │ │ │ └── rushx-config.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── scripts/ │ │ │ │ └── create-node/ │ │ │ │ ├── index.js │ │ │ │ ├── index.ts │ │ │ │ └── templates/ │ │ │ │ ├── constants.ts.eta │ │ │ │ ├── data-transformer.ts.eta │ │ │ │ ├── form-meta.tsx.eta │ │ │ │ ├── form.tsx.eta │ │ │ │ ├── index.ts.eta │ │ │ │ ├── node-content.tsx.eta │ │ │ │ ├── node-registry.ts.eta │ │ │ │ ├── node-test.ts.eta │ │ │ │ └── types.ts.eta │ │ │ ├── src/ │ │ │ │ ├── assets/ │ │ │ │ │ └── styles/ │ │ │ │ │ └── common.less │ │ │ │ ├── components/ │ │ │ │ │ ├── .gitkeep │ │ │ │ │ ├── bot-project-select/ │ │ │ │ │ │ ├── bot-project-variable-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── related-bot-panel/ │ │ │ │ │ │ │ │ ├── empty-content.tsx │ │ │ │ │ │ │ │ ├── option-item.tsx │ │ │ │ │ │ │ │ ├── panel.tsx │ │ │ │ │ │ │ │ ├── use-query-bot-list.tsx │ │ │ │ │ │ │ │ └── use-related.tsx │ │ │ │ │ │ │ ├── select.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── variable-panel/ │ │ │ │ │ │ │ ├── use-related-variable.tsx │ │ │ │ │ │ │ └── variable-panel.tsx │ │ │ │ │ │ ├── bots.module.less │ │ │ │ │ │ ├── bots.tsx │ │ │ │ │ │ ├── chat-history.module.less │ │ │ │ │ │ ├── chat-history.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── item.module.less │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ ├── table-info.module.less │ │ │ │ │ │ ├── table-info.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── use-bot-info.ts │ │ │ │ │ │ ├── use-chat-history.ts │ │ │ │ │ │ ├── use-extra-bot-option.ts │ │ │ │ │ │ ├── use-ltm-info.ts │ │ │ │ │ │ ├── use-project-info.ts │ │ │ │ │ │ ├── use-project-variables.ts │ │ │ │ │ │ ├── use-table-info.ts │ │ │ │ │ │ ├── use-variables.ts │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ └── variables.tsx │ │ │ │ │ ├── bot-select/ │ │ │ │ │ │ ├── bots.module.less │ │ │ │ │ │ ├── bots.tsx │ │ │ │ │ │ ├── chat-history.module.less │ │ │ │ │ │ ├── chat-history.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── item.module.less │ │ │ │ │ │ ├── item.tsx │ │ │ │ │ │ ├── table-info.module.less │ │ │ │ │ │ ├── table-info.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── use-bot-info.ts │ │ │ │ │ │ ├── use-chat-history.ts │ │ │ │ │ │ ├── use-extra-bot-option.ts │ │ │ │ │ │ ├── use-ltm-info.ts │ │ │ │ │ │ ├── use-table-info.ts │ │ │ │ │ │ ├── use-variables.ts │ │ │ │ │ │ └── variables.tsx │ │ │ │ │ ├── chat-history-round/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── chat-testrun-pause-side-sheet/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── message-form.tsx │ │ │ │ │ │ ├── title.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── use-generate-message-form-init-value.tsx │ │ │ │ │ ├── code-editor/ │ │ │ │ │ │ ├── code-editor.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── text-editor.tsx │ │ │ │ │ │ └── themes/ │ │ │ │ │ │ ├── coze-dark.ts │ │ │ │ │ │ └── coze-light.ts │ │ │ │ │ ├── comment/ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ ├── mock/ │ │ │ │ │ │ │ │ ├── blocks.ts │ │ │ │ │ │ │ │ ├── html.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── json.ts │ │ │ │ │ │ │ │ ├── markdown.ts │ │ │ │ │ │ │ │ ├── text.ts │ │ │ │ │ │ │ │ └── util.ts │ │ │ │ │ │ │ └── parser.test.ts │ │ │ │ │ │ ├── commands/ │ │ │ │ │ │ │ ├── block-prefix.ts │ │ │ │ │ │ │ ├── bold.ts │ │ │ │ │ │ │ ├── clear-format.ts │ │ │ │ │ │ │ ├── heading.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── italic.ts │ │ │ │ │ │ │ ├── paragraph.ts │ │ │ │ │ │ │ ├── quote.ts │ │ │ │ │ │ │ ├── select-all.ts │ │ │ │ │ │ │ ├── strikethrough.ts │ │ │ │ │ │ │ └── underline.ts │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── blank-area.tsx │ │ │ │ │ │ │ ├── border-area.tsx │ │ │ │ │ │ │ ├── container.tsx │ │ │ │ │ │ │ ├── content-drag-area.tsx │ │ │ │ │ │ │ ├── drag-area.tsx │ │ │ │ │ │ │ ├── editor/ │ │ │ │ │ │ │ │ ├── block.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── leaf.tsx │ │ │ │ │ │ │ │ └── placeholder.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── render.tsx │ │ │ │ │ │ │ ├── resize-area.tsx │ │ │ │ │ │ │ ├── toolbar-container/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── portal.tsx │ │ │ │ │ │ │ │ ├── use-activate.ts │ │ │ │ │ │ │ │ └── use-position.ts │ │ │ │ │ │ │ └── toolbar.tsx │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-model.ts │ │ │ │ │ │ │ ├── use-overflow.ts │ │ │ │ │ │ │ └── use-size.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── model.ts │ │ │ │ │ │ ├── parsers/ │ │ │ │ │ │ │ ├── html.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── json.ts │ │ │ │ │ │ │ ├── markdown.ts │ │ │ │ │ │ │ └── text.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── condition-item-logic/ │ │ │ │ │ │ ├── condition-item-logic.module.less │ │ │ │ │ │ ├── condition-item-logic.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── conversation-select/ │ │ │ │ │ │ ├── bots.module.less │ │ │ │ │ │ ├── conversations.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── copy-button/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── cost-popover/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── custom-port/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── database-detail-modal/ │ │ │ │ │ │ ├── database-detail-model.module.less │ │ │ │ │ │ ├── database-detail-model.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── use-open-database-detail.ts │ │ │ │ │ │ └── use-workflow-detail-modal-store.ts │ │ │ │ │ ├── drag-tooltip/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── editor-container/ │ │ │ │ │ │ ├── expand-editor/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── inner-editor/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── theme-provider.tsx │ │ │ │ │ ├── file-icon/ │ │ │ │ │ │ ├── get-icon-by-extension.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── float-layout/ │ │ │ │ │ │ ├── float-layout.module.less │ │ │ │ │ │ ├── float-layout.tsx │ │ │ │ │ │ ├── float-panel.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── panel-wrap.module.less │ │ │ │ │ │ └── panel-wrap.tsx │ │ │ │ │ ├── flow-role/ │ │ │ │ │ │ ├── empty-role-avatar.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── role-button/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── onboarding.module.less │ │ │ │ │ │ │ ├── onboarding.tsx │ │ │ │ │ │ │ ├── role-avatar.module.less │ │ │ │ │ │ │ ├── role-avatar.tsx │ │ │ │ │ │ │ └── role-button.module.less │ │ │ │ │ │ ├── role-config-form/ │ │ │ │ │ │ │ ├── config-form.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── role-avatar-upload/ │ │ │ │ │ │ │ │ ├── auto-generate/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── picture-upload.tsx │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ ├── custom-upload-request.ts │ │ │ │ │ │ │ │ └── get-base64.ts │ │ │ │ │ │ │ ├── role-background/ │ │ │ │ │ │ │ │ ├── add-background.tsx │ │ │ │ │ │ │ │ ├── background-upload/ │ │ │ │ │ │ │ │ │ ├── background-modal.module.less │ │ │ │ │ │ │ │ │ ├── background-modal.tsx │ │ │ │ │ │ │ │ │ ├── cropper/ │ │ │ │ │ │ │ │ │ │ ├── cropper-cover.module.less │ │ │ │ │ │ │ │ │ │ ├── cropper-cover.tsx │ │ │ │ │ │ │ │ │ │ ├── cropper-img.module.less │ │ │ │ │ │ │ │ │ │ ├── cropper-img.tsx │ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ │ └── use-crop-image.ts │ │ │ │ │ │ │ │ │ ├── drag-upload-content.module.less │ │ │ │ │ │ │ │ │ ├── drag-upload-content.tsx │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── upload-modal-footer.module.less │ │ │ │ │ │ │ │ │ ├── upload-modal-footer.tsx │ │ │ │ │ │ │ │ │ ├── use-drag-image.tsx │ │ │ │ │ │ │ │ │ ├── use-submit-cropped-image.ts │ │ │ │ │ │ │ │ │ ├── use-upload-image.ts │ │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── role-background.module.less │ │ │ │ │ │ │ │ └── role-background.tsx │ │ │ │ │ │ │ ├── role-input/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── role-default-input.module.less │ │ │ │ │ │ │ │ └── role-default-input.tsx │ │ │ │ │ │ │ ├── role-name-input.tsx │ │ │ │ │ │ │ ├── role-onboarding/ │ │ │ │ │ │ │ │ ├── ai-generate-btn.tsx │ │ │ │ │ │ │ │ ├── display-all.module.less │ │ │ │ │ │ │ │ ├── display-all.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── suggestion-list.module.less │ │ │ │ │ │ │ │ └── suggestion-list.tsx │ │ │ │ │ │ │ ├── role-suggestion/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── role-suggestion-switch.tsx │ │ │ │ │ │ │ │ ├── role-suggestion.module.less │ │ │ │ │ │ │ │ └── role-suggestion.tsx │ │ │ │ │ │ │ ├── role-voices/ │ │ │ │ │ │ │ │ ├── add-voices.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── role-voices.tsx │ │ │ │ │ │ │ │ ├── text-to-voice.tsx │ │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ │ ├── voice-data-select/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── use-language-options.ts │ │ │ │ │ │ │ │ │ ├── use-voice-options.ts │ │ │ │ │ │ │ │ │ └── voice-select.tsx │ │ │ │ │ │ │ │ ├── voice-player.tsx │ │ │ │ │ │ │ │ └── voice-select.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ └── role-config-panel/ │ │ │ │ │ │ ├── config-panel.module.less │ │ │ │ │ │ ├── config-panel.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── line-add-button/ │ │ │ │ │ │ ├── button.tsx │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── line-popover/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── line-error-tip.tsx │ │ │ │ │ │ ├── line-popover.tsx │ │ │ │ │ │ └── svg/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── model-select/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── model-setting.tsx │ │ │ │ │ │ │ ├── selector/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── model-description.tsx │ │ │ │ │ │ │ │ └── option-item.tsx │ │ │ │ │ │ │ └── settings.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── modify-banner/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── node-context-provider.tsx │ │ │ │ │ ├── node-icon/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node-icon-outlined.module.less │ │ │ │ │ │ └── node-icon-outlined.tsx │ │ │ │ │ ├── node-panel/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── atom-category-list/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── atom-node-list.tsx │ │ │ │ │ │ │ ├── card.tsx │ │ │ │ │ │ │ ├── custom-drag-card.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── list.tsx │ │ │ │ │ │ │ ├── load-more-card.tsx │ │ │ │ │ │ │ ├── node-category-panel/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── node-placeholder.tsx │ │ │ │ │ │ │ ├── panel.tsx │ │ │ │ │ │ │ ├── plugin-node/ │ │ │ │ │ │ │ │ ├── favorite-plugin-node-list.tsx │ │ │ │ │ │ │ │ ├── plugin-category-list.tsx │ │ │ │ │ │ │ │ ├── plugin-node-card.tsx │ │ │ │ │ │ │ │ ├── plugin-node-list.tsx │ │ │ │ │ │ │ │ ├── plugin-node.tsx │ │ │ │ │ │ │ │ ├── plugin-tool-card.tsx │ │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ │ ├── search-result-node-list/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── styles.module.less │ │ │ │ │ │ │ └── sub-workflow-category-list/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-panel-context.tsx │ │ │ │ │ │ │ ├── use-favorite-plugin-node-list.ts │ │ │ │ │ │ │ ├── use-search-node.ts │ │ │ │ │ │ │ └── use-template-node-list.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── node-placeholder/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── node-render/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── node-render-new/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── condition/ │ │ │ │ │ │ │ ├── condition-container.tsx │ │ │ │ │ │ │ ├── condition-tag.module.less │ │ │ │ │ │ │ ├── condition-tag.tsx │ │ │ │ │ │ │ ├── expression-display.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── logic-display.tsx │ │ │ │ │ │ │ └── variable-display.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── content/ │ │ │ │ │ │ │ ├── common-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── database-content/ │ │ │ │ │ │ │ │ ├── database.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── database-create-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── database-delete-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── database-query-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── database-update-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── http-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── if-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── image-generate-content/ │ │ │ │ │ │ │ │ ├── icon.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── model.tsx │ │ │ │ │ │ │ │ └── references.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── intent-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── knowledge-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── llm-content/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── skill-tags.tsx │ │ │ │ │ │ │ │ ├── skill.tsx │ │ │ │ │ │ │ │ ├── update-node-skills.ts │ │ │ │ │ │ │ │ └── use-skill-tags.tsx │ │ │ │ │ │ │ ├── message-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── question-content/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── variable-assign-content/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── inputs.tsx │ │ │ │ │ │ │ │ └── use-variable-assign-tags.tsx │ │ │ │ │ │ │ └── variable-merge-content/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── use-variable-merge-variable-tags.ts │ │ │ │ │ │ │ └── variable-merge-item.tsx │ │ │ │ │ │ ├── error.tsx │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ ├── condition-branch.tsx │ │ │ │ │ │ │ ├── conditions.tsx │ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ │ ├── database-condition/ │ │ │ │ │ │ │ │ ├── database-condition-left.tsx │ │ │ │ │ │ │ │ ├── database-condition-operator.tsx │ │ │ │ │ │ │ │ ├── database-condition-right.tsx │ │ │ │ │ │ │ │ ├── database-condition.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── use-conditions.ts │ │ │ │ │ │ │ ├── database-setting-fields.tsx │ │ │ │ │ │ │ ├── exception-field/ │ │ │ │ │ │ │ │ ├── exception-port.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── field-empty.module.less │ │ │ │ │ │ │ ├── field-empty.tsx │ │ │ │ │ │ │ ├── field.module.less │ │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ │ ├── http-api-field/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── url-container.tsx │ │ │ │ │ │ │ │ └── url-field.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── input-parameters.tsx │ │ │ │ │ │ │ ├── intents.tsx │ │ │ │ │ │ │ ├── knowledge.tsx │ │ │ │ │ │ │ ├── label-with-tooltip.tsx │ │ │ │ │ │ │ ├── message-output.tsx │ │ │ │ │ │ │ ├── model.tsx │ │ │ │ │ │ │ ├── outputs.tsx │ │ │ │ │ │ │ ├── overflow-tag-list.module.less │ │ │ │ │ │ │ ├── overflow-tag-list.tsx │ │ │ │ │ │ │ ├── port.module.less │ │ │ │ │ │ │ ├── port.tsx │ │ │ │ │ │ │ ├── question-pairs-answer.tsx │ │ │ │ │ │ │ ├── question-pairs.module.less │ │ │ │ │ │ │ ├── question-pairs.tsx │ │ │ │ │ │ │ ├── terminate-plan.tsx │ │ │ │ │ │ │ ├── use-input-parameters-variable-tags.ts │ │ │ │ │ │ │ ├── use-outputs-variable-tags.ts │ │ │ │ │ │ │ ├── use-valid-variable.tsx │ │ │ │ │ │ │ ├── variable-tag-list.module.less │ │ │ │ │ │ │ └── variable-tag-list.tsx │ │ │ │ │ │ ├── header.module.less │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-available-node-variables.ts │ │ │ │ │ │ │ └── use-http-url-variables.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── placeholder.module.less │ │ │ │ │ │ ├── placeholder.tsx │ │ │ │ │ │ ├── ports.tsx │ │ │ │ │ │ └── wrapper.tsx │ │ │ │ │ ├── node-side-sheet/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── node-system-error-render/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── node-wrapper/ │ │ │ │ │ │ └── execute-result-panel/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── popup-container/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── problem-panel/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── reference-node-info/ │ │ │ │ │ │ ├── base-version.module.less │ │ │ │ │ │ ├── base-version.tsx │ │ │ │ │ │ ├── check-update-version-model.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── reference-node-origin.tsx │ │ │ │ │ │ ├── reference-node-version.tsx │ │ │ │ │ │ ├── skill-version.tsx │ │ │ │ │ │ └── use-node-origin.ts │ │ │ │ │ ├── resizable-side-panel/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── use-resizable.ts │ │ │ │ │ │ ├── use-side-panel-width.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── retrieve-banner/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── use-retrieve.ts │ │ │ │ │ ├── sortable-list/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── custom-drag-layer.tsx │ │ │ │ │ │ │ ├── drag-handle.tsx │ │ │ │ │ │ │ ├── sortable-item.tsx │ │ │ │ │ │ │ └── sortable-list.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-sort.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── sub-canvas/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── background/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── border/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── ports/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── tips/ │ │ │ │ │ │ │ ├── global-store.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── is-mac-os.ts │ │ │ │ │ │ │ └── use-control.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-parent-node.ts │ │ │ │ │ │ │ └── use-render-props.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── tag-list/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── template-panel/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── template-card-list.tsx │ │ │ │ │ │ ├── template-card.tsx │ │ │ │ │ │ ├── template-panel.tsx │ │ │ │ │ │ ├── template-preview-inner.tsx │ │ │ │ │ │ ├── template-preview.tsx │ │ │ │ │ │ ├── template-slide-button.tsx │ │ │ │ │ │ └── use-workflow-template-list.ts │ │ │ │ │ ├── test-run/ │ │ │ │ │ │ ├── bot-project-variable-select/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── select.tsx │ │ │ │ │ │ ├── chat-flow-test-form-panel/ │ │ │ │ │ │ │ ├── conversation-select/ │ │ │ │ │ │ │ │ ├── conversation-select.module.less │ │ │ │ │ │ │ │ ├── conversation-select.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── test-form-float-button.module.less │ │ │ │ │ │ │ ├── test-form-float-button.tsx │ │ │ │ │ │ │ ├── test-form-panel.module.less │ │ │ │ │ │ │ ├── test-form-panel.tsx │ │ │ │ │ │ │ ├── test-form-provider.tsx │ │ │ │ │ │ │ ├── test-form.module.less │ │ │ │ │ │ │ ├── test-form.tsx │ │ │ │ │ │ │ └── testset-bot-project-select.tsx │ │ │ │ │ │ ├── chat-history/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-skeleton.tsx │ │ │ │ │ │ ├── common-side-sheet-v2/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── sheet-header.tsx │ │ │ │ │ │ │ ├── sheet-keys.ts │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── condition-log/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── test-form.ts │ │ │ │ │ │ ├── execute-result/ │ │ │ │ │ │ │ ├── execute-log-id.tsx │ │ │ │ │ │ │ ├── execute-result-panel/ │ │ │ │ │ │ │ │ ├── empty-image.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── log-detail.tsx │ │ │ │ │ │ │ ├── execute-result-side-sheet/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── empty-display.tsx │ │ │ │ │ │ │ │ │ ├── error-item.tsx │ │ │ │ │ │ │ │ │ ├── execute-error-list.tsx │ │ │ │ │ │ │ │ │ ├── execute-result.tsx │ │ │ │ │ │ │ │ │ ├── execute-state.tsx │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── system-error.tsx │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ ├── use-has-error.ts │ │ │ │ │ │ │ │ │ ├── use-line-error-list.ts │ │ │ │ │ │ │ │ │ ├── use-node-error-list.ts │ │ │ │ │ │ │ │ │ ├── use-result-side-sheet-visible.ts │ │ │ │ │ │ │ │ │ └── use-scroll-to-error.ts │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── test-run-cost-popover.tsx │ │ │ │ │ │ ├── execute-result-side-sheet-v2/ │ │ │ │ │ │ │ ├── error-item.tsx │ │ │ │ │ │ │ ├── execute-error-list.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ ├── execute-status-bar-v2/ │ │ │ │ │ │ │ ├── content.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── styles.module.less │ │ │ │ │ │ │ ├── use-setting-on-error-desc.ts │ │ │ │ │ │ │ ├── use-status.ts │ │ │ │ │ │ │ └── view-data-button.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-auto-gen.ts │ │ │ │ │ │ │ ├── use-cancel-test-run.ts │ │ │ │ │ │ │ ├── use-chatflow-info.ts │ │ │ │ │ │ │ ├── use-copilot-generate.ts │ │ │ │ │ │ │ ├── use-generate-test-form-fields.tsx │ │ │ │ │ │ │ ├── use-get-scene-flow-role-list-schema.tsx │ │ │ │ │ │ │ ├── use-get-start-node.ts │ │ │ │ │ │ │ ├── use-log-view.tsx │ │ │ │ │ │ │ ├── use-need-bot.ts │ │ │ │ │ │ │ ├── use-need-scene-bot.ts │ │ │ │ │ │ │ ├── use-save-testset.ts │ │ │ │ │ │ │ ├── use-test-form-initial-value-v2.ts │ │ │ │ │ │ │ ├── use-test-form-schema.tsx │ │ │ │ │ │ │ ├── use-test-run-flow-v2.ts │ │ │ │ │ │ │ ├── use-test-run-flow.tsx │ │ │ │ │ │ │ ├── use-test-run-node.ts │ │ │ │ │ │ │ ├── use-test-run-status.ts │ │ │ │ │ │ │ └── use-testset-biz-ctx.ts │ │ │ │ │ │ ├── img-log/ │ │ │ │ │ │ │ ├── empty.module.less │ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ │ ├── images-with-download.tsx │ │ │ │ │ │ │ ├── images.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── use-current-node.ts │ │ │ │ │ │ │ ├── use-download-images.ts │ │ │ │ │ │ │ ├── use-element-width.ts │ │ │ │ │ │ │ ├── use-images.ts │ │ │ │ │ │ │ ├── use-parse-images.ts │ │ │ │ │ │ │ ├── use-test-run-outputs-value.ts │ │ │ │ │ │ │ └── use-test-run-result.ts │ │ │ │ │ │ ├── img-log-v2/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-images.tsx │ │ │ │ │ │ ├── input-form/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── log-detail/ │ │ │ │ │ │ │ ├── log-detail-wrap.module.less │ │ │ │ │ │ │ └── log-detail-wrap.tsx │ │ │ │ │ │ ├── log-navigation-v2/ │ │ │ │ │ │ │ ├── custom-selector.module.less │ │ │ │ │ │ │ ├── custom-selector.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── navigate-item-disabled.tsx │ │ │ │ │ │ │ ├── page-selector.module.less │ │ │ │ │ │ │ └── page-selector.tsx │ │ │ │ │ │ ├── question-form/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── test-form-header/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── test-form-header.module.less │ │ │ │ │ │ │ └── test-form-header.tsx │ │ │ │ │ │ ├── test-form-materials/ │ │ │ │ │ │ │ ├── bot-project-select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── bot-select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── conversation-select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── file/ │ │ │ │ │ │ │ │ ├── base-adapter.tsx │ │ │ │ │ │ │ │ ├── custom-file-item.module.less │ │ │ │ │ │ │ │ ├── custom-file-item.tsx │ │ │ │ │ │ │ │ ├── custom-upload-node.tsx │ │ │ │ │ │ │ │ ├── file-v2.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── typed-file-input/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── type-select.tsx │ │ │ │ │ │ │ │ │ └── url-input.tsx │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ ├── use-file-dragging.ts │ │ │ │ │ │ │ │ └── voice-adapter.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── json-editor/ │ │ │ │ │ │ │ │ ├── icons.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── json-editor.tsx │ │ │ │ │ │ │ │ ├── light.module.less │ │ │ │ │ │ │ │ ├── new.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── json-mode-input/ │ │ │ │ │ │ │ │ ├── completion.module.less │ │ │ │ │ │ │ │ ├── completion.tsx │ │ │ │ │ │ │ │ ├── file-widget.module.less │ │ │ │ │ │ │ │ ├── file-widget.tsx │ │ │ │ │ │ │ │ ├── get-extensions.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── json-mode-input.tsx │ │ │ │ │ │ │ │ ├── key-hover.module.less │ │ │ │ │ │ │ │ ├── render-dom.tsx │ │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ │ ├── voice-widget.module.less │ │ │ │ │ │ │ │ └── voice-widget.tsx │ │ │ │ │ │ │ ├── node-field-collapse/ │ │ │ │ │ │ │ │ ├── ai-generate/ │ │ │ │ │ │ │ │ │ ├── generate-button.module.less │ │ │ │ │ │ │ │ │ ├── generate-button.tsx │ │ │ │ │ │ │ │ │ ├── generate-mode-select.module.less │ │ │ │ │ │ │ │ │ ├── generate-mode-select.tsx │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── use-ai-generate.ts │ │ │ │ │ │ │ │ ├── collapse.module.less │ │ │ │ │ │ │ │ ├── collapse.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── node-switch/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── mode-switch.module.less │ │ │ │ │ │ │ │ └── mode-switch.tsx │ │ │ │ │ │ │ ├── related-field-collapse/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── testset/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── testset-save.module.less │ │ │ │ │ │ │ ├── testset-save.tsx │ │ │ │ │ │ │ ├── testset-select.module.less │ │ │ │ │ │ │ └── testset-select.tsx │ │ │ │ │ │ ├── test-form-sheet-v2/ │ │ │ │ │ │ │ ├── ai-generate/ │ │ │ │ │ │ │ │ ├── generate-button.module.less │ │ │ │ │ │ │ │ ├── generate-button.tsx │ │ │ │ │ │ │ │ ├── generate-mode-select.module.less │ │ │ │ │ │ │ │ ├── generate-mode-select.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── use-ai-generate.ts │ │ │ │ │ │ │ ├── footer.tsx │ │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── result-log.tsx │ │ │ │ │ │ │ ├── running-panel.tsx │ │ │ │ │ │ │ ├── styles.module.less │ │ │ │ │ │ │ ├── test-node-form.module.less │ │ │ │ │ │ │ └── test-node-form.tsx │ │ │ │ │ │ ├── test-form-v3/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── mode-form-kit/ │ │ │ │ │ │ │ │ ├── file-info.ts │ │ │ │ │ │ │ │ ├── format-values.ts │ │ │ │ │ │ │ │ ├── get-json-mode-field-default-value.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── merge-form-values.ts │ │ │ │ │ │ │ │ ├── set-cache-values.ts │ │ │ │ │ │ │ │ ├── to-json-mode-schema.ts │ │ │ │ │ │ │ │ ├── to-json-values.ts │ │ │ │ │ │ │ │ ├── try-save-testset.ts │ │ │ │ │ │ │ │ └── visit-node-leaf.ts │ │ │ │ │ │ │ ├── test-form-v3.tsx │ │ │ │ │ │ │ ├── test-run-form-model.ts │ │ │ │ │ │ │ ├── use-mode-form-event.ts │ │ │ │ │ │ │ └── use-mode-form-schema.ts │ │ │ │ │ │ ├── test-run-button/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── open-trace-button.tsx │ │ │ │ │ │ │ ├── single-node.tsx │ │ │ │ │ │ │ ├── start-test-run-button.tsx │ │ │ │ │ │ │ └── trigger-test-run-button.tsx │ │ │ │ │ │ ├── test-set/ │ │ │ │ │ │ │ ├── provider.tsx │ │ │ │ │ │ │ ├── select.tsx │ │ │ │ │ │ │ └── side-sheet.tsx │ │ │ │ │ │ ├── test-set-select-field/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── trace/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── trace-detail-panel.tsx │ │ │ │ │ │ │ ├── trace-list-panel.tsx │ │ │ │ │ │ │ └── use-goto-node.ts │ │ │ │ │ │ ├── types/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── test-form.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── common.ts │ │ │ │ │ │ ├── generate-auth.ts │ │ │ │ │ │ ├── generate-copilot-form-data.ts │ │ │ │ │ │ ├── generate-copilot-query.ts │ │ │ │ │ │ ├── generate-crud-nodes-test-run-form-fields.ts │ │ │ │ │ │ ├── generate-imageflow-generate-test-form-fields.ts │ │ │ │ │ │ ├── generate-input-json-schema.ts │ │ │ │ │ │ ├── generate-log.ts │ │ │ │ │ │ ├── generate-test-form-fields.ts │ │ │ │ │ │ ├── generate-test-form-initial-value.ts │ │ │ │ │ │ ├── generate-testset-data.ts │ │ │ │ │ │ ├── generate-update-trigger-fields.ts │ │ │ │ │ │ ├── ignore-rehaje-expression.ts │ │ │ │ │ │ ├── is-static-object-ref.ts │ │ │ │ │ │ └── stringify-value.ts │ │ │ │ │ ├── toolbar/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── add-node.tsx │ │ │ │ │ │ │ ├── auto-layout.tsx │ │ │ │ │ │ │ ├── comment.tsx │ │ │ │ │ │ │ ├── container.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── interactive.tsx │ │ │ │ │ │ │ ├── minimap-switch.tsx │ │ │ │ │ │ │ ├── minimap.tsx │ │ │ │ │ │ │ ├── tools.module.less │ │ │ │ │ │ │ ├── tools.tsx │ │ │ │ │ │ │ └── zoom.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-add-node.ts │ │ │ │ │ │ │ ├── use-auto-layout.ts │ │ │ │ │ │ │ ├── use-minimap-visible.ts │ │ │ │ │ │ │ └── use-toolbar-handlers.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── workflow-container/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── use-data-compensation.ts │ │ │ │ │ │ ├── use-nodes-mount.ts │ │ │ │ │ │ └── workflow-float-layout.tsx │ │ │ │ │ ├── workflow-header/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── collaborators-button/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── introduction.tsx │ │ │ │ │ │ │ │ └── use-collaborators-pay.tsx │ │ │ │ │ │ │ ├── credit-button/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── duplicate-button.tsx │ │ │ │ │ │ │ ├── force-push-popover/ │ │ │ │ │ │ │ │ ├── force-push-popover.module.less │ │ │ │ │ │ │ │ ├── force-push-popover.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── use-force-push.ts │ │ │ │ │ │ │ ├── history-button/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ └── history-drawer/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── use-commit-action.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── publish-button-v2/ │ │ │ │ │ │ │ │ ├── base-publish-button.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── publish-button.tsx │ │ │ │ │ │ │ │ ├── publish-env.module.less │ │ │ │ │ │ │ │ ├── publish-with-diff.tsx │ │ │ │ │ │ │ │ ├── publish-with-env.tsx │ │ │ │ │ │ │ │ ├── publish-with-force.tsx │ │ │ │ │ │ │ │ ├── publish-with-version-v2.tsx │ │ │ │ │ │ │ │ ├── publish-with-version.module.less │ │ │ │ │ │ │ │ ├── publish-with-version.tsx │ │ │ │ │ │ │ │ ├── test-set-select.module.less │ │ │ │ │ │ │ │ ├── test-set-select.tsx │ │ │ │ │ │ │ │ ├── tooltip-with-disabled.tsx │ │ │ │ │ │ │ │ └── use-is-publish-disabled.ts │ │ │ │ │ │ │ ├── reference-button/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── reference-modal/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── link-node.tsx │ │ │ │ │ │ │ │ ├── tooltip-content/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── styles.module.less │ │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ │ └── submit-button.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-diff-confirm/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── diff-modal.tsx │ │ │ │ │ │ │ │ │ └── diff-table.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── use-merge-confirm/ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── merge-banner.tsx │ │ │ │ │ │ │ │ │ ├── merge-footer.tsx │ │ │ │ │ │ │ │ │ ├── merge-table.tsx │ │ │ │ │ │ │ │ │ ├── title-bar.module.less │ │ │ │ │ │ │ │ │ └── title-bar.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── merge-context.tsx │ │ │ │ │ │ │ │ └── use-merge.ts │ │ │ │ │ │ │ ├── use-plugin-credits/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ └── use-publish-reference-confirm.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── workflow-header-info/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── edit-modal.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── workflow-status.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── workflow-inner-side-sheet/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── inner-side-sheet-holder.tsx │ │ │ │ │ │ │ └── singleton-inner-side-sheet.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── use-inner-side-sheet-store.tsx │ │ │ │ │ │ │ └── use-singleton-inner-side-sheet.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── workflow-outer-side-sheet/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── workflow-references/ │ │ │ │ │ │ ├── publish-confirm-content.module.less │ │ │ │ │ │ ├── publish-confirm-content.tsx │ │ │ │ │ │ ├── references-tip.module.less │ │ │ │ │ │ └── references-tip.tsx │ │ │ │ │ └── workflow-refresh-modal/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── constants/ │ │ │ │ │ ├── condition-operator-map.tsx │ │ │ │ │ ├── database-field-names.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── question-settings.ts │ │ │ │ ├── container/ │ │ │ │ │ ├── workflow-node-contribution.ts │ │ │ │ │ ├── workflow-nodes-v2-contribution.ts │ │ │ │ │ ├── workflow-page-container-module.ts │ │ │ │ │ └── workflow-page-contribution.ts │ │ │ │ ├── contexts/ │ │ │ │ │ ├── add-node-modal-context.tsx │ │ │ │ │ └── node-render-context.tsx │ │ │ │ ├── entities/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── workflow-dataset-store-entity.ts │ │ │ │ │ ├── workflow-dependency-state-entity.ts │ │ │ │ │ ├── workflow-exec-state-entity.ts │ │ │ │ │ ├── workflow-global-state-entity.ts │ │ │ │ │ ├── workflow-template-state-entity.ts │ │ │ │ │ └── workflow-test-form-state-entity.ts │ │ │ │ ├── form/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── add-button.tsx │ │ │ │ │ │ ├── column-titles.tsx │ │ │ │ │ │ ├── error-message.tsx │ │ │ │ │ │ ├── feedback.tsx │ │ │ │ │ │ ├── field-array-item.module.less │ │ │ │ │ │ ├── field-array-item.tsx │ │ │ │ │ │ ├── field-array-list.tsx │ │ │ │ │ │ ├── field-array.tsx │ │ │ │ │ │ ├── field-empty.tsx │ │ │ │ │ │ ├── field-layout.tsx │ │ │ │ │ │ ├── field.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── icon-info.tsx │ │ │ │ │ │ ├── icon-remove.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── label.tsx │ │ │ │ │ │ ├── required-star.tsx │ │ │ │ │ │ ├── section.tsx │ │ │ │ │ │ ├── select.tsx │ │ │ │ │ │ ├── sortable-item.tsx │ │ │ │ │ │ └── sortable-list.tsx │ │ │ │ │ ├── contexts/ │ │ │ │ │ │ ├── field-array-context.ts │ │ │ │ │ │ ├── field-context.ts │ │ │ │ │ │ ├── form-context.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── fields/ │ │ │ │ │ │ ├── checkbox-field.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── input-field.tsx │ │ │ │ │ │ ├── input-number-field.tsx │ │ │ │ │ │ ├── radio-group-field.tsx │ │ │ │ │ │ ├── select-field.tsx │ │ │ │ │ │ ├── slider-field.tsx │ │ │ │ │ │ ├── switch-field.tsx │ │ │ │ │ │ └── textarea-field.tsx │ │ │ │ │ ├── hocs/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── with-field-array.tsx │ │ │ │ │ │ └── with-field.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-base-field-array.ts │ │ │ │ │ │ ├── use-base-field-state.ts │ │ │ │ │ │ ├── use-base-field.ts │ │ │ │ │ │ ├── use-field-array-ref.ts │ │ │ │ │ │ ├── use-field-array.ts │ │ │ │ │ │ ├── use-field-ref.ts │ │ │ │ │ │ ├── use-field.ts │ │ │ │ │ │ ├── use-form.ts │ │ │ │ │ │ ├── use-section-ref.ts │ │ │ │ │ │ └── use-watch.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── type.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── base-field-array-to-field-array.ts │ │ │ │ │ ├── base-field-to-field.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── form-extensions/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── add-item-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── card/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── checkbox/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── checkbox-with-label/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── columns-title/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── columns-title-with-action/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dataset-select/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-douyin-knowledge-list-modal.tsx │ │ │ │ │ │ ├── dataset-setting/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── SearchStrategy/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── SliderArea/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── TitleArea/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ ├── dataset-write-chunk/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dataset-write-parser/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── file-input/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── file-card.tsx │ │ │ │ │ │ │ │ ├── file-list-popover.tsx │ │ │ │ │ │ │ │ ├── file-tag.tsx │ │ │ │ │ │ │ │ ├── file-upload-btn.tsx │ │ │ │ │ │ │ │ ├── img-preview-popover.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── multi-input.tsx │ │ │ │ │ │ │ │ └── single-input.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── transform.ts │ │ │ │ │ │ │ └── upload-context.tsx │ │ │ │ │ │ ├── form-card/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-item/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-item-feedback/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── icon-name-desc-card/ │ │ │ │ │ │ │ ├── card.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── tooltip-action.tsx │ │ │ │ │ │ ├── input-tree/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── input-header/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── input-name/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── input-operator/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── input-tree-node/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── input-value/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ └── use-columns-style.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── label-with-tooltip/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── level-line/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── level-line.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── library-select/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── library-card.tsx │ │ │ │ │ │ │ ├── library-select.tsx │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── literal-value-input/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── input-boolean.tsx │ │ │ │ │ │ │ ├── input-integer.tsx │ │ │ │ │ │ │ ├── input-json.tsx │ │ │ │ │ │ │ ├── input-number.tsx │ │ │ │ │ │ │ ├── input-select.tsx │ │ │ │ │ │ │ ├── input-string.tsx │ │ │ │ │ │ │ ├── input-time.tsx │ │ │ │ │ │ │ ├── literal-value-input.tsx │ │ │ │ │ │ │ ├── styles.module.less │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ ├── loop-output-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── model-selector/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── model-description.tsx │ │ │ │ │ │ │ └── option-item.tsx │ │ │ │ │ │ ├── mutable-variable-assign/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── node-header/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── PluginMockSet.tsx │ │ │ │ │ │ │ │ ├── close-button.tsx │ │ │ │ │ │ │ │ └── help-link-button.tsx │ │ │ │ │ │ │ ├── description-display.tsx │ │ │ │ │ │ │ ├── description.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── use-move-out.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── get-bg-color.ts │ │ │ │ │ │ ├── output-param-display/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── output-tree/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── custom-tree-node/ │ │ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ │ │ ├── conversation-select/ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── expand-btn/ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── expand-content/ │ │ │ │ │ │ │ │ │ │ │ ├── default-value-input.tsx │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ │ ├── input-time.tsx │ │ │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ │ │ ├── param-desc-popover/ │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── param-description/ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── param-name/ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── param-operator/ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ ├── param-required/ │ │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ │ │ └── param-type/ │ │ │ │ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── utils.tsx │ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── json-editor/ │ │ │ │ │ │ │ │ │ ├── convert-schema.ts │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── json-import/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── json-editor-with-state.tsx │ │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ │ ├── add-readonly-data.ts │ │ │ │ │ │ │ │ │ ├── batch.ts │ │ │ │ │ │ │ │ │ ├── cut-off.ts │ │ │ │ │ │ │ │ │ └── merge.ts │ │ │ │ │ │ │ │ └── response-format/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ └── use-columns-style.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── question-limit/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── radio/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── setting-on-error/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── error-form/ │ │ │ │ │ │ │ │ │ ├── card.tsx │ │ │ │ │ │ │ │ │ ├── content.tsx │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── use-exapand.ts │ │ │ │ │ │ │ │ ├── ext/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── trigger.tsx │ │ │ │ │ │ │ │ ├── header/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── json/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── process-type/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── option-item.tsx │ │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ │ ├── retry-times/ │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── timeout/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── error-form.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-batch-change.ts │ │ │ │ │ │ │ │ ├── use-exception-change.ts │ │ │ │ │ │ │ │ ├── use-json-with-outputs.tsx │ │ │ │ │ │ │ │ ├── use-refresh-on-variable-change.ts │ │ │ │ │ │ │ │ └── use-setting-on-error.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── setting-on-error.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── generate-json-schema.ts │ │ │ │ │ │ │ ├── index.test.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── is-exception.ts │ │ │ │ │ │ ├── slider-with-input/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tag-selector/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── style.module.less │ │ │ │ │ │ │ └── use-slot-node.tsx │ │ │ │ │ │ ├── text/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tree-variable-selector/ │ │ │ │ │ │ │ ├── composite-select-option.tsx │ │ │ │ │ │ │ ├── composite-select-tree-panel.tsx │ │ │ │ │ │ │ ├── composite-select.module.less │ │ │ │ │ │ │ ├── composite-select.tsx │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── expand-icon.tsx │ │ │ │ │ │ │ ├── global-var-icon.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── node-variable-tree.module.less │ │ │ │ │ │ │ ├── node-variable-tree.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── use-global-variable-cache.tsx │ │ │ │ │ │ │ ├── useFormatVariableDataSource.ts │ │ │ │ │ │ │ ├── utils.tsx │ │ │ │ │ │ │ ├── value-display.tsx │ │ │ │ │ │ │ └── variable-selector.tsx │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── semi-ui.ts │ │ │ │ │ │ ├── validation/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ ├── validation-error-wrapper.tsx │ │ │ │ │ │ │ └── with-validation.tsx │ │ │ │ │ │ ├── value-expression-input/ │ │ │ │ │ │ │ ├── InputField.tsx │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── object-ref-display.tsx │ │ │ │ │ │ │ ├── ref-value-display.tsx │ │ │ │ │ │ │ ├── typed-value-expression-input.tsx │ │ │ │ │ │ │ ├── value-expression-input.tsx │ │ │ │ │ │ │ └── voice/ │ │ │ │ │ │ │ ├── use-voice.tsx │ │ │ │ │ │ │ └── voice-option.tsx │ │ │ │ │ │ ├── variable-type-selector/ │ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── utils.tsx │ │ │ │ │ │ │ └── variable-type-selector.tsx │ │ │ │ │ │ └── variable-type-tag/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── decorators/ │ │ │ │ │ │ ├── columns-title/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-card/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-item/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-item-feedback/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-layout/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── style/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── style.tsx │ │ │ │ │ ├── form-ability-extensions-form-contribution/ │ │ │ │ │ │ ├── form-ability-extensions-form-contribution.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-fit-view-port.ts │ │ │ │ │ │ ├── use-get-current-input-parameters.ts │ │ │ │ │ │ ├── use-llm-prompt-history.ts │ │ │ │ │ │ ├── use-node-available-variables.ts │ │ │ │ │ │ └── use-vector-model-list.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── setters/ │ │ │ │ │ │ ├── answer-option/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── option-item.tsx │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── canvas/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ └── canvas.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── chat-history/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── checkbox/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── code/ │ │ │ │ │ │ │ ├── biz-ide-panel/ │ │ │ │ │ │ │ │ ├── biz-ide.tsx │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── code-with-biz-ide.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── defaults.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ └── use-ide-input-output-type.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ ├── condition/ │ │ │ │ │ │ │ ├── hidden-condition/ │ │ │ │ │ │ │ │ ├── condition-item.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── multi-condition/ │ │ │ │ │ │ │ ├── condition-branch.module.less │ │ │ │ │ │ │ ├── condition-branch.tsx │ │ │ │ │ │ │ ├── condition-header.tsx │ │ │ │ │ │ │ ├── condition-item-logic.module.less │ │ │ │ │ │ │ ├── condition-item-logic.tsx │ │ │ │ │ │ │ ├── condition-params-header/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── condition-params-item/ │ │ │ │ │ │ │ │ ├── condition-logic/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ ├── delete/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── operator/ │ │ │ │ │ │ │ │ │ ├── convert-map2options.ts │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ │ └── value-expression-with-state/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── constants.tsx │ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ │ ├── draggable/ │ │ │ │ │ │ │ │ ├── condition-branch-preview.tsx │ │ │ │ │ │ │ │ ├── condition-branch.tsx │ │ │ │ │ │ │ │ ├── container.tsx │ │ │ │ │ │ │ │ ├── custom-drag-layer.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── validate/ │ │ │ │ │ │ │ ├── ValidationField.tsx │ │ │ │ │ │ │ ├── use-condition-validate.ts │ │ │ │ │ │ │ └── validate.ts │ │ │ │ │ │ ├── cronjob-select/ │ │ │ │ │ │ │ ├── ai-cronjob.tsx │ │ │ │ │ │ │ ├── fix-cronjob.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── custom-port/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── database-select/ │ │ │ │ │ │ │ ├── database-select.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── use-libraries.tsx │ │ │ │ │ │ │ ├── use-modal.ts │ │ │ │ │ │ │ └── use-tags.ts │ │ │ │ │ │ ├── dataset-select/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dataset-setting/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dataset-write-chunk/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dataset-write-index/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── dataset-write-parser/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── delimiter-selector/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── style.module.less │ │ │ │ │ │ ├── expression-editor/ │ │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ ├── convert-inputs.test.ts │ │ │ │ │ │ │ │ └── convert-inputs.ts │ │ │ │ │ │ │ └── validator.ts │ │ │ │ │ │ ├── file-upload/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── helper.ts │ │ │ │ │ │ ├── image-preview/ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-image-preview-visible.ts │ │ │ │ │ │ │ │ ├── use-input-contains-image.ts │ │ │ │ │ │ │ │ ├── use-listen-variable-change.ts │ │ │ │ │ │ │ │ └── use-ref-variable-path-list.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── is-input-as-output.ts │ │ │ │ │ │ │ └── is-output-contains-image.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── input-tree/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── json-editor/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── local-input-select/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── local-input-select.module.less │ │ │ │ │ │ │ └── local-input-select.tsx │ │ │ │ │ │ ├── loop-output-select/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── message-visibility/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── message-visibility-wrapper.tsx │ │ │ │ │ │ │ ├── message-visibility.module.less │ │ │ │ │ │ │ ├── message-visibility.tsx │ │ │ │ │ │ │ ├── nickname-variable-checkbox-group.module.less │ │ │ │ │ │ │ ├── nickname-variable-checkbox-group.tsx │ │ │ │ │ │ │ ├── player-checkbox-group.tsx │ │ │ │ │ │ │ ├── role-select-option-item.tsx │ │ │ │ │ │ │ ├── role-select-panel.module.less │ │ │ │ │ │ │ ├── role-select-panel.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── model-select/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── model-setting.tsx │ │ │ │ │ │ │ │ ├── selector/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ ├── model-description.tsx │ │ │ │ │ │ │ │ │ ├── model-select-v2.module.less │ │ │ │ │ │ │ │ │ ├── model-select-v2.tsx │ │ │ │ │ │ │ │ │ └── option-item.tsx │ │ │ │ │ │ │ │ └── settings.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── mutable-variable-assign/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── node-header/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── node-input-name/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-input-name.tsx │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── node-output-name/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── node-output-name.tsx │ │ │ │ │ │ ├── notify/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── number/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── output-label-text/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── output-tree/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── question-limit/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── radio/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── select/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── setting-on-error/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── slider/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── speaker-message-set-array/ │ │ │ │ │ │ │ ├── context.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── message-content.tsx │ │ │ │ │ │ │ ├── message-set-form.module.less │ │ │ │ │ │ │ ├── message-set-form.tsx │ │ │ │ │ │ │ ├── speaker-message-set-array.tsx │ │ │ │ │ │ │ ├── speaker-message-set.tsx │ │ │ │ │ │ │ ├── speaker-select.module.less │ │ │ │ │ │ │ ├── speaker-select.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── use-get-nickname-speaker-datasource.tsx │ │ │ │ │ │ │ ├── use-get-role-speaker-datasource.tsx │ │ │ │ │ │ │ ├── use-normalize-value-with-role-list.ts │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ └── value-display.tsx │ │ │ │ │ │ ├── sql/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── sql/ │ │ │ │ │ │ │ ├── auto-generate/ │ │ │ │ │ │ │ │ ├── button.tsx │ │ │ │ │ │ │ │ ├── form.module.less │ │ │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── result.module.less │ │ │ │ │ │ │ │ ├── result.tsx │ │ │ │ │ │ │ │ └── use-nl2sql-mutation.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── switch/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── system-prompt/ │ │ │ │ │ │ │ ├── expand-sheet-editor.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── prompt-editor-with-kit.tsx │ │ │ │ │ │ │ ├── prompt-kit-bar.tsx │ │ │ │ │ │ │ └── system-prompt-editor.tsx │ │ │ │ │ │ ├── temperature/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── text-area/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── text-display/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── timezone/ │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── timezone.ts │ │ │ │ │ │ ├── to-standard-setter.tsx │ │ │ │ │ │ ├── trigger-bind-workflow/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── trigger-list/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── trigger-parameter-title/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── typings.ts │ │ │ │ │ │ ├── value-expression-input/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── variable-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── view-variable-select/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── typings.ts │ │ │ │ │ └── validators/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── value-expression-validator.ts │ │ │ │ ├── global.d.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── node-version/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-node-version-service.ts │ │ │ │ │ ├── use-add-node-modal/ │ │ │ │ │ │ ├── helper.ts │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── use-add-node-visible.ts │ │ │ │ │ ├── use-add-node.ts │ │ │ │ │ ├── use-biz-ide-state.module.less │ │ │ │ │ ├── use-biz-ide-state.tsx │ │ │ │ │ ├── use-current-database-id.ts │ │ │ │ │ ├── use-current-database-query.ts │ │ │ │ │ ├── use-database-node-service.ts │ │ │ │ │ ├── use-dataset-info.tsx │ │ │ │ │ ├── use-dependency-service.ts │ │ │ │ │ ├── use-editor-theme-state.ts │ │ │ │ │ ├── use-exec-state-entity.ts │ │ │ │ │ ├── use-float-layout-service.ts │ │ │ │ │ ├── use-get-scene-flow-params.ts │ │ │ │ │ ├── use-get-workflow-mode.ts │ │ │ │ │ ├── use-global-state.ts │ │ │ │ │ ├── use-have-collaborators.ts │ │ │ │ │ ├── use-input-variables.ts │ │ │ │ │ ├── use-latest-workflow-json.ts │ │ │ │ │ ├── use-line-service.ts │ │ │ │ │ ├── use-new-database-query.ts │ │ │ │ │ ├── use-node-render-data.ts │ │ │ │ │ ├── use-node-render-scene.ts │ │ │ │ │ ├── use-node-side-sheet-store.ts │ │ │ │ │ ├── use-open-trace-list-panel.ts │ │ │ │ │ ├── use-plugin-node-service.ts │ │ │ │ │ ├── use-redo-undo.ts │ │ │ │ │ ├── use-ref-input/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── use-ref-input-node.tsx │ │ │ │ │ │ ├── use-ref-input-props.tsx │ │ │ │ │ │ └── use-ref-input.tsx │ │ │ │ │ ├── use-related-bot-service.ts │ │ │ │ │ ├── use-resizable-side-panel-store.ts │ │ │ │ │ ├── use-role-service.ts │ │ │ │ │ ├── use-save-service.ts │ │ │ │ │ ├── use-scroll-to-line.ts │ │ │ │ │ ├── use-scroll-to-node.ts │ │ │ │ │ ├── use-space-id.ts │ │ │ │ │ ├── use-template-service.ts │ │ │ │ │ ├── use-test-form-state.ts │ │ │ │ │ ├── use-test-run-reporter-service.ts │ │ │ │ │ ├── use-test-run.ts │ │ │ │ │ ├── use-update-sorted-port-lines.ts │ │ │ │ │ ├── use-upload/ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── use-upload.ts │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── format-bytes.ts │ │ │ │ │ │ │ ├── get-accept.ts │ │ │ │ │ │ │ ├── get-base-64.ts │ │ │ │ │ │ │ ├── get-file-extension.ts │ │ │ │ │ │ │ ├── get-image-size.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── validate/ │ │ │ │ │ │ ├── accept-validate.ts │ │ │ │ │ │ ├── image-size-validate.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── size-validate.ts │ │ │ │ │ ├── use-validate-workflow.ts │ │ │ │ │ ├── use-value-expression-service.ts │ │ │ │ │ ├── use-variable-service.ts │ │ │ │ │ ├── use-workflow-models.ts │ │ │ │ │ ├── use-workflow-operation.ts │ │ │ │ │ ├── use-workflow-preset.tsx │ │ │ │ │ ├── use-workflow-references.ts │ │ │ │ │ └── use-workflow-run-service.ts │ │ │ │ ├── index.module.less │ │ │ │ ├── index.tsx │ │ │ │ ├── node-registries/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── batch/ │ │ │ │ │ │ ├── batch-content/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── loop-port.tsx │ │ │ │ │ │ ├── batch-function/ │ │ │ │ │ │ │ ├── create-batch-function-json.ts │ │ │ │ │ │ │ ├── create-batch-function-lines.ts │ │ │ │ │ │ │ ├── create-batch-function-template-data.ts │ │ │ │ │ │ │ ├── create-batch-function.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── relation.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ ├── batch-concurrent-size/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── batch-inputs/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── batch-outputs/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── batch-size/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── loop-settings-section/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ ├── batch-input-name/ │ │ │ │ │ │ │ ├── get-batch-input-names.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── batch-input-value/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── batch-output-name/ │ │ │ │ │ │ │ ├── get-batch-output-names.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── break/ │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── code/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── code-field/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ ├── code-empty-validator.ts │ │ │ │ │ │ └── create-code-inputs-validator.ts │ │ │ │ │ ├── comment/ │ │ │ │ │ │ ├── constant.ts │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── cronjob-select/ │ │ │ │ │ │ │ │ ├── ai-cronjob.tsx │ │ │ │ │ │ │ │ ├── fix-cronjob.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── data-type-tag.tsx │ │ │ │ │ │ │ ├── dynamic-form/ │ │ │ │ │ │ │ │ ├── dynamic-form.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── expression-editor-field.tsx │ │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ │ ├── image-model-select-field.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── input-parameters.tsx │ │ │ │ │ │ │ ├── node-config-form.tsx │ │ │ │ │ │ │ ├── node.tsx │ │ │ │ │ │ │ ├── notify/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── outputs.tsx │ │ │ │ │ │ │ └── timezone/ │ │ │ │ │ │ │ ├── const.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ └── timezone.ts │ │ │ │ │ │ ├── effects/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── provide-loop-inputs-variables.ts │ │ │ │ │ │ │ └── provide-loop-outputs-variables.ts │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ ├── answer-content-field/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── batch-mode-field.tsx │ │ │ │ │ │ │ ├── checkbox-with-tips-field.tsx │ │ │ │ │ │ │ ├── expression-editor-field.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── inputs-kv-field/ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── inputs-parameters-field/ │ │ │ │ │ │ │ │ ├── create-inputs-validator.ts │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── inputs-field.tsx │ │ │ │ │ │ │ │ ├── inputs-tree-field.tsx │ │ │ │ │ │ │ │ └── node-input-name/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── node-input-name.tsx │ │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ │ ├── loop-outputs-field/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── loop-output-select-field.tsx │ │ │ │ │ │ │ │ └── loop-outputs-field.tsx │ │ │ │ │ │ │ ├── model-select-field/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── outputs/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── output-tree-meta-validator.ts │ │ │ │ │ │ │ │ └── outputs.tsx │ │ │ │ │ │ │ ├── outputs-display-field.tsx │ │ │ │ │ │ │ ├── parameters-input-group/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── param-type/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── parameters-input-group-field.tsx │ │ │ │ │ │ │ ├── radio-setter-field/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── setting-on-error/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── setting-on-error-field.tsx │ │ │ │ │ │ │ ├── switch-field/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── value-expression-input.tsx │ │ │ │ │ │ ├── hocs/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── with-node-config-form.tsx │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── custom-setter-helpers.ts │ │ │ │ │ │ │ ├── get-input-type.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── nodes-v2-registry-utils.ts │ │ │ │ │ │ │ └── with-setting-on-error.ts │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ ├── create-answer-content-validator.ts │ │ │ │ │ │ ├── create-input-tree-validator.ts │ │ │ │ │ │ ├── create-outputs-validator.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── continue/ │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── database/ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── select-fields-button.tsx │ │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ │ ├── condition-field/ │ │ │ │ │ │ │ │ │ ├── condition-add-button.tsx │ │ │ │ │ │ │ │ │ ├── condition-field.tsx │ │ │ │ │ │ │ │ │ ├── condition-item-field.tsx │ │ │ │ │ │ │ │ │ ├── condition-left-field.tsx │ │ │ │ │ │ │ │ │ ├── condition-list.tsx │ │ │ │ │ │ │ │ │ ├── condition-logic-field.tsx │ │ │ │ │ │ │ │ │ ├── condition-operator-field.tsx │ │ │ │ │ │ │ │ │ ├── condition-right-field.tsx │ │ │ │ │ │ │ │ │ ├── get-condition-operator-options.tsx │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── use-condition-left-data-type.ts │ │ │ │ │ │ │ │ ├── database-select.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── outputs.tsx │ │ │ │ │ │ │ │ └── select-and-set-fields-field/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── select-and-set-fields-add-button.tsx │ │ │ │ │ │ │ │ ├── select-and-set-fields-columns-title.tsx │ │ │ │ │ │ │ │ ├── select-and-set-fields-context.tsx │ │ │ │ │ │ │ │ ├── select-and-set-fields-field.tsx │ │ │ │ │ │ │ │ ├── select-and-set-fields-item.tsx │ │ │ │ │ │ │ │ ├── select-and-set-fields-list.tsx │ │ │ │ │ │ │ │ ├── select-and-set-fields-section.tsx │ │ │ │ │ │ │ │ └── select-and-set-fields.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── use-current-database-field.ts │ │ │ │ │ │ │ │ ├── use-reset-condition.ts │ │ │ │ │ │ │ │ └── use-reset-select-and-set-fields.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ │ ├── get-outputs-default-value.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ │ ├── create-condition-validator.ts │ │ │ │ │ │ │ ├── create-database-validator.ts │ │ │ │ │ │ │ ├── create-select-and-set-fields-validator.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── database-base/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── sql-field.tsx │ │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── database-create/ │ │ │ │ │ │ │ ├── database-create-form-meta.tsx │ │ │ │ │ │ │ ├── database-create-form.tsx │ │ │ │ │ │ │ ├── database-create-node-registry.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── database-delete/ │ │ │ │ │ │ │ ├── database-delete-form-meta.tsx │ │ │ │ │ │ │ ├── database-delete-form.tsx │ │ │ │ │ │ │ ├── database-delete-node-registry.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── database-query/ │ │ │ │ │ │ │ ├── database-query-form-meta.tsx │ │ │ │ │ │ │ ├── database-query-form.tsx │ │ │ │ │ │ │ ├── database-query-node-registry.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ │ ├── order-by-field/ │ │ │ │ │ │ │ │ ├── ace-or-desc-field.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── order-by-add-button.tsx │ │ │ │ │ │ │ │ ├── order-by-field.tsx │ │ │ │ │ │ │ │ ├── order-by-item-field.tsx │ │ │ │ │ │ │ │ ├── order-by-list.tsx │ │ │ │ │ │ │ │ ├── order-by-section.tsx │ │ │ │ │ │ │ │ ├── order-by.tsx │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ ├── use-order-by-visible.ts │ │ │ │ │ │ │ │ ├── use-query-field-ids.ts │ │ │ │ │ │ │ │ ├── use-query-fields.ts │ │ │ │ │ │ │ │ └── use-validate-order-by-fields.ts │ │ │ │ │ │ │ ├── query-fields-field/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── query-fields-add-button.tsx │ │ │ │ │ │ │ │ ├── query-fields-column-titles.tsx │ │ │ │ │ │ │ │ ├── query-fields-field.tsx │ │ │ │ │ │ │ │ ├── query-fields-item.tsx │ │ │ │ │ │ │ │ ├── query-fields-list.tsx │ │ │ │ │ │ │ │ ├── query-fields-section.tsx │ │ │ │ │ │ │ │ ├── query-fields.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── query-limit-field.tsx │ │ │ │ │ │ │ └── use-reset-fields.ts │ │ │ │ │ │ └── database-update/ │ │ │ │ │ │ ├── database-update-form-meta.tsx │ │ │ │ │ │ ├── database-update-form.tsx │ │ │ │ │ │ ├── database-update-node-registry.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── use-reset-select-and-set-fields.ts │ │ │ │ │ ├── dataset/ │ │ │ │ │ │ ├── common/ │ │ │ │ │ │ │ └── componets/ │ │ │ │ │ │ │ ├── dataset-params-field.tsx │ │ │ │ │ │ │ └── dataset-select-field.tsx │ │ │ │ │ │ ├── dataset-search/ │ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ │ └── dataset-setting-field.tsx │ │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ │ ├── runtime-type.ts │ │ │ │ │ │ │ └── type.ts │ │ │ │ │ │ └── dataset-write/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── dataset-write-chunk-field.tsx │ │ │ │ │ │ │ ├── dataset-write-parser-field.tsx │ │ │ │ │ │ │ └── dataset-write-setting.tsx │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── runtime-type.ts │ │ │ │ │ │ └── type.ts │ │ │ │ │ ├── end/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── terminate-plan-content.tsx │ │ │ │ │ │ │ └── terminate-plan-field.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ └── create-input-name-validator.ts │ │ │ │ │ ├── http/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── base-editor/ │ │ │ │ │ │ │ │ ├── bash-editor.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── json-editor.tsx │ │ │ │ │ │ │ │ ├── raw-text-editor.tsx │ │ │ │ │ │ │ │ └── validate.ts │ │ │ │ │ │ │ └── variable-support/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── use-interpolation-content.ts │ │ │ │ │ │ │ │ ├── use-keyboard-actions.ts │ │ │ │ │ │ │ │ ├── use-keyboard.ts │ │ │ │ │ │ │ │ ├── use-options-operations.ts │ │ │ │ │ │ │ │ ├── use-selection.ts │ │ │ │ │ │ │ │ └── use-variable-injector.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ ├── variable-deleted-widget.ts │ │ │ │ │ │ │ ├── variable-extension.tsx │ │ │ │ │ │ │ ├── variable-prefix-widget.ts │ │ │ │ │ │ │ └── variable-subfix-widget.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ ├── body-type-select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ ├── use-variable-tree.ts │ │ │ │ │ │ │ │ └── use-variable-with-node.ts │ │ │ │ │ │ │ ├── json-import-editor/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── inner-editor.tsx │ │ │ │ │ │ │ │ ├── json-editor-field.tsx │ │ │ │ │ │ │ │ ├── json-import-components/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── json-expand-editor.tsx │ │ │ │ │ │ │ │ │ └── json-import.tsx │ │ │ │ │ │ │ │ └── json-import-field.tsx │ │ │ │ │ │ │ └── raw-text-editor/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── inner-editor.tsx │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── setters/ │ │ │ │ │ │ │ ├── api/ │ │ │ │ │ │ │ │ ├── curl-expand-editor.tsx │ │ │ │ │ │ │ │ ├── curl-import.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── auth/ │ │ │ │ │ │ │ │ ├── add-to-field.tsx │ │ │ │ │ │ │ │ ├── create-auth-validator.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── body/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── if/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── condition/ │ │ │ │ │ │ │ │ ├── hidden-condition.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── multi-condition.tsx │ │ │ │ │ │ │ └── else/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── image-canvas/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── canvas/ │ │ │ │ │ │ │ │ └── components/ │ │ │ │ │ │ │ │ └── canvas.tsx │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── image-generate/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── model-setting-field/ │ │ │ │ │ │ │ │ ├── create-model-options.ts │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── model-field.tsx │ │ │ │ │ │ │ │ ├── model-setting-field.tsx │ │ │ │ │ │ │ │ └── ratio-field.tsx │ │ │ │ │ │ │ ├── prompt-field.tsx │ │ │ │ │ │ │ └── references-field/ │ │ │ │ │ │ │ ├── create-preprocessor-options.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── references-field.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── image-reference/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── node-registry.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── input/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── intent/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── advanced-setting/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── inputs-parameters/ │ │ │ │ │ │ │ │ ├── chat-history/ │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── intents/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── option-item/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── mode-radio/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── model-select/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── outputs/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── effects/ │ │ │ │ │ │ │ └── intent-mode-effect.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── validator/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── json-stringify/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── inputs/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── loop/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── use-loop-type.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── loop-content/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── loop-array.tsx │ │ │ │ │ │ │ ├── loop-port.tsx │ │ │ │ │ │ │ └── loop-variables.tsx │ │ │ │ │ │ ├── loop-fields/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── loop-array/ │ │ │ │ │ │ │ │ ├── get-loop-input-names.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── loop-count/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── loop-outputs/ │ │ │ │ │ │ │ │ ├── format-loop-output-name.ts │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── loop-settings-section/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── loop-type/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── options.ts │ │ │ │ │ │ │ └── loop-variables/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── loop-function/ │ │ │ │ │ │ │ ├── create-loop-function-json.ts │ │ │ │ │ │ │ ├── create-loop-function-lines.ts │ │ │ │ │ │ │ ├── create-loop-function-template-data.ts │ │ │ │ │ │ │ ├── create-loop-function.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── relation.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── loop-array-name/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── loop-array-value/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── loop-input-name/ │ │ │ │ │ │ │ ├── get-loop-input-names.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── loop-input-value/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── loop-output-name/ │ │ │ │ │ │ ├── get-loop-output-names.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── ltm/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── history-round-field.tsx │ │ │ │ │ │ │ ├── history-switch-field.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── inputs.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── output/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ └── output-text-content.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── plugin/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── plugin-link.tsx │ │ │ │ │ │ │ └── view-example.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-plugin-detail.ts │ │ │ │ │ │ │ └── use-plugin-node-service.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── api-node-checker.ts │ │ │ │ │ │ ├── api-node-error-setting.ts │ │ │ │ │ │ ├── api-node-version.ts │ │ │ │ │ │ ├── extract-api-node-data.ts │ │ │ │ │ │ ├── get-api-node-identifier.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── question/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── answer-option-field/ │ │ │ │ │ │ │ │ ├── add-option-button.tsx │ │ │ │ │ │ │ │ ├── answer-item.tsx │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ ├── question-limit.module.less │ │ │ │ │ │ │ ├── question-limit.tsx │ │ │ │ │ │ │ ├── question-outputs.tsx │ │ │ │ │ │ │ └── slider-with-input-field.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── effects/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── sync-question-answer-type.ts │ │ │ │ │ │ │ ├── sync-question-option-type.ts │ │ │ │ │ │ │ └── sync-question-outputs.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── set-variable/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── content/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── set-tags/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-set-tags.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── mutable-variable-assign.tsx │ │ │ │ │ │ │ └── set-variable.tsx │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── get-left-right-variable.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── variable-assign-left.ts │ │ │ │ │ │ └── variable-assign-right.ts │ │ │ │ │ ├── start/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-trigger.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── scene-flow.ts │ │ │ │ │ │ └── trigger-submit.ts │ │ │ │ │ ├── sub-workflow/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── sub-workflow-link.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── use-subworkflow-node-service.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── services/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── subworkflow-node-service.ts │ │ │ │ │ │ │ └── subworkflow-node-store.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── get-identifier.ts │ │ │ │ │ │ ├── get-input-default-value.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── sync-to-latest-release.ts │ │ │ │ │ ├── text-process/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── concat-setting/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── setting-button.tsx │ │ │ │ │ │ │ │ ├── setting-form.tsx │ │ │ │ │ │ │ │ └── types.ts │ │ │ │ │ │ │ ├── delimiter-selector-field.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── inputs/ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ │ └── method-selector/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── effects/ │ │ │ │ │ │ │ └── handle-method-change-effect.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── trigger-delete/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── trigger-read/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ ├── trigger-upsert/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── fixed-input-parameter-field.tsx │ │ │ │ │ │ │ ├── trigger-bind-workflow-field/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── trigger-list-field/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── trigger-form.ts │ │ │ │ │ │ └── validators.ts │ │ │ │ │ └── variable/ │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ ├── form.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── node-content.tsx │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ ├── node-test.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── nodes-v2/ │ │ │ │ │ ├── chat/ │ │ │ │ │ │ ├── clear-conversation-history/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── create-conversation/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── create-form-meta.tsx │ │ │ │ │ │ ├── create-form-render.tsx │ │ │ │ │ │ ├── create-message/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── create-node-registry.ts │ │ │ │ │ │ ├── delete-conversation/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── delete-message/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── query-conversation-history/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── query-conversation-list/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── query-message-list/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ ├── sync-conversation-name-effect.ts │ │ │ │ │ │ ├── transform-on-init.ts │ │ │ │ │ │ ├── transform-on-submit.ts │ │ │ │ │ │ ├── update-conversation/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ │ └── update-message/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── form-render.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── add-icon/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── batch/ │ │ │ │ │ │ │ ├── batch-setting-form.module.less │ │ │ │ │ │ │ ├── batch-setting-form.tsx │ │ │ │ │ │ │ ├── batch.tsx │ │ │ │ │ │ │ └── index.module.less │ │ │ │ │ │ ├── batch-mode/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── expression-editor/ │ │ │ │ │ │ │ ├── container/ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── hooks.ts │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── validator.ts │ │ │ │ │ │ ├── fixed-input-parameters/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-item-feedback/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── global-variable-select/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ │ ├── input-label/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── node-header/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── node-input-name/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-input-name.tsx │ │ │ │ │ │ │ ├── type.ts │ │ │ │ │ │ │ └── validate.ts │ │ │ │ │ │ ├── node-meta/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── output-single-text/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── outputs/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── radio/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── setting-on-error/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── spacing/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── system-prompt/ │ │ │ │ │ │ │ ├── expand-sheet-editor.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── prompt-editor-with-kit.tsx │ │ │ │ │ │ │ ├── prompt-kit-bar.tsx │ │ │ │ │ │ │ ├── system-prompt-editor.tsx │ │ │ │ │ │ │ ├── use-libraries-store.tsx │ │ │ │ │ │ │ ├── use-send-tea.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── validation/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── with-validation.tsx │ │ │ │ │ │ ├── value-expression-input/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── view-variable-select/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── use-default-node-meta.ts │ │ │ │ │ │ └── use-readonly.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── llm/ │ │ │ │ │ │ ├── chat-history/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── cot/ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── provide-reasoning-content.ts │ │ │ │ │ │ │ └── utils.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-model-type.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── llm-form-meta.tsx │ │ │ │ │ │ ├── llm-node-registry.ts │ │ │ │ │ │ ├── node-test.ts │ │ │ │ │ │ ├── skills/ │ │ │ │ │ │ │ ├── __tests__/ │ │ │ │ │ │ │ │ └── data-transformer.test.ts │ │ │ │ │ │ │ ├── add-skill.tsx │ │ │ │ │ │ │ ├── async-params-form.tsx │ │ │ │ │ │ │ ├── bound-item-card.tsx │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ ├── data-transformer.ts │ │ │ │ │ │ │ ├── empty-skill.tsx │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── input-params-form.tsx │ │ │ │ │ │ │ ├── knowledge-setting-form-modal.module.less │ │ │ │ │ │ │ ├── knowledge-setting-form-modal.tsx │ │ │ │ │ │ │ ├── knowledge-setting.tsx │ │ │ │ │ │ │ ├── output-params-form.tsx │ │ │ │ │ │ │ ├── plugin-setting-form-modal.module.less │ │ │ │ │ │ │ ├── plugin-setting-form-modal.tsx │ │ │ │ │ │ │ ├── plugin-setting.tsx │ │ │ │ │ │ │ ├── skill-knowledge-sider/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── skill-modal.module.less │ │ │ │ │ │ │ ├── skill-modal.tsx │ │ │ │ │ │ │ ├── tooltip-action.tsx │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ ├── use-model-skill-disabled.tsx │ │ │ │ │ │ │ ├── use-query-latest-fc-settings.ts │ │ │ │ │ │ │ ├── use-query-setting-detail.ts │ │ │ │ │ │ │ ├── use-table-scroll.ts │ │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ │ └── workflow-setting.tsx │ │ │ │ │ │ ├── system-prompt/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-skill-libraries.tsx │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── user-prompt/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── utils.ts │ │ │ │ │ │ ├── validators/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── llm-input-name-validator.ts │ │ │ │ │ │ │ └── llm-output-tree-meta-validator.ts │ │ │ │ │ │ └── vision/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── vision-input-field.tsx │ │ │ │ │ │ │ ├── vision-name-field.tsx │ │ │ │ │ │ │ ├── vision-value-field.tsx │ │ │ │ │ │ │ └── vision.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-model-enabled-types.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── is-vision-equal.ts │ │ │ │ │ │ └── is-vision-input.ts │ │ │ │ │ ├── materials/ │ │ │ │ │ │ ├── create-value-expression-input-validate.ts │ │ │ │ │ │ ├── fire-node-title-change.ts │ │ │ │ │ │ ├── node-meta-validate.ts │ │ │ │ │ │ ├── provide-node-batch-variable.ts │ │ │ │ │ │ ├── provide-node-output-variables.ts │ │ │ │ │ │ └── setting-on-error-validate.ts │ │ │ │ │ ├── utils.ts │ │ │ │ │ ├── variable-assign/ │ │ │ │ │ │ ├── form-meta.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-registry.ts │ │ │ │ │ │ └── node-test.ts │ │ │ │ │ └── variable-merge/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── add-group-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── delete-group-button/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── group-header/ │ │ │ │ │ │ │ ├── group-name.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-edit-name.ts │ │ │ │ │ │ ├── group-type-tag/ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── use-group-type-alias.ts │ │ │ │ │ │ ├── group-variables/ │ │ │ │ │ │ │ ├── group-variables-item.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ ├── use-is-output-variable.ts │ │ │ │ │ │ │ └── use-variables-filter.ts │ │ │ │ │ │ ├── info-icon/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── merge-groups-field/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── merge-strategy-field/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── tooltip-with-disabled/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── variable-merge-form/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── effects/ │ │ │ │ │ │ └── variables-change-effects.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types.ts │ │ │ │ │ ├── utils/ │ │ │ │ │ │ ├── generate-group-name.ts │ │ │ │ │ │ ├── get-group-type-alias.ts │ │ │ │ │ │ ├── get-matched-variable-types.ts │ │ │ │ │ │ ├── get-variable-type-alias.ts │ │ │ │ │ │ ├── get-variable-view-type.ts │ │ │ │ │ │ ├── is-output-variable.ts │ │ │ │ │ │ ├── is-variable-type-matched.ts │ │ │ │ │ │ └── to-field-error.ts │ │ │ │ │ ├── validators/ │ │ │ │ │ │ ├── group-name-validator.ts │ │ │ │ │ │ ├── merge-groups-validator.ts │ │ │ │ │ │ ├── variable-validator.ts │ │ │ │ │ │ └── variables-validator.ts │ │ │ │ │ ├── variable-merge-form-meta.tsx │ │ │ │ │ └── variable-merge-node-registry.ts │ │ │ │ ├── options/ │ │ │ │ │ └── workflow-document-custom-options.ts │ │ │ │ ├── services/ │ │ │ │ │ ├── chatflow-service.ts │ │ │ │ │ ├── database-node-service-impl.ts │ │ │ │ │ ├── database-node-service.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── node-version-service.ts │ │ │ │ │ ├── plugin-node-service.ts │ │ │ │ │ ├── related-case-data-service.ts │ │ │ │ │ ├── role-service.ts │ │ │ │ │ ├── test-run-reporter-service.ts │ │ │ │ │ ├── trigger-service.ts │ │ │ │ │ ├── value-expression-service-impl.ts │ │ │ │ │ ├── value-expression-service.ts │ │ │ │ │ ├── workflow-dependency-service.ts │ │ │ │ │ ├── workflow-drag-service.ts │ │ │ │ │ ├── workflow-edit-service.ts │ │ │ │ │ ├── workflow-float-layout-service.ts │ │ │ │ │ ├── workflow-line-service.ts │ │ │ │ │ ├── workflow-models-service.ts │ │ │ │ │ ├── workflow-operation-service.ts │ │ │ │ │ ├── workflow-run-service.ts │ │ │ │ │ ├── workflow-save-service.ts │ │ │ │ │ └── workflow-validation-service.ts │ │ │ │ ├── shortcuts/ │ │ │ │ │ ├── constant.ts │ │ │ │ │ ├── contributions/ │ │ │ │ │ │ ├── copy/ │ │ │ │ │ │ │ ├── get-valid-nodes.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── is-system-nodes.ts │ │ │ │ │ │ │ └── is-valid.ts │ │ │ │ │ │ ├── delete/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── is-valid.ts │ │ │ │ │ │ ├── export/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── layout/ │ │ │ │ │ │ │ ├── comment-node-handler.ts │ │ │ │ │ │ │ ├── get-follow-node.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── quad-tree.ts │ │ │ │ │ │ │ └── sub-canvas-handler.ts │ │ │ │ │ │ ├── load/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── paste/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── is-valid-data.ts │ │ │ │ │ │ │ ├── is-valid-node.ts │ │ │ │ │ │ │ └── validators/ │ │ │ │ │ │ │ ├── api-node-validator.ts │ │ │ │ │ │ │ ├── base-validator.ts │ │ │ │ │ │ │ ├── cross-space-node-validator.ts │ │ │ │ │ │ │ ├── drop-validator.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── loop-context-validator.ts │ │ │ │ │ │ │ ├── nested-loop-batch-validator.ts │ │ │ │ │ │ │ ├── same-space-validator.ts │ │ │ │ │ │ │ ├── same-workflow-validator.ts │ │ │ │ │ │ │ ├── scene-node-validator.ts │ │ │ │ │ │ │ ├── sub-workflow-self-ref-validator.ts │ │ │ │ │ │ │ └── validation-chain.ts │ │ │ │ │ │ ├── select-all/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── zoom/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── type.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── register.ts │ │ │ │ │ ├── safe-fn.ts │ │ │ │ │ └── unique-workflow.ts │ │ │ │ ├── test-run-kit/ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-form-default-values.ts │ │ │ │ │ │ └── use-open-workflow.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── types/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── generate-env-to-related-context-properties.ts │ │ │ │ │ ├── generate-form-node-field.ts │ │ │ │ │ ├── generate-form-related-field.ts │ │ │ │ │ ├── generate-form-schema/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── testset-field.ts │ │ │ │ │ ├── generate-form-schema.ts │ │ │ │ │ ├── generate-input-to-field.ts │ │ │ │ │ ├── generate-parameters-to-properties.ts │ │ │ │ │ ├── get-node-execute-history-input.ts │ │ │ │ │ ├── get-related-info.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── typing/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── sidebar.ts │ │ │ │ ├── ui-components/ │ │ │ │ │ ├── add-operation/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── auto-size-tooltip/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── banner/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── workflow-sl-input/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── workflow-sl-textarea/ │ │ │ │ │ ├── index.module.less │ │ │ │ │ └── index.tsx │ │ │ │ ├── use-workflow-playground.tsx │ │ │ │ ├── utils/ │ │ │ │ │ ├── create-slots/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── use-force-update.ts │ │ │ │ │ ├── curl-parser.ts │ │ │ │ │ ├── get-canvas-offset.ts │ │ │ │ │ ├── get-ide-region-params.ts │ │ │ │ │ ├── get-is-init-workflow.ts │ │ │ │ │ ├── get-workflow-inner-side-sheet-holder.ts │ │ │ │ │ ├── get-workflow-outer-side-sheet-holder.ts │ │ │ │ │ ├── get-workflow-url.ts │ │ │ │ │ ├── get-workflow-version.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── move-time-consuming.ts │ │ │ │ │ ├── node-template.ts │ │ │ │ │ └── promise-limiter.ts │ │ │ │ ├── workflow-playground-context.ts │ │ │ │ └── workflow-playground.tsx │ │ │ ├── tailwind.config.js │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── render/ │ │ │ ├── .npmignore │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── lines/ │ │ │ │ │ │ ├── arrow/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── bezier-line/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── fold-line/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── popover/ │ │ │ │ │ │ └── with-popover.tsx │ │ │ │ │ ├── selector-bounds/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ └── workflow-port-render/ │ │ │ │ │ ├── cross-hair.tsx │ │ │ │ │ ├── index.module.less │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── warning.tsx │ │ │ │ ├── constants/ │ │ │ │ │ ├── lines.ts │ │ │ │ │ └── points.ts │ │ │ │ ├── global.d.ts │ │ │ │ ├── index.module.less │ │ │ │ ├── index.ts │ │ │ │ ├── layer/ │ │ │ │ │ ├── background-layer.tsx │ │ │ │ │ ├── hover-layer.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── lines-layer.tsx │ │ │ │ │ └── shortcuts-layer.tsx │ │ │ │ ├── utils/ │ │ │ │ │ ├── selection-utils.ts │ │ │ │ │ └── shortcuts-utils.ts │ │ │ │ ├── workflow-loader.tsx │ │ │ │ ├── workflow-render-container-module.ts │ │ │ │ ├── workflow-render-contribution.ts │ │ │ │ ├── workflow-render-provider.tsx │ │ │ │ └── workflow-shorcuts-contribution.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── sdk/ │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── __tests__/ │ │ │ │ ├── .gitkeep │ │ │ │ ├── __mock_data__/ │ │ │ │ │ ├── canvas-schema.ts │ │ │ │ │ └── node-results.ts │ │ │ │ └── utils/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ ├── node-result-extractor.test.ts.snap │ │ │ │ │ └── schema-extractor.test.ts.snap │ │ │ │ ├── node-result-extractor.test.ts │ │ │ │ └── schema-extractor.test.ts │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── index.ts │ │ │ │ └── utils/ │ │ │ │ ├── index.ts │ │ │ │ ├── node-result-extractor.ts │ │ │ │ └── schema-extractor.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── setters/ │ │ │ ├── .storybook/ │ │ │ │ ├── main.js │ │ │ │ └── preview.js │ │ │ ├── .stylelintrc.js │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ └── rush-project.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── scripts/ │ │ │ │ └── create-setter.js │ │ │ ├── src/ │ │ │ │ ├── array/ │ │ │ │ │ ├── array-context.ts │ │ │ │ │ ├── array.module.less │ │ │ │ │ ├── array.tsx │ │ │ │ │ ├── column-titles.module.less │ │ │ │ │ ├── column-titles.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── boolean/ │ │ │ │ │ ├── boolean.module.less │ │ │ │ │ ├── boolean.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ └── index.ts │ │ │ │ ├── enum/ │ │ │ │ │ ├── enum.module.less │ │ │ │ │ ├── enum.tsx │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── enum-image-model/ │ │ │ │ │ ├── enum-image-model-label.module.less │ │ │ │ │ ├── enum-image-model-label.tsx │ │ │ │ │ ├── enum-image-model.module.less │ │ │ │ │ ├── enum-image-model.tsx │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── types.ts │ │ │ │ ├── index.ts │ │ │ │ ├── number/ │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── number.module.less │ │ │ │ │ └── number.tsx │ │ │ │ ├── string/ │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── string.module.less │ │ │ │ │ └── string.tsx │ │ │ │ ├── text/ │ │ │ │ │ ├── index.stories.tsx │ │ │ │ │ ├── index.test.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── text.module.less │ │ │ │ │ └── text.tsx │ │ │ │ ├── types.ts │ │ │ │ └── typings.d.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.misc.json │ │ │ └── vitest.config.ts │ │ ├── test-run/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ ├── rush-project.json │ │ │ │ └── rushx-config.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── collapse/ │ │ │ │ │ │ ├── collapse.module.less │ │ │ │ │ │ ├── collapse.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── file-icon/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── file-icon.module.less │ │ │ │ │ │ ├── file-icon.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── file-upload/ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── file-upload.module.less │ │ │ │ │ │ ├── file-upload.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ ├── use-upload.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── form-empty/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ └── input-form-empty.module.less │ │ │ │ │ ├── form-engine/ │ │ │ │ │ │ ├── form-core.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── lazy-form-core.tsx │ │ │ │ │ ├── form-materials/ │ │ │ │ │ │ ├── file-upload/ │ │ │ │ │ │ │ ├── file-upload.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── form-item/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-section/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── full-input/ │ │ │ │ │ │ │ ├── full-input.module.less │ │ │ │ │ │ │ ├── full-input.tsx │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── input/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── input.tsx │ │ │ │ │ │ ├── input-number/ │ │ │ │ │ │ │ ├── base-input-number-v2.module.less │ │ │ │ │ │ │ ├── base-input-number-v2.tsx │ │ │ │ │ │ │ ├── base-input-number.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── input-integer.tsx │ │ │ │ │ │ │ └── input-number.tsx │ │ │ │ │ │ ├── input-time/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── time.module.less │ │ │ │ │ │ │ └── time.tsx │ │ │ │ │ │ ├── switch/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── switch.tsx │ │ │ │ │ │ ├── text-area/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── text-area.module.less │ │ │ │ │ │ │ └── text-area.tsx │ │ │ │ │ │ └── voice-select/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── form-panel/ │ │ │ │ │ │ ├── form-panel-layout.module.less │ │ │ │ │ │ ├── form-panel-layout.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── log-detail/ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-get-current-result.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── log-detail.module.less │ │ │ │ │ │ ├── log-detail.tsx │ │ │ │ │ │ ├── log-fields/ │ │ │ │ │ │ │ ├── empty.module.less │ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── log-field.tsx │ │ │ │ │ │ ├── log-images/ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ └── pagination/ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── more-selector.module.less │ │ │ │ │ │ ├── more-selector.tsx │ │ │ │ │ │ ├── page-item.module.less │ │ │ │ │ │ ├── page-item.tsx │ │ │ │ │ │ ├── page-selector.module.less │ │ │ │ │ │ ├── page-selector.tsx │ │ │ │ │ │ └── pagination.module.less │ │ │ │ │ ├── node-event-info/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── node-event-info.module.less │ │ │ │ │ │ └── node-event-info.tsx │ │ │ │ │ ├── resizable-panel/ │ │ │ │ │ │ ├── base-panel.module.less │ │ │ │ │ │ ├── base-panel.tsx │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── resizable-panel.module.less │ │ │ │ │ │ └── use-resize.ts │ │ │ │ │ ├── test-button/ │ │ │ │ │ │ ├── base-test-button.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── trace-icon-button.tsx │ │ │ │ │ └── testset/ │ │ │ │ │ ├── auto-gen-button/ │ │ │ │ │ │ ├── auto-gen-button.module.less │ │ │ │ │ │ ├── auto-gen-button.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── use-auto-gen.ts │ │ │ │ │ ├── edit-panel/ │ │ │ │ │ │ ├── chat-flow-edit-form.module.less │ │ │ │ │ │ ├── chat-flow-edit-form.tsx │ │ │ │ │ │ ├── edit-form-section.module.less │ │ │ │ │ │ ├── edit-form-section.tsx │ │ │ │ │ │ ├── edit-form.module.less │ │ │ │ │ │ ├── edit-form.tsx │ │ │ │ │ │ ├── edit-panel.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── name-input.module.less │ │ │ │ │ │ ├── name-input.tsx │ │ │ │ │ │ └── use-edit-form-schemas.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── manage-provider.tsx │ │ │ │ │ ├── select/ │ │ │ │ │ │ ├── add-button.tsx │ │ │ │ │ │ ├── auto-load-more.module.less │ │ │ │ │ │ ├── auto-load-more.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── select-item.module.less │ │ │ │ │ │ ├── select-item.tsx │ │ │ │ │ │ ├── select.module.less │ │ │ │ │ │ ├── select.tsx │ │ │ │ │ │ └── use-testset-options.ts │ │ │ │ │ └── use-testset-manage-store.ts │ │ │ │ ├── constants/ │ │ │ │ │ ├── condition.ts │ │ │ │ │ ├── form.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── log.ts │ │ │ │ │ └── testset.ts │ │ │ │ ├── features/ │ │ │ │ │ ├── input/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── input-form/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── input-form.module.less │ │ │ │ │ │ │ │ ├── input-form.tsx │ │ │ │ │ │ │ │ └── use-sync.ts │ │ │ │ │ │ │ └── schema-form/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── schema-form.module.less │ │ │ │ │ │ │ └── schema-form.tsx │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── utils.ts │ │ │ │ │ ├── log/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── data-viewer/ │ │ │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ │ │ ├── context/ │ │ │ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ │ │ │ ├── create-store.ts │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ │ │ │ ├── data-viewer.module.less │ │ │ │ │ │ │ │ ├── data-viewer.tsx │ │ │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── use-data-viewer-store.ts │ │ │ │ │ │ │ │ │ ├── use-expand.ts │ │ │ │ │ │ │ │ │ └── use-value.tsx │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ ├── json-field/ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ └── json-field.module.less │ │ │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ │ │ ├── big-number.ts │ │ │ │ │ │ │ │ ├── generate-field.ts │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── log-images/ │ │ │ │ │ │ │ │ ├── images-preview.module.less │ │ │ │ │ │ │ │ ├── images-preview.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ └── log-images.tsx │ │ │ │ │ │ │ ├── log-parser/ │ │ │ │ │ │ │ │ ├── condition-log-parser.module.less │ │ │ │ │ │ │ │ ├── condition-log-parser.tsx │ │ │ │ │ │ │ │ ├── function-call-log-parser/ │ │ │ │ │ │ │ │ │ ├── content-header.tsx │ │ │ │ │ │ │ │ │ ├── function-call-panel.module.less │ │ │ │ │ │ │ │ │ ├── function-call-panel.tsx │ │ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── log-wrap.module.less │ │ │ │ │ │ │ │ ├── log-wrap.tsx │ │ │ │ │ │ │ │ ├── normal-log-parser.tsx │ │ │ │ │ │ │ │ ├── output-log-parser/ │ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ │ ├── is-different-output.ts │ │ │ │ │ │ │ │ │ ├── output-log-parser.module.less │ │ │ │ │ │ │ │ │ ├── output-log-parser.tsx │ │ │ │ │ │ │ │ │ ├── sync-output-to-node/ │ │ │ │ │ │ │ │ │ │ ├── convert.ts │ │ │ │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ │ │ │ └── use-sync-output.ts │ │ │ │ │ │ │ │ │ └── use-output-log.ts │ │ │ │ │ │ │ │ └── workflow-link-parser.tsx │ │ │ │ │ │ │ ├── markdown-viewer/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── markdown-modal.module.less │ │ │ │ │ │ │ │ ├── markdown-modal.tsx │ │ │ │ │ │ │ │ ├── markdown-viewer.module.less │ │ │ │ │ │ │ │ ├── markdown-viewer.tsx │ │ │ │ │ │ │ │ └── use-markdown-modal.tsx │ │ │ │ │ │ │ └── node-status-bar/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── node-status-bar.module.less │ │ │ │ │ │ │ └── node-status-bar.tsx │ │ │ │ │ │ ├── constants/ │ │ │ │ │ │ │ ├── condition.ts │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-copy.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── types.ts │ │ │ │ │ │ └── utils/ │ │ │ │ │ │ ├── field.ts │ │ │ │ │ │ ├── generate-llm-output.ts │ │ │ │ │ │ ├── generate-log.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── markdown.ts │ │ │ │ │ │ └── parse-function-call.ts │ │ │ │ │ ├── problem/ │ │ │ │ │ │ ├── components/ │ │ │ │ │ │ │ ├── problem-group/ │ │ │ │ │ │ │ │ ├── base-group-wrap.module.less │ │ │ │ │ │ │ │ ├── base-group-wrap.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── my-problem-group.tsx │ │ │ │ │ │ │ │ ├── problem-group.module.less │ │ │ │ │ │ │ │ └── problem-group.tsx │ │ │ │ │ │ │ ├── problem-item/ │ │ │ │ │ │ │ │ ├── base-item.module.less │ │ │ │ │ │ │ │ ├── base-item.tsx │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── line-item.module.less │ │ │ │ │ │ │ │ ├── line-item.tsx │ │ │ │ │ │ │ │ └── node-item.tsx │ │ │ │ │ │ │ └── problem-panel/ │ │ │ │ │ │ │ ├── empty.module.less │ │ │ │ │ │ │ ├── empty.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── problem-panel.module.less │ │ │ │ │ │ │ └── problem-panel.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ └── use-problems.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── types.ts │ │ │ │ │ └── question/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── answer-input/ │ │ │ │ │ │ │ ├── answer-input.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── message-list/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── message-item.module.less │ │ │ │ │ │ │ ├── message-item.tsx │ │ │ │ │ │ │ ├── message-list.module.less │ │ │ │ │ │ │ ├── message-list.tsx │ │ │ │ │ │ │ ├── message-loading.module.less │ │ │ │ │ │ │ ├── message-loading.tsx │ │ │ │ │ │ │ ├── option-message.tsx │ │ │ │ │ │ │ ├── text-message.module.less │ │ │ │ │ │ │ └── text-message.tsx │ │ │ │ │ │ └── question-form/ │ │ │ │ │ │ ├── form.module.less │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-question-form.ts │ │ │ │ │ │ └── virtual-sync.tsx │ │ │ │ │ ├── constants.ts │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ ├── create-store.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── provider.tsx │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── use-question-form-store.ts │ │ │ │ │ │ └── use-send-message.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── types.ts │ │ │ │ ├── formily.ts │ │ │ │ ├── global.d.ts │ │ │ │ ├── hooks/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── use-document-content-change.ts │ │ │ │ │ ├── use-form-submitting.ts │ │ │ │ │ ├── use-test-run-reporter-service.ts │ │ │ │ │ └── use-test-run-service.ts │ │ │ │ ├── index.ts │ │ │ │ ├── plugins/ │ │ │ │ │ └── test-run-plugin/ │ │ │ │ │ ├── create-test-run-plugin.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── test-form-service.ts │ │ │ │ │ ├── test-run-reporter/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── test-run-reporter-service.ts │ │ │ │ │ └── test-run-service.ts │ │ │ │ ├── types/ │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── log.ts │ │ │ │ │ └── testset.ts │ │ │ │ └── utils/ │ │ │ │ ├── index.ts │ │ │ │ ├── safe-json-parse.ts │ │ │ │ ├── stringify-value.ts │ │ │ │ ├── testset/ │ │ │ │ │ ├── assign-testset-form-default-value.ts │ │ │ │ │ ├── get-form-item-custom-props.ts │ │ │ │ │ ├── get-form-item-placeholder.ts │ │ │ │ │ ├── get-test-data-by-testset.ts │ │ │ │ │ ├── get-testset-form-sub-field-name.ts │ │ │ │ │ ├── get-testset-form-sub-field-type.ts │ │ │ │ │ ├── get-testset-name-rules.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── is-testset-form-same-field-type.ts │ │ │ │ │ ├── trans-form-value.ts │ │ │ │ │ ├── traverse-testset-node-form-schemas.ts │ │ │ │ │ └── validate-schema.ts │ │ │ │ └── tracker.ts │ │ │ ├── tsconfig.build.json │ │ │ ├── tsconfig.json │ │ │ └── tsconfig.misc.json │ │ ├── test-run-next/ │ │ │ ├── form/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ └── base-form-materials/ │ │ │ │ │ │ ├── field-item.test.tsx │ │ │ │ │ │ └── group-collapse.test.tsx │ │ │ │ │ ├── setup.tsx │ │ │ │ │ └── utils/ │ │ │ │ │ ├── is-property-empty.test.ts │ │ │ │ │ └── stringify-form-values-from-backed.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── base-form-materials/ │ │ │ │ │ │ │ ├── field-item/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── item.module.less │ │ │ │ │ │ │ │ └── item.tsx │ │ │ │ │ │ │ ├── group-collapse/ │ │ │ │ │ │ │ │ ├── collapse.module.less │ │ │ │ │ │ │ │ ├── collapse.tsx │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── input-json/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── json.module.less │ │ │ │ │ │ │ │ └── json.tsx │ │ │ │ │ │ │ ├── input-number/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── input-number.module.less │ │ │ │ │ │ │ │ └── input-number.tsx │ │ │ │ │ │ │ ├── input-string/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── input.module.less │ │ │ │ │ │ │ │ └── input.tsx │ │ │ │ │ │ │ ├── input-time/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── time.module.less │ │ │ │ │ │ │ │ └── time.tsx │ │ │ │ │ │ │ ├── select-boolean/ │ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ │ ├── select.module.less │ │ │ │ │ │ │ │ └── select.tsx │ │ │ │ │ │ │ └── select-voice/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── form-materials/ │ │ │ │ │ │ │ ├── field-item/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── input-integer/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── input-json/ │ │ │ │ │ │ │ │ └── index.ts │ │ │ │ │ │ │ ├── input-number/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── input-string/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── input-time/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ ├── select-boolean/ │ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ │ └── select-voice/ │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── test-run-form/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── test-run-form.tsx │ │ │ │ │ ├── constants/ │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── context/ │ │ │ │ │ │ ├── form.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── form-engine/ │ │ │ │ │ │ ├── fields/ │ │ │ │ │ │ │ ├── create-schema-field.tsx │ │ │ │ │ │ │ ├── general-field.tsx │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── object-field.tsx │ │ │ │ │ │ │ ├── reactive-field.tsx │ │ │ │ │ │ │ ├── recursion-field.tsx │ │ │ │ │ │ │ └── schema-field.tsx │ │ │ │ │ │ ├── hooks/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── use-components.ts │ │ │ │ │ │ │ ├── use-create-form.ts │ │ │ │ │ │ │ ├── use-field-schema.ts │ │ │ │ │ │ │ ├── use-field-ui-state.ts │ │ │ │ │ │ │ ├── use-form-schema.ts │ │ │ │ │ │ │ └── use-form-ui-state.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── shared/ │ │ │ │ │ │ │ ├── components-context.ts │ │ │ │ │ │ │ ├── form-schema.ts │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ └── schema-context.ts │ │ │ │ │ │ └── types/ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── schema.ts │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── generate-field-component.ts │ │ │ │ │ ├── generate-field-validator.ts │ │ │ │ │ ├── generate-field.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── is-property-empty.ts │ │ │ │ │ └── stringify-form-values-from-backed.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ ├── main/ │ │ │ │ ├── README.md │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── global.d.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ └── tsconfig.json │ │ │ ├── shared/ │ │ │ │ ├── README.md │ │ │ │ ├── __tests__/ │ │ │ │ │ └── utils/ │ │ │ │ │ ├── safe-format-json-string.test.ts │ │ │ │ │ └── safe-json-parse.test.ts │ │ │ │ ├── config/ │ │ │ │ │ └── rush-project.json │ │ │ │ ├── eslint.config.js │ │ │ │ ├── package.json │ │ │ │ ├── src/ │ │ │ │ │ ├── components/ │ │ │ │ │ │ ├── bottom-panel/ │ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ │ ├── panel.module.less │ │ │ │ │ │ │ ├── panel.tsx │ │ │ │ │ │ │ └── use-resize.ts │ │ │ │ │ │ └── json-editor/ │ │ │ │ │ │ ├── base.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── json-editor.tsx │ │ │ │ │ ├── global.d.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── utils/ │ │ │ │ │ ├── debug-url.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── safe-format-json-string.ts │ │ │ │ │ └── safe-json-parse.ts │ │ │ │ ├── tsconfig.build.json │ │ │ │ ├── tsconfig.json │ │ │ │ ├── tsconfig.misc.json │ │ │ │ └── vitest.config.ts │ │ │ └── trace/ │ │ │ ├── README.md │ │ │ ├── config/ │ │ │ │ ├── rush-project.json │ │ │ │ └── rushx-config.json │ │ │ ├── eslint.config.js │ │ │ ├── package.json │ │ │ ├── src/ │ │ │ │ ├── components/ │ │ │ │ │ ├── focus-button/ │ │ │ │ │ │ ├── focus-button.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── status-tag/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── trace-detail-panel/ │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── pay-block.module.less │ │ │ │ │ │ ├── pay-block.tsx │ │ │ │ │ │ ├── trace-detail-panel.module.less │ │ │ │ │ │ └── trace-detail-panel.tsx │ │ │ │ │ ├── trace-graph/ │ │ │ │ │ │ ├── graph.module.less │ │ │ │ │ │ ├── graph.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── table.module.less │ │ │ │ │ │ ├── table.tsx │ │ │ │ │ │ ├── template.module.less │ │ │ │ │ │ ├── template.tsx │ │ │ │ │ │ └── use-trace.ts │ │ │ │ │ ├── trace-list-panel/ │ │ │ │ │ │ ├── header.module.less │ │ │ │ │ │ ├── header.tsx │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── list-panel.tsx │ │ │ │ │ └── trace-select/ │ │ │ │ │ ├── date-picker.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── select-option.module.less │ │ │ │ │ ├── select-option.tsx │ │ │ │ │ ├── status-select.tsx │ │ │ │ │ ├── trace-select.module.less │ │ │ │ │ ├── trace-select.tsx │ │ │ │ │ └── use-options.ts │ │ │ │ ├── constants.ts │ │ │ │ ├── contexts/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── trace-list/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── global.d.ts │ │ │ │ ├── index.ts │ │ │ │ ├── observation-components/ │ │ │ │ │ ├── common/ │ │ │ │ │ │ ├── flamethread/ │ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ │ └── typing.ts │ │ │ │ │ │ ├── message-title/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ ├── time-tag/ │ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ │ └── tree/ │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ ├── index.tsx │ │ │ │ │ │ ├── typing.ts │ │ │ │ │ │ └── util.ts │ │ │ │ │ ├── consts/ │ │ │ │ │ │ ├── basic.tsx │ │ │ │ │ │ ├── graph.tsx │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── custom-json-viewer/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── message-panel/ │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── scroll-bar.less │ │ │ │ │ ├── trace-flame-thread/ │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── trace-tree/ │ │ │ │ │ │ ├── context.ts │ │ │ │ │ │ ├── graph-render.tsx │ │ │ │ │ │ ├── index.module.less │ │ │ │ │ │ └── index.tsx │ │ │ │ │ ├── typings/ │ │ │ │ │ │ ├── basic.ts │ │ │ │ │ │ ├── graph.ts │ │ │ │ │ │ └── idl.ts │ │ │ │ │ ├── utils/ │ │ │ │ │ │ ├── basic.tsx │ │ │ │ │ │ ├── graph.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ └── time.ts │ │ │ │ │ └── variables.less │ │ │ │ ├── types.ts │ │ │ │ └── utils.ts │ │ │ ├── tsconfig.build.json │ │ │ └── tsconfig.json │ │ └── variable/ │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── create-container.ts │ │ │ ├── datas/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── workflow-node-variables-data.test.ts.snap │ │ │ │ └── workflow-node-variables-data.test.ts │ │ │ ├── default.mock.ts │ │ │ ├── form-extensions/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ └── variable-providers.test.ts.snap │ │ │ │ └── variable-providers.test.ts │ │ │ ├── node.mock.tsx │ │ │ ├── services/ │ │ │ │ ├── __snapshots__/ │ │ │ │ │ ├── variable-service.test.ts.snap │ │ │ │ │ └── variable-utils.test.ts.snap │ │ │ │ ├── variable-service.test.ts │ │ │ │ └── variable-utils.test.ts │ │ │ ├── setup.ts │ │ │ ├── variable.mock.ts │ │ │ └── workflow.mock.ts │ │ ├── config/ │ │ │ └── rush-project.json │ │ ├── eslint.config.js │ │ ├── package.json │ │ ├── src/ │ │ │ ├── components/ │ │ │ │ ├── index.tsx │ │ │ │ ├── private-scope-provider/ │ │ │ │ │ └── index.tsx │ │ │ │ ├── public-scope-provider/ │ │ │ │ │ └── index.tsx │ │ │ │ └── variable-debug-panel/ │ │ │ │ ├── content.tsx │ │ │ │ └── variable-debug-layer.tsx │ │ │ ├── constants.ts │ │ │ ├── core/ │ │ │ │ ├── extend-ast/ │ │ │ │ │ ├── custom-array-type.ts │ │ │ │ │ ├── custom-key-path-expression.ts │ │ │ │ │ ├── extend-base-type.ts │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── merge-group-expression.ts │ │ │ │ │ └── wrap-array-expression.ts │ │ │ │ ├── index.tsx │ │ │ │ ├── types.tsx │ │ │ │ ├── utils/ │ │ │ │ │ ├── create-ast.ts │ │ │ │ │ ├── expression.ts │ │ │ │ │ ├── name-path.ts │ │ │ │ │ ├── parse-ast.ts │ │ │ │ │ └── traverse-refs.ts │ │ │ │ ├── workflow-variable-facade-service.ts │ │ │ │ └── workflow-variable-facade.ts │ │ │ ├── create-workflow-variable-plugin.tsx │ │ │ ├── datas/ │ │ │ │ ├── index.ts │ │ │ │ ├── workflow-node-input-variables-data.ts │ │ │ │ ├── workflow-node-output-variables-data.ts │ │ │ │ └── workflow-node-ref-variables-data.ts │ │ │ ├── form-extensions/ │ │ │ │ ├── decorators/ │ │ │ │ │ └── private-scope-decorator.tsx │ │ │ │ ├── index.tsx │ │ │ │ ├── variable-consumers/ │ │ │ │ │ └── consume-ref-value-expression.ts │ │ │ │ └── variable-providers/ │ │ │ │ ├── common.tsx │ │ │ │ ├── provide-loop-input-variables.tsx │ │ │ │ ├── provide-loop-output-variables.tsx │ │ │ │ ├── provide-merge-group-variables.tsx │ │ │ │ ├── provide-node-batch-variables.tsx │ │ │ │ └── provide-node-output-variables.tsx │ │ │ ├── global.d.ts │ │ │ ├── hooks/ │ │ │ │ ├── index.tsx │ │ │ │ ├── use-auto-sync-rename-data.tsx │ │ │ │ ├── use-available-workflow-variables.tsx │ │ │ │ ├── use-get-workflow-variable-by-keypath.tsx │ │ │ │ ├── use-global-variable-service-state.tsx │ │ │ │ ├── use-variable-change.tsx │ │ │ │ ├── use-variable-dispose.tsx │ │ │ │ ├── use-variable-rename.tsx │ │ │ │ ├── use-variable-type-change.tsx │ │ │ │ ├── use-variable-type.tsx │ │ │ │ └── use-workflow-variable-by-keypath.tsx │ │ │ ├── index.ts │ │ │ ├── legacy/ │ │ │ │ ├── index.ts │ │ │ │ ├── variable-utils.ts │ │ │ │ ├── workflow-batch-service.ts │ │ │ │ ├── workflow-variable-service.ts │ │ │ │ └── workflow-variable-validation-service.ts │ │ │ ├── services/ │ │ │ │ ├── global-variable-service.ts │ │ │ │ └── index.tsx │ │ │ ├── typings.tsx │ │ │ └── utils/ │ │ │ ├── form.ts │ │ │ ├── generate-input-json-schema.ts │ │ │ ├── json.ts │ │ │ ├── path.ts │ │ │ ├── sub-canvas.tsx │ │ │ └── variable-provider.ts │ │ ├── tsconfig.build.json │ │ ├── tsconfig.json │ │ ├── tsconfig.misc.json │ │ └── vitest.config.ts │ ├── rushx-config.json │ ├── rushx-config.schema.json │ └── scripts/ │ ├── block-unresolved-conflict.sh │ ├── post-rush-install.sh │ ├── pre-push-hook.sh │ ├── retry.sh │ └── setup-env.sh ├── helm/ │ └── charts/ │ └── opencoze/ │ ├── .helmignore │ ├── Chart.yaml │ ├── files/ │ │ ├── conf/ │ │ │ ├── model/ │ │ │ │ └── model_meta.json │ │ │ └── model_template_ark.yaml │ │ ├── es/ │ │ │ ├── coze_resource.index-template.json │ │ │ └── project_draft.index-template.json │ │ └── mysql/ │ │ └── schema.sql │ ├── push_images_to_volcengine.sh │ ├── templates/ │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── coze-web-configmap.yaml │ │ ├── coze-web-deployment.yaml │ │ ├── coze-web-service.yaml │ │ ├── deployment.yaml │ │ ├── elasticsearch-init-configmap.yaml │ │ ├── elasticsearch-init-job.yaml │ │ ├── elasticsearch-init-script-configmap.yaml │ │ ├── elasticsearch-secret.yaml │ │ ├── elasticsearch-service.yaml │ │ ├── elasticsearch-statefulset.yaml │ │ ├── etcd-service.yaml │ │ ├── etcd-statefulset.yaml │ │ ├── milvus-service.yaml │ │ ├── milvus-statefulset.yaml │ │ ├── minio-service.yaml │ │ ├── minio-statefulset.yaml │ │ ├── model-configmap.yaml │ │ ├── mysql-init-configmap.yaml │ │ ├── mysql-init-job.yaml │ │ ├── mysql-secret.yaml │ │ ├── mysql-service.yaml │ │ ├── mysql-statefulset.yaml │ │ ├── oceanbase-secret.yaml │ │ ├── oceanbase-service.yaml │ │ ├── oceanbase-serviceaccount.yaml │ │ ├── oceanbase-statefulset.yaml │ │ ├── redis-service.yaml │ │ ├── redis-statefulset.yaml │ │ ├── rocketmq-broker-configmap.yaml │ │ ├── rocketmq-broker-service.yaml │ │ ├── rocketmq-broker-statefulset.yaml │ │ ├── rocketmq-namesrv-service.yaml │ │ ├── rocketmq-namesrv-statefulset.yaml │ │ ├── service.yaml │ │ └── validate-config.yaml │ └── values.yaml ├── idl/ │ ├── admin/ │ │ └── config.thrift │ ├── api.thrift │ ├── app/ │ │ ├── bot_common.thrift │ │ ├── bot_open_api.thrift │ │ ├── common_struct/ │ │ │ ├── common_struct.thrift │ │ │ ├── intelligence_common_struct.thrift │ │ │ └── task_struct.thrift │ │ ├── developer_api.thrift │ │ ├── intelligence.thrift │ │ ├── project.thrift │ │ ├── publish.thrift │ │ ├── search.thrift │ │ └── task.thrift │ ├── base.thrift │ ├── conversation/ │ │ ├── agentrun_service.thrift │ │ ├── common.thrift │ │ ├── conversation.thrift │ │ ├── conversation_service.thrift │ │ ├── message.thrift │ │ ├── message_service.thrift │ │ └── run.thrift │ ├── data/ │ │ ├── database/ │ │ │ ├── database_svc.thrift │ │ │ └── table.thrift │ │ ├── knowledge/ │ │ │ ├── common.thrift │ │ │ ├── document.thrift │ │ │ ├── knowledge.thrift │ │ │ ├── knowledge_svc.thrift │ │ │ ├── review.thrift │ │ │ └── slice.thrift │ │ └── variable/ │ │ ├── kvmemory.thrift │ │ ├── project_memory.thrift │ │ └── variable_svc.thrift │ ├── marketplace/ │ │ ├── marketplace_common.thrift │ │ ├── product_common.thrift │ │ └── public_api.thrift │ ├── passport/ │ │ └── passport.thrift │ ├── permission/ │ │ ├── openapiauth.thrift │ │ └── openapiauth_service.thrift │ ├── playground/ │ │ ├── playground.thrift │ │ ├── prompt_resource.thrift │ │ └── shortcut_command.thrift │ ├── plugin/ │ │ ├── plugin_develop.thrift │ │ └── plugin_develop_common.thrift │ ├── resource/ │ │ ├── resource.thrift │ │ └── resource_common.thrift │ ├── upload/ │ │ └── upload.thrift │ └── workflow/ │ ├── trace.thrift │ ├── workflow.thrift │ └── workflow_svc.thrift ├── rush.json └── scripts/ ├── build_fe.sh ├── hooks/ │ ├── add-license-header.sh │ ├── post-rush-install.sh │ └── setup-vscode-settings.sh ├── setup/ │ ├── change_user_password.sh │ ├── db_migrate_apply.sh │ ├── db_migrate_dump.sh │ ├── oceanbase_env.sh │ ├── python.sh │ └── server.sh ├── setup_fe.sh ├── start_fe.sh └── volcengine/ ├── .volcengine.example.env ├── elasticsearch.go ├── env.go ├── esc.go ├── go.mod ├── go.sum ├── main.go ├── mysql.go ├── network.go ├── redis.go ├── rocketmq.go └── zones.go