gitextract_gwqak2n4/ ├── .claude/ │ └── settings.json ├── .github/ │ └── workflows/ │ └── glowby-release.yml ├── .gitignore ├── AGENTS.md ├── CLI.md ├── LICENSE ├── README.md ├── backend/ │ ├── backend_info_page.go │ ├── claude_anthropic.go │ ├── codex_chatgpt.go │ ├── elevenlabs_audio.go │ ├── fireworks_fireworks.go │ ├── gemini_google.go │ ├── gemini_image.go │ ├── gemini_text_with_attachment.go │ ├── gemini_veo.go │ ├── gemini_video.go │ ├── go.mod │ ├── go.sum │ ├── gpt5_openai.go │ ├── gpt5_responses_api.go │ ├── grok_image.go │ ├── grok_video.go │ ├── grok_xai.go │ ├── handlers.go │ ├── main.go │ ├── model_helpers.go │ ├── o3_openai.go │ ├── openai_image.go │ ├── opencode_driver.go │ ├── opencode_folder_picker.go │ ├── opencode_media_postpass.go │ ├── opencode_project_history.go │ ├── opencode_project_open.go │ ├── opencode_zen.go │ ├── openrouter_openrouter.go │ ├── prompts.go │ ├── r1_groq.go │ ├── r1_ollama.go │ ├── search.go │ ├── security.go │ ├── stack_specs.go │ └── types.go ├── cli/ │ ├── code.go │ ├── doctor.go │ ├── go.mod │ ├── main.go │ └── version.go ├── docs/ │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── README.md │ ├── app/ │ │ ├── app.css │ │ ├── components/ │ │ │ ├── brand-title.tsx │ │ │ ├── docs-route-view.tsx │ │ │ ├── docs-search.tsx │ │ │ └── nav-actions.tsx │ │ ├── lib/ │ │ │ ├── docs.ts │ │ │ ├── meta.ts │ │ │ ├── site.ts │ │ │ ├── source.browser.tsx │ │ │ └── source.server.ts │ │ ├── root.tsx │ │ ├── routes/ │ │ │ ├── docs-page.tsx │ │ │ └── home.tsx │ │ └── routes.ts │ ├── content/ │ │ └── docs/ │ │ ├── desktop.mdx │ │ ├── glowbom.mdx │ │ ├── glowby-oss.mdx │ │ ├── index.mdx │ │ ├── meta.json │ │ └── quickstart.mdx │ ├── package.json │ ├── react-router.config.ts │ ├── server.log │ ├── source.config.ts │ ├── test-browser.js │ ├── test-search.js │ ├── test.ts │ ├── tsconfig.json │ └── vite.config.ts ├── legacy/ │ ├── GlowbyGenius.md │ ├── README.md │ ├── app/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── .vscode/ │ │ │ └── launch.json │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── android/ │ │ │ ├── .gitignore │ │ │ ├── app/ │ │ │ │ ├── build.gradle │ │ │ │ └── src/ │ │ │ │ ├── debug/ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── main/ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── kotlin/ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ └── example/ │ │ │ │ │ │ └── pwa/ │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ │ └── res/ │ │ │ │ │ ├── drawable/ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ └── values/ │ │ │ │ │ └── styles.xml │ │ │ │ └── profile/ │ │ │ │ └── AndroidManifest.xml │ │ │ ├── build.gradle │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradle.properties │ │ │ └── settings.gradle │ │ ├── assets/ │ │ │ ├── talk.glowbom │ │ │ ├── test.html │ │ │ └── website.html │ │ ├── ios/ │ │ │ ├── .gitignore │ │ │ ├── Flutter/ │ │ │ │ ├── .last_build_id │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ ├── Debug.xcconfig │ │ │ │ └── Release.xcconfig │ │ │ ├── Podfile │ │ │ ├── Runner/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ └── LaunchImage.imageset/ │ │ │ │ │ ├── Contents.json │ │ │ │ │ └── README.md │ │ │ │ ├── Base.lproj/ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ └── Main.storyboard │ │ │ │ ├── Glowby.swift │ │ │ │ ├── Info.plist │ │ │ │ └── Runner-Bridging-Header.h │ │ │ ├── Runner.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── Runner.xcscheme │ │ │ └── Runner.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ │ ├── lib/ │ │ │ ├── main.dart │ │ │ ├── models/ │ │ │ │ └── ai.dart │ │ │ ├── services/ │ │ │ │ ├── hugging_face_api.dart │ │ │ │ ├── openai_api.dart │ │ │ │ └── pulze_ai_api.dart │ │ │ ├── utils/ │ │ │ │ ├── color_utils.dart │ │ │ │ ├── text_to_speech.dart │ │ │ │ ├── timestamp.dart │ │ │ │ ├── utils.dart │ │ │ │ ├── utils_desktop.dart │ │ │ │ ├── utils_stub.dart │ │ │ │ └── utils_web.dart │ │ │ └── views/ │ │ │ ├── dialogs/ │ │ │ │ ├── ai_error_dialog.dart │ │ │ │ ├── ai_settings_dialog.dart │ │ │ │ └── api_key_dialog.dart │ │ │ ├── html/ │ │ │ │ ├── html_view_screen.dart │ │ │ │ ├── html_view_screen_desktop.dart │ │ │ │ ├── html_view_screen_interface.dart │ │ │ │ ├── html_view_screen_mobile.dart │ │ │ │ ├── html_view_screen_stub.dart │ │ │ │ └── html_view_screen_web.dart │ │ │ ├── screens/ │ │ │ │ ├── chat_screen.dart │ │ │ │ ├── global_settings.dart │ │ │ │ ├── magical_loading_view.dart │ │ │ │ └── talk_screen.dart │ │ │ └── widgets/ │ │ │ ├── message.dart │ │ │ ├── message_bubble.dart │ │ │ ├── messages.dart │ │ │ ├── new_message.dart │ │ │ ├── paint_window.dart │ │ │ └── tasks_view.dart │ │ ├── linux/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ └── generated_plugins.cmake │ │ │ ├── main.cc │ │ │ ├── my_application.cc │ │ │ └── my_application.h │ │ ├── macos/ │ │ │ ├── .gitignore │ │ │ ├── Flutter/ │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ ├── Flutter-Release.xcconfig │ │ │ │ └── GeneratedPluginRegistrant.swift │ │ │ ├── Podfile │ │ │ ├── Runner/ │ │ │ │ ├── AppDelegate.swift │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Base.lproj/ │ │ │ │ │ └── MainMenu.xib │ │ │ │ ├── Configs/ │ │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ ├── Release.xcconfig │ │ │ │ │ └── Warnings.xcconfig │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ ├── Info.plist │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ └── Release.entitlements │ │ │ ├── Runner.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcshareddata/ │ │ │ │ └── xcschemes/ │ │ │ │ └── Runner.xcscheme │ │ │ ├── Runner.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ └── RunnerTests/ │ │ │ └── RunnerTests.swift │ │ ├── pubspec.yaml │ │ ├── web/ │ │ │ ├── index.html │ │ │ ├── manifest.json │ │ │ └── tv.js │ │ └── windows/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── flutter/ │ │ │ ├── CMakeLists.txt │ │ │ ├── generated_plugin_registrant.cc │ │ │ ├── generated_plugin_registrant.h │ │ │ └── generated_plugins.cmake │ │ └── runner/ │ │ ├── CMakeLists.txt │ │ ├── Runner.rc │ │ ├── flutter_window.cpp │ │ ├── flutter_window.h │ │ ├── main.cpp │ │ ├── resource.h │ │ ├── runner.exe.manifest │ │ ├── utils.cpp │ │ ├── utils.h │ │ ├── win32_window.cpp │ │ └── win32_window.h │ ├── backend/ │ │ └── aws/ │ │ └── fetchImageAsBase64/ │ │ └── index.mjs │ ├── dist/ │ │ ├── assets/ │ │ │ ├── AssetManifest.bin.json │ │ │ ├── AssetManifest.json │ │ │ ├── FontManifest.json │ │ │ ├── NOTICES │ │ │ ├── assets/ │ │ │ │ └── talk.glowbom │ │ │ ├── fonts/ │ │ │ │ └── MaterialIcons-Regular.otf │ │ │ └── shaders/ │ │ │ └── ink_sparkle.frag │ │ ├── canvaskit/ │ │ │ ├── canvaskit.js │ │ │ ├── canvaskit.js.symbols │ │ │ ├── canvaskit.wasm │ │ │ ├── chromium/ │ │ │ │ ├── canvaskit.js │ │ │ │ ├── canvaskit.js.symbols │ │ │ │ └── canvaskit.wasm │ │ │ ├── skwasm.js │ │ │ ├── skwasm.js.symbols │ │ │ ├── skwasm.wasm │ │ │ └── skwasm.worker.js │ │ ├── flutter.js │ │ ├── flutter_bootstrap.js │ │ ├── flutter_service_worker.js │ │ ├── index.html │ │ ├── manifest.json │ │ ├── tv.js │ │ └── version.json │ └── docs/ │ └── README.md ├── project/ │ ├── AGENTS.md │ ├── android/ │ │ ├── .gitignore │ │ ├── .idea/ │ │ │ ├── .gitignore │ │ │ ├── .name │ │ │ ├── compiler.xml │ │ │ ├── deploymentTargetDropDown.xml │ │ │ ├── gradle.xml │ │ │ ├── inspectionProfiles/ │ │ │ │ └── Project_Default.xml │ │ │ ├── kotlinc.xml │ │ │ ├── migrations.xml │ │ │ ├── misc.xml │ │ │ └── vcs.xml │ │ ├── README.md │ │ ├── app/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle.kts │ │ │ ├── proguard-rules.pro │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── assets/ │ │ │ │ └── custom.glowbom │ │ │ ├── java/ │ │ │ │ └── com/ │ │ │ │ └── glowbom/ │ │ │ │ └── custom/ │ │ │ │ ├── AiExtensions.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ └── ui/ │ │ │ │ └── theme/ │ │ │ │ ├── Color.kt │ │ │ │ ├── Theme.kt │ │ │ │ └── Type.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── ic_launcher_background.xml │ │ │ ├── drawable-v24/ │ │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── mipmap-anydpi-v26/ │ │ │ │ ├── ic_launcher.xml │ │ │ │ └── ic_launcher_round.xml │ │ │ ├── values/ │ │ │ │ ├── colors.xml │ │ │ │ ├── strings.xml │ │ │ │ └── themes.xml │ │ │ └── xml/ │ │ │ ├── backup_rules.xml │ │ │ └── data_extraction_rules.xml │ │ ├── build.gradle.kts │ │ ├── gradle/ │ │ │ └── wrapper/ │ │ │ └── gradle-wrapper.properties │ │ ├── gradle.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── settings.gradle.kts │ ├── apple/ │ │ ├── Custom/ │ │ │ ├── AiExtensions.swift │ │ │ ├── Assets.xcassets/ │ │ │ │ ├── AccentColor.colorset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── ContentView.swift │ │ │ ├── Custom.entitlements │ │ │ ├── CustomApp.swift │ │ │ ├── Preview Content/ │ │ │ │ └── Preview Assets.xcassets/ │ │ │ │ └── Contents.json │ │ │ └── custom.glowbom │ │ ├── Custom.xcodeproj/ │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ ├── xcshareddata/ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ └── xcuserdata/ │ │ │ │ └── jacobilin.xcuserdatad/ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ └── xcuserdata/ │ │ │ └── jacobilin.xcuserdatad/ │ │ │ └── xcschemes/ │ │ │ └── xcschememanagement.plist │ │ └── README.md │ ├── glowbom.json │ ├── prototype/ │ │ ├── assets.json │ │ └── index.html │ └── web/ │ ├── .gitignore │ ├── README.md │ ├── components.json │ ├── eslint.config.mjs │ ├── next.config.mjs │ ├── package.json │ ├── postcss.config.js │ ├── public/ │ │ └── custom.glowbom │ ├── src/ │ │ ├── app/ │ │ │ ├── components/ │ │ │ │ ├── AiExtensions.tsx │ │ │ │ └── Custom.tsx │ │ │ ├── globals.css │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── components/ │ │ │ └── ui/ │ │ │ ├── button.tsx │ │ │ ├── card.tsx │ │ │ ├── dialog.tsx │ │ │ ├── dropdown-menu.tsx │ │ │ ├── form.tsx │ │ │ ├── input.tsx │ │ │ ├── label.tsx │ │ │ ├── pagination.tsx │ │ │ ├── progress.tsx │ │ │ ├── tabs.tsx │ │ │ ├── toast.tsx │ │ │ ├── toaster.tsx │ │ │ ├── toggle.tsx │ │ │ ├── tooltip.tsx │ │ │ └── use-toast.ts │ │ ├── lib/ │ │ │ └── utils.ts │ │ └── models/ │ │ └── types.ts │ ├── tailwind.config.ts │ └── tsconfig.json ├── scripts/ │ └── install.sh └── web/ ├── LICENSE ├── index.html ├── package.json ├── src/ │ ├── App.tsx │ ├── hooks/ │ │ └── useRefineRun.ts │ ├── lib/ │ │ ├── api.ts │ │ ├── console-render.ts │ │ ├── model-catalog.ts │ │ ├── server-auth.ts │ │ └── sse.ts │ ├── main.tsx │ ├── styles.css │ └── types/ │ └── opencode.ts ├── tsconfig.json └── vite.config.ts