@tencentcloud/sdk-mcp 1.6.3 → 1.6.5
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/index.js +0 -4
- package/knowledge/build-index.js +1 -1
- package/knowledge/chunker.js +81 -52
- package/knowledge/path-meta.js +181 -21
- package/knowledge/search/exact-lookup.js +166 -0
- package/knowledge/search/filter-pool.js +73 -19
- package/knowledge/search/product-scope-intent.js +2 -2
- package/knowledge/search/requires-framework.js +1 -1
- package/knowledge/search/search-knowledge.js +234 -57
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +1 -0
- package/resource/integration/callkit/preset/android/integration.md +3 -5
- package/resource/integration/callkit/preset/flutter/integration.md +2 -3
- package/resource/integration/callkit/preset/ios/integration.md +2 -5
- package/resource/integration/callkit/preset/react/integration.md +12 -26
- package/resource/integration/callkit/preset/vue/integration.md +17 -33
- package/resource/integration/chat/preset/android/integration.md +44 -14
- package/resource/integration/chat/preset/flutter/integration.md +54 -13
- package/resource/integration/chat/preset/ios/integration.md +42 -6
- package/resource/integration/chat/preset/react/integration.md +30 -28
- package/resource/integration/chat/preset/uni-app/integration.md +101 -40
- package/resource/integration/chat/preset/vue/integration.md +62 -28
- package/resource/integration/livekit/preset/live/android/live-audience-integration.md +133 -0
- package/resource/integration/livekit/preset/live/android/live-host-integration.md +225 -0
- package/resource/integration/livekit/preset/live/android/live-list-integration.md +278 -0
- package/resource/integration/livekit/preset/live/android/prepare-integration.md +271 -0
- package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +207 -0
- package/resource/integration/livekit/preset/live/ios/live-host-integration.md +358 -0
- package/resource/integration/livekit/preset/live/ios/live-list-integration.md +246 -0
- package/resource/integration/livekit/preset/live/ios/prepare-integration.md +218 -0
- package/resource/integration/livekit/preset/live/vue/live-list-integration.md +4 -7
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +5 -12
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +4 -11
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +250 -482
- package/resource/integration/roomkit/preset/vue/integration.md +399 -106
- package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +80 -0
- package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +20 -0
- package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +116 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +11 -15
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +10 -13
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +2 -4
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +10 -17
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +11 -17
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +11 -20
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +10 -15
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +9 -14
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +12 -18
- package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +390 -0
- package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +317 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +16 -22
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +17 -23
- package/resource/knowledge/callkit/core-sdk/web/call-engine.md +39 -0
- package/resource/knowledge/callkit/core-sdk/web/call-event.md +341 -0
- package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +39 -0
- package/resource/knowledge/callkit/faq/android.md +1 -5
- package/resource/knowledge/callkit/faq/common.md +10 -12
- package/resource/knowledge/callkit/faq/ios.md +5 -7
- package/resource/knowledge/callkit/faq/uniapp-app.md +7 -7
- package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +9 -12
- package/resource/knowledge/callkit/faq/web.md +2 -12
- package/resource/knowledge/callkit/preset/android/api.md +5 -8
- package/resource/knowledge/callkit/preset/ios/api.md +4 -6
- package/resource/knowledge/callkit/preset/miniprogram/api.md +295 -0
- package/resource/knowledge/callkit/preset/react/api.md +622 -0
- package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +475 -0
- package/resource/knowledge/callkit/preset/vue/api.md +622 -0
- package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +587 -0
- package/resource/knowledge/callkit/preset/web/api.md +1 -1
- package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +16 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -1
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -1
- package/resource/knowledge/chat/preset/android/features/language.md +2 -4
- package/resource/knowledge/chat/preset/android/features/message-input.md +1 -1
- package/resource/knowledge/chat/preset/android/features/message-list.md +1 -2
- package/resource/knowledge/chat/preset/android/features/search.md +0 -1
- package/resource/knowledge/chat/preset/android/features/theme.md +1 -1
- package/resource/knowledge/chat/preset/android-view/integration.md +35 -10
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -1
- package/resource/knowledge/chat/preset/flutter/features/language.md +1 -1
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -1
- package/resource/knowledge/chat/preset/flutter/features/search.md +4 -5
- package/resource/knowledge/chat/preset/flutter/features/theme.md +1 -1
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -1
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -1
- package/resource/knowledge/chat/preset/ios/features/language.md +2 -5
- package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -1
- package/resource/knowledge/chat/preset/ios/features/search.md +0 -1
- package/resource/knowledge/chat/preset/ios/features/theme.md +1 -1
- package/resource/knowledge/chat/preset/ios-uikit/integration.md +57 -166
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +0 -1
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +3 -3
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +3 -3
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +1 -1
- package/resource/knowledge/chat/preset/react/features/message-input.md +2 -3
- package/resource/knowledge/chat/preset/react/features/search.md +0 -1
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +1 -1
- package/resource/knowledge/chat/preset/vue/features/chat-setting.md +3 -4
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +4 -4
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +1 -1
- package/resource/knowledge/chat/preset/vue/features/message-input.md +2 -2
- package/resource/knowledge/chat/preset/vue/features/message-list.md +2 -2
- package/resource/knowledge/chat/preset/vue/features/search.md +0 -1
- package/resource/knowledge/chat/preset/vue/features/theme.md +4 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +2 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +12 -15
- 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 +2 -4
- 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 +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +1 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +3 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +12 -15
- 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 +2 -4
- 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 +2 -4
- 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 +2 -5
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +3 -6
- 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 +2 -4
- 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 +2 -4
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +1 -3
- package/resource/knowledge/livekit/core-sdk/api-reference/vue/capability-matrix.md +82 -0
- package/resource/knowledge/livekit/core-sdk/{voice/android/voice-audio-effect.md → features/android/audio-effect.md} +2 -4
- package/resource/knowledge/livekit/core-sdk/{live/android/live-barrage.md → features/android/barrage.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/{live/android/live-base-beauty.md → features/android/base-beauty.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/{voice/android/voice-gift.md → features/android/gift.md} +2 -3
- package/resource/knowledge/livekit/core-sdk/{live/android/live-live-list.md → features/android/live-list.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audio-effect.md → features/flutter/audio-effect.md} +0 -2
- package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-barrage.md → features/flutter/barrage.md} +3 -3
- package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-gift.md → features/flutter/gift.md} +2 -2
- package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-room-list.md → features/flutter/live-list.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audience-list.md → features/ios/audience-list.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audio-effect.md → features/ios/audio-effect.md} +1 -3
- package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-barrage.md → features/ios/barrage.md} +2 -2
- package/resource/knowledge/livekit/core-sdk/{live/ios/live-base-beauty.md → features/ios/base-beauty.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/{live/ios/live-gift.md → features/ios/gift.md} +8 -9
- package/resource/knowledge/livekit/core-sdk/{live/ios/live-live-list.md → features/ios/live-list.md} +2 -2
- package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audio-effect.md → features/uni-app/audio-effect.md} +2 -3
- package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-barrage.md → features/uni-app/barrage.md} +2 -2
- package/resource/knowledge/livekit/core-sdk/features/uni-app/base-beauty.md +145 -0
- package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-gift.md → features/uni-app/gift.md} +6 -7
- package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-room-list.md → features/uni-app/live-list.md} +1 -1
- package/resource/knowledge/livekit/core-sdk/live/android/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
- package/resource/knowledge/livekit/core-sdk/live/android/{live-host-interaction.md → host-interaction.md} +2 -4
- package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md} +6 -9
- package/resource/knowledge/livekit/core-sdk/live/flutter/{live-host-interaction.md → host-interaction.md} +1 -3
- package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md} +1 -6
- package/resource/knowledge/livekit/core-sdk/live/ios/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
- package/resource/knowledge/livekit/core-sdk/live/ios/{live-host-interaction.md → host-interaction.md} +3 -5
- package/resource/knowledge/livekit/core-sdk/live/ios/{live-integration.md → integration.md} +7 -10
- package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +561 -0
- package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +323 -0
- package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +312 -0
- package/resource/knowledge/livekit/core-sdk/voice/android/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
- package/resource/knowledge/livekit/core-sdk/voice/android/{voice-host-interaction.md → host-interaction.md} +2 -4
- package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md} +11 -14
- package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-co-guest-interaction.md → co-guest-interaction.md} +0 -1
- package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md} +1 -4
- package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
- package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-host-interaction.md → host-interaction.md} +2 -4
- package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-integration.md → integration.md} +7 -10
- package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-co-guest-interaction.md → co-guest-interaction.md} +6 -6
- package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-integration.md → integration.md} +6 -7
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +1 -1
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +1 -1
- package/resource/knowledge/push/api-reference/android.md +337 -0
- package/resource/knowledge/push/api-reference/donut.md +190 -0
- package/resource/knowledge/push/api-reference/flutter.md +176 -0
- package/resource/knowledge/push/api-reference/harmonyos.md +140 -0
- package/resource/knowledge/push/api-reference/ios.md +537 -0
- package/resource/knowledge/push/api-reference/react-native.md +154 -0
- package/resource/knowledge/push/api-reference/uni-app.md +148 -0
- package/resource/knowledge/push/api-reference/unity.md +119 -0
- package/resource/knowledge/push/api-reference/unreal-engine.md +123 -0
- package/resource/knowledge/push/config/android/fcm.md +1 -8
- package/resource/knowledge/push/config/android/honor.md +3 -7
- package/resource/knowledge/push/config/android/huawei.md +0 -5
- package/resource/knowledge/push/config/android/meizu.md +0 -5
- package/resource/knowledge/push/config/android/oppo.md +0 -4
- package/resource/knowledge/push/config/android/vivo.md +0 -4
- package/resource/knowledge/push/config/android/xiaomi.md +0 -2
- package/resource/knowledge/push/config/donut.md +33 -46
- package/resource/knowledge/push/config/harmonyos.md +6 -9
- package/resource/knowledge/push/config/ios.md +2 -9
- package/resource/knowledge/push/config/react-native.md +17 -25
- package/resource/knowledge/push/config/unity.md +16 -24
- package/resource/knowledge/push/config/unreal-engine.md +16 -24
- package/resource/knowledge/push/integration/android.md +21 -21
- package/resource/knowledge/push/integration/donut.md +24 -34
- package/resource/knowledge/push/integration/flutter.md +12 -1
- package/resource/knowledge/push/integration/harmonyos.md +2 -1
- package/resource/knowledge/push/integration/ios.md +16 -10
- package/resource/knowledge/push/integration/react-native.md +10 -14
- package/resource/knowledge/push/integration/uni-app.md +10 -6
- package/resource/knowledge/push/integration/unity.md +19 -22
- package/resource/knowledge/push/integration/unreal-engine.md +7 -9
- package/resource/knowledge/push/overview/prepare.md +2 -2
- package/resource/knowledge/roomkit/core-sdk/android/capability-matrix.md +46 -0
- package/resource/knowledge/roomkit/core-sdk/android/unsupported-features.md +82 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/capability-matrix.md +46 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/flutter/unsupported-features.md +82 -0
- package/resource/knowledge/roomkit/core-sdk/ios/capability-matrix.md +46 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/ios/unsupported-features.md +82 -0
- 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 -4
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +2 -5
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +0 -2
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +2 -6
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -1
- package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +1 -1
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +2 -4
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +2 -3
- package/resource/knowledge/roomkit/preset/android/integration.md +14 -16
- package/resource/knowledge/roomkit/preset/flutter/integration.md +9 -17
- package/resource/knowledge/roomkit/preset/ios/integration.md +9 -17
- package/resource/knowledge/roomkit/preset/react/integration.md +0 -4
- package/resource/knowledge/trtc/android/TRTCCloud.md +97 -180
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +20 -20
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +43 -77
- package/resource/knowledge/trtc/android/TRTCStatistics.md +1 -1
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +4 -24
- package/resource/knowledge/trtc/android/TXDeviceManager.md +2 -2
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +96 -189
- package/resource/knowledge/trtc/c++/ITRTCStatistics.md +1 -1
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +1 -21
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +4 -6
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +42 -76
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +18 -19
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/ios/TRTCCloud.md +95 -181
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +43 -78
- package/resource/knowledge/trtc/ios/TRTCStatistics.md +1 -1
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +1 -20
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +4 -6
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
- package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +20 -20
- package/server-config.js +7 -4
- package/server.js +2 -2
- package/tools/common/finalize_answer.js +1 -1
- package/tools/common/present_framework_choice.js +2 -2
- package/tools/common/search_trtc_knowledge.js +3 -3
- package/tools/common/submit_feedback.js +1 -1
- package/tools/definitions/get_native_live_uikit_integration_def.js +60 -0
- package/tools/definitions/get_native_livekit_core_integration_def.js +1 -1
- package/tools/definitions/present_framework_choice_def.js +2 -2
- package/tools/definitions/search_trtc_knowledge_def.js +5 -5
- package/tools/index.js +2 -0
- package/tools/live/get_native_live_uikit_integration.js +69 -0
- package/tools/live/get_native_livekit_core_integration.js +6 -6
- package/utils/is-valid-sdkappid.js +4 -0
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/index/component-slugs.json +0 -1
- package/resource/index/doc-source-urls.json +0 -1
- package/resource/index/manifest.json +0 -1
- package/resource/knowledge/livekit/core-sdk/live/android/live-audio-effect.md +0 -229
- package/resource/knowledge/livekit/core-sdk/live/android/live-gift.md +0 -459
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-barrage.md +0 -506
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-gift.md +0 -427
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-live-list.md +0 -726
- package/resource/knowledge/livekit/core-sdk/live/ios/live-audience-list.md +0 -265
- package/resource/knowledge/livekit/core-sdk/live/ios/live-audio-effect.md +0 -214
- package/resource/knowledge/livekit/core-sdk/live/ios/live-barrage.md +0 -427
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-audience-list.md +0 -272
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-barrage.md +0 -486
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +0 -523
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +0 -262
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +0 -600
- package/resource/knowledge/livekit/core-sdk/voice/ios/voice-gift.md +0 -411
- package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +0 -404
- /package/resource/knowledge/livekit/core-sdk/api-reference/{web → vue}/index.md +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/android/live-audience-list.md → features/android/audience-list.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audience-list.md → features/flutter/audience-list.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-base-beauty.md → features/flutter/base-beauty.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audience-list.md → features/uni-app/audience-list.md} +0 -0
- /package/resource/knowledge/livekit/core-sdk/live/flutter/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -0
|
@@ -94,6 +94,50 @@ function loadFeatureAliases() {
|
|
|
94
94
|
}
|
|
95
95
|
return result;
|
|
96
96
|
}
|
|
97
|
+
const ROOM_CORE_SIGNAL = /atomicx\s*core|atomicxcore|atomicx|core\s*sdk|无\s*ui|自定义\s*ui|自实现|roomstore|store|useRoomState|useDeviceState|useLoginState/i;
|
|
98
|
+
const ROOM_PRESET_SIGNAL = /预制|preset|roommainview|roommainwidget|默认\s*ui|主页面|房间主页面/i;
|
|
99
|
+
const ROOM_FEATURE_SPECS = [
|
|
100
|
+
{
|
|
101
|
+
fileName: 'room-chat.md',
|
|
102
|
+
titlePattern: /room\s*chat|in-room\s*im\s*chat|会中聊天|聊天能力|IM\s*聊天/i,
|
|
103
|
+
promptPattern: /room\s*chat|会中聊天|in[- ]room\s*(im\s*)?chat|im\s*聊天|messagelist|messageinput|messagestore|聊天面板|房间聊天/i,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
fileName: 'screen-share.md',
|
|
107
|
+
titlePattern: /screen\s*share|屏幕分享/i,
|
|
108
|
+
promptPattern: /screen\s*share|屏幕分享|共享屏幕|startScreenShare/i,
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
fileName: 'virtual-background.md',
|
|
112
|
+
titlePattern: /virtual\s*background|虚拟背景/i,
|
|
113
|
+
promptPattern: /virtual\s*background|虚拟背景|背景虚化|背景替换|initVirtualBackground/i,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
fileName: 'room-view.md',
|
|
117
|
+
titlePattern: /roomview|room\s*view|房间主视图|视频布局/i,
|
|
118
|
+
promptPattern: /roomview|room\s*view|房间主视图|视频布局|画面布局|layoutTemplate/i,
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
fileName: 'device-detection.md',
|
|
122
|
+
titlePattern: /device\s*detection|设备检测|设备预览/i,
|
|
123
|
+
promptPattern: /device\s*detection|设备检测|设备预览|startCameraTest|startMicrophoneTest|startSpeakerTest/i,
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
fileName: 'device-state.md',
|
|
127
|
+
titlePattern: /device\s*state|设备状态|设备管理/i,
|
|
128
|
+
promptPattern: /device\s*state|设备状态|设备管理|摄像头|麦克风|扬声器|switchMirror|setCurrentCamera|networkInfo/i,
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
fileName: 'free-beauty-panel.md',
|
|
132
|
+
titlePattern: /free\s*beauty|美颜面板|基础美颜/i,
|
|
133
|
+
promptPattern: /free\s*beauty|美颜面板|基础美颜|beauty/i,
|
|
134
|
+
},
|
|
135
|
+
];
|
|
136
|
+
function detectRoomFeatureHits(prompt) {
|
|
137
|
+
return ROOM_FEATURE_SPECS.filter((spec) => spec.promptPattern.test(prompt));
|
|
138
|
+
}
|
|
139
|
+
const LIVE_LIFECYCLE_PROMPT = /开播|创建直播|结束直播|停播|观看直播|退出直播|进房|离房|createLive|endLive|joinLive|leaveLive|host_streaming|audience_streaming/i;
|
|
140
|
+
const LIVE_LIFECYCLE_APIS = ['createLive', 'endLive', 'joinLive', 'leaveLive'];
|
|
97
141
|
export function runExactLookup(prompt, pool, norm) {
|
|
98
142
|
const boosts = {};
|
|
99
143
|
const exactHits = [];
|
|
@@ -103,6 +147,9 @@ export function runExactLookup(prompt, pool, norm) {
|
|
|
103
147
|
if (!exactHits.includes(label))
|
|
104
148
|
exactHits.push(label);
|
|
105
149
|
};
|
|
150
|
+
const addPenalty = (chunk, amount) => {
|
|
151
|
+
boosts[chunk.id] = (boosts[chunk.id] ?? 0) - Math.abs(amount);
|
|
152
|
+
};
|
|
106
153
|
// E1: error codes
|
|
107
154
|
const errorMatches = [
|
|
108
155
|
...prompt.matchAll(/\b(\d{5,7})\b/g),
|
|
@@ -326,5 +373,124 @@ export function runExactLookup(prompt, pool, norm) {
|
|
|
326
373
|
addBoost(chunk, 120, `E8:integration-doc:${chunk.source}`);
|
|
327
374
|
}
|
|
328
375
|
}
|
|
376
|
+
// E9: chat faq——types=faq 时优先 knowledge 语料,避免 integration 文档内 FAQ 章节抢首位
|
|
377
|
+
if (norm.searchIntent?.includes('faq') && norm.product?.includes('chat')) {
|
|
378
|
+
const authPrompt = /auth|login|signature|usersig|鉴权|登录/i.test(prompt);
|
|
379
|
+
for (const chunk of pool) {
|
|
380
|
+
if (chunk.source.startsWith('knowledge/chat/')) {
|
|
381
|
+
const urlBoost = authPrompt && chunk.source.includes('/urls/') ? 180 : 100;
|
|
382
|
+
addBoost(chunk, urlBoost, 'E9:chat-faq:knowledge');
|
|
383
|
+
}
|
|
384
|
+
if (chunk.source.startsWith('integration/chat/')) {
|
|
385
|
+
addBoost(chunk, -120, 'E9:chat-faq:penalize-integration');
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
// E11: LiveKit 生命周期意图强召回(开播/停播/观看/退出)
|
|
390
|
+
if (norm.product?.includes('live') && LIVE_LIFECYCLE_PROMPT.test(prompt)) {
|
|
391
|
+
const queryApiHits = LIVE_LIFECYCLE_APIS.filter((api) => new RegExp(api, 'i').test(prompt));
|
|
392
|
+
for (const chunk of pool) {
|
|
393
|
+
const isLiveCoreIntegration = chunk.source.startsWith('knowledge/livekit/core-sdk/live/')
|
|
394
|
+
&& chunk.source.endsWith('/integration.md');
|
|
395
|
+
const isVoiceCoreIntegration = chunk.source.startsWith('knowledge/livekit/core-sdk/voice/')
|
|
396
|
+
&& chunk.source.endsWith('/integration.md');
|
|
397
|
+
if (!isLiveCoreIntegration && !isVoiceCoreIntegration)
|
|
398
|
+
continue;
|
|
399
|
+
if (norm.scenario === 'live' && !isLiveCoreIntegration)
|
|
400
|
+
continue;
|
|
401
|
+
if (norm.scenario === 'voice' && !isVoiceCoreIntegration)
|
|
402
|
+
continue;
|
|
403
|
+
addBoost(chunk, 140, 'E11:live-lifecycle-core-integration');
|
|
404
|
+
for (const api of queryApiHits) {
|
|
405
|
+
if (chunk.api_names?.some((name) => name.toLowerCase() === api.toLowerCase())) {
|
|
406
|
+
addBoost(chunk, 160, `E11:live-lifecycle-api:${api}`);
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
// E10: roomkit Core/Preset 消歧 + unsupported feature 强召回
|
|
412
|
+
if (norm.product?.includes('room') && norm.frameworks?.length) {
|
|
413
|
+
const platform = norm.frameworks.find((fw) => ['android', 'ios', 'flutter', 'vue'].includes(fw));
|
|
414
|
+
const featureHits = detectRoomFeatureHits(prompt);
|
|
415
|
+
const coreIntent = ROOM_CORE_SIGNAL.test(prompt) || !ROOM_PRESET_SIGNAL.test(prompt);
|
|
416
|
+
const presetIntent = ROOM_PRESET_SIGNAL.test(prompt) && !ROOM_CORE_SIGNAL.test(prompt);
|
|
417
|
+
if (platform) {
|
|
418
|
+
const coreScope = `room:core-sdk:${platform}`;
|
|
419
|
+
const presetScope = `room:preset:${platform}`;
|
|
420
|
+
for (const chunk of pool) {
|
|
421
|
+
if (chunk.product !== 'room')
|
|
422
|
+
continue;
|
|
423
|
+
if (chunk.scope === coreScope) {
|
|
424
|
+
addBoost(chunk, 40, `E10:room-core-scope:${platform}`);
|
|
425
|
+
if (platform !== 'vue' && chunk.doc_kind === 'capability_matrix') {
|
|
426
|
+
addBoost(chunk, 120, `E10:room-matrix:${platform}`);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
if (coreIntent && chunk.scope === presetScope) {
|
|
430
|
+
addPenalty(chunk, 120);
|
|
431
|
+
}
|
|
432
|
+
if (presetIntent && chunk.scope === coreScope && chunk.capability_status === 'unsupported') {
|
|
433
|
+
addPenalty(chunk, 180);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
for (const feature of featureHits) {
|
|
437
|
+
for (const chunk of pool) {
|
|
438
|
+
if (chunk.product !== 'room')
|
|
439
|
+
continue;
|
|
440
|
+
if (platform === 'vue' && chunk.scope === coreScope && chunk.source.endsWith(feature.fileName)) {
|
|
441
|
+
addBoost(chunk, 220, `E10:room-vue-feature:${feature.fileName}`);
|
|
442
|
+
}
|
|
443
|
+
if (platform !== 'vue' && chunk.scope === coreScope) {
|
|
444
|
+
if (chunk.source.endsWith('unsupported-features.md') && feature.titlePattern.test(chunk.title)) {
|
|
445
|
+
addBoost(chunk, 280, `E10:room-unsupported:${platform}:${feature.fileName}`);
|
|
446
|
+
}
|
|
447
|
+
if (chunk.doc_kind === 'capability_matrix') {
|
|
448
|
+
addBoost(chunk, 120, `E10:room-matrix:${platform}:${feature.fileName}`);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
// E12: CallKit Vue 混合类型问题消歧(状态机 STATUS 与 Core Store 类型分层召回)
|
|
456
|
+
if (norm.product?.includes('call')) {
|
|
457
|
+
const isStatusIntent = /statuschanged|\bstatus\b|callmediatype|媒体类型|通话状态|状态回调/i.test(prompt);
|
|
458
|
+
const isStoreIntent = /callstatus|callrole|iuserinfo|storename\.?call|store|name\s*常量|枚举值|字段定义/i.test(prompt);
|
|
459
|
+
const isEngineInvitationIntent = /tuicallengine|on_call_received|call\s*invitation|incoming\s*call|accept\(|reject\(|inviteid|userData|邀请|来电|接听|拒接|信令/i.test(prompt);
|
|
460
|
+
const isCallkitDiffIntent = /\bcall\s*vs\s*calls\b|\bcalls?\b|groupcall|tuicallkitapi\.calls|tuicallkitserver\.call|tuicallkitserver\.groupcall|\bv4(\.x)?\b|useridlist|chatgroupid|发起(单人|多人)?通话|呼叫|拨打/i.test(prompt);
|
|
461
|
+
const isLogIntent = /setloglevel|log\s*level|disable\s*log|console\s*log|日志级别|关闭\s*log/i.test(prompt);
|
|
462
|
+
for (const chunk of pool) {
|
|
463
|
+
if (chunk.product !== 'call')
|
|
464
|
+
continue;
|
|
465
|
+
const source = chunk.source.toLowerCase();
|
|
466
|
+
if (isStatusIntent && source.includes('knowledge/callkit/preset/vue/uikit-api-reference.md')) {
|
|
467
|
+
addBoost(chunk, 180, 'E12:callkit-vue-status');
|
|
468
|
+
}
|
|
469
|
+
if (isStoreIntent && source.includes('knowledge/callkit/core-sdk/web/')) {
|
|
470
|
+
addBoost(chunk, 220, 'E12:callkit-core-store');
|
|
471
|
+
}
|
|
472
|
+
if (isStoreIntent && source.includes('knowledge/callkit/preset/vue/')) {
|
|
473
|
+
addPenalty(chunk, 80);
|
|
474
|
+
}
|
|
475
|
+
if (isEngineInvitationIntent && source.includes('knowledge/callkit/best-practice/web/callengine-invitation.md')) {
|
|
476
|
+
addBoost(chunk, 300, 'E13A:callengine-invitation');
|
|
477
|
+
}
|
|
478
|
+
if (isEngineInvitationIntent && source.includes('knowledge/callkit/best-practice/web/callkit-call-vs-calls.md')) {
|
|
479
|
+
addPenalty(chunk, 80);
|
|
480
|
+
}
|
|
481
|
+
if (isCallkitDiffIntent && source.includes('knowledge/callkit/best-practice/web/callkit-call-vs-calls.md')) {
|
|
482
|
+
addBoost(chunk, 300, 'E13B:callkit-call-vs-calls');
|
|
483
|
+
}
|
|
484
|
+
if (isCallkitDiffIntent && source.includes('knowledge/callkit/best-practice/web/callengine-invitation.md')) {
|
|
485
|
+
addPenalty(chunk, 80);
|
|
486
|
+
}
|
|
487
|
+
if (isCallkitDiffIntent && source.includes('knowledge/callkit/preset/vue/uikit-api-reference.md')) {
|
|
488
|
+
addPenalty(chunk, 40);
|
|
489
|
+
}
|
|
490
|
+
if (isLogIntent && source.includes('knowledge/callkit/best-practice/web/callengine-log-control.md')) {
|
|
491
|
+
addBoost(chunk, 260, 'E13:callengine-log-control');
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
329
495
|
return { boosts, exactHits };
|
|
330
496
|
}
|
|
@@ -3,15 +3,18 @@ import { downgradeToProductType } from './product-scope-intent.js';
|
|
|
3
3
|
* MCP framework enum → index 中对应的 framework 值列表。
|
|
4
4
|
* path-meta.ts 已通过 normalizeFrameworkDir 把目录名归一到标准 framework,
|
|
5
5
|
* 所有产品的 framework 均已对齐枚举值,无需额外别名扩展。
|
|
6
|
-
* web 匹配 react/vue/web(Chat/Call/Live Web 端覆盖)。
|
|
7
6
|
*/
|
|
8
7
|
const FRAMEWORK_SEARCH_ALIASES = {};
|
|
9
|
-
function expandFrameworks(
|
|
10
|
-
if (!
|
|
8
|
+
function expandFrameworks(frameworks, _products) {
|
|
9
|
+
if (!frameworks?.length)
|
|
11
10
|
return undefined;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const expanded = new Set();
|
|
12
|
+
for (const framework of frameworks) {
|
|
13
|
+
for (const alias of FRAMEWORK_SEARCH_ALIASES[framework] ?? [framework]) {
|
|
14
|
+
expanded.add(alias);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return [...expanded];
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
17
20
|
* 类型别名:UIKit「组件(component)」与「feature」是同一批文档的两种叫法
|
|
@@ -21,6 +24,7 @@ const TYPE_ALIASES = {
|
|
|
21
24
|
component: ['component', 'feature'],
|
|
22
25
|
feature: ['feature', 'component'],
|
|
23
26
|
};
|
|
27
|
+
const LIVE_LIFECYCLE_PROMPT = /开播|创建直播|结束直播|停播|观看直播|退出直播|进房|离房|createLive|endLive|joinLive|leaveLive|host_streaming|audience_streaming/i;
|
|
24
28
|
function expandTypeAliases(types) {
|
|
25
29
|
const expanded = new Set();
|
|
26
30
|
for (const t of types) {
|
|
@@ -29,29 +33,50 @@ function expandTypeAliases(types) {
|
|
|
29
33
|
}
|
|
30
34
|
return [...expanded];
|
|
31
35
|
}
|
|
32
|
-
/**
|
|
33
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Chat FAQ 现已迁移到 best-practice 语料,types=faq 时应保留 faq 过滤,避免退化到全语料噪声。
|
|
38
|
+
*/
|
|
39
|
+
function resolveTypes(products, types, prompt, frameworks) {
|
|
34
40
|
if (!types?.length)
|
|
35
41
|
return undefined;
|
|
36
|
-
|
|
37
|
-
|
|
42
|
+
const downgraded = downgradeToProductType(products, types, prompt, frameworks);
|
|
43
|
+
const expanded = expandTypeAliases(downgraded);
|
|
44
|
+
// Live 生命周期兼容:用户常传 types=['api'],但核心生命周期方法来自 core-sdk/live|voice/*/integration.md。
|
|
45
|
+
// 这里补充 core/integration,避免被类型硬过滤提前排除。
|
|
46
|
+
if (products?.includes('live') && expanded.includes('api') && LIVE_LIFECYCLE_PROMPT.test(prompt)) {
|
|
47
|
+
if (!expanded.includes('core'))
|
|
48
|
+
expanded.push('core');
|
|
49
|
+
if (!expanded.includes('integration'))
|
|
50
|
+
expanded.push('integration');
|
|
38
51
|
}
|
|
39
|
-
|
|
40
|
-
return expandTypeAliases(downgraded);
|
|
52
|
+
return expanded;
|
|
41
53
|
}
|
|
42
54
|
/** 单平台产品的隐式 framework 推断:避免对显然唯一的平台再发起询问 */
|
|
43
|
-
function inferImplicitFramework(products,
|
|
44
|
-
if (
|
|
45
|
-
return
|
|
55
|
+
function inferImplicitFramework(products, frameworks, prompt) {
|
|
56
|
+
if (frameworks?.length)
|
|
57
|
+
return frameworks[0];
|
|
46
58
|
if (products?.length === 1 && products[0] === 'rtcengine')
|
|
47
59
|
return 'web';
|
|
60
|
+
if (products?.includes('call')) {
|
|
61
|
+
if (/小程序|miniprogram/i.test(prompt))
|
|
62
|
+
return 'miniprogram';
|
|
63
|
+
if (/\breact\b/i.test(prompt))
|
|
64
|
+
return 'react';
|
|
65
|
+
if (/\bvue\b/i.test(prompt))
|
|
66
|
+
return 'vue';
|
|
67
|
+
if (/\b(web|h5|pc)\b|Web&H5/i.test(prompt))
|
|
68
|
+
return 'web';
|
|
69
|
+
}
|
|
48
70
|
return undefined;
|
|
49
71
|
}
|
|
50
72
|
export function normalizeParams(params) {
|
|
51
73
|
const limit = Math.min(Math.max(params.limit ?? 8, 1), 16);
|
|
52
|
-
const effectiveFramework = inferImplicitFramework(params.product, params.
|
|
53
|
-
const
|
|
54
|
-
|
|
74
|
+
const effectiveFramework = inferImplicitFramework(params.product, params.frameworks, params.prompt);
|
|
75
|
+
const requestedFrameworks = params.frameworks?.length
|
|
76
|
+
? params.frameworks
|
|
77
|
+
: effectiveFramework ? [effectiveFramework] : undefined;
|
|
78
|
+
const frameworks = expandFrameworks(requestedFrameworks, params.product);
|
|
79
|
+
const types = resolveTypes(params.product, params.types, params.prompt, requestedFrameworks);
|
|
55
80
|
return {
|
|
56
81
|
prompt: params.prompt,
|
|
57
82
|
product: params.product,
|
|
@@ -79,18 +104,47 @@ const CROSS_PLATFORM_CHUNK_TYPES = new Set([
|
|
|
79
104
|
function chunkIsCrossPlatform(chunkTypes) {
|
|
80
105
|
return chunkTypes.some((t) => CROSS_PLATFORM_CHUNK_TYPES.has(t));
|
|
81
106
|
}
|
|
107
|
+
function normalizeScopeToken(input) {
|
|
108
|
+
return input.toLowerCase().replace(/[\s_\-]+/g, '');
|
|
109
|
+
}
|
|
110
|
+
function promptMatchesRetrievableScope(prompt, scope) {
|
|
111
|
+
if (!scope)
|
|
112
|
+
return true;
|
|
113
|
+
if (scope === 'always')
|
|
114
|
+
return true;
|
|
115
|
+
if (!scope.length)
|
|
116
|
+
return true;
|
|
117
|
+
const normalizedPrompt = normalizeScopeToken(prompt);
|
|
118
|
+
return scope.some((token) => normalizedPrompt.includes(normalizeScopeToken(token)));
|
|
119
|
+
}
|
|
82
120
|
export function filterPool(chunks, norm) {
|
|
83
121
|
return chunks.filter((chunk) => {
|
|
84
122
|
if (norm.product && !norm.product.includes(chunk.product) && chunk.product !== '*') {
|
|
85
123
|
return false;
|
|
86
124
|
}
|
|
125
|
+
// A1: 通配语料(share 等)必须命中 retrievable_scope 才能进入检索池
|
|
126
|
+
if (chunk.product === '*' && !promptMatchesRetrievableScope(norm.prompt, chunk.retrievable_scope)) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
87
129
|
if (norm.frameworks?.length) {
|
|
88
130
|
const isWildcardChunk = chunk.framework.includes('*');
|
|
89
131
|
// 收紧:framework=['*'] 仅在该 chunk 明确是跨平台 type(product/server_api/webhook)时放行;
|
|
90
132
|
// 否则要求 chunk.framework 与请求 framework 有交集。
|
|
91
133
|
const wildcardAllowed = isWildcardChunk && chunkIsCrossPlatform(chunk.types);
|
|
92
134
|
const explicitMatch = norm.frameworks.some((fw) => chunk.framework.includes(fw));
|
|
93
|
-
|
|
135
|
+
// CallKit 特例:core-sdk 仍维持 web 单套(纯 JS),允许 react/vue 查询命中 core-sdk/web。
|
|
136
|
+
const callCoreWebFallback = Boolean(norm.product?.includes('call')
|
|
137
|
+
&& (norm.framework === 'react' || norm.framework === 'vue')
|
|
138
|
+
&& chunk.variant === 'core-sdk'
|
|
139
|
+
&& chunk.framework.includes('web'));
|
|
140
|
+
// Live 特例:写写侧把 'Web' 平台归到 livekit/core-sdk/api-reference/{vue,web} 目录(写写节点名是 'Web'),
|
|
141
|
+
// 本地目录重命名为 'vue' 后 framework 标签变为 'vue'。'web' 查询仍应能命中这些 chunk。
|
|
142
|
+
const liveWebVueFallback = Boolean(norm.product?.includes('live')
|
|
143
|
+
&& norm.framework === 'web'
|
|
144
|
+
&& chunk.variant === 'core-sdk'
|
|
145
|
+
&& chunk.framework.includes('vue')
|
|
146
|
+
&& chunk.source.includes('/api-reference/'));
|
|
147
|
+
if (!explicitMatch && !wildcardAllowed && !callCoreWebFallback && !liveWebVueFallback)
|
|
94
148
|
return false;
|
|
95
149
|
}
|
|
96
150
|
if (norm.scenario && chunk.scenario && chunk.scenario !== norm.scenario) {
|
|
@@ -24,8 +24,8 @@ export function isProductScopePrompt(prompt) {
|
|
|
24
24
|
* rewrite the type to `product` so filterPool can hit chat/urls/product.md.
|
|
25
25
|
* If a framework is present, the Agent genuinely wants a client feature — do not downgrade.
|
|
26
26
|
*/
|
|
27
|
-
export function downgradeToProductType(products, types, prompt,
|
|
28
|
-
if (
|
|
27
|
+
export function downgradeToProductType(products, types, prompt, frameworks) {
|
|
28
|
+
if (frameworks?.length)
|
|
29
29
|
return types;
|
|
30
30
|
if (!types.includes('feature'))
|
|
31
31
|
return types;
|
|
@@ -44,7 +44,7 @@ function isChatErrorCodeAmbiguous(norm) {
|
|
|
44
44
|
}
|
|
45
45
|
/** 未传 framework 时,是否应先 present_framework_choice 再检索 */
|
|
46
46
|
export function requiresFramework(norm) {
|
|
47
|
-
if (norm.
|
|
47
|
+
if (norm.frameworks?.length)
|
|
48
48
|
return false;
|
|
49
49
|
// 硬规则:chat 错误码场景必须问平台(服务端 / Web / Native 三个 URL)
|
|
50
50
|
if (isChatErrorCodeAmbiguous(norm))
|