@assistant-ui/react
Version:
Typescript/React library for AI Chat
63 lines • 1.5 kB
JavaScript
// src/runtimes/edge/converters/fromCoreMessage.ts
import { generateId } from "../../../internal.mjs";
var fromCoreMessages = (message) => {
return message.map((message2) => fromCoreMessage(message2));
};
var fromCoreMessage = (message, {
id = generateId(),
status = { type: "complete", reason: "unknown" },
attachments = []
} = {}) => {
const commonProps = {
id,
createdAt: /* @__PURE__ */ new Date()
};
const role = message.role;
switch (role) {
case "assistant":
return {
...commonProps,
role,
content: message.content.map((part) => {
if (part.type === "tool-call") {
return {
...part,
argsText: JSON.stringify(part.args)
};
}
return part;
}),
status,
metadata: {
unstable_annotations: [],
unstable_data: [],
steps: [],
custom: {}
}
};
case "user":
return {
...commonProps,
role,
content: message.content,
attachments,
metadata: { custom: {} }
};
case "system":
return {
...commonProps,
role,
content: message.content,
metadata: { custom: {} }
};
default: {
const unsupportedRole = role;
throw new Error(`Unknown message role: ${unsupportedRole}`);
}
}
};
export {
fromCoreMessage,
fromCoreMessages
};
//# sourceMappingURL=fromCoreMessage.mjs.map