Files
AgentCompany/AgentCompany-New/src/main/services/chat-message-structure.ts
T

22 lines
718 B
TypeScript

import type { ResolvedMention } from "./chat-mentions";
export interface ChatMessageStructureInput {
slash: { command: string; args: string } | null;
mentions: ResolvedMention[];
attachmentFileIds: string[];
}
export function buildChatMessageStructure(input: ChatMessageStructureInput): string {
return JSON.stringify({
format: "markdown",
slashInvocation: input.slash ? { command: input.slash.command, args: input.slash.args } : null,
mentions: input.mentions.map((mention) => ({
targetType: mention.target.type,
targetId: mention.target.id,
offsetStart: mention.offsetStart,
offsetEnd: mention.offsetEnd,
})),
attachmentFileIds: input.attachmentFileIds,
});
}