Browse Source

feat(agent): Adds prologue functionality (#9336)

### What problem does this PR solve?

feat(agent): Adds prologue functionality #3221

- Add a prologue field to the IInputs type
- Initialize the prologue state in the chat container
- Use useEffect to monitor prologue changes and add prologue responses
### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
tags/v0.20.1
chanx 2 months ago
parent
commit
4f2e9ef248
No account linked to committer's email address

+ 1
- 0
web/src/pages/agent/chat/use-send-agent-message.ts View File

resetSession, resetSession,
findReferenceByMessageId, findReferenceByMessageId,
appendUploadResponseList, appendUploadResponseList,
addNewestOneAnswer,
}; };
}; };

+ 1
- 0
web/src/pages/agent/interface.ts View File

avatar: string; avatar: string;
title: string; title: string;
inputs: Record<string, BeginQuery>; inputs: Record<string, BeginQuery>;
prologue: string;
}; };

+ 11
- 0
web/src/pages/next-chats/share/index.tsx View File

parameterDialogVisible, parameterDialogVisible,
showParameterDialog, showParameterDialog,
sendFormMessage, sendFormMessage,
addNewestOneAnswer,
ok, ok,
resetSession, resetSession,
} = useSendNextSharedMessage(addEventList); } = useSendNextSharedMessage(addEventList);
avatar: '', avatar: '',
title: '', title: '',
inputs: {}, inputs: {},
prologue: '',
}); });
const handleUploadFile: NonNullable<FileUploadProps['onUpload']> = const handleUploadFile: NonNullable<FileUploadProps['onUpload']> =
useCallback( useCallback(
avatar, avatar,
title, title,
inputs: inputs, inputs: inputs,
prologue: '',
}); });
}, [inputsData, setAgentInfo]); }, [inputsData, setAgentInfo]);


React.useEffect(() => {
if (inputsData.prologue) {
addNewestOneAnswer({
answer: inputsData.prologue,
});
}
}, [inputsData.prologue, addNewestOneAnswer]);

React.useEffect(() => { React.useEffect(() => {
if (inputsData && inputsData.inputs && !isEmpty(inputsData.inputs)) { if (inputsData && inputsData.inputs && !isEmpty(inputsData.inputs)) {
showParameterDialog(); showParameterDialog();

Loading…
Cancel
Save