gitextract_90ku06c9/ ├── .clabot ├── .github/ │ ├── FUNDING.yml │ ├── pull_request_template.md │ └── workflows/ │ ├── build-release.yml │ └── deploy-website.yml ├── .gitignore ├── CLA.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── announcements.json ├── app/ │ ├── build/ │ │ ├── entitlements.mac.plist │ │ ├── icon-dragonfly.icns │ │ └── icon.icns │ ├── electron-builder.ci.yml │ ├── main.js │ ├── package-lock.json │ ├── package.json │ ├── preload.js │ ├── renderer/ │ │ ├── .eslintrc.cjs │ │ ├── .prettierrc.json │ │ ├── components.json │ │ ├── index.html │ │ ├── postcss.config.cjs │ │ ├── src/ │ │ │ ├── App.tsx │ │ │ ├── components/ │ │ │ │ ├── AppShell.tsx │ │ │ │ ├── AskBar.tsx │ │ │ │ ├── AudioWave.tsx │ │ │ │ ├── BottomDockSlot.tsx │ │ │ │ ├── ChatHistoryRow.tsx │ │ │ │ ├── FolderScopePicker.tsx │ │ │ │ ├── IconPicker.tsx │ │ │ │ ├── LiveDock.tsx │ │ │ │ ├── MainToolbar.tsx │ │ │ │ ├── MeetingsShell.tsx │ │ │ │ ├── QuitDialog.tsx │ │ │ │ ├── Sidebar.tsx │ │ │ │ ├── TranscriptPanel.tsx │ │ │ │ ├── home/ │ │ │ │ │ ├── PreviousRow.tsx │ │ │ │ │ └── UpcomingCard.tsx │ │ │ │ └── ui/ │ │ │ │ ├── app-icon.tsx │ │ │ │ ├── button.tsx │ │ │ │ ├── card.tsx │ │ │ │ ├── chip.tsx │ │ │ │ ├── confirm-dialog.tsx │ │ │ │ ├── dialog.tsx │ │ │ │ ├── input.tsx │ │ │ │ ├── kbd.tsx │ │ │ │ ├── popover.tsx │ │ │ │ ├── row.tsx │ │ │ │ ├── select.tsx │ │ │ │ ├── switch.tsx │ │ │ │ ├── tabs.tsx │ │ │ │ ├── tooltip.tsx │ │ │ │ └── typography.tsx │ │ │ ├── globals.css │ │ │ ├── hooks/ │ │ │ │ ├── index.ts │ │ │ │ ├── liveDraftStore.ts │ │ │ │ ├── meetingKeys.ts │ │ │ │ ├── useAi.ts │ │ │ │ ├── useAiPrompts.ts │ │ │ │ ├── useAudioLevel.ts │ │ │ │ ├── useCalendarEvents.ts │ │ │ │ ├── useChatSessions.ts │ │ │ │ ├── useFolders.ts │ │ │ │ ├── useLiveMeeting.ts │ │ │ │ ├── useMeetings.ts │ │ │ │ ├── useModels.ts │ │ │ │ ├── useRecording.ts │ │ │ │ ├── useSettings.ts │ │ │ │ ├── useSetup.ts │ │ │ │ ├── useStreamingQuery.ts │ │ │ │ └── useTheme.ts │ │ │ ├── lib/ │ │ │ │ ├── askBarContext.tsx │ │ │ │ ├── chat.ts │ │ │ │ ├── chatPresets.tsx │ │ │ │ ├── debugLogs.ts │ │ │ │ ├── ipc.ts │ │ │ │ ├── markdown.tsx │ │ │ │ ├── meetingDetailState.ts │ │ │ │ ├── meetingsListContext.tsx │ │ │ │ ├── queryClient.ts │ │ │ │ ├── result.ts │ │ │ │ ├── router.ts │ │ │ │ └── utils.ts │ │ │ ├── main.tsx │ │ │ └── routes/ │ │ │ ├── Chat.tsx │ │ │ ├── ChatConversation.tsx │ │ │ ├── FolderDetail.tsx │ │ │ ├── Home.tsx │ │ │ ├── MeetingDetail.tsx │ │ │ ├── Processing.tsx │ │ │ ├── Recording.tsx │ │ │ ├── Sandbox.tsx │ │ │ ├── Settings.tsx │ │ │ └── Setup.tsx │ │ ├── tailwind.config.cjs │ │ └── tsconfig.json │ └── vite.config.ts ├── prompt_tests/ │ ├── PROMPT_TESTING.md │ └── test_prompts.py ├── requirements.txt ├── scripts/ │ ├── build-backend.sh │ ├── download-ollama.sh │ ├── test_dmg_fresh_install.sh │ └── test_first_time_setup.sh ├── setup.py ├── simple_recorder.py ├── src/ │ ├── __init__.py │ ├── audio_recorder.py │ ├── config.py │ ├── folders.py │ ├── models.py │ ├── ollama_manager.py │ ├── summarizer.py │ └── transcriber.py ├── tests/ │ ├── __init__.py │ ├── test_config.py │ └── test_transcriber.py └── website/ ├── .gitignore ├── README.md ├── eslint.config.js ├── index.html ├── package.json ├── postcss.config.js ├── public/ │ ├── CNAME │ ├── privacy.html │ └── terms.html ├── src/ │ ├── App.jsx │ ├── analytics.js │ ├── components/ │ │ ├── Brand.jsx │ │ └── ThemeToggle.jsx │ ├── index.css │ ├── main.jsx │ └── sections/ │ ├── CTAFooter.jsx │ ├── FAQ.jsx │ ├── Features.jsx │ ├── Footer.jsx │ ├── Hero.jsx │ ├── HowItWorks.jsx │ ├── Industries.jsx │ ├── Models.jsx │ ├── Nav.jsx │ └── TrustStrip.jsx ├── tailwind.config.js └── vite.config.js