feat(miniapp): scaffold WeChat mini program MVP
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
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
|
||||
};
|
||||
Reference in New Issue
Block a user