gitextract_d8n6n_v9/ ├── .firebaserc ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── assign-on-comment.yml │ └── build.yml ├── .gitignore ├── .gitmodules ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .vscode/ │ └── settings.json ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── build.js ├── docs/ │ ├── DESIGN_PATTERNS.md │ └── refactor-plan.md ├── electron-builder.yml ├── entitlements.plist ├── firebase.json ├── firestore.indexes.json ├── functions/ │ ├── .eslintrc.js │ ├── .gitignore │ ├── index.js │ └── package.json ├── notarize.js ├── package.json ├── pickleglass_web/ │ ├── app/ │ │ ├── activity/ │ │ │ ├── details/ │ │ │ │ └── page.tsx │ │ │ └── page.tsx │ │ ├── download/ │ │ │ └── page.tsx │ │ ├── globals.css │ │ ├── help/ │ │ │ └── page.tsx │ │ ├── layout.tsx │ │ ├── login/ │ │ │ └── page.tsx │ │ ├── page.tsx │ │ ├── personalize/ │ │ │ └── page.tsx │ │ └── settings/ │ │ ├── billing/ │ │ │ └── page.tsx │ │ ├── page.tsx │ │ └── privacy/ │ │ └── page.tsx │ ├── backend_node/ │ │ ├── index.js │ │ ├── ipcBridge.js │ │ ├── middleware/ │ │ │ └── auth.js │ │ └── routes/ │ │ ├── auth.js │ │ ├── conversations.js │ │ ├── presets.js │ │ └── user.js │ ├── components/ │ │ ├── ClientLayout.tsx │ │ ├── SearchPopup.tsx │ │ └── Sidebar.tsx │ ├── next-env.d.ts │ ├── next.config.js │ ├── package.json │ ├── postcss.config.js │ ├── public/ │ │ └── README.md │ ├── requirements.txt │ ├── tailwind.config.js │ ├── tsconfig.json │ └── utils/ │ ├── api.ts │ ├── auth.ts │ ├── firebase.ts │ └── firestore.ts ├── preload.js └── src/ ├── bridge/ │ ├── featureBridge.js │ ├── internalBridge.js │ └── windowBridge.js ├── features/ │ ├── ask/ │ │ ├── askService.js │ │ └── repositories/ │ │ ├── firebase.repository.js │ │ ├── index.js │ │ └── sqlite.repository.js │ ├── common/ │ │ ├── ai/ │ │ │ ├── factory.js │ │ │ └── providers/ │ │ │ ├── anthropic.js │ │ │ ├── deepgram.js │ │ │ ├── gemini.js │ │ │ ├── ollama.js │ │ │ ├── openai.js │ │ │ └── whisper.js │ │ ├── config/ │ │ │ ├── checksums.js │ │ │ ├── config.js │ │ │ └── schema.js │ │ ├── prompts/ │ │ │ ├── promptBuilder.js │ │ │ └── promptTemplates.js │ │ ├── repositories/ │ │ │ ├── firestoreConverter.js │ │ │ ├── ollamaModel/ │ │ │ │ ├── index.js │ │ │ │ └── sqlite.repository.js │ │ │ ├── permission/ │ │ │ │ ├── index.js │ │ │ │ └── sqlite.repository.js │ │ │ ├── preset/ │ │ │ │ ├── firebase.repository.js │ │ │ │ ├── index.js │ │ │ │ └── sqlite.repository.js │ │ │ ├── providerSettings/ │ │ │ │ ├── index.js │ │ │ │ └── sqlite.repository.js │ │ │ ├── session/ │ │ │ │ ├── firebase.repository.js │ │ │ │ ├── index.js │ │ │ │ └── sqlite.repository.js │ │ │ ├── user/ │ │ │ │ ├── firebase.repository.js │ │ │ │ ├── index.js │ │ │ │ └── sqlite.repository.js │ │ │ └── whisperModel/ │ │ │ └── index.js │ │ ├── services/ │ │ │ ├── authService.js │ │ │ ├── databaseInitializer.js │ │ │ ├── encryptionService.js │ │ │ ├── firebaseClient.js │ │ │ ├── localAIManager.js │ │ │ ├── migrationService.js │ │ │ ├── modelStateService.js │ │ │ ├── ollamaService.js │ │ │ ├── permissionService.js │ │ │ ├── sqliteClient.js │ │ │ └── whisperService.js │ │ └── utils/ │ │ └── spawnHelper.js │ ├── listen/ │ │ ├── listenService.js │ │ ├── stt/ │ │ │ ├── repositories/ │ │ │ │ ├── firebase.repository.js │ │ │ │ ├── index.js │ │ │ │ └── sqlite.repository.js │ │ │ └── sttService.js │ │ └── summary/ │ │ ├── repositories/ │ │ │ ├── firebase.repository.js │ │ │ ├── index.js │ │ │ └── sqlite.repository.js │ │ └── summaryService.js │ ├── settings/ │ │ ├── repositories/ │ │ │ ├── firebase.repository.js │ │ │ ├── index.js │ │ │ └── sqlite.repository.js │ │ └── settingsService.js │ └── shortcuts/ │ ├── repositories/ │ │ ├── index.js │ │ └── sqlite.repository.js │ └── shortcutsService.js ├── index.js ├── preload.js ├── ui/ │ ├── app/ │ │ ├── ApiKeyHeader.js │ │ ├── HeaderController.js │ │ ├── MainHeader.js │ │ ├── PermissionHeader.js │ │ ├── PickleGlassApp.js │ │ ├── WelcomeHeader.js │ │ ├── content.html │ │ └── header.html │ ├── ask/ │ │ └── AskView.js │ ├── assets/ │ │ ├── SystemAudioDump │ │ ├── logo.icns │ │ └── smd.js │ ├── listen/ │ │ ├── ListenView.js │ │ ├── audioCore/ │ │ │ ├── aec.js │ │ │ ├── listenCapture.js │ │ │ └── renderer.js │ │ ├── stt/ │ │ │ └── SttView.js │ │ └── summary/ │ │ └── SummaryView.js │ ├── settings/ │ │ ├── SettingsView.js │ │ └── ShortCutSettingsView.js │ └── styles/ │ └── glass-bypass.css └── window/ ├── smoothMovementManager.js ├── windowLayoutManager.js └── windowManager.js