42 lines
1016 B
JavaScript
42 lines
1016 B
JavaScript
function createUserMessage(text) {
|
|
return {
|
|
id: `mp_${Date.now()}_${Math.random().toString(16).slice(2)}`,
|
|
role: 'user',
|
|
created: Math.floor(Date.now() / 1000),
|
|
content: [{ type: 'text', text }],
|
|
metadata: {
|
|
source: 'wechat-miniapp',
|
|
userVisible: true,
|
|
agentVisible: true,
|
|
displayText: text
|
|
}
|
|
};
|
|
}
|
|
|
|
function messageText(message) {
|
|
if (!message) return '';
|
|
if (typeof message.text === 'string') return message.text;
|
|
if (Array.isArray(message.content)) {
|
|
return message.content
|
|
.filter((part) => part && part.type === 'text')
|
|
.map((part) => part.text || '')
|
|
.join('');
|
|
}
|
|
return '';
|
|
}
|
|
|
|
function normalizeMessages(messages = []) {
|
|
return messages.map((message) => ({
|
|
id: message.id || `${message.role}_${message.created || Date.now()}`,
|
|
role: message.role || 'assistant',
|
|
text: messageText(message),
|
|
created: message.created || 0
|
|
}));
|
|
}
|
|
|
|
module.exports = {
|
|
createUserMessage,
|
|
messageText,
|
|
normalizeMessages
|
|
};
|