import { citationExtension, extractUiExtensionData, trajectoryExtension, type Message } from "agentstack-sdk";
const extractCitation = extractUiExtensionData(citationExtension);
const extractTrajectory = extractUiExtensionData(trajectoryExtension);
function processMessageMetadata(message: Message) {
const parts = [];
const trajectory = extractTrajectory(message.metadata);
const citations = extractCitation(message.metadata)?.citations;
if (trajectory) {
parts.push({ kind: "trajectory", ...trajectory });
}
if (citations) {
parts.push(
...citations.map((citation) => ({
kind: "source",
url: citation.url,
startIndex: citation.start_index ?? undefined,
endIndex: citation.end_index ?? undefined,
title: citation.title ?? undefined,
description: citation.description ?? undefined,
})),
);
}
return parts;
}