feat: link user feedback and diagram saves to chat traces in Langfuse

- Update log-feedback API to find existing chat trace by sessionId and attach score to it
- Update log-save API to create span on existing chat trace instead of standalone trace
- Add thumbs up/down feedback buttons on assistant messages
- Add message regeneration and edit functionality
- Add save dialog with format selection (drawio, png, svg)
- Pass sessionId through components for Langfuse linking
This commit is contained in:
dayuan.jiang
2025-12-04 22:56:59 +09:00
parent 5f4d31e708
commit d8f2c85dab
11 changed files with 1484 additions and 97 deletions

View File

@@ -29,6 +29,7 @@ interface ChatInputProps {
onFileChange?: (files: File[]) => void;
showHistory?: boolean;
onToggleHistory?: (show: boolean) => void;
sessionId?: string;
}
export function ChatInput({
@@ -41,6 +42,7 @@ export function ChatInput({
onFileChange = () => {},
showHistory = false,
onToggleHistory = () => {},
sessionId,
}: ChatInputProps) {
const { diagramHistory, saveDiagramToFile } = useDiagram();
const textareaRef = useRef<HTMLTextAreaElement>(null);
@@ -249,7 +251,7 @@ export function ChatInput({
<SaveDialog
open={showSaveDialog}
onOpenChange={setShowSaveDialog}
onSave={saveDiagramToFile}
onSave={(filename, format) => saveDiagramToFile(filename, format, sessionId)}
defaultFilename={`diagram-${new Date().toISOString().slice(0, 10)}`}
/>