UNPKG

@convex-dev/agent

Version:

A agent component for Convex.

67 lines 2.29 kB
export const DEFAULT_RECENT_MESSAGES = 100; export function isTool(message) { return (message.role === "tool" || (message.role === "assistant" && Array.isArray(message.content) && message.content.some((c) => c.type === "tool-call"))); } export function extractText(message) { switch (message.role) { case "user": if (typeof message.content === "string") { return message.content; } return message.content .filter((c) => c.type === "text") .map((c) => c.text) .join(""); case "assistant": if (typeof message.content === "string") { return message.content; } else { const textParts = message.content.filter((c) => c.type === "text"); if (!textParts.length) { return undefined; } return textParts.map((c) => c.text).join(""); } case "system": return message.content; // we don't extract text from tool messages } return undefined; } export function extractReasoning(message) { if (typeof message.content === "string") { return undefined; } return message.content .filter((c) => c.type === "reasoning") .map((c) => c.text) .join(""); } export const DEFAULT_MESSAGE_RANGE = { before: 2, after: 1 }; export function sorted(messages, order = "asc") { return [...messages].sort(order === "asc" ? (a, b) => a.order - b.order || a.stepOrder - b.stepOrder : (a, b) => b.order - a.order || b.stepOrder - a.stepOrder); } export function getModelName(embeddingModel) { if (typeof embeddingModel === "string") { if (embeddingModel.includes("/")) { return embeddingModel.split("/").slice(1).join("/"); } return embeddingModel; } return "modelId" in embeddingModel ? embeddingModel.modelId : embeddingModel.model; } export function getProviderName(embeddingModel) { if (typeof embeddingModel === "string") { return embeddingModel.split("/").at(0); } return embeddingModel.provider; } //# sourceMappingURL=shared.js.map