This is an automated email from the ASF dual-hosted git repository.

linkinstar pushed a commit to branch meta
in repository https://gitbox.apache.org/repos/asf/answer.git

commit eba56dbf92bd97dce7ad232ac58dc0184b84bf3f
Merge: bcbae259 7dfb8b32
Author: LinkinStars <[email protected]>
AuthorDate: Wed Jan 28 16:46:39 2026 +0800

    Merge remote-tracking branch 'origin/main' into meta
    
    # Conflicts:
    #       i18n/pl_PL.yaml

 .env.example                                       |   36 +
 .github/workflows/lint.yml                         |   62 +
 .gitignore                                         |    3 +
 Makefile                                           |    3 +-
 README.md                                          |    2 +-
 cmd/main.go                                        |    6 +
 cmd/wire_gen.go                                    |   71 +-
 docs/docs.go                                       | 2528 +++++++++++++++-----
 docs/release/licenses/LICENSE-joho-godotenv.txt    |   22 +
 docs/swagger.json                                  | 2528 +++++++++++++++-----
 docs/swagger.yaml                                  | 1181 +++++++--
 go.mod                                             |   11 +-
 go.sum                                             |   24 +-
 i18n/cs_CZ.yaml                                    |   95 +-
 i18n/cy_GB.yaml                                    |   93 +-
 i18n/da_DK.yaml                                    |  783 +++---
 i18n/de_DE.yaml                                    |   93 +-
 i18n/en_US.yaml                                    |   93 +-
 i18n/es_ES.yaml                                    |   93 +-
 i18n/fa_IR.yaml                                    |   93 +-
 i18n/fr_FR.yaml                                    |   93 +-
 i18n/hi_IN.yaml                                    |   93 +-
 i18n/id_ID.yaml                                    |   97 +-
 i18n/it_IT.yaml                                    |   93 +-
 i18n/ja_JP.yaml                                    |  309 ++-
 i18n/ko_KR.yaml                                    |   93 +-
 i18n/ml_IN.yaml                                    |   93 +-
 i18n/pl_PL.yaml                                    |  636 ++---
 i18n/pt_PT.yaml                                    |   93 +-
 i18n/ro_RO.yaml                                    |   93 +-
 i18n/ru_RU.yaml                                    |  106 +-
 i18n/sk_SK.yaml                                    |   93 +-
 i18n/sv_SE.yaml                                    |  101 +-
 i18n/te_IN.yaml                                    |   93 +-
 i18n/tr_TR.yaml                                    |  127 +-
 i18n/uk_UA.yaml                                    |   93 +-
 i18n/vi_VN.yaml                                    |   93 +-
 i18n/zh_CN.yaml                                    |   95 +-
 i18n/zh_TW.yaml                                    |   93 +-
 internal/base/constant/ai_config.go                |   49 +
 internal/base/constant/site_info.go                |    3 +
 internal/base/constant/site_type.go                |   21 +-
 internal/base/middleware/auth.go                   |    4 +-
 .../middleware/{visit_img_auth.go => mcp_auth.go}  |   45 +-
 internal/base/middleware/visit_img_auth.go         |    4 +-
 internal/base/queue/queue.go                       |  130 +
 internal/base/queue/queue_test.go                  |  253 ++
 internal/base/reason/reason.go                     |    1 +
 internal/base/server/http.go                       |    8 +-
 internal/base/translator/provider.go               |    6 +-
 internal/controller/ai_controller.go               |  756 ++++++
 internal/controller/ai_conversation_controller.go  |  130 +
 internal/controller/answer_controller.go           |    2 +-
 internal/controller/controller.go                  |    3 +
 internal/controller/mcp_controller.go              |  351 +++
 internal/controller/revision_controller.go         |    2 +
 internal/controller/siteinfo_controller.go         |   29 +-
 internal/controller/template_controller.go         |    8 +-
 .../ai_conversation_admin_controller.go            |  123 +
 internal/controller_admin/controller.go            |    2 +
 internal/controller_admin/e_api_key_controller.go  |  116 +
 internal/controller_admin/siteinfo_controller.go   |  290 ++-
 .../entity/ai_conversation.go                      |   25 +-
 internal/entity/ai_conversation_record.go          |   40 +
 internal/entity/api_key_entity.go                  |   42 +
 internal/entity/user_entity.go                     |    2 +-
 internal/install/install_main.go                   |    8 +-
 internal/migrations/init.go                        |   87 +-
 internal/migrations/migrations.go                  |    3 +
 .../Admin/index.scss => internal/migrations/v29.go |   27 +-
 internal/migrations/v30.go                         |  396 +++
 internal/migrations/v31.go                         |  116 +
 internal/migrations/v5.go                          |    3 +-
 internal/repo/activity/answer_repo.go              |    6 +-
 internal/repo/activity/vote_repo.go                |    6 +-
 internal/repo/activity_common/vote.go              |    6 +
 .../repo/ai_conversation/ai_conversation_repo.go   |  205 ++
 internal/repo/api_key/api_key_repo.go              |   83 +
 internal/repo/provider.go                          |    4 +
 internal/repo/site_info/siteinfo_repo.go           |   10 +-
 .../user_external_login_repo.go                    |    2 +-
 internal/router/answer_api_router.go               |  186 +-
 .../schema/ai_config_schema.go                     |   35 +-
 internal/schema/ai_conversation_schema.go          |  123 +
 internal/schema/api_key_schema.go                  |   60 +
 internal/schema/mcp_schema.go                      |  194 ++
 internal/schema/mcp_tools/mcp_tools.go             |  105 +
 internal/schema/revision_schema.go                 |    2 +
 internal/schema/simple_obj_info_schema.go          |    3 +
 internal/schema/siteinfo_schema.go                 |  175 +-
 internal/service/activity_common/activity.go       |    6 +-
 internal/service/activity_queue/activity_queue.go  |   69 -
 .../service/activityqueue/activity_queue.go        |   21 +-
 .../ai_conversation/ai_conversation_service.go     |  372 +++
 internal/service/apikey/apikey_service.go          |  116 +
 internal/service/badge/badge_award_service.go      |    6 +-
 internal/service/badge/badge_event_handler.go      |    6 +-
 internal/service/comment/comment_service.go        |   22 +-
 internal/service/content/answer_service.go         |   27 +-
 internal/service/content/question_service.go       |   22 +-
 internal/service/content/revision_service.go       |   29 +-
 internal/service/content/user_service.go           |    6 +-
 internal/service/content/vote_service.go           |    6 +-
 internal/service/dashboard/dashboard_service.go    |   17 +-
 internal/service/event_queue/event_queue.go        |   69 -
 .../service/eventqueue/event_queue.go              |   21 +-
 .../feature_toggle/feature_toggle_service.go       |  130 +
 internal/service/meta/meta_service.go              |    6 +-
 internal/service/mock/siteinfo_repo_mock.go        |  150 +-
 .../notice_queue/external_notification_queue.go    |   69 -
 internal/service/notice_queue/notice_queue.go      |   69 -
 .../service/noticequeue/notice_queue.go            |   25 +-
 .../service/notification/external_notification.go  |    6 +-
 .../notification/new_question_notification.go      |   13 +
 .../service/notification_common/notification.go    |   13 +-
 internal/service/object_info/object_info.go        |   12 +-
 internal/service/provider.go                       |   20 +-
 internal/service/question_common/question.go       |    8 +-
 internal/service/report/report_service.go          |    6 +-
 internal/service/review/review_service.go          |   10 +-
 internal/service/siteinfo/siteinfo_service.go      |  331 ++-
 .../service/siteinfo_common/siteinfo_service.go    |   98 +-
 internal/service/tag/tag_service.go                |    6 +-
 internal/service/tag_common/tag_common.go          |   14 +-
 internal/service/uploader/upload.go                |   32 +-
 script/check-asf-header.sh                         |    2 +-
 ui/.gitignore                                      |    4 +-
 ui/package.json                                    |    1 +
 ui/pnpm-lock.yaml                                  |  384 ++-
 ui/src/common/constants.ts                         |   66 +-
 ui/src/common/interface.ts                         |  109 +-
 ui/src/components/AccordionNav/index.tsx           |   65 +-
 ui/src/components/AdminSideNav/index.tsx           |   13 +-
 ui/src/components/BubbleAi/index.tsx               |  259 ++
 .../index.tsx => components/BubbleUser/index.scss} |   13 +-
 .../{pages/403 => components/BubbleUser}/index.tsx |   19 +-
 ui/src/components/Customize/index.tsx              |   35 +
 ui/src/components/Editor/EditorContext.ts          |    4 +-
 ui/src/components/Editor/MarkdownEditor.tsx        |   98 +
 ui/src/components/Editor/ToolBars/blockquote.tsx   |   21 +-
 ui/src/components/Editor/ToolBars/bold.tsx         |   10 +-
 ui/src/components/Editor/ToolBars/chart.tsx        |  181 --
 ui/src/components/Editor/ToolBars/code.tsx         |   32 +-
 ui/src/components/Editor/ToolBars/file.tsx         |   15 +-
 ui/src/components/Editor/ToolBars/heading.tsx      |   24 +-
 ui/src/components/Editor/ToolBars/hr.tsx           |   11 +-
 ui/src/components/Editor/ToolBars/image.tsx        |  199 +-
 ui/src/components/Editor/ToolBars/indent.tsx       |   15 +-
 ui/src/components/Editor/ToolBars/index.ts         |    2 -
 ui/src/components/Editor/ToolBars/italic.tsx       |   11 +-
 ui/src/components/Editor/ToolBars/link.tsx         |   27 +-
 ui/src/components/Editor/ToolBars/ol.tsx           |   19 +-
 ui/src/components/Editor/ToolBars/outdent.tsx      |   16 +-
 ui/src/components/Editor/ToolBars/table.tsx        |   67 +-
 ui/src/components/Editor/ToolBars/ul.tsx           |   19 +-
 ui/src/components/Editor/hooks/useImageUpload.ts   |  129 +
 ui/src/components/Editor/index.scss                |   36 +
 ui/src/components/Editor/index.tsx                 |  165 +-
 ui/src/components/Editor/toolItem.tsx              |   42 +-
 ui/src/components/Editor/types.ts                  |   56 +-
 .../components/Editor/utils/codemirror/adapter.ts  |   59 +
 ui/src/components/Editor/utils/codemirror/base.ts  |  110 +
 .../components/Editor/utils/codemirror/commands.ts |  279 +++
 .../components/Editor/utils/codemirror/events.ts   |   98 +
 ui/src/components/Editor/utils/extension.ts        |  255 --
 ui/src/components/Editor/utils/index.ts            |   32 +-
 ui/src/components/Header/index.scss                |   21 +
 ui/src/components/Header/index.tsx                 |    8 +-
 ui/src/components/Modal/Modal.tsx                  |    6 +-
 ui/src/components/PluginRender/index.tsx           |  105 +-
 ui/src/components/SchemaForm/components/Input.tsx  |    6 +-
 ui/src/components/SchemaForm/components/Switch.tsx |    3 +-
 ui/src/components/SchemaForm/index.tsx             |    8 +-
 ui/src/components/SchemaForm/types.ts              |    2 +-
 .../{pages/Admin => components/Sender}/index.scss  |   30 +-
 ui/src/components/Sender/index.tsx                 |  172 ++
 ui/src/components/SideNav/index.tsx                |   14 +-
 .../ToolBars/indent.tsx => TabNav/index.tsx}       |   46 +-
 ui/src/components/index.ts                         |    8 +
 ui/src/pages/{ => 404}/403/index.tsx               |    0
 .../Admin/AiAssistant/components/Action/index.tsx  |   72 +
 .../AiAssistant/components/DetailModal/index.tsx   |   86 +
 ui/src/pages/Admin/AiAssistant/index.tsx           |  130 +
 ui/src/pages/Admin/AiSettings/index.tsx            |  486 ++++
 ui/src/pages/Admin/Answers/index.tsx               |    8 +-
 .../Admin/Apikeys/components/Action/index.tsx      |   77 +
 .../Apikeys/components/AddOrEditModal/index.tsx    |  184 ++
 .../Apikeys/components/CreatedModal/index.tsx      |   55 +
 .../Admin/Apikeys/components/index.ts}             |    8 +-
 ui/src/pages/Admin/Apikeys/index.tsx               |  138 ++
 ui/src/pages/Admin/Branding/index.tsx              |   16 +-
 ui/src/pages/Admin/CssAndHtml/index.tsx            |   16 +-
 .../Dashboard/components/HealthStatus/index.tsx    |    6 +-
 ui/src/pages/Admin/Files/index.tsx                 |  261 ++
 ui/src/pages/Admin/General/index.tsx               |   29 +-
 ui/src/pages/Admin/Interface/index.tsx             |   75 +-
 ui/src/pages/Admin/Login/index.tsx                 |   30 +-
 ui/src/pages/Admin/Mcp/index.tsx                   |  113 +
 ui/src/pages/Admin/Plugins/Config/index.tsx        |   18 +-
 ui/src/pages/Admin/{Legal => Policies}/index.tsx   |   63 +-
 ui/src/pages/Admin/Privileges/index.tsx            |   32 +-
 ui/src/pages/Admin/QaSettings/index.tsx            |  153 ++
 ui/src/pages/Admin/Questions/index.tsx             |    4 +-
 ui/src/pages/Admin/{Legal => Security}/index.tsx   |  126 +-
 ui/src/pages/Admin/Seo/index.tsx                   |   16 +-
 ui/src/pages/Admin/Smtp/index.tsx                  |   16 +-
 ui/src/pages/Admin/TagsSettings/index.tsx          |  189 ++
 ui/src/pages/Admin/Themes/index.tsx                |   28 +-
 ui/src/pages/Admin/Users/index.tsx                 |   14 +-
 .../Admin/{Interface => UsersSettings}/index.tsx   |  138 +-
 ui/src/pages/Admin/Write/index.tsx                 |  473 ----
 ui/src/pages/Admin/index.scss                      |    4 +
 ui/src/pages/Admin/index.tsx                       |   16 +-
 .../components/ConversationList/index.tsx          |   70 +
 ui/src/pages/AiAssistant/index.tsx                 |  380 +++
 ui/src/pages/Layout/index.tsx                      |   14 +-
 ui/src/pages/Questions/Ask/index.tsx               |   12 +-
 ui/src/pages/Questions/Detail/index.scss           |    9 +-
 ui/src/pages/Questions/EditAnswer/index.tsx        |    8 +-
 ui/src/pages/Search/components/AiCard/index.tsx    |  189 ++
 ui/src/pages/Search/components/index.ts            |    3 +-
 ui/src/pages/Search/index.tsx                      |    4 +
 .../SideNavLayoutWithoutFooter/index.tsx}          |   46 +-
 ui/src/pages/Tags/Create/index.tsx                 |    8 +-
 ui/src/pages/Tags/Edit/index.tsx                   |    8 +-
 ui/src/pages/Users/Settings/Profile/index.tsx      |   10 +-
 ui/src/router/routes.ts                            |   72 +-
 ui/src/services/admin/ai.ts                        |   87 +
 ui/src/services/admin/{question.ts => apikeys.ts}  |   27 +-
 ui/src/services/admin/index.ts                     |    4 +
 .../{pages/403/index.tsx => services/admin/mcp.ts} |   17 +-
 ui/src/services/admin/question.ts                  |   10 +
 ui/src/services/admin/settings.ts                  |   38 +-
 .../403/index.tsx => services/admin/tags.ts}       |   11 +-
 ui/src/services/admin/users.ts                     |   19 +
 .../services/{admin/question.ts => client/ai.ts}   |   32 +-
 ui/src/services/client/index.ts                    |    1 +
 ui/src/stores/{siteLegal.ts => aiControl.ts}       |   16 +-
 ui/src/stores/index.ts                             |    6 +-
 ui/src/stores/interface.ts                         |    4 +-
 ui/src/stores/loginSetting.ts                      |    1 -
 ui/src/stores/siteInfo.ts                          |    3 +-
 ui/src/stores/{siteLegal.ts => siteSecurity.ts}    |   16 +-
 ui/src/stores/themeSetting.ts                      |    2 +
 ui/src/stores/writeSetting.ts                      |   12 +-
 ui/src/utils/guard.ts                              |   17 +-
 ui/src/utils/pluginKit/index.ts                    |  143 +-
 ui/src/utils/pluginKit/interface.ts                |    2 +
 ui/src/utils/requestAi.ts                          |  319 +++
 249 files changed, 19607 insertions(+), 5054 deletions(-)

Reply via email to