From 2b2e120f1256dd7c823ebb995e11e7913f374867 Mon Sep 17 00:00:00 2001 From: iamdoubz <> Date: Sat, 11 Jul 2026 22:39:38 -0500 Subject: [PATCH] feat(export): MeetingBundle manifest for portable meeting export/import --- src-tauri/src/models.rs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/src-tauri/src/models.rs b/src-tauri/src/models.rs index 656230d..e4be205 100644 --- a/src-tauri/src/models.rs +++ b/src-tauri/src/models.rs @@ -193,6 +193,29 @@ pub struct ActionItem { pub reminder_set: bool, } +/// Portable meeting export manifest — the `meeting.json` inside an export +/// bundle folder (FR-STORE-4). Carries everything needed to reconstruct a +/// meeting on another machine alongside the bundle's files (`audio.wav`, +/// `transcript.json`, `notes.md`, `summary.json`). Deliberately excludes the +/// meeting id (a fresh one is minted on import to avoid collisions) and the +/// calendar-event link (event ids are machine-local). +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct MeetingBundle { + pub schema: u32, + pub title: String, + pub started_at: i64, + pub ended_at: Option, + pub duration_secs: Option, + pub language: Option, + pub backend_used: Option, + pub model_used: Option, + pub recorded: bool, + pub template_id: Option, + pub tags: Vec, + pub speakers: Vec, + pub action_items: Vec, +} + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct CalendarEvent { pub id: String,