gitextract_vm4cqimc/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── documentation.md │ │ └── feature_request.md │ ├── issue_template.md │ ├── pull_request_template.md │ └── workflows/ │ ├── ACCELERATION_GUIDE.md │ ├── README_DEVTEST.md │ ├── WORKFLOWS_OVERVIEW.md │ ├── build-devtest.yml │ ├── build-linux.yml │ ├── build-macos.yml │ ├── build-test.yml │ ├── build-windows.yml │ ├── build.yml │ ├── pr-main-check.yml │ └── release.yml ├── .gitignore ├── .gitmodules ├── BLUETOOTH_PLAYBACK_NOTICE.md ├── CLAUDE.md ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE.md ├── PRIVACY_POLICY.md ├── README.md ├── backend/ │ ├── .gitignore │ ├── API_DOCUMENTATION.md │ ├── Dockerfile.app │ ├── Dockerfile.server-cpu │ ├── Dockerfile.server-gpu │ ├── Dockerfile.server-macos │ ├── README.md │ ├── SCRIPTS_DOCUMENTATION.md │ ├── app/ │ │ ├── db.py │ │ ├── main.py │ │ ├── schema_validator.py │ │ └── transcript_processor.py │ ├── build-docker.ps1 │ ├── build-docker.sh │ ├── build_whisper.cmd │ ├── build_whisper.sh │ ├── clean_start_backend.cmd │ ├── clean_start_backend.sh │ ├── debug_cors.py │ ├── docker/ │ │ └── entrypoint.sh │ ├── docker-compose.yml │ ├── download-ggml-model.cmd │ ├── download-ggml-model.sh │ ├── examples/ │ │ └── run_summary_workflow.py │ ├── install_dependancies_for_windows.ps1 │ ├── requirements.txt │ ├── run-docker.ps1 │ ├── run-docker.sh │ ├── set_env.sh │ ├── setup-db.ps1 │ ├── setup-db.sh │ ├── start_python_backend.cmd │ ├── start_whisper_server.cmd │ ├── start_with_output.ps1 │ ├── temp.env │ └── whisper-custom/ │ └── server/ │ ├── CMakeLists.txt │ ├── README.md │ ├── httplib.h │ ├── public/ │ │ └── index.html │ └── server.cpp ├── docs/ │ ├── BUILDING.md │ ├── GPU_ACCELERATION.md │ ├── architecture.md │ └── building_in_linux.md ├── frontend/ │ ├── .gitignore │ ├── API.md │ ├── README.md │ ├── build-gpu.bat │ ├── build-gpu.ps1 │ ├── build-gpu.sh │ ├── build.bat │ ├── build.ps1 │ ├── build_backup.bat │ ├── clean_build.sh │ ├── clean_build_windows.bat │ ├── clean_run.sh │ ├── clean_run_windows.bat │ ├── components.json │ ├── dev-gpu.bat │ ├── dev-gpu.ps1 │ ├── dev-gpu.sh │ ├── eslint.config.mjs │ ├── next.config.js │ ├── package-app.sh │ ├── package.json │ ├── postcss.config.js │ ├── postcss.config.mjs │ ├── scripts/ │ │ ├── auto-detect-gpu.js │ │ ├── load-env.ps1 │ │ └── tauri-auto.js │ ├── src/ │ │ ├── app/ │ │ │ ├── _components/ │ │ │ │ ├── SettingsModal.tsx │ │ │ │ ├── StatusOverlays.tsx │ │ │ │ └── TranscriptPanel.tsx │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ ├── meeting-details/ │ │ │ │ ├── page-content.tsx │ │ │ │ └── page.tsx │ │ │ ├── metadata.ts │ │ │ ├── metadata.tsx │ │ │ ├── notes/ │ │ │ │ └── [id]/ │ │ │ │ └── page.tsx │ │ │ ├── page.tsx │ │ │ └── settings/ │ │ │ └── page.tsx │ │ ├── components/ │ │ │ ├── AISummary/ │ │ │ │ ├── Block.tsx │ │ │ │ ├── BlockNoteSummaryView.tsx │ │ │ │ ├── Section.tsx │ │ │ │ └── index.tsx │ │ │ ├── About.tsx │ │ │ ├── AnalyticsConsentSwitch.tsx │ │ │ ├── AnalyticsDataModal.tsx │ │ │ ├── AnalyticsProvider.tsx │ │ │ ├── AudioBackendSelector.tsx │ │ │ ├── AudioLevelMeter.tsx │ │ │ ├── AudioPlayer.tsx │ │ │ ├── BetaSettings.tsx │ │ │ ├── BlockNoteEditor/ │ │ │ │ ├── BasicBlockNoteTest.tsx │ │ │ │ └── Editor.tsx │ │ │ ├── BluetoothPlaybackWarning.tsx │ │ │ ├── BuiltInModelManager.tsx │ │ │ ├── ChunkProgressDisplay.tsx │ │ │ ├── ComplianceNotification.tsx │ │ │ ├── ConfidenceIndicator.tsx │ │ │ ├── ConfirmationModel/ │ │ │ │ └── confirmation-modal.tsx │ │ │ ├── ConsoleToggle.tsx │ │ │ ├── CustomDialog.tsx │ │ │ ├── DatabaseImport/ │ │ │ │ ├── HomebrewDatabaseDetector.tsx │ │ │ │ └── LegacyDatabaseImport.tsx │ │ │ ├── DeviceSelection.tsx │ │ │ ├── EditableTitle.tsx │ │ │ ├── EmptyStateSummary.tsx │ │ │ ├── ImportAudio/ │ │ │ │ ├── ImportAudioDialog.tsx │ │ │ │ ├── ImportDropOverlay.tsx │ │ │ │ └── index.ts │ │ │ ├── Info.tsx │ │ │ ├── LanguageSelection.tsx │ │ │ ├── Logo.tsx │ │ │ ├── MainContent/ │ │ │ │ └── index.tsx │ │ │ ├── MainNav/ │ │ │ │ └── index.tsx │ │ │ ├── MeetingDetails/ │ │ │ │ ├── RetranscribeDialog.tsx │ │ │ │ ├── SummaryGeneratorButtonGroup.tsx │ │ │ │ ├── SummaryPanel.tsx │ │ │ │ ├── SummaryUpdaterButtonGroup.tsx │ │ │ │ ├── TranscriptButtonGroup.tsx │ │ │ │ └── TranscriptPanel.tsx │ │ │ ├── MessageToast.tsx │ │ │ ├── ModelDownloadProgress.tsx │ │ │ ├── ModelSettingsModal.tsx │ │ │ ├── ParakeetModelManager.tsx │ │ │ ├── PermissionWarning.tsx │ │ │ ├── PreferenceSettings.tsx │ │ │ ├── RecordingControls.tsx │ │ │ ├── RecordingSettings.tsx │ │ │ ├── RecordingStatusBar.tsx │ │ │ ├── SettingTabs.tsx │ │ │ ├── Sidebar/ │ │ │ │ ├── SidebarProvider.tsx │ │ │ │ └── index.tsx │ │ │ ├── SummaryModelSettings.tsx │ │ │ ├── TranscriptRecovery/ │ │ │ │ ├── TranscriptRecovery.tsx │ │ │ │ └── index.ts │ │ │ ├── TranscriptSettings.tsx │ │ │ ├── TranscriptView.tsx │ │ │ ├── UpdateCheckProvider.tsx │ │ │ ├── UpdateDialog.tsx │ │ │ ├── UpdateNotification.tsx │ │ │ ├── VirtualizedTranscriptView.tsx │ │ │ ├── WhisperModelManager.tsx │ │ │ ├── molecules/ │ │ │ │ └── form-components/ │ │ │ │ ├── form-input-item.tsx │ │ │ │ ├── form-input-switch.tsx │ │ │ │ └── form-select-item.tsx │ │ │ ├── onboarding/ │ │ │ │ ├── OnboardingContainer.tsx │ │ │ │ ├── OnboardingFlow.tsx │ │ │ │ ├── index.ts │ │ │ │ ├── shared/ │ │ │ │ │ ├── PermissionRow.tsx │ │ │ │ │ ├── ProgressIndicator.tsx │ │ │ │ │ ├── StatusIndicator.tsx │ │ │ │ │ └── index.ts │ │ │ │ └── steps/ │ │ │ │ ├── DownloadProgressStep.tsx │ │ │ │ ├── PermissionsStep.tsx │ │ │ │ ├── SetupOverviewStep.tsx │ │ │ │ ├── WelcomeStep.tsx │ │ │ │ └── index.ts │ │ │ ├── shared/ │ │ │ │ └── DownloadProgressToast.tsx │ │ │ └── ui/ │ │ │ ├── accordion.tsx │ │ │ ├── alert.tsx │ │ │ ├── button-group.tsx │ │ │ ├── button.tsx │ │ │ ├── command.tsx │ │ │ ├── dialog.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── form.tsx │ │ │ ├── input-group.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── popover.tsx │ │ │ ├── progress.tsx │ │ │ ├── scroll-area.tsx │ │ │ ├── select.tsx │ │ │ ├── separator.tsx │ │ │ ├── sheet.tsx │ │ │ ├── switch.tsx │ │ │ ├── tabs.tsx │ │ │ ├── textarea.tsx │ │ │ ├── tooltip.tsx │ │ │ └── visually-hidden.tsx │ │ ├── config/ │ │ │ └── api.ts │ │ ├── constants/ │ │ │ ├── audioFormats.ts │ │ │ ├── languages.ts │ │ │ └── modelDefaults.ts │ │ ├── contexts/ │ │ │ ├── ConfigContext.tsx │ │ │ ├── ImportDialogContext.tsx │ │ │ ├── OllamaDownloadContext.tsx │ │ │ ├── OnboardingContext.tsx │ │ │ ├── RecordingPostProcessingProvider.tsx │ │ │ ├── RecordingStateContext.tsx │ │ │ └── TranscriptContext.tsx │ │ ├── hooks/ │ │ │ ├── meeting-details/ │ │ │ │ ├── useCopyOperations.ts │ │ │ │ ├── useMeetingData.ts │ │ │ │ ├── useMeetingOperations.ts │ │ │ │ ├── useModelConfiguration.ts │ │ │ │ ├── useSummaryGeneration.ts │ │ │ │ └── useTemplates.ts │ │ │ ├── useAudioPlayer.ts │ │ │ ├── useAutoScroll.ts │ │ │ ├── useImportAudio.ts │ │ │ ├── useModalState.ts │ │ │ ├── useNavigation.ts │ │ │ ├── usePaginatedTranscripts.ts │ │ │ ├── usePermissionCheck.ts │ │ │ ├── usePlatform.ts │ │ │ ├── useProcessingProgress.ts │ │ │ ├── useRecordingStart.ts │ │ │ ├── useRecordingStateSync.ts │ │ │ ├── useRecordingStop.ts │ │ │ ├── useTranscriptRecovery.ts │ │ │ ├── useTranscriptStreaming.ts │ │ │ ├── useTranscriptionModels.ts │ │ │ └── useUpdateCheck.ts │ │ ├── lib/ │ │ │ ├── analytics.ts │ │ │ ├── builtin-ai.ts │ │ │ ├── parakeet.ts │ │ │ ├── recordingNotification.tsx │ │ │ ├── utils.ts │ │ │ └── whisper.ts │ │ ├── services/ │ │ │ ├── configService.ts │ │ │ ├── indexedDBService.ts │ │ │ ├── recordingService.ts │ │ │ ├── storageService.ts │ │ │ ├── transcriptService.ts │ │ │ └── updateService.ts │ │ └── types/ │ │ ├── betaFeatures.ts │ │ ├── index.ts │ │ ├── onboarding.ts │ │ └── summary.ts │ ├── src-tauri/ │ │ ├── .cargo/ │ │ │ └── config.toml │ │ ├── .gitignore │ │ ├── CLEANUP_PLAN.md │ │ ├── Cargo.toml │ │ ├── Info.plist │ │ ├── LOGGING_OPTIMIZATIONS.md │ │ ├── NOTIFICATION_TESTING.md │ │ ├── build/ │ │ │ └── ffmpeg.rs │ │ ├── build.rs │ │ ├── check_screen_permission.swift │ │ ├── config/ │ │ │ └── backend_config.json │ │ ├── entitlements.plist │ │ ├── icons/ │ │ │ ├── app_icon.icns │ │ │ └── icon.icns │ │ ├── migrations/ │ │ │ ├── 20250916100000_initial_schema.sql │ │ │ ├── 20250920155811_add_openrouter_api_key.sql │ │ │ ├── 20251006000000_add_audio_sync_fields.sql │ │ │ ├── 20251010153942_add_ollama_endpoint.sql │ │ │ ├── 20251101000000_add_summary_backup.sql │ │ │ ├── 20251105120000_add_pro_license_custom_openai.sql │ │ │ ├── 20251110000000_add_grace_period_to_licensing.sql │ │ │ ├── 20251110000001_add_speaker_field.sql │ │ │ ├── 20251223000000_add_meeting_notes.sql │ │ │ └── 20251229000000_add_gemini_api_key.sql │ │ ├── scripts/ │ │ │ └── sign-windows.ps1 │ │ ├── src/ │ │ │ ├── analytics/ │ │ │ │ ├── analytics.rs │ │ │ │ ├── commands.rs │ │ │ │ └── mod.rs │ │ │ ├── anthropic/ │ │ │ │ ├── anthropic.rs │ │ │ │ └── mod.rs │ │ │ ├── api/ │ │ │ │ ├── api.rs │ │ │ │ ├── commands.rs │ │ │ │ └── mod.rs │ │ │ ├── audio/ │ │ │ │ ├── async_logger.rs │ │ │ │ ├── audio_processing.rs │ │ │ │ ├── batch_processor.rs │ │ │ │ ├── buffer_pool.rs │ │ │ │ ├── capture/ │ │ │ │ │ ├── backend_config.rs │ │ │ │ │ ├── core_audio.rs │ │ │ │ │ ├── microphone.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── system.rs │ │ │ │ ├── common.rs │ │ │ │ ├── constants.rs │ │ │ │ ├── core-old.rs │ │ │ │ ├── decoder.rs │ │ │ │ ├── device_detection.rs │ │ │ │ ├── device_monitor.rs │ │ │ │ ├── devices/ │ │ │ │ │ ├── configuration.rs │ │ │ │ │ ├── discovery.rs │ │ │ │ │ ├── fallback.rs │ │ │ │ │ ├── microphone.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── platform/ │ │ │ │ │ │ ├── linux.rs │ │ │ │ │ │ ├── macos.rs │ │ │ │ │ │ ├── mod.rs │ │ │ │ │ │ └── windows.rs │ │ │ │ │ └── speakers.rs │ │ │ │ ├── diagnostics.rs │ │ │ │ ├── encode.rs │ │ │ │ ├── ffmpeg.rs │ │ │ │ ├── ffmpeg_mixer.rs │ │ │ │ ├── hardware_detector.rs │ │ │ │ ├── import.rs │ │ │ │ ├── incremental_saver.rs │ │ │ │ ├── level_monitor.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── permissions.rs │ │ │ │ ├── pipeline.rs │ │ │ │ ├── playback_monitor.rs │ │ │ │ ├── post_processor.rs │ │ │ │ ├── recording_commands.rs │ │ │ │ ├── recording_commands.rs.backup │ │ │ │ ├── recording_manager.rs │ │ │ │ ├── recording_preferences.rs │ │ │ │ ├── recording_saver.rs │ │ │ │ ├── recording_saver_old.rs │ │ │ │ ├── recording_state.rs │ │ │ │ ├── retranscription.rs │ │ │ │ ├── simple_level_monitor.rs │ │ │ │ ├── stream.rs │ │ │ │ ├── stt.rs │ │ │ │ ├── system_audio_commands.rs │ │ │ │ ├── system_audio_stream.rs │ │ │ │ ├── system_audio_types.ts │ │ │ │ ├── system_detector.rs │ │ │ │ ├── transcription/ │ │ │ │ │ ├── engine.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── parakeet_provider.rs │ │ │ │ │ ├── provider.rs │ │ │ │ │ ├── whisper_provider.rs │ │ │ │ │ └── worker.rs │ │ │ │ └── vad.rs │ │ │ ├── audio_v2/ │ │ │ │ ├── compatibility.rs │ │ │ │ ├── lib.rs │ │ │ │ ├── limiter.rs │ │ │ │ ├── mixer.rs │ │ │ │ ├── normalizer.rs │ │ │ │ ├── recorder.rs │ │ │ │ ├── resampler.rs │ │ │ │ ├── stream.rs │ │ │ │ └── sync.rs │ │ │ ├── config.rs │ │ │ ├── console_utils/ │ │ │ │ ├── commands.rs │ │ │ │ ├── console_utils.rs │ │ │ │ └── mod.rs │ │ │ ├── database/ │ │ │ │ ├── commands.rs │ │ │ │ ├── manager.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── models.rs │ │ │ │ ├── repositories/ │ │ │ │ │ ├── meeting.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── setting.rs │ │ │ │ │ ├── summary.rs │ │ │ │ │ ├── transcript.rs │ │ │ │ │ └── transcript_chunk.rs │ │ │ │ └── setup.rs │ │ │ ├── groq/ │ │ │ │ ├── groq.rs │ │ │ │ └── mod.rs │ │ │ ├── lib.rs │ │ │ ├── lib_old_complex.rs │ │ │ ├── main.rs │ │ │ ├── notifications/ │ │ │ │ ├── commands.rs │ │ │ │ ├── manager.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── settings.rs │ │ │ │ ├── system.rs │ │ │ │ └── types.rs │ │ │ ├── ollama/ │ │ │ │ ├── commands.rs │ │ │ │ ├── metadata.rs │ │ │ │ ├── mod.rs │ │ │ │ └── ollama.rs │ │ │ ├── onboarding.rs │ │ │ ├── openai/ │ │ │ │ ├── mod.rs │ │ │ │ └── openai.rs │ │ │ ├── openrouter/ │ │ │ │ ├── commands.rs │ │ │ │ ├── mod.rs │ │ │ │ └── openrouter.rs │ │ │ ├── parakeet_engine/ │ │ │ │ ├── commands.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── model.rs │ │ │ │ └── parakeet_engine.rs │ │ │ ├── state.rs │ │ │ ├── summary/ │ │ │ │ ├── commands.rs │ │ │ │ ├── llm_client.rs │ │ │ │ ├── mod.rs │ │ │ │ ├── processor.rs │ │ │ │ ├── service.rs │ │ │ │ ├── summary_engine/ │ │ │ │ │ ├── client.rs │ │ │ │ │ ├── commands.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ ├── model_manager.rs │ │ │ │ │ ├── models.rs │ │ │ │ │ └── sidecar.rs │ │ │ │ ├── template_commands.rs │ │ │ │ └── templates/ │ │ │ │ ├── defaults.rs │ │ │ │ ├── loader.rs │ │ │ │ ├── mod.rs │ │ │ │ └── types.rs │ │ │ ├── tray.rs │ │ │ ├── utils.rs │ │ │ └── whisper_engine/ │ │ │ ├── _stderr_suppressor.rs │ │ │ ├── commands.rs │ │ │ ├── mod.rs │ │ │ ├── parallel_commands.rs │ │ │ ├── parallel_processor.rs │ │ │ ├── system_monitor.rs │ │ │ └── whisper_engine.rs │ │ ├── tauri.conf.json │ │ └── templates/ │ │ ├── README.md │ │ ├── daily_standup.json │ │ ├── project_sync.json │ │ ├── psychatric_session.json │ │ ├── retrospective.json │ │ ├── sales_marketing_client_call.json │ │ └── standard_meeting.json │ ├── tailwind.config.js │ ├── tailwind.config.ts │ └── tsconfig.json ├── llama-helper/ │ ├── Cargo.toml │ └── src/ │ └── main.rs └── scripts/ ├── generate-update-manifest-github.js ├── inject_transcript.py └── test-update-locally.js