feat(phase9): frontend types + persistence wiring for llmTags

TranscriptEntry gains llmTags: string[]; TranscriptRow gains the
storage-shape llmTags: string. ContentTags type added. mapTranscriptRow
hydrates llmTags from the comma-joined column. saveTranscriptMeta
forwards llmTags through to update_transcript_meta_cmd, mirroring the
existing manualTags handling.

buildFrontmatter unions auto + manual + llm tags so exported markdown
surfaces every source in one tags: list.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-25 00:12:20 +01:00
parent 489c066a70
commit 7eb52d97b1
3 changed files with 27 additions and 1 deletions

View File

@@ -180,6 +180,8 @@ export interface TranscriptDto {
template: string;
language: string;
segmentsJson: string;
/** Phase 9. Comma-joined LLM-generated tags ("topic:foo", "intent:..."). */
llmTags: string;
}
export interface TranscriptEntry {
@@ -200,6 +202,13 @@ export interface TranscriptEntry {
template: string;
language: string;
segments: Segment[];
/** Phase 9. AI-generated content tags ("topic:foo", "intent:..."). */
llmTags: string[];
}
export interface ContentTags {
topic: string;
intent: string;
}
export interface TranscriptWriteEntry extends Partial<TranscriptEntry> {
@@ -220,6 +229,9 @@ export interface TranscriptMetaPatch {
template?: string;
language?: string;
segments?: Segment[];
/** Phase 9. Pass an array to set, an empty array to clear, or omit
* the field to leave llm_tags unchanged. */
llmTags?: string[] | string;
}
/**