feat(steward): 前端支持 off_topic 与引导话术
- assistantSessionScope.js:新增 ASSISTANT_SCOPE_ACTION_FILL_COMPOSER 常量 - assistantSuggestedActionPrefill.js:识别 fill_composer 与 payload.fill_text - stewardPlanModel.js:normalizeStewardPlan 透传 suggestedPrompts; buildStewardPlanMessageText / buildStewardSuggestedActions 新增 off_topic 分支,按钮填充输入框不提交 - useStewardPlanFlow.js:isPendingStewardActionMessage 排除 off_topic - steward-plan-off-topic.test.mjs:覆盖 normalize/文案/按钮/兼容路径
This commit is contained in:
@@ -2,6 +2,7 @@ import {
|
||||
buildStewardPlanMessageText,
|
||||
buildStewardPlanRequest,
|
||||
buildStewardSuggestedActions,
|
||||
isOffTopicStewardPlan,
|
||||
normalizeStewardPlan
|
||||
} from './stewardPlanModel.js'
|
||||
import { SESSION_TYPE_STEWARD } from './travelReimbursementConversationModel.js'
|
||||
@@ -384,7 +385,14 @@ export function useStewardPlanFlow({
|
||||
|
||||
function isPendingStewardActionMessage(message) {
|
||||
if (message?.stewardPlan) {
|
||||
return message.stewardPlan.streamStatus !== 'streaming'
|
||||
if (message.stewardPlan.streamStatus === 'streaming') {
|
||||
return false
|
||||
}
|
||||
// off_topic 是引导用户重新编辑输入,不参与"确定/确认"快捷回复链路。
|
||||
if (isOffTopicStewardPlan(message.stewardPlan)) {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
return (
|
||||
String(message?.assistantName || '').trim() === '小财管家'
|
||||
|
||||
Reference in New Issue
Block a user