@tencent-rtc/mcp 1.6.7 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +53 -39
- package/knowledge/build-index.js +31 -4
- package/knowledge/chunker.js +82 -14
- package/knowledge/chunking-policy.js +100 -0
- package/knowledge/content-loader.js +3 -1
- package/knowledge/frontmatter-meta.js +167 -0
- package/knowledge/path-meta.js +28 -6
- package/knowledge/search/exact-lookup.js +9 -227
- package/knowledge/search/filter-pool.js +17 -26
- package/knowledge/search/framework-fallback.js +22 -0
- package/knowledge/search/intent-router.js +13 -0
- package/knowledge/search/query-normalizer.js +129 -0
- package/knowledge/search/search-core.js +391 -0
- package/knowledge/search/search-knowledge.js +351 -323
- package/knowledge/search/search-message.js +87 -0
- package/knowledge/search/search-pass.js +428 -0
- package/knowledge/search/search-types.js +1 -0
- package/knowledge/search/url-row-scorer.js +258 -0
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +1 -0
- package/resource/_schema/query-normalization.yaml +9 -0
- package/resource/index/manifest.json +1 -1
- package/resource/integration/callkit/preset/android/integration.md +3 -14
- package/resource/integration/callkit/preset/flutter/integration.md +1 -12
- package/resource/integration/callkit/preset/ios/integration.md +2 -12
- package/resource/integration/callkit/preset/react/integration.md +1 -14
- package/resource/integration/callkit/preset/vue/integration.md +1 -14
- package/resource/integration/chat/preset/android/integration.md +6 -13
- package/resource/integration/chat/preset/flutter/integration.md +1 -8
- package/resource/integration/chat/preset/ios/integration.md +4 -12
- package/resource/integration/chat/preset/react/integration.md +6 -16
- package/resource/integration/chat/preset/vue/integration.md +0 -9
- package/resource/integration/livekit/preset/live/android/live-audience-integration.md +2 -6
- package/resource/integration/livekit/preset/live/android/live-host-integration.md +1 -11
- package/resource/integration/livekit/preset/live/android/live-list-integration.md +2 -6
- package/resource/integration/livekit/preset/live/android/prepare-integration.md +2 -7
- package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +2 -7
- package/resource/integration/livekit/preset/live/ios/live-host-integration.md +1 -13
- package/resource/integration/livekit/preset/live/ios/live-list-integration.md +2 -10
- package/resource/integration/livekit/preset/live/ios/prepare-integration.md +3 -8
- package/resource/integration/livekit/preset/live/vue/live-list-integration.md +0 -4
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +1 -5
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +2 -7
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +2 -8
- package/resource/integration/roomkit/preset/vue/integration.md +0 -11
- package/resource/knowledge/callkit/best-practice/callkit-miniprogram/uniapp-shrink.md +60 -0
- package/resource/knowledge/callkit/best-practice/common/call-autoplay-blocked.md +77 -0
- package/resource/knowledge/callkit/best-practice/common/call-message-in-chat.md +78 -0
- package/resource/knowledge/callkit/best-practice/common/call-vs-calls.md +110 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-call-flow.md +123 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-log-level.md +67 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-engine-instance.md +81 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-roomid.md +78 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-limitations.md +37 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-user-register-and-kicked.md +98 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +0 -7
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +1 -9
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +2 -8
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +2 -8
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -16
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +0 -8
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +0 -11
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +178 -200
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +195 -217
- package/resource/knowledge/callkit/faq/android.md +4 -14
- package/resource/knowledge/callkit/faq/common.md +0 -2
- package/resource/knowledge/callkit/faq/error-code.md +2 -4
- package/resource/knowledge/callkit/faq/ios.md +1 -4
- package/resource/knowledge/callkit/preset/android/api.md +0 -6
- package/resource/knowledge/callkit/preset/ios/api.md +0 -4
- package/resource/knowledge/callkit/preset/react/api.md +3 -4
- package/resource/knowledge/callkit/preset/vue/api.md +3 -4
- package/resource/knowledge/chat/best-practice/common/avchatroom-message-loss-diagnosis.md +65 -0
- package/resource/knowledge/chat/best-practice/common/group-conversation-cleanup-on-system-notice.md +62 -0
- package/resource/knowledge/chat/best-practice/common/image-message-url-lifecycle.md +59 -0
- package/resource/knowledge/chat/best-practice/common/login-repeat-2025-diagnosis.md +61 -0
- package/resource/knowledge/chat/best-practice/common/message-read-report-and-receipt.md +64 -0
- package/resource/knowledge/chat/best-practice/common/message-receive-event.md +65 -0
- package/resource/knowledge/chat/best-practice/common/message-risk-error-and-render.md +65 -0
- package/resource/knowledge/chat/best-practice/common/message-unread-count.md +71 -0
- package/resource/knowledge/chat/best-practice/miniprogram/audio-message-send.md +113 -0
- package/resource/knowledge/chat/best-practice/miniprogram/login-timeout-2801-diagnosis.md +63 -0
- package/resource/knowledge/chat/best-practice/miniprogram/media-upload-fail-diagnosis.md +64 -0
- package/resource/knowledge/chat/best-practice/web/audio-message-send.md +118 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +0 -5
- package/resource/knowledge/chat/preset/android/features/contact-list.md +0 -7
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -6
- package/resource/knowledge/chat/preset/android/features/language.md +0 -8
- package/resource/knowledge/chat/preset/android/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/android/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/android/features/search.md +0 -7
- package/resource/knowledge/chat/preset/android/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/android-view/integration.md +0 -6
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +0 -4
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +0 -9
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -7
- package/resource/knowledge/chat/preset/flutter/features/language.md +0 -5
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/flutter/features/search.md +0 -5
- package/resource/knowledge/chat/preset/flutter/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -7
- package/resource/knowledge/chat/preset/ios/features/language.md +1 -8
- package/resource/knowledge/chat/preset/ios/features/message-input.md +0 -6
- package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -8
- package/resource/knowledge/chat/preset/ios/features/search.md +0 -5
- package/resource/knowledge/chat/preset/ios/features/theme.md +0 -4
- package/resource/knowledge/chat/preset/ios-uikit/integration.md +0 -6
- package/resource/knowledge/chat/preset/react/features/contact-list.md +0 -23
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +2 -11
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +4 -26
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +0 -6
- package/resource/knowledge/chat/preset/react/features/search.md +0 -1
- package/resource/knowledge/chat/preset/react/features/theme.md +0 -1
- package/resource/knowledge/chat/preset/vue/features/contact-list.md +3 -9
- package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +0 -3
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +2 -13
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +2 -3
- package/resource/knowledge/chat/preset/vue/features/conversation-search.md +1 -0
- package/resource/knowledge/chat/preset/vue/features/search.md +4 -3
- package/resource/knowledge/chat/urls/sdk/web.md +1 -1
- package/resource/knowledge/livekit/best-practice/android/voice-room-anchor-start.md +120 -0
- package/resource/knowledge/livekit/best-practice/common/admin-take-seat.md +73 -0
- package/resource/knowledge/livekit/best-practice/common/audience-leave-live.md +81 -0
- package/resource/knowledge/livekit/best-practice/common/voice-room-no-audio-troubleshoot.md +100 -0
- package/resource/knowledge/livekit/best-practice/common/voice-room-seat-list-change.md +65 -0
- package/resource/knowledge/livekit/best-practice/flutter/voice-room-anchor-start.md +122 -0
- package/resource/knowledge/livekit/best-practice/ios/voice-room-anchor-start.md +126 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/audio-effect.md +2 -3
- package/resource/knowledge/livekit/core-sdk/features/android/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/base-beauty.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/android/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +3 -4
- package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/audio-effect.md +2 -4
- package/resource/knowledge/livekit/core-sdk/features/flutter/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/base-beauty.md +0 -2
- package/resource/knowledge/livekit/core-sdk/features/flutter/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/audio-effect.md +2 -4
- package/resource/knowledge/livekit/core-sdk/features/ios/barrage.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/base-beauty.md +2 -2
- package/resource/knowledge/livekit/core-sdk/features/ios/gift.md +2 -7
- package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +3 -4
- package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +0 -4
- package/resource/knowledge/livekit/core-sdk/live/android/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +1 -3
- package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +0 -1
- package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +0 -3
- package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +0 -5
- package/resource/knowledge/livekit/core-sdk/voice/android/integration.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/flutter/integration.md +3 -6
- package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +0 -2
- package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +0 -4
- package/resource/knowledge/livekit/core-sdk/voice/ios/integration.md +1 -4
- package/resource/knowledge/livekit/faq/error-code.md +0 -1
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +3 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +3 -3
- package/resource/knowledge/push/api-reference/android.md +0 -1
- package/resource/knowledge/push/api-reference/harmonyos.md +0 -2
- package/resource/knowledge/push/api-reference/react-native.md +3 -5
- package/resource/knowledge/push/api-reference/uni-app.md +3 -5
- package/resource/knowledge/push/api-reference/unity.md +0 -1
- package/resource/knowledge/push/api-reference/unreal-engine.md +0 -1
- package/resource/knowledge/push/config/android.md +0 -24
- package/resource/knowledge/push/config/harmonyos.md +0 -1
- package/resource/knowledge/push/config/ios.md +0 -3
- package/resource/knowledge/push/config/react-native.md +0 -29
- package/resource/knowledge/push/config/unity.md +1 -24
- package/resource/knowledge/push/config/unreal-engine.md +1 -24
- package/resource/knowledge/push/integration/android.md +0 -14
- package/resource/knowledge/push/integration/flutter.md +0 -19
- package/resource/knowledge/push/integration/harmonyos.md +0 -2
- package/resource/knowledge/push/integration/ios.md +0 -3
- package/resource/knowledge/push/integration/react-native.md +0 -24
- package/resource/knowledge/push/integration/uni-app.md +1 -11
- package/resource/knowledge/push/integration/unity.md +0 -9
- package/resource/knowledge/push/integration/unreal-engine.md +1 -17
- package/resource/knowledge/roomkit/best-practice/common/room-ghost-member.md +70 -0
- package/resource/knowledge/roomkit/best-practice/common/room-limit-and-multi.md +83 -0
- package/resource/knowledge/roomkit/best-practice/common/room-screen-share-preview.md +83 -0
- package/resource/knowledge/roomkit/best-practice/common/room-status-after-all-leave.md +69 -0
- package/resource/knowledge/roomkit/best-practice/vue/room-uikit-vs-atomicx.md +111 -0
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +0 -4
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -6
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -9
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -11
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1 -5
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +1 -8
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +0 -5
- package/resource/knowledge/roomkit/preset/android/integration.md +0 -4
- package/resource/knowledge/roomkit/preset/flutter/integration.md +1 -13
- package/resource/knowledge/roomkit/preset/ios/integration.md +0 -6
- package/resource/knowledge/roomkit/preset/react/integration.md +0 -16
- package/resource/knowledge/rtcengine/web/api.md +1 -8
- package/resource/knowledge/rtcengine/web/faq.md +3 -5
- package/resource/knowledge/rtcengine/web/how_to_integrated_web_sdk.md +0 -6
- package/resource/knowledge/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/21-advanced-auto-play-policy.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/27-advanced-small-stream.md +1 -1
- package/resource/knowledge/rtcengine/web/plugin/30-advanced-cross-room-link.md +2 -0
- package/resource/knowledge/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -3
- package/resource/knowledge/rtcengine/web/plugin/34-advanced-proxy.md +2 -4
- package/resource/knowledge/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -4
- package/resource/knowledge/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -1
- package/resource/knowledge/trtc/android/TRTCCloud.md +8 -56
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +6 -7
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +1 -18
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +0 -14
- package/resource/knowledge/trtc/android/TXDeviceManager.md +0 -1
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +7 -59
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +0 -14
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +0 -4
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1 -19
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +6 -7
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/ios/TRTCCloud.md +9 -60
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +6 -7
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1 -19
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +0 -13
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +0 -4
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
- package/server.js +27 -22
- package/tools/common/finalize_answer.js +9 -1
- package/tools/common/search_trtc_knowledge.js +3 -1
- package/tools/definitions/finalize_answer_def.js +2 -2
- package/tools/definitions/integration-boundary.js +2 -1
- package/tools/definitions/search_trtc_knowledge_def.js +2 -1
- package/utils/report-cls-client.js +3 -3
- package/utils/report-es-client.js +1 -1
- package/cursor-setting.png +0 -0
- package/mcp-server-prompt.png +0 -0
- package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +0 -80
- package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +0 -24
- package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +0 -116
- package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +0 -445
- package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +0 -465
- package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +0 -16
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +0 -230
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +0 -797
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +0 -325
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +0 -325
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
const E7_EN_STOPWORDS = new Set([
|
|
2
|
+
'the', 'and', 'for', 'with', 'from', 'into', 'about', 'using', 'via',
|
|
3
|
+
'how', 'what', 'where', 'when', 'which', 'please', 'docs', 'documentation',
|
|
4
|
+
'tencent', 'im', 'rest', 'server', 'webhook', 'webhooks',
|
|
5
|
+
]);
|
|
6
|
+
/** Generic terms — excluded from API-token hits to avoid false positives */
|
|
7
|
+
const E7_GENERIC_TERMS = new Set([
|
|
8
|
+
'message', 'messages', 'group', 'groups', 'user', 'users', 'account', 'accounts',
|
|
9
|
+
'send', 'get', 'set', 'delete', 'create', 'update', 'query', 'before', 'after',
|
|
10
|
+
'webhook', 'friend', 'single', 'multiple', 'history', 'chat', 'sdk', 'api',
|
|
11
|
+
'profile', 'conversation', 'import', 'recall', 'modify', 'pull', 'mark', 'data',
|
|
12
|
+
'list', 'online', 'status', 'custom', 'attributes', 'counter', 'member', 'members',
|
|
13
|
+
'management', 'overview', 'integration', 'initialization', 'billing', 'topic',
|
|
14
|
+
'topics', 'community', 'robot', 'chatbot', 'streaming', 'broadcast', 'official',
|
|
15
|
+
'extension', 'receipt', 'receipts', 'global', 'mute', 'ban', 'unban', 'forbid',
|
|
16
|
+
'ordinary', 'specified', 'historical', 'unread', 'read', 'configure', 'configuration', 'invalidate',
|
|
17
|
+
'invalidating', 'disband', 'change', 'search', 'cloud', 'local', 'robot', 'bots',
|
|
18
|
+
]);
|
|
19
|
+
const E7_QUERY_NOISE = /\b(rest\s*ful?\s*api|rest\s*api|server\s*api|webhook|webhooks|how\s+to|how\s+do\s+i|what\s+is|where\s+is|please|documentation|docs?)\b/gi;
|
|
20
|
+
const E7_QUERY_NOISE_CN = /怎么|如何|什么|用哪个|查询|服务端/g;
|
|
21
|
+
const E7_PHRASES = [
|
|
22
|
+
'before send one-to-one message',
|
|
23
|
+
'after send one-to-one message',
|
|
24
|
+
'one-to-one message',
|
|
25
|
+
'group message',
|
|
26
|
+
'recall group message',
|
|
27
|
+
'recall one-to-one message',
|
|
28
|
+
'send one-to-one message',
|
|
29
|
+
'send single chat message',
|
|
30
|
+
'getmessagelist',
|
|
31
|
+
'message history',
|
|
32
|
+
'add friend',
|
|
33
|
+
'import single account',
|
|
34
|
+
'import a single account',
|
|
35
|
+
'multi-device login',
|
|
36
|
+
'multi device login',
|
|
37
|
+
'login policy',
|
|
38
|
+
'login strategy',
|
|
39
|
+
'message storage duration',
|
|
40
|
+
'roaming message storage',
|
|
41
|
+
];
|
|
42
|
+
function extractRestEndpoints(text) {
|
|
43
|
+
return [...text.matchAll(/v4\/[\w/]+/gi)].map((m) => m[0].toLowerCase());
|
|
44
|
+
}
|
|
45
|
+
function extractE7ApiTokens(text) {
|
|
46
|
+
const tokens = new Set();
|
|
47
|
+
for (const match of text.matchAll(/\b([a-z][a-z0-9_]{2,})\b/gi)) {
|
|
48
|
+
const token = match[1].toLowerCase();
|
|
49
|
+
if (!E7_GENERIC_TERMS.has(token) && !E7_EN_STOPWORDS.has(token))
|
|
50
|
+
tokens.add(token);
|
|
51
|
+
}
|
|
52
|
+
for (const match of text.matchAll(/\b([A-Z][A-Za-z0-9]*(?:\.[A-Za-z]\w*)?)\b/g)) {
|
|
53
|
+
const token = match[1].toLowerCase();
|
|
54
|
+
if (!E7_GENERIC_TERMS.has(token))
|
|
55
|
+
tokens.add(token);
|
|
56
|
+
}
|
|
57
|
+
for (const match of text.matchAll(/([a-z]+[A-Z][A-Za-z0-9]*)/g)) {
|
|
58
|
+
tokens.add(match[1].toLowerCase());
|
|
59
|
+
}
|
|
60
|
+
return [...tokens];
|
|
61
|
+
}
|
|
62
|
+
function normalizeE7Text(text) {
|
|
63
|
+
return text
|
|
64
|
+
.toLowerCase()
|
|
65
|
+
.replace(E7_QUERY_NOISE, ' ')
|
|
66
|
+
.replace(E7_QUERY_NOISE_CN, '')
|
|
67
|
+
.replace(/[^\w\u4e00-\u9fff/]+/g, ' ')
|
|
68
|
+
.replace(/\s+/g, ' ')
|
|
69
|
+
.trim();
|
|
70
|
+
}
|
|
71
|
+
function splitPromptIntoClauses(prompt) {
|
|
72
|
+
const raw = prompt
|
|
73
|
+
.replace(/rest\s*api|服务端|server\s*api|api|怎么|如何|什么|用哪个|查询/g, '')
|
|
74
|
+
.replace(/\s+/g, ' ')
|
|
75
|
+
.trim();
|
|
76
|
+
const parts = raw.split(/[、,,;;、\s]+/).filter((p) => p.length >= 2);
|
|
77
|
+
return parts.length > 0 ? parts : [raw];
|
|
78
|
+
}
|
|
79
|
+
function phraseBonus(query, title) {
|
|
80
|
+
const q = query.toLowerCase().replace(/\s+/g, ' ');
|
|
81
|
+
const t = title.toLowerCase();
|
|
82
|
+
let bonus = 0;
|
|
83
|
+
for (const phrase of E7_PHRASES) {
|
|
84
|
+
if (q.includes(phrase) && t.includes(phrase))
|
|
85
|
+
bonus += 180;
|
|
86
|
+
}
|
|
87
|
+
if (/send single chat message/.test(q) && /send one-to-one message/.test(t))
|
|
88
|
+
bonus += 200;
|
|
89
|
+
if (/recall group message/.test(q) && /recall group message/.test(t))
|
|
90
|
+
bonus += 200;
|
|
91
|
+
if (/before send one-to-one message/.test(q) && /before send one-to-one message/.test(t))
|
|
92
|
+
bonus += 220;
|
|
93
|
+
if (/\bbefore\b/.test(q) && t.startsWith('before '))
|
|
94
|
+
bonus += 120;
|
|
95
|
+
if (/\bafter\b/.test(q) && t.startsWith('after '))
|
|
96
|
+
bonus += 120;
|
|
97
|
+
if (/多端登录/.test(query) && /多端登录|multi[\s-]?device/i.test(title))
|
|
98
|
+
bonus += 220;
|
|
99
|
+
if (/登录策略|login\s*(policy|strategy)/i.test(query) && /登录策略|login\s*(policy|strategy)/i.test(title))
|
|
100
|
+
bonus += 200;
|
|
101
|
+
return bonus;
|
|
102
|
+
}
|
|
103
|
+
function scoreEnglishStyle(query, title) {
|
|
104
|
+
const queryEndpoints = extractRestEndpoints(query);
|
|
105
|
+
const titleEndpoints = extractRestEndpoints(title);
|
|
106
|
+
for (const qe of queryEndpoints) {
|
|
107
|
+
if (titleEndpoints.some((te) => te === qe || te.endsWith(qe) || qe.endsWith(te))) {
|
|
108
|
+
return 1000;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
let score = phraseBonus(query, title);
|
|
112
|
+
const titleLower = title.toLowerCase();
|
|
113
|
+
const queryApis = extractE7ApiTokens(query);
|
|
114
|
+
let apiHits = 0;
|
|
115
|
+
let longApiHit = false;
|
|
116
|
+
for (const api of queryApis) {
|
|
117
|
+
if (!titleLower.includes(api))
|
|
118
|
+
continue;
|
|
119
|
+
apiHits += 1;
|
|
120
|
+
if (api.length >= 8)
|
|
121
|
+
longApiHit = true;
|
|
122
|
+
}
|
|
123
|
+
if (longApiHit)
|
|
124
|
+
score = Math.max(score, 940);
|
|
125
|
+
else if (apiHits >= 2)
|
|
126
|
+
score = Math.max(score, 900);
|
|
127
|
+
else if (apiHits === 1)
|
|
128
|
+
score = Math.max(score, 860);
|
|
129
|
+
const qNorm = normalizeE7Text(query);
|
|
130
|
+
const tNorm = normalizeE7Text(title);
|
|
131
|
+
const qTokens = qNorm.split(' ').filter((t) => t.length >= 3 && !E7_GENERIC_TERMS.has(t));
|
|
132
|
+
const tTokens = tNorm.split(' ').filter((t) => t.length >= 3 && !E7_GENERIC_TERMS.has(t));
|
|
133
|
+
let overlap = 0;
|
|
134
|
+
for (const qt of qTokens) {
|
|
135
|
+
if (tTokens.some((tt) => tt.includes(qt) || qt.includes(tt)))
|
|
136
|
+
overlap += 1;
|
|
137
|
+
}
|
|
138
|
+
if (overlap >= 3)
|
|
139
|
+
score = Math.max(score, 720 + overlap * 15);
|
|
140
|
+
else if (overlap >= 2)
|
|
141
|
+
score = Math.max(score, 650);
|
|
142
|
+
else if (overlap >= 1)
|
|
143
|
+
score = Math.max(score, 520);
|
|
144
|
+
const qCompact = qNorm.replace(/\s+/g, '');
|
|
145
|
+
const tCompact = tNorm.replace(/\s+/g, '');
|
|
146
|
+
if (qCompact.length >= 5 && tCompact.includes(qCompact)) {
|
|
147
|
+
score = Math.max(score, 560 - Math.min(tCompact.length - qCompact.length, 80));
|
|
148
|
+
}
|
|
149
|
+
else if (tCompact.length >= 5 && qCompact.includes(tCompact)) {
|
|
150
|
+
score = Math.max(score, 500 + Math.min(tCompact.length, 30));
|
|
151
|
+
}
|
|
152
|
+
const qCjk = query.replace(/[^\u4e00-\u9fff]/g, '');
|
|
153
|
+
const tCjk = title.replace(/[^\u4e00-\u9fff]/g, '');
|
|
154
|
+
if (qCjk.length >= 2 && tCjk.includes(qCjk)) {
|
|
155
|
+
let cjkScore = 500;
|
|
156
|
+
if (/批量|群组|群流|广播|导入|公众号|已读|回执/.test(tCjk) && !/批量|群组|群|已读|回执/.test(qCjk)) {
|
|
157
|
+
cjkScore -= 250;
|
|
158
|
+
}
|
|
159
|
+
if (/^单发/.test(tCjk) && /发送|单聊/.test(qCjk))
|
|
160
|
+
cjkScore += 120;
|
|
161
|
+
score = Math.max(score, cjkScore);
|
|
162
|
+
}
|
|
163
|
+
if (score <= 0)
|
|
164
|
+
return 0;
|
|
165
|
+
const queryL = query.toLowerCase();
|
|
166
|
+
const titleL = title.toLowerCase();
|
|
167
|
+
if (/group/.test(queryL) && /one-to-one|c2c/.test(titleL) && !/group/.test(titleL))
|
|
168
|
+
score -= 400;
|
|
169
|
+
if (/one-to-one|c2c|single chat/.test(queryL) && /import.*account|add friend/.test(titleL))
|
|
170
|
+
score -= 400;
|
|
171
|
+
if (/send.*message|one-to-one message/.test(queryL) && /add friend|import.*account/.test(titleL))
|
|
172
|
+
score -= 400;
|
|
173
|
+
if (/getmessagelist|message history/.test(qCompact) && /integration|initialization/.test(titleL) && !/getmessagelist|history/.test(tCompact))
|
|
174
|
+
score -= 400;
|
|
175
|
+
if (/extension/.test(titleL) && !/extension/.test(queryL))
|
|
176
|
+
score -= 350;
|
|
177
|
+
if (/\bbefore\b/.test(queryL) && !/^before\b/.test(titleL.trim()))
|
|
178
|
+
score -= 250;
|
|
179
|
+
if (/\bafter\b/.test(queryL) && !/^after\b/.test(titleL.trim()))
|
|
180
|
+
score -= 250;
|
|
181
|
+
if (/batch|multiple/.test(titleL) && !/batch|multiple/.test(queryL))
|
|
182
|
+
score -= 200;
|
|
183
|
+
if (/group/.test(titleL) && !/group|channel/.test(queryL) && /one-to-one|c2c|single chat/.test(queryL))
|
|
184
|
+
score -= 200;
|
|
185
|
+
return Math.max(score, 0);
|
|
186
|
+
}
|
|
187
|
+
function scoreChineseClauseStyle(query, title) {
|
|
188
|
+
const clauses = splitPromptIntoClauses(query.toLowerCase());
|
|
189
|
+
const titleNorm = title.toLowerCase().replace(/\s+/g, '');
|
|
190
|
+
if (!titleNorm)
|
|
191
|
+
return 0;
|
|
192
|
+
let bestScore = 0;
|
|
193
|
+
const allParts = [...clauses, query.toLowerCase().replace(/\s+/g, '')];
|
|
194
|
+
const titleTokens = titleNorm.split(/[\/(((、,,\s]+/).filter(Boolean);
|
|
195
|
+
const seen = new Set();
|
|
196
|
+
for (const part of allParts) {
|
|
197
|
+
const pn = part.replace(/\s+/g, '');
|
|
198
|
+
if (pn.length < 2 || seen.has(pn))
|
|
199
|
+
continue;
|
|
200
|
+
seen.add(pn);
|
|
201
|
+
let s = 0;
|
|
202
|
+
if (pn === titleNorm) {
|
|
203
|
+
s = 1000;
|
|
204
|
+
}
|
|
205
|
+
else if (titleNorm.includes(pn)) {
|
|
206
|
+
const trailing = titleNorm.slice(titleNorm.indexOf(pn) + pn.length);
|
|
207
|
+
s = 800 - trailing.length * 80;
|
|
208
|
+
}
|
|
209
|
+
else if (pn.includes(titleNorm)) {
|
|
210
|
+
s = 700 + titleNorm.length;
|
|
211
|
+
}
|
|
212
|
+
else if (titleTokens.some((token) => pn.includes(token) || token.includes(pn))) {
|
|
213
|
+
s = 600;
|
|
214
|
+
}
|
|
215
|
+
if (s > bestScore)
|
|
216
|
+
bestScore = s;
|
|
217
|
+
}
|
|
218
|
+
if (bestScore <= 0 && clauses.length > 0) {
|
|
219
|
+
const qn = clauses[0].replace(/发送/g, '发');
|
|
220
|
+
if (qn.length >= 3 && titleNorm.includes(qn)) {
|
|
221
|
+
bestScore = 500;
|
|
222
|
+
if (/批量|群组|群流|广播|导入|公众号|已读|回执/.test(titleNorm)
|
|
223
|
+
&& !/批量|群组|群|已读|回执/.test(clauses[0])) {
|
|
224
|
+
bestScore -= 250;
|
|
225
|
+
}
|
|
226
|
+
if (/^单发/.test(titleNorm) && /发送|单聊/.test(clauses[0])) {
|
|
227
|
+
bestScore += 120;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
return Math.max(bestScore, 0);
|
|
232
|
+
}
|
|
233
|
+
export function normalizeUrlRowQuery(query) {
|
|
234
|
+
return normalizeE7Text(query);
|
|
235
|
+
}
|
|
236
|
+
export function scoreUrlRow(query, title) {
|
|
237
|
+
const enScore = scoreEnglishStyle(query, title);
|
|
238
|
+
const zhScore = scoreChineseClauseStyle(query, title);
|
|
239
|
+
if (enScore <= 0 && zhScore <= 0) {
|
|
240
|
+
return {
|
|
241
|
+
score: 0,
|
|
242
|
+
matchedBy: 'none',
|
|
243
|
+
debug: { enScore, zhScore },
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
if (zhScore > enScore) {
|
|
247
|
+
return {
|
|
248
|
+
score: zhScore,
|
|
249
|
+
matchedBy: 'zh',
|
|
250
|
+
debug: { enScore, zhScore },
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
return {
|
|
254
|
+
score: enScore,
|
|
255
|
+
matchedBy: 'en',
|
|
256
|
+
debug: { enScore, zhScore },
|
|
257
|
+
};
|
|
258
|
+
}
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
literal:
|
|
2
|
+
摄影头: ["摄像头"]
|
|
3
|
+
会议: ["roomkit", "conference"]
|
|
4
|
+
会议室: ["roomkit", "conference"]
|
|
5
|
+
word:
|
|
6
|
+
conference: ["meeting", "roomkit", "conference"]
|
|
7
|
+
meeting: ["meeting", "roomkit", "conference"]
|
|
8
|
+
room: ["meeting", "roomkit", "conference"]
|
|
9
|
+
roomkit: ["meeting", "roomkit", "conference"]
|