SYMBOL INDEX (1709 symbols across 119 files) FILE: backend/backend_info_page.go constant glowbyRepositoryURL (line 14) | glowbyRepositoryURL = "https://github.com/glowbom/glowby" constant glowbomWebsiteURL (line 15) | glowbomWebsiteURL = "https://glowbom.com" constant codexAppServerURL (line 16) | codexAppServerURL = "https://developers.openai.com/codex/app-server/" constant glowbomDesktopPDFPath (line 17) | glowbomDesktopPDFPath = "docs/2026/Glowbom_Desktop_A_Sketch_to_Software_... type backendInfo (line 20) | type backendInfo struct type backendInfoLink (line 31) | type backendInfoLink struct type backendDriver (line 36) | type backendDriver struct function resolveGlowbomDesktopPDFPath (line 43) | func resolveGlowbomDesktopPDFPath() (string, bool) { function resolveGlowbyPublicAssetPath (line 64) | func resolveGlowbyPublicAssetPath(fileName string) (string, bool) { function serveGlowbyPublicAsset (line 90) | func serveGlowbyPublicAsset(w http.ResponseWriter, r *http.Request, file... function glowbyFaviconHandler (line 106) | func glowbyFaviconHandler(w http.ResponseWriter, r *http.Request) { function glowbyLogoSVGHandler (line 110) | func glowbyLogoSVGHandler(w http.ResponseWriter, r *http.Request) { function glowbyBackendInfoPayload (line 114) | func glowbyBackendInfoPayload() backendInfo { function normalizedLinkHref (line 156) | func normalizedLinkHref(raw string) string { function glowbyBackendHomeHandler (line 164) | func glowbyBackendHomeHandler(w http.ResponseWriter, r *http.Request) { function openCodeAboutHandler (line 445) | func openCodeAboutHandler(w http.ResponseWriter, r *http.Request) { function openCodeProjectDescriptionHandler (line 455) | func openCodeProjectDescriptionHandler(w http.ResponseWriter, r *http.Re... FILE: backend/claude_anthropic.go constant claudeSonnetDefaultModel (line 15) | claudeSonnetDefaultModel = "claude-sonnet-4-6" constant claudeOpusDefaultModel (line 16) | claudeOpusDefaultModel = "claude-opus-4-6" function isClaudeOpusModel (line 18) | func isClaudeOpusModel(modelID string) bool { function claudeModelTokenRates (line 22) | func claudeModelTokenRates(modelID string) (inputCostPer1M float64, outp... function callClaudeDrawToCodeApiFull (line 30) | func callClaudeDrawToCodeApiFull(imageBase64, userPrompt, template, imag... function callClaudeDrawToCodeApiFullWithModel (line 35) | func callClaudeDrawToCodeApiFullWithModel(imageBase64, userPrompt, templ... function callClaudeDrawToCodeStreaming (line 101) | func callClaudeDrawToCodeStreaming(w http.ResponseWriter, imageBase64, u... function callClaudeApiGo (line 141) | func callClaudeApiGo(prevMsgs []ChatMessage, newMsg, apiKey string) (*R1... function callClaudeApiGoWithModel (line 146) | func callClaudeApiGoWithModel(prevMsgs []ChatMessage, newMsg, apiKey, mo... function callClaudeAPI (line 198) | func callClaudeAPI(messages []map[string]interface{}, systemPrompt, apiK... function callClaudeAPIWithThinkingBudget (line 203) | func callClaudeAPIWithThinkingBudget(messages []map[string]interface{}, ... function callClaudeAPIWithThinkingBudgetAndModel (line 208) | func callClaudeAPIWithThinkingBudgetAndModel(messages []map[string]inter... function getMagicEditTool (line 304) | func getMagicEditTool() map[string]interface{} { function callClaudeChatStreaming (line 322) | func callClaudeChatStreaming(w http.ResponseWriter, prevMsgs []ChatMessa... function callClaudeChatStreamingWithModel (line 327) | func callClaudeChatStreamingWithModel(w http.ResponseWriter, prevMsgs []... function callClaudeChatStreamingWithModelAndTools (line 332) | func callClaudeChatStreamingWithModelAndTools(w http.ResponseWriter, pre... function callClaudeAPIStreaming (line 363) | func callClaudeAPIStreaming(w http.ResponseWriter, messages []map[string... function callClaudeAPIStreamingWithModel (line 368) | func callClaudeAPIStreamingWithModel(w http.ResponseWriter, messages []m... function callClaudeAPIStreamingWithModelAndTools (line 373) | func callClaudeAPIStreamingWithModelAndTools(w http.ResponseWriter, mess... FILE: backend/codex_chatgpt.go function buildCodexInput (line 19) | func buildCodexInput(prevMsgs []ChatMessage, newMsg string) []interface{} { function buildCodexRequestBody (line 51) | func buildCodexRequestBody(instructions string, input []interface{}, rea... function callChatGPTCodexStreaming (line 74) | func callChatGPTCodexStreaming(w http.ResponseWriter, prevMsgs []ChatMes... function callChatGPTCodexDrawToCodeStreaming (line 98) | func callChatGPTCodexDrawToCodeStreaming(w http.ResponseWriter, imageBas... function callChatGPTCodexNonStreaming (line 126) | func callChatGPTCodexNonStreaming(prevMsgs []ChatMessage, newMsg, access... function doChatGPTCodexRequest (line 213) | func doChatGPTCodexRequest(w http.ResponseWriter, reqBody map[string]int... function setChatGPTCodexHeaders (line 428) | func setChatGPTCodexHeaders(req *http.Request, accessToken, accountID st... FILE: backend/elevenlabs_audio.go constant elevenLabsBaseURL (line 20) | elevenLabsBaseURL = "https://api.elevenlabs.io" constant defaultElevenVoiceID (line 21) | defaultElevenVoiceID = "JBFqnCBsd6RMkjVDRZzb" constant defaultElevenVoiceModel (line 22) | defaultElevenVoiceModel = "eleven_multilingual_v2" constant defaultElevenOutputFormat (line 23) | defaultElevenOutputFormat = "mp3_44100_128" type ElevenLabsAudioRequest (line 26) | type ElevenLabsAudioRequest struct type ElevenLabsAudioResponse (line 41) | type ElevenLabsAudioResponse struct type ElevenLabsVoicesRequest (line 50) | type ElevenLabsVoicesRequest struct type ElevenLabsVoiceOption (line 54) | type ElevenLabsVoiceOption struct type ElevenLabsVoicesResponse (line 63) | type ElevenLabsVoicesResponse struct function listElevenLabsVoicesHandler (line 67) | func listElevenLabsVoicesHandler(w http.ResponseWriter, r *http.Request) { function generateAudioHandler (line 98) | func generateAudioHandler(w http.ResponseWriter, r *http.Request) { function callElevenLabsVoice (line 182) | func callElevenLabsVoice(req ElevenLabsAudioRequest, apiKey string) ([]b... function callElevenLabsSound (line 215) | func callElevenLabsSound(req ElevenLabsAudioRequest, apiKey string) ([]b... function callElevenLabsMusic (line 243) | func callElevenLabsMusic(req ElevenLabsAudioRequest, apiKey string) ([]b... function callElevenLabsBinaryAPI (line 268) | func callElevenLabsBinaryAPI(endpoint string, query neturl.Values, body ... function fetchElevenLabsVoices (line 316) | func fetchElevenLabsVoices(apiKey string) ([]ElevenLabsVoiceOption, erro... function normalizeAudioType (line 380) | func normalizeAudioType(value string) string { function normalizeElevenLabsVoiceModel (line 393) | func normalizeElevenLabsVoiceModel(value string) string { function isElevenLabsModelNotFound (line 407) | func isElevenLabsModelNotFound(err error) bool { function sanitizeElevenLabsError (line 416) | func sanitizeElevenLabsError(err error) string { function truncateElevenLabsLog (line 423) | func truncateElevenLabsLog(value string, max int) string { function inferAudioMimeType (line 434) | func inferAudioMimeType(contentType string, data []byte) string { function extensionForAudioMimeType (line 477) | func extensionForAudioMimeType(mimeType string) string { FILE: backend/fireworks_fireworks.go constant fireworksChatCompletionsURL (line 15) | fireworksChatCompletionsURL = "https://api.fireworks.ai/inference/v1/cha... constant fireworksChatMaxTokens (line 18) | fireworksChatMaxTokens = 4096 constant fireworksDrawToCodeMaxTokens (line 19) | fireworksDrawToCodeMaxTokens = 16384 constant fireworksDefaultTemperature (line 20) | fireworksDefaultTemperature = 0.6 constant fireworksStreamNormalizeHoldback (line 22) | fireworksStreamNormalizeHoldback = 256 function callFireworksDrawToCodeApiFull (line 41) | func callFireworksDrawToCodeApiFull(imageBase64, userPrompt, template, i... function callFireworksDrawToCodeStreaming (line 68) | func callFireworksDrawToCodeStreaming(w http.ResponseWriter, imageBase64... function callFireworksApiGo (line 78) | func callFireworksApiGo(prevMsgs []ChatMessage, newMsg, apiKey, firework... function callFireworksChatStreaming (line 104) | func callFireworksChatStreaming(w http.ResponseWriter, prevMsgs []ChatMe... function buildFireworksChatMessages (line 112) | func buildFireworksChatMessages(prevMsgs []ChatMessage, newMsg, firework... function callFireworksChatCompletions (line 171) | func callFireworksChatCompletions(messages []map[string]interface{}, api... function callFireworksChatCompletionsStreaming (line 270) | func callFireworksChatCompletionsStreaming(w http.ResponseWriter, messag... function fireworkContentToText (line 623) | func fireworkContentToText(content interface{}) string { function estimateTokenCountForMessages (line 663) | func estimateTokenCountForMessages(messages []map[string]interface{}) int { function estimateTokenCount (line 673) | func estimateTokenCount(text string) int { function fireworksMessagesContainImage (line 681) | func fireworksMessagesContainImage(messages []map[string]interface{}) bo... function fireworksModelSupportsImageInput (line 704) | func fireworksModelSupportsImageInput(modelID string) bool { function fireworksAttachmentDataURI (line 714) | func fireworksAttachmentDataURI(attachmentBase64, attachmentMime string)... function buildFireworksDrawToCodeMessages (line 726) | func buildFireworksDrawToCodeMessages(imageBase64, userPrompt, template,... function describeImageWithFireworksKimi (line 821) | func describeImageWithFireworksKimi(imageBase64, apiKey string) (string,... function emitFireworksStreamChunk (line 911) | func emitFireworksStreamChunk(w http.ResponseWriter, content string) err... function emitFireworksStreamDone (line 925) | func emitFireworksStreamDone(w http.ResponseWriter, promptTokens, comple... function logFireworksRequestSummary (line 948) | func logFireworksRequestSummary(model string, stream bool, hasImage bool... function fireworksLatestUserPreview (line 962) | func fireworksLatestUserPreview(messages []map[string]interface{}) string { function normalizeFinishReason (line 976) | func normalizeFinishReason(reason interface{}) string { function detectFireworksEmbeddedImagePayload (line 985) | func detectFireworksEmbeddedImagePayload(content string) (string, bool) { function embeddedImagePayloadError (line 1011) | func embeddedImagePayloadError(reason string) error { function normalizeFireworksDrawToCodeOutput (line 1015) | func normalizeFireworksDrawToCodeOutput(content string) string { function extractFireworksThinkingStepTitle (line 1038) | func extractFireworksThinkingStepTitle(raw string) string { function isMeaningfulThinkingStepTitle (line 1078) | func isMeaningfulThinkingStepTitle(title string) bool { FILE: backend/gemini_google.go function isGeminiModelNotFound (line 15) | func isGeminiModelNotFound(statusCode int, body string) bool { function callGeminiDrawToCodeApiFull (line 25) | func callGeminiDrawToCodeApiFull(imageBase64, userPrompt, template, imag... function callGeminiDrawToCodeStreaming (line 95) | func callGeminiDrawToCodeStreaming(w http.ResponseWriter, imageBase64, u... function callGeminiApiGo (line 175) | func callGeminiApiGo(prevMsgs []ChatMessage, newMsg, apiKey, geminiModel... function callGeminiAPI (line 268) | func callGeminiAPI(contents []map[string]interface{}, apiKey string, max... function getGeminiMagicEditTool (line 401) | func getGeminiMagicEditTool() map[string]interface{} { function callGeminiChatStreaming (line 423) | func callGeminiChatStreaming(w http.ResponseWriter, prevMsgs []ChatMessa... function callGeminiChatStreamingWithTools (line 428) | func callGeminiChatStreamingWithTools(w http.ResponseWriter, prevMsgs []... function callGeminiAPIStreaming (line 508) | func callGeminiAPIStreaming(w http.ResponseWriter, contents []map[string... function callGeminiAPIStreamingWithTools (line 513) | func callGeminiAPIStreamingWithTools(w http.ResponseWriter, contents []m... FILE: backend/gemini_image.go constant nanoBanana2ModelID (line 13) | nanoBanana2ModelID = "gemini-3.1-flash-image-preview" function callGeminiImageGeneration (line 17) | func callGeminiImageGeneration(prompt string, aspectRatio string, output... function callGeminiImageGenerationWithReference (line 133) | func callGeminiImageGenerationWithReference(prompt string, referenceImag... FILE: backend/gemini_text_with_attachment.go function callGeminiApiGoWithAttachment (line 4) | func callGeminiApiGoWithAttachment(prevMsgs []ChatMessage, newMsg, attac... FILE: backend/gemini_veo.go type VeoImageInput (line 16) | type VeoImageInput struct type VeoVideoAsset (line 21) | type VeoVideoAsset struct type VeoGenerationRequest (line 26) | type VeoGenerationRequest struct type VeoGenerationResponse (line 39) | type VeoGenerationResponse struct type VeoPollRequest (line 44) | type VeoPollRequest struct type VeoPollResponse (line 51) | type VeoPollResponse struct function startVeoVideoGeneration (line 62) | func startVeoVideoGeneration(req VeoGenerationRequest) (*VeoGenerationRe... function pollVeoOperation (line 214) | func pollVeoOperation(operationID, apiKey string) (*VeoPollResponse, err... FILE: backend/gemini_video.go function callGeminiVideoAnalysis (line 15) | func callGeminiVideoAnalysis(videoBase64, mimeType, prompt, apiKey strin... function callGeminiAPIWithModel (line 64) | func callGeminiAPIWithModel(contents []map[string]interface{}, apiKey st... FILE: backend/gpt5_openai.go function callGPT5DrawToCodeApiFull (line 16) | func callGPT5DrawToCodeApiFull(imageBase64, userPrompt, template, imageS... function callGPT5DrawToCodeStreaming (line 77) | func callGPT5DrawToCodeStreaming(w http.ResponseWriter, imageBase64, use... function callGPT5ApiGo (line 118) | func callGPT5ApiGo(prevMsgs []ChatMessage, newMsg, apiKey, openAIModel s... function callGPT5API (line 180) | func callGPT5API(messages []map[string]interface{}, apiKey string, maxTo... function callGPT5ChatStreaming (line 294) | func callGPT5ChatStreaming(w http.ResponseWriter, prevMsgs []ChatMessage... function callGPT5APIStreaming (line 337) | func callGPT5APIStreaming(w http.ResponseWriter, messages []map[string]i... FILE: backend/gpt5_responses_api.go function callGPT5ResponsesAPIStreaming (line 16) | func callGPT5ResponsesAPIStreaming(w http.ResponseWriter, prevMsgs []Cha... function extractThinkingStepTitle (line 305) | func extractThinkingStepTitle(text string) string { FILE: backend/grok_image.go constant xAIImageGenerationURL (line 17) | xAIImageGenerationURL = "https://api.x.ai/v1/images/generations" constant xAIImageEditURL (line 18) | xAIImageEditURL = "https://api.x.ai/v1/images/edits" constant xAIImageGenerationModel (line 19) | xAIImageGenerationModel = "grok-imagine-image-pro" constant xAIImageEditModel (line 20) | xAIImageEditModel = "grok-imagine-image" constant xAIImageEditResolution (line 21) | xAIImageEditResolution = "1k" function callGrokImageGeneration (line 26) | func callGrokImageGeneration(prompt, apiKey, aspectRatio string) (string... function callGrokImageGenerationWithReference (line 44) | func callGrokImageGenerationWithReference(prompt, referenceImageBase64, ... function callXAIImageAPI (line 69) | func callXAIImageAPI(endpointURL, model string, reqBody map[string]inter... function ensureImageDataURI (line 109) | func ensureImageDataURI(value, defaultMimeType string) string { function parseXAIImageGenerationResponse (line 120) | func parseXAIImageGenerationResponse(respBody []byte, apiKey string) (st... function downloadImageURLAsDataURI (line 161) | func downloadImageURLAsDataURI(imageURL, apiKey string) (string, error) { FILE: backend/grok_video.go constant xAIVideoGenerationURL (line 14) | xAIVideoGenerationURL = "https://api.x.ai/v1/videos/generations" constant xAIVideoGenerationModel (line 15) | xAIVideoGenerationModel = "grok-imagine-video" function startGrokImagineVideoGeneration (line 18) | func startGrokImagineVideoGeneration(req VeoGenerationRequest) (*VeoGene... function xaiStartVideoGenerationRequest (line 156) | func xaiStartVideoGenerationRequest(payload map[string]interface{}, apiK... function pollGrokImagineVideoOperation (line 183) | func pollGrokImagineVideoOperation(operationID, apiKey string) (*VeoPoll... function normalizeXAIVideoDurationSeconds (line 313) | func normalizeXAIVideoDurationSeconds(value int) int { function normalizeXAIVideoResolution (line 326) | func normalizeXAIVideoResolution(value string) string { function veoImageInputToDataURI (line 337) | func veoImageInputToDataURI(input VeoImageInput) string { function normalizeVideoAspectRatio (line 353) | func normalizeVideoAspectRatio(value string) string { function xaiExtractVideoURL (line 365) | func xaiExtractVideoURL(raw map[string]interface{}) string { function xaiExtractAspectRatio (line 416) | func xaiExtractAspectRatio(raw map[string]interface{}) string { function xaiExtractVideoStatus (line 447) | func xaiExtractVideoStatus(raw map[string]interface{}) string { function xaiExtractErrorMessage (line 473) | func xaiExtractErrorMessage(raw map[string]interface{}) string { function xaiErrorValue (line 497) | func xaiErrorValue(v interface{}) string { function xaiMapStringValue (line 508) | func xaiMapStringValue(m map[string]interface{}, keys ...string) string { function xaiStringValue (line 519) | func xaiStringValue(v interface{}) string { function xaiAsMap (line 530) | func xaiAsMap(v interface{}) map[string]interface{} { function xaiAsSlice (line 535) | func xaiAsSlice(v interface{}) []interface{} { function truncateBodyForLog (line 540) | func truncateBodyForLog(body []byte, maxLen int) string { FILE: backend/grok_xai.go function findValidUTF8CutPoint (line 18) | func findValidUTF8CutPoint(s string, maxPos int) int { function callGrok4DrawToCodeApiFull (line 32) | func callGrok4DrawToCodeApiFull(imageBase64, userPrompt, template, image... function callGrok4DrawToCodeStreaming (line 92) | func callGrok4DrawToCodeStreaming(w http.ResponseWriter, imageBase64, us... function callGrok4ApiGo (line 132) | func callGrok4ApiGo(prevMsgs []ChatMessage, newMsg, apiKey string) (*R1R... function callGrok4API (line 197) | func callGrok4API(messages []map[string]interface{}, apiKey string, maxT... function callGrok4ChatStreaming (line 295) | func callGrok4ChatStreaming(w http.ResponseWriter, prevMsgs []ChatMessag... function callGrok4APIStreaming (line 340) | func callGrok4APIStreaming(w http.ResponseWriter, messages []map[string]... FILE: backend/handlers.go function extractProjectName (line 18) | func extractProjectName(response string) (name string, cleaned string) { function chatWithAIHandler (line 26) | func chatWithAIHandler(w http.ResponseWriter, r *http.Request) { function writeJSON (line 819) | func writeJSON(w http.ResponseWriter, v interface{}) { function webSearchHandler (line 824) | func webSearchHandler(w http.ResponseWriter, r *http.Request) { function analyzeVideoHandler (line 852) | func analyzeVideoHandler(w http.ResponseWriter, r *http.Request) { function generateImageHandler (line 1004) | func generateImageHandler(w http.ResponseWriter, r *http.Request) { function normalizeImageAspectRatio (line 1371) | func normalizeImageAspectRatio(value string) string { function isGrokImagineImageSource (line 1392) | func isGrokImagineImageSource(imageSource string) bool { function normalizeVideoProvider (line 1403) | func normalizeVideoProvider(videoSource string, hasGeminiKey bool, hasXA... function generateVeoVideoHandler (line 1421) | func generateVeoVideoHandler(w http.ResponseWriter, r *http.Request) { function pollVeoOperationHandler (line 1470) | func pollVeoOperationHandler(w http.ResponseWriter, r *http.Request) { FILE: backend/main.go function main (line 10) | func main() { FILE: backend/model_helpers.go constant defaultOpenAIModelID (line 5) | defaultOpenAIModelID = "gpt-5.4" type openAITextPricing (line 7) | type openAITextPricing struct function isOpenAIChatAlias (line 12) | func isOpenAIChatAlias(modelID string) bool { function normalizeOpenAIModelID (line 21) | func normalizeOpenAIModelID(modelID string) string { function openAITextPricingForModel (line 37) | func openAITextPricingForModel(modelID string) (openAITextPricing, bool) { function estimateOpenAITextCost (line 50) | func estimateOpenAITextCost(modelID string, inputTokens, outputTokens in... function normalizeGeminiModelID (line 59) | func normalizeGeminiModelID(modelID string) string { function normalizeFireworksModelID (line 76) | func normalizeFireworksModelID(modelID string) string { function normalizeOpenRouterModelID (line 96) | func normalizeOpenRouterModelID(modelID string) string { function normalizeOpenCodeZenModelID (line 118) | func normalizeOpenCodeZenModelID(modelID string) string { function normalizeXAIModelID (line 143) | func normalizeXAIModelID(modelID string) string { FILE: backend/o3_openai.go function callo3miniOpenAiDrawToCodeApiFull (line 13) | func callo3miniOpenAiDrawToCodeApiFull(imageBase64, userPrompt, prompt, ... function callo3miniOpenAiApiGo (line 81) | func callo3miniOpenAiApiGo(prevMsgs []ChatMessage, newMsg, openAiKey str... function getOpenAiImageDescription (line 133) | func getOpenAiImageDescription(imageBase64, openAiKey string) (string, e... function callOpenAiSSE (line 197) | func callOpenAiSSE(messages []map[string]interface{}, openAiKey string) ... FILE: backend/openai_image.go function callOpenAIImageGeneration (line 17) | func callOpenAIImageGeneration(prompt string, aspectRatio string, output... function callOpenAIImageGenerationWithReference (line 107) | func callOpenAIImageGenerationWithReference(prompt string, referenceImag... function shouldUseReferenceImage (line 251) | func shouldUseReferenceImage(prompt string) bool { FILE: backend/opencode_driver.go type OpenCodeDriver (line 38) | type OpenCodeDriver struct method createRefineSession (line 654) | func (d *OpenCodeDriver) createRefineSession(ctx context.Context, proj... method resolveRefineSession (line 665) | func (d *OpenCodeDriver) resolveRefineSession(ctx context.Context, pro... method TranslateToProduction (line 1911) | func (d *OpenCodeDriver) TranslateToProduction(ctx context.Context, re... method TranslateToProductionStreaming (line 2108) | func (d *OpenCodeDriver) TranslateToProductionStreaming(ctx context.Co... method streamEvents (line 2376) | func (d *OpenCodeDriver) streamEvents(ctx context.Context, w http.Resp... method collectGeneratedFiles (line 2467) | func (d *OpenCodeDriver) collectGeneratedFiles(ctx context.Context, pr... method CheckHealth (line 2485) | func (d *OpenCodeDriver) CheckHealth(ctx context.Context) error { method sendSessionPrompt (line 2646) | func (d *OpenCodeDriver) sendSessionPrompt( method runAssetPlacementReconcilePass (line 5453) | func (d *OpenCodeDriver) runAssetPlacementReconcilePass( method abortSessionBestEffort (line 6677) | func (d *OpenCodeDriver) abortSessionBestEffort(sessionID, projectDir,... method streamEventsToSSE (line 6700) | func (d *OpenCodeDriver) streamEventsToSSE(ctx context.Context, w http... method streamEventsAndWaitForCompletion (line 6956) | func (d *OpenCodeDriver) streamEventsAndWaitForCompletion( method resolveQuestionEndpoint (line 7544) | func (d *OpenCodeDriver) resolveQuestionEndpoint(_ context.Context) st... method hasRecentQuestionReply (line 7553) | func (d *OpenCodeDriver) hasRecentQuestionReply(questionID string) bool { method beginQuestionReply (line 7573) | func (d *OpenCodeDriver) beginQuestionReply(questionID string) bool { method markQuestionReplied (line 7597) | func (d *OpenCodeDriver) markQuestionReplied(questionID string) { method clearQuestionReply (line 7606) | func (d *OpenCodeDriver) clearQuestionReply(questionID string) { method respondToQuestion (line 7615) | func (d *OpenCodeDriver) respondToQuestion(ctx context.Context, sessio... method resolvePermissionEndpoint (line 7769) | func (d *OpenCodeDriver) resolvePermissionEndpoint(ctx context.Context... method respondToPermission (line 7778) | func (d *OpenCodeDriver) respondToPermission(ctx context.Context, sess... type usageLimitHint (line 52) | type usageLimitHint struct type openCodeOpenAIAuthState (line 72) | type openCodeOpenAIAuthState struct constant openAIOAuthIssuer (line 95) | openAIOAuthIssuer = "https://auth.openai.com" constant openAIOAuthDefaultClientID (line 96) | openAIOAuthDefaultClientID = "app_EMoamEEZ73f0CkXaXp7hrann" constant openAIOAuthDefaultOriginator (line 97) | openAIOAuthDefaultOriginator = "Codex Desktop" constant openAIOAuthDefaultRedirectURI (line 98) | openAIOAuthDefaultRedirectURI = "http://localhost:1455/auth/callback" constant openAIOAuthLoopbackListenAddr (line 99) | openAIOAuthLoopbackListenAddr = "127.0.0.1:1455" type openCodeRuntimePaths (line 102) | type openCodeRuntimePaths struct type openCodeAuthStatusResponse (line 109) | type openCodeAuthStatusResponse struct function shouldSuppressOpenCodeServerLogLine (line 129) | func shouldSuppressOpenCodeServerLogLine(line string) bool { function shouldSuppressOpenCodeServerStderrInfoLine (line 151) | func shouldSuppressOpenCodeServerStderrInfoLine(line string) bool { type GlowbomProject (line 164) | type GlowbomProject struct type Target (line 177) | type Target struct type ProjectPaths (line 185) | type ProjectPaths struct type OpenCodeTranslateRequest (line 197) | type OpenCodeTranslateRequest struct type OpenCodeTranslateResponse (line 223) | type OpenCodeTranslateResponse struct type OpenAIModelsRequest (line 233) | type OpenAIModelsRequest struct type OpenAIModelOption (line 243) | type OpenAIModelOption struct type OpenAIModelsDebug (line 248) | type OpenAIModelsDebug struct type OpenAIModelsResponse (line 259) | type OpenAIModelsResponse struct type OpenCodeAvailableModelsRequest (line 267) | type OpenCodeAvailableModelsRequest struct type OpenCodeProviderModelOption (line 281) | type OpenCodeProviderModelOption struct type OpenCodeProviderOption (line 286) | type OpenCodeProviderOption struct type OpenCodeAvailableModelsResponse (line 292) | type OpenCodeAvailableModelsResponse struct type OpenCodeAuthConnectRequest (line 298) | type OpenCodeAuthConnectRequest struct type OpenCodeAuthDisconnectRequest (line 305) | type OpenCodeAuthDisconnectRequest struct type OpenCodeAuthConnectionResponse (line 309) | type OpenCodeAuthConnectionResponse struct type OpenCodeAuthOAuthStartRequest (line 317) | type OpenCodeAuthOAuthStartRequest struct type OpenCodeAuthOAuthStartResponse (line 321) | type OpenCodeAuthOAuthStartResponse struct type OpenCodeAuthOAuthStatusResponse (line 330) | type OpenCodeAuthOAuthStatusResponse struct type openCodeOpenAIOAuthSession (line 340) | type openCodeOpenAIOAuthSession struct function isOpenAICodexForwardCompatModelID (line 367) | func isOpenAICodexForwardCompatModelID(modelID string) bool { function appendOpenAICodexForwardCompatModels (line 375) | func appendOpenAICodexForwardCompatModels(models []OpenAIModelOption, pr... function previewStringList (line 421) | func previewStringList(values []string, max int) []string { type OpenCodeQuestionRespondRequest (line 429) | type OpenCodeQuestionRespondRequest struct type QuestionAnswers (line 438) | type QuestionAnswers method UnmarshalJSON (line 440) | func (qa *QuestionAnswers) UnmarshalJSON(b []byte) error { type AnswerByQuestionID (line 461) | type AnswerByQuestionID method UnmarshalJSON (line 463) | func (abq *AnswerByQuestionID) UnmarshalJSON(b []byte) error { type OpenCodePermissionRespondRequest (line 485) | type OpenCodePermissionRespondRequest struct function getAgentPort (line 494) | func getAgentPort() string { function openCodeServerHostname (line 501) | func openCodeServerHostname() string { function openCodeServerUsername (line 508) | func openCodeServerUsername() string { function openCodeServerPassword (line 515) | func openCodeServerPassword() string { function openCodeServerAuthorizationHeader (line 519) | func openCodeServerAuthorizationHeader() string { function applyOpenCodeServerAuthorization (line 528) | func applyOpenCodeServerAuthorization(req *http.Request) { function glowbomOpenCodeRuntimePaths (line 534) | func glowbomOpenCodeRuntimePaths() (openCodeRuntimePaths, error) { function ensureOpenCodeRuntimeDirs (line 555) | func ensureOpenCodeRuntimeDirs(paths openCodeRuntimePaths) error { function setEnvValue (line 568) | func setEnvValue(env []string, key, value string) []string { function normalizeOpenAIAuthMode (line 579) | func normalizeOpenAIAuthMode(mode string) string { function openAIKeyFingerprint (line 590) | func openAIKeyFingerprint(openAIKey string) string { function getOpenCodeOpenAIAuthState (line 600) | func getOpenCodeOpenAIAuthState() openCodeOpenAIAuthState { function setOpenCodeOpenAIAuthState (line 606) | func setOpenCodeOpenAIAuthState(mode, openAIKey string) { function shouldRestartForOpenAIAuthChange (line 622) | func shouldRestartForOpenAIAuthChange(serverWasAlreadyRunning bool, requ... function isSessionNotFoundError (line 645) | func isSessionNotFoundError(err error) bool { function openAIOAuthClientID (line 687) | func openAIOAuthClientID() string { function openAIOAuthOriginator (line 694) | func openAIOAuthOriginator() string { function openAIOAuthRedirectURI (line 701) | func openAIOAuthRedirectURI() string { function randomURLSafeBase64 (line 708) | func randomURLSafeBase64(byteCount int) (string, error) { function sha256Base64URL (line 719) | func sha256Base64URL(value string) string { function ensureOpenAIOAuthSessionStore (line 724) | func ensureOpenAIOAuthSessionStore() { function cleanupExpiredOpenAIOAuthSessionsLocked (line 732) | func cleanupExpiredOpenAIOAuthSessionsLocked(now time.Time) { function ensureOpenAIOAuthLoopbackServer (line 748) | func ensureOpenAIOAuthLoopbackServer() error { function openCodeOpenAIOAuthLoopbackCallbackHandler (line 788) | func openCodeOpenAIOAuthLoopbackCallbackHandler(w http.ResponseWriter, r... function openCodeOpenAIOAuthLoopbackCancelHandler (line 803) | func openCodeOpenAIOAuthLoopbackCancelHandler(w http.ResponseWriter, r *... function writeOpenAIOAuthCallbackHTML (line 816) | func writeOpenAIOAuthCallbackHTML(w http.ResponseWriter, success bool, m... function exchangeOpenAIOAuthCodeForCredential (line 853) | func exchangeOpenAIOAuthCodeForCredential(code, codeVerifier, redirectUR... function isServerRunning (line 911) | func isServerRunning(serverURL string) bool { function startOpenCodeServer (line 934) | func startOpenCodeServer(openAIKey, anthropicKey, geminiKey, fireworksKe... function syncOpenAIAuth (line 1098) | func syncOpenAIAuth(serverURL, accessToken, refreshToken string, expires... function clearOpenAIAuth (line 1154) | func clearOpenAIAuth(serverURL string) error { function applyOpenAIAuthModeToRunningServer (line 1180) | func applyOpenAIAuthModeToRunningServer(serverURL, openAIAuthMode, openA... function waitForOpenCodeServerReady (line 1208) | func waitForOpenCodeServerReady(serverURL string, timeout time.Duration)... function stopOpenCodeServerOnPort (line 1221) | func stopOpenCodeServerOnPort(port string) error { function restartOpenCodeServer (line 1264) | func restartOpenCodeServer(openAIKey, anthropicKey, geminiKey, fireworks... function shouldAttemptOpenCodeRestartForProvider (line 1285) | func shouldAttemptOpenCodeRestartForProvider(providerID, openAIKey, anth... function normalizeOpenCodeProviderID (line 1306) | func normalizeOpenCodeProviderID(providerID string) string { function isStrictModelPreflightProvider (line 1315) | func isStrictModelPreflightProvider(providerID string) bool { function ensureOpenCodeModelAvailable (line 1324) | func ensureOpenCodeModelAvailable(projectPath, providerID, modelID strin... type openCodeProviderModelProbe (line 1395) | type openCodeProviderModelProbe struct function probeOpenCodeProviderModel (line 1402) | func probeOpenCodeProviderModel(projectPath, providerID, modelID string)... function openCodeZenAgentModelFallbackCandidates (line 1453) | func openCodeZenAgentModelFallbackCandidates(modelID string) []string { function ollamaAgentModelFallbackCandidates (line 1486) | func ollamaAgentModelFallbackCandidates(modelID string) []string { function resolveSessionModelForRequest (line 1543) | func resolveSessionModelForRequest(projectPath, requestedModel string) (... function ensureOpenCodeServerReady (line 1627) | func ensureOpenCodeServerReady(projectPath, model, openAIKey, anthropicK... function NewOpenCodeDriver (line 1728) | func NewOpenCodeDriver(serverURL string) *OpenCodeDriver { function GetProjectPaths (line 1760) | func GetProjectPaths(projectRoot string) ProjectPaths { function InitProject (line 1774) | func InitProject(projectRoot, name string) (*GlowbomProject, error) { function LoadProject (line 1814) | func LoadProject(manifestPath string) (*GlowbomProject, error) { function SaveProject (line 1829) | func SaveProject(manifestPath string, project *GlowbomProject) error { function SavePrototype (line 1845) | func SavePrototype(projectRoot, html string, assets map[string][]byte) e... function LoadPrototype (line 1875) | func LoadPrototype(projectRoot string) (string, error) { function GetTargetDir (line 1888) | func GetTargetDir(projectRoot, targetLang string) string { function buildTranslationPrompt (line 2498) | func buildTranslationPrompt(sourceHTML, targetLang string) string { function buildProjectTranslationPrompt (line 2518) | func buildProjectTranslationPrompt(sourceHTML, targetLang, projectRoot, ... function parseModel (line 2551) | func parseModel(model string) (modelID, providerID string) { function containsEmbeddedImageDataURI (line 2633) | func containsEmbeddedImageDataURI(content string) bool { function isIgnorablePromptParseError (line 2638) | func isIgnorablePromptParseError(err error) bool { function sendSSEEvent (line 2672) | func sendSSEEvent(w http.ResponseWriter, flusher http.Flusher, event, da... function GetOpenCodeDriver (line 2681) | func GetOpenCodeDriver() *OpenCodeDriver { function openCodeTranslateHandler (line 2693) | func openCodeTranslateHandler(w http.ResponseWriter, r *http.Request) { function openCodeInitProjectHandler (line 2775) | func openCodeInitProjectHandler(w http.ResponseWriter, r *http.Request) { function openCodeGetProjectHandler (line 2827) | func openCodeGetProjectHandler(w http.ResponseWriter, r *http.Request) { function openCodeRenameProjectHandler (line 2867) | func openCodeRenameProjectHandler(w http.ResponseWriter, r *http.Request) { function openCodeUpdateProjectSettingsHandler (line 2914) | func openCodeUpdateProjectSettingsHandler(w http.ResponseWriter, r *http... function openCodeGenerateIconHandler (line 2976) | func openCodeGenerateIconHandler(w http.ResponseWriter, r *http.Request) { function openCodeProjectIconHandler (line 3063) | func openCodeProjectIconHandler(w http.ResponseWriter, r *http.Request) { type openCodeOpenAIOAuthCredential (line 3092) | type openCodeOpenAIOAuthCredential struct function parseRawJSONNumber (line 3099) | func parseRawJSONNumber(raw json.RawMessage) float64 { function normalizeOAuthExpiresToReferenceSeconds (line 3125) | func normalizeOAuthExpiresToReferenceSeconds(raw float64) float64 { function isFinite (line 3142) | func isFinite(v float64) bool { function readOpenAIOAuthCredentialFromOpenCodeAuthFile (line 3146) | func readOpenAIOAuthCredentialFromOpenCodeAuthFile(authFilePath string) ... function readOpenAIOAuthCredentialFromCodexAuthFile (line 3201) | func readOpenAIOAuthCredentialFromCodexAuthFile() (openCodeOpenAIOAuthCr... function resolveOpenAIOAuthCredentialForConnect (line 3255) | func resolveOpenAIOAuthCredentialForConnect(req OpenCodeAuthConnectReque... function clearOpenAIAuthFromAuthFile (line 3291) | func clearOpenAIAuthFromAuthFile(authFilePath string) error { function persistOpenAIOAuthToAuthFile (line 3322) | func persistOpenAIOAuthToAuthFile(authFilePath string, credential openCo... function openAICredentialTypeFromAuthFile (line 3373) | func openAICredentialTypeFromAuthFile(authFilePath string) string { function cachedGlowbomOpenAIAuthMode (line 3422) | func cachedGlowbomOpenAIAuthMode() string { function currentOpenCodeAuthStatus (line 3434) | func currentOpenCodeAuthStatus() openCodeAuthStatusResponse { function openCodeAuthStatusHandler (line 3451) | func openCodeAuthStatusHandler(w http.ResponseWriter, r *http.Request) { function openCodeOpenAIOAuthStartHandler (line 3461) | func openCodeOpenAIOAuthStartHandler(w http.ResponseWriter, r *http.Requ... function openCodeOpenAIOAuthStatusHandler (line 3533) | func openCodeOpenAIOAuthStatusHandler(w http.ResponseWriter, r *http.Req... function setOpenAIOAuthSessionFailed (line 3572) | func setOpenAIOAuthSessionFailed(state, message string) { function setOpenAIOAuthSessionSucceeded (line 3584) | func setOpenAIOAuthSessionSucceeded(state string, status openCodeAuthSta... function finalizeOpenAIOAuthCallback (line 3596) | func finalizeOpenAIOAuthCallback(state, code, oauthError, oauthErrorDesc... function openCodeOpenAIOAuthCallbackHandler (line 3677) | func openCodeOpenAIOAuthCallbackHandler(w http.ResponseWriter, r *http.R... function openCodeOpenAIConnectHandler (line 3692) | func openCodeOpenAIConnectHandler(w http.ResponseWriter, r *http.Request) { function openCodeOpenAIDisconnectHandler (line 3743) | func openCodeOpenAIDisconnectHandler(w http.ResponseWriter, r *http.Requ... function openCodeHealthHandler (line 3789) | func openCodeHealthHandler(w http.ResponseWriter, r *http.Request) { function openAIModelsHandler (line 3827) | func openAIModelsHandler(w http.ResponseWriter, r *http.Request) { function openCodeAvailableModelsHandler (line 3987) | func openCodeAvailableModelsHandler(w http.ResponseWriter, r *http.Reque... type OpenCodeAgentRequest (line 4083) | type OpenCodeAgentRequest struct function openCodeRefineHandler (line 4112) | func openCodeRefineHandler(w http.ResponseWriter, r *http.Request) { function openCodeVerifyHandler (line 4556) | func openCodeVerifyHandler(w http.ResponseWriter, r *http.Request) { function openCodeQuestionRespondHandler (line 4770) | func openCodeQuestionRespondHandler(w http.ResponseWriter, r *http.Reque... function openCodePermissionRespondHandler (line 4805) | func openCodePermissionRespondHandler(w http.ResponseWriter, r *http.Req... constant maxInstructionAttachmentSizeBytes (line 4832) | maxInstructionAttachmentSizeBytes = int64(40 * 1024 * 1024) constant maxInstructionAttachmentCount (line 4833) | maxInstructionAttachmentCount = 20 type stagedInstructionAttachment (line 4836) | type stagedInstructionAttachment struct function hasAnyInstructionAttachmentPath (line 4842) | func hasAnyInstructionAttachmentPath(requestedPaths []string) bool { function resetCurrentInstructionsDirectory (line 4851) | func resetCurrentInstructionsDirectory(projectPath string) error { function stageInstructionAttachments (line 4862) | func stageInstructionAttachments(projectPath string, requestedPaths []st... function stageInstructionTextFile (line 4948) | func stageInstructionTextFile(projectPath, instructions string) (string,... function mergeInstructionAttachmentContext (line 4967) | func mergeInstructionAttachmentContext( function sanitizeAttachmentFilename (line 4997) | func sanitizeAttachmentFilename(name string) string { function uniqueAttachmentFilename (line 5030) | func uniqueAttachmentFilename(baseName string, used map[string]struct{})... function copyLocalAttachmentFile (line 5052) | func copyLocalAttachmentFile(sourcePath, targetPath string) error { function humanReadableBytes (line 5072) | func humanReadableBytes(size int64) string { type agentHistoryAttachmentRecord (line 5094) | type agentHistoryAttachmentRecord struct type agentHistoryEntryRecord (line 5102) | type agentHistoryEntryRecord struct function persistCurrentInstructionsHistory (line 5112) | func persistCurrentInstructionsHistory( function inferMimeTypeForFilename (line 5209) | func inferMimeTypeForFilename(name string) string { function inferHistoryMediaType (line 5220) | func inferHistoryMediaType(mimeType, name string) string { function normalizeHistoryStatus (line 5242) | func normalizeHistoryStatus(status string) string { function truncateText (line 5257) | func truncateText(value string, maxLen int) string { function randomUUIDString (line 5268) | func randomUUIDString() string { function buildRefinePrompt (line 5298) | func buildRefinePrompt(projectRoot, instructions string) string { function loadAgentInstructions (line 5380) | func loadAgentInstructions(projectRoot string) (string, string) { function buildAssetPlacementPrompt (line 5397) | func buildAssetPlacementPrompt(projectRoot string) string { type openCodeSessionResult (line 5446) | type openCodeSessionResult struct function buildVerifyPrompt (line 5559) | func buildVerifyPrompt(projectRoot string) string { function getPropertyValue (line 5613) | func getPropertyValue(p interface{}, path string) interface{} { function getPropertyString (line 5667) | func getPropertyString(p interface{}, paths ...string) string { function getPropertyMap (line 5684) | func getPropertyMap(p interface{}, path string) map[string]interface{} { function getStringSlice (line 5714) | func getStringSlice(p interface{}, path string) []string { function extractAssistantMessageText (line 5740) | func extractAssistantMessageText(props interface{}) string { function extractMessageRole (line 5767) | func extractMessageRole(props interface{}) string { function looksLikeDriverPromptEcho (line 5780) | func looksLikeDriverPromptEcho(content string) bool { function getMapValueCaseInsensitive (line 5792) | func getMapValueCaseInsensitive(m map[string]interface{}, key string) in... function getMapStringCaseInsensitive (line 5801) | func getMapStringCaseInsensitive(m map[string]interface{}, keys ...strin... function summarizeToolInput (line 5822) | func summarizeToolInput(input map[string]interface{}) string { type toolPartProgress (line 5844) | type toolPartProgress struct function extractToolPartProgress (line 5851) | func extractToolPartProgress(props interface{}) (toolPartProgress, bool) { function formatToolPartProgressLine (line 5934) | func formatToolPartProgressLine(progress toolPartProgress) string { function joinPartTexts (line 5950) | func joinPartTexts(parts interface{}) string { function extractPartID (line 5994) | func extractPartID(props interface{}) string { function extractPartMessageID (line 6005) | func extractPartMessageID(props interface{}) string { function extractPartDelta (line 6017) | func extractPartDelta(props interface{}) string { function extractPartSnapshotText (line 6027) | func extractPartSnapshotText(props interface{}) string { function longestCommonPrefix (line 6045) | func longestCommonPrefix(left, right string) string { function computePartChunk (line 6065) | func computePartChunk(partID, explicitDelta, snapshotText string, snapsh... function extractPartChunk (line 6109) | func extractPartChunk(props interface{}, snapshots map[string]string) (c... function parseEventPropertiesFromRaw (line 6126) | func parseEventPropertiesFromRaw(raw string) map[string]interface{} { function extractQuestionItems (line 6140) | func extractQuestionItems(props interface{}) []map[string]interface{} { function extractQuestionFields (line 6176) | func extractQuestionFields(props interface{}) (string, string, string, [... function extractPermissionFields (line 6228) | func extractPermissionFields(props interface{}) (string, string, string,... function eventSessionID (line 6259) | func eventSessionID(props interface{}) string { function extractEventSessionID (line 6277) | func extractEventSessionID(event opencode.EventListResponse) string { function isUsageLimitErrorMessage (line 6293) | func isUsageLimitErrorMessage(msg string) bool { function latestUsageLimitHint (line 6310) | func latestUsageLimitHint() (usageLimitHint, bool) { function extractUsageLimitInt (line 6330) | func extractUsageLimitInt(raw string, pattern *regexp.Regexp) (int64, bo... function extractUsageLimitResetInSeconds (line 6342) | func extractUsageLimitResetInSeconds(raw string) (int64, bool) { function extractUsageLimitWindowMinutes (line 6346) | func extractUsageLimitWindowMinutes(raw string) (int64, bool) { function extractUsageLimitUsedPercent (line 6350) | func extractUsageLimitUsedPercent(raw string) (int64, bool) { function recordUsageLimitHintFromText (line 6354) | func recordUsageLimitHintFromText(raw string) { function extractUsageLimitResetTime (line 6404) | func extractUsageLimitResetTime(raw string) (time.Time, bool) { function formatApproxDuration (line 6420) | func formatApproxDuration(d time.Duration) string { function formatQuotaWindow (line 6451) | func formatQuotaWindow(windowMinutes int64) string { function isTransientSessionStatus (line 6466) | func isTransientSessionStatus(value string) bool { function isIgnorableSessionStatus (line 6476) | func isIgnorableSessionStatus(value string) bool { function usageLimitContext (line 6515) | func usageLimitContext(message, rawEvent string) string { function userFacingAgentErrorMessage (line 6539) | func userFacingAgentErrorMessage(raw string) string { function extractSessionErrorMessage (line 6597) | func extractSessionErrorMessage(props interface{}) string { function extractSessionStatusMessage (line 6615) | func extractSessionStatusMessage(props interface{}) string { function normalizeChangedFilePath (line 7386) | func normalizeChangedFilePath(projectDir, filePath string) string { type projectFileSnapshotEntry (line 7401) | type projectFileSnapshotEntry struct function captureProjectFileSnapshot (line 7406) | func captureProjectFileSnapshot(projectDir string) (map[string]projectFi... function detectChangedFilesFromSnapshot (line 7443) | func detectChangedFilesFromSnapshot(projectDir string, before map[string... function shouldSkipSnapshotDirectory (line 7471) | func shouldSkipSnapshotDirectory(name string) bool { function mergeChangedFiles (line 7480) | func mergeChangedFiles(existing []string, incoming []string) []string { function detectPrototypeChanged (line 7505) | func detectPrototypeChanged(changedFiles []string) bool { function prototypeContainsMediaPlaceholders (line 7515) | func prototypeContainsMediaPlaceholders(projectPath string) bool { function sendSSEData (line 7530) | func sendSSEData(w http.ResponseWriter, flusher http.Flusher, data map[s... function buildQuestionReplyPayloads (line 7714) | func buildQuestionReplyPayloads(sessionID, questionID, answer string, an... function copyStringMap (line 7752) | func copyStringMap(src map[string]interface{}) map[string]interface{} { function mapKeys (line 7760) | func mapKeys(src map[string]interface{}) []string { FILE: backend/opencode_folder_picker.go constant folderPickerCanceledToken (line 15) | folderPickerCanceledToken = "__GLOWBOM_PICKER_CANCELED__" type openCodeProjectPickResponse (line 17) | type openCodeProjectPickResponse struct type openCodeInstructionPickedFile (line 25) | type openCodeInstructionPickedFile struct type openCodeInstructionFilesPickResponse (line 32) | type openCodeInstructionFilesPickResponse struct type nativePickerCommand (line 40) | type nativePickerCommand struct function openCodePickProjectFolderHandler (line 46) | func openCodePickProjectFolderHandler(w http.ResponseWriter, r *http.Req... function openCodePickInstructionFilesHandler (line 111) | func openCodePickInstructionFilesHandler(w http.ResponseWriter, r *http.... function pickProjectFolderMacOS (line 191) | func pickProjectFolderMacOS() (string, bool, error) { function pickInstructionFilesMacOS (line 220) | func pickInstructionFilesMacOS() ([]string, bool, error) { function pickProjectFolderLinux (line 269) | func pickProjectFolderLinux() (string, bool, error) { function pickInstructionFilesLinux (line 303) | func pickInstructionFilesLinux() ([]string, bool, error) { function pickProjectFolderWindows (line 350) | func pickProjectFolderWindows() (string, bool, error) { function pickInstructionFilesWindows (line 382) | func pickInstructionFilesWindows() ([]string, bool, error) { function runPickerCommand (line 429) | func runPickerCommand(cmd *exec.Cmd) (string, error) { function runPickerCommandWithCancel (line 445) | func runPickerCommandWithCancel(cmd *exec.Cmd, cancelExitCodes ...int) (... function runLinuxPicker (line 472) | func runLinuxPicker(commands []nativePickerCommand, missingMessage strin... function defaultPickerStartDir (line 492) | func defaultPickerStartDir() string { function inferMimeTypeForPath (line 500) | func inferMimeTypeForPath(path string) string { FILE: backend/opencode_media_postpass.go constant maxGeneratedImageBytes (line 23) | maxGeneratedImageBytes = 25 * 1024 * 1024 constant maxGeneratedVideoBytes (line 24) | maxGeneratedVideoBytes = 120 * 1024 * 1024 constant maxGeneratedAudioBytes (line 25) | maxGeneratedAudioBytes = 40 * 1024 * 1024 type OpenCodeMediaPostPassRequest (line 35) | type OpenCodeMediaPostPassRequest struct type OpenCodeMediaPostPassResponse (line 50) | type OpenCodeMediaPostPassResponse struct type OpenCodeMediaAsset (line 59) | type OpenCodeMediaAsset struct type OpenCodePlatformCopy (line 69) | type OpenCodePlatformCopy struct type postPassImageRef (line 75) | type postPassImageRef struct type postPassVideoPlaceholder (line 81) | type postPassVideoPlaceholder struct type postPassAudioPlaceholder (line 88) | type postPassAudioPlaceholder struct type studioAssetRecord (line 100) | type studioAssetRecord struct type prototypeAssetsManifest (line 108) | type prototypeAssetsManifest struct type prototypeAssetsManifestItem (line 114) | type prototypeAssetsManifestItem struct type platformAssetsMap (line 122) | type platformAssetsMap struct type platformAssetsMapRow (line 127) | type platformAssetsMapRow struct type platformAssetsMapTargetRow (line 133) | type platformAssetsMapTargetRow struct function openCodeMediaPostPassHandler (line 138) | func openCodeMediaPostPassHandler(w http.ResponseWriter, r *http.Request) { function runOpenCodeMediaPostPass (line 166) | func runOpenCodeMediaPostPass(ctx context.Context, req OpenCodeMediaPost... function materializeImagePlaceholder (line 356) | func materializeImagePlaceholder( function materializeVideoPlaceholder (line 428) | func materializeVideoPlaceholder( function materializeAudioPlaceholder (line 471) | func materializeAudioPlaceholder( function generateElevenLabsAudioForPostPass (line 547) | func generateElevenLabsAudioForPostPass( function generateImageForPostPass (line 631) | func generateImageForPostPass(req OpenCodeMediaPostPassRequest, prompt, ... function generateVeoVideoFromImage (line 696) | func generateVeoVideoFromImage(ctx context.Context, prompt, aspectRatio,... function downloadVeoVideoBinary (line 758) | func downloadVeoVideoBinary(videoURL, apiKey string) ([]byte, error) { function writePrototypeAssetsManifest (line 796) | func writePrototypeAssetsManifest(projectPath string, assets []OpenCodeM... function writePlatformAssetsMap (line 859) | func writePlatformAssetsMap(projectPath string, copies []OpenCodePlatfor... function syncAssetsToPlatforms (line 907) | func syncAssetsToPlatforms(projectPath string) ([]OpenCodePlatformCopy, ... function copyToAppleAssetCatalog (line 1064) | func copyToAppleAssetCatalog(sourcePath, assetCatalogRoot, mediaType str... function materializeFromStudioAsset (line 1130) | func materializeFromStudioAsset(asset studioAssetRecord, mediaType strin... function resolveVideoStartFrame (line 1162) | func resolveVideoStartFrame(fromKey string, imageRefsByKey map[string]po... function registerImageRefKeys (line 1192) | func registerImageRefKeys(index map[string]postPassImageRef, ref postPas... type imagePlaceholder (line 1198) | type imagePlaceholder struct function extractImagePlaceholders (line 1203) | func extractImagePlaceholders(content string) []imagePlaceholder { function extractVideoPlaceholders (line 1227) | func extractVideoPlaceholders(content string) []postPassVideoPlaceholder { function parseGlowbyVideoPayload (line 1256) | func parseGlowbyVideoPayload(token, payload string) postPassVideoPlaceho... function extractAudioPlaceholders (line 1279) | func extractAudioPlaceholders(content string) []postPassAudioPlaceholder { function parseGlowbyAudioPayload (line 1308) | func parseGlowbyAudioPayload(token, payload string) postPassAudioPlaceho... function normalizePostPassAudioType (line 1367) | func normalizePostPassAudioType(audioType string, prompt string) string { function inferAudioTypeFromPrompt (line 1380) | func inferAudioTypeFromPrompt(prompt string) string { function parseBoolOption (line 1431) | func parseBoolOption(value string) bool { function floatPointerKey (line 1440) | func floatPointerKey(value *float64) string { function normalizeAspectRatio (line 1447) | func normalizeAspectRatio(value string) string { function resolveReferenceImage (line 1456) | func resolveReferenceImage(req OpenCodeMediaPostPassRequest, projectPath... function loadStudioAssets (line 1503) | func loadStudioAssets() ([]studioAssetRecord, error) { function findStudioAssetByPrompt (line 1548) | func findStudioAssetByPrompt(assets []studioAssetRecord, mediaType, prom... function findStudioAssetByKey (line 1577) | func findStudioAssetByKey(assets []studioAssetRecord, mediaType, key, pr... function resolveScanTargetPath (line 1612) | func resolveScanTargetPath(projectPath, rawTarget string) (string, error) { function writePrototypeAsset (line 1632) | func writePrototypeAsset(projectPath, filename string, data []byte, allo... function copyFile (line 1665) | func copyFile(sourcePath, destinationPath string, maxSize int64) error { function safeProjectPath (line 1685) | func safeProjectPath(projectPath string, pathSegments ...string) (string... function isPathWithin (line 1704) | func isPathWithin(basePath, targetPath string) bool { function decodeBase64Payload (line 1713) | func decodeBase64Payload(value string, fallbackMime string) ([]byte, str... function detectMimeType (line 1752) | func detectMimeType(data []byte, fallback string) string { function imageExtensionForMimeType (line 1766) | func imageExtensionForMimeType(mimeType string) string { function audioExtensionForMimeType (line 1777) | func audioExtensionForMimeType(mimeType string) string { function classifyMediaTypeByExt (line 1794) | func classifyMediaTypeByExt(ext string) string { function maxAssetBytesForMediaType (line 1807) | func maxAssetBytesForMediaType(mediaType string) int64 { function deterministicAssetFilename (line 1818) | func deterministicAssetFilename(prefix, prompt, ext string) string { function resourceSafeName (line 1836) | func resourceSafeName(value string) string { function normalizedLookupKey (line 1866) | func normalizedLookupKey(value string) string { function sanitizeProviderError (line 1870) | func sanitizeProviderError(err error) string { function dedupeWarnings (line 1888) | func dedupeWarnings(warnings []string) []string { function directoryExists (line 1905) | func directoryExists(path string) bool { FILE: backend/opencode_project_history.go type openCodeProjectHistoryAttachmentResponse (line 14) | type openCodeProjectHistoryAttachmentResponse struct type openCodeProjectHistoryEntryResponse (line 24) | type openCodeProjectHistoryEntryResponse struct type openCodeProjectHistoryResponse (line 36) | type openCodeProjectHistoryResponse struct function openCodeProjectHistoryHandler (line 43) | func openCodeProjectHistoryHandler(w http.ResponseWriter, r *http.Reques... function loadProjectHistoryEntries (line 97) | func loadProjectHistoryEntries(projectPath string) ([]openCodeProjectHis... function historyEntrySortTime (line 227) | func historyEntrySortTime(timestamp string, folderName string) time.Time { FILE: backend/opencode_project_open.go constant openCodeIDEFinder (line 16) | openCodeIDEFinder = "finder" constant openCodeIDEXcode (line 17) | openCodeIDEXcode = "xcode" constant openCodeIDEAndroidStudio (line 18) | openCodeIDEAndroidStudio = "android-studio" constant openCodeIDEVSCode (line 19) | openCodeIDEVSCode = "vscode" type openCodeProjectIDERequest (line 22) | type openCodeProjectIDERequest struct type openCodeProjectIDEAction (line 26) | type openCodeProjectIDEAction struct type openCodeProjectIDEStatusResponse (line 34) | type openCodeProjectIDEStatusResponse struct type openCodeProjectOpenRequest (line 41) | type openCodeProjectOpenRequest struct type openCodeProjectOpenResponse (line 46) | type openCodeProjectOpenResponse struct type openCodeLaunchCommand (line 53) | type openCodeLaunchCommand struct function openCodeProjectIDEStatusHandler (line 58) | func openCodeProjectIDEStatusHandler(w http.ResponseWriter, r *http.Requ... function openCodeProjectOpenHandler (line 94) | func openCodeProjectOpenHandler(w http.ResponseWriter, r *http.Request) { function readProjectPathFromRequest (line 151) | func readProjectPathFromRequest(r *http.Request) (string, error) { function normalizeExistingDirectoryPath (line 172) | func normalizeExistingDirectoryPath(path string) (string, error) { function inspectProjectIDEActions (line 197) | func inspectProjectIDEActions(projectPath string) []openCodeProjectIDEAc... function inspectFinderAction (line 206) | func inspectFinderAction(projectPath string) openCodeProjectIDEAction { function inspectXcodeAction (line 237) | func inspectXcodeAction(projectPath string) openCodeProjectIDEAction { function inspectAndroidStudioAction (line 282) | func inspectAndroidStudioAction(projectPath string) openCodeProjectIDEAc... function inspectVSCodeAction (line 327) | func inspectVSCodeAction(projectPath string) openCodeProjectIDEAction { function destinationPathForProject (line 370) | func destinationPathForProject(projectPath string, outputDirs []string, ... function preferredXcodePath (line 380) | func preferredXcodePath(basePath string) string { function projectDirectoryExists (line 403) | func projectDirectoryExists(path string) bool { function applicationExists (line 408) | func applicationExists(path string) bool { function openProjectInIDE (line 413) | func openProjectInIDE(projectPath, ide string) (string, error) { function openProjectFolder (line 428) | func openProjectFolder(projectPath string) (string, error) { function openInXcode (line 439) | func openInXcode(projectPath string) (string, error) { function openInAndroidStudio (line 463) | func openInAndroidStudio(projectPath string) (string, error) { function openInVSCode (line 485) | func openInVSCode(projectPath string) (string, error) { function runMacOpenWithApp (line 505) | func runMacOpenWithApp(appPath, targetPath string) error { function runMacOpenCommand (line 516) | func runMacOpenCommand(targetPath string) error { function folderOpenLaunchCommand (line 526) | func folderOpenLaunchCommand() (openCodeLaunchCommand, bool) { function androidStudioLaunchCommand (line 551) | func androidStudioLaunchCommand() (openCodeLaunchCommand, bool) { function vsCodeLaunchCommand (line 595) | func vsCodeLaunchCommand() (openCodeLaunchCommand, bool) { function folderOpenReason (line 640) | func folderOpenReason() string { function folderOpenUnavailableReason (line 653) | func folderOpenUnavailableReason() string { function openFolderWithSystemDefault (line 662) | func openFolderWithSystemDefault(targetPath string) error { function runLaunchCommand (line 671) | func runLaunchCommand(command openCodeLaunchCommand, targetPath string) ... function resolveLaunchExecutable (line 687) | func resolveLaunchExecutable(candidate string) string { function firstResolvedExecutable (line 707) | func firstResolvedExecutable(candidates []string) string { function isPlatformUnsupportedOpenError (line 716) | func isPlatformUnsupportedOpenError(err error) bool { FILE: backend/opencode_zen.go constant openCodeZenChatCompletionsURL (line 15) | openCodeZenChatCompletionsURL = "https://opencode.ai/zen/v1/chat/complet... constant openCodeZenChatMaxTokens (line 18) | openCodeZenChatMaxTokens = 4096 constant openCodeZenDrawToCodeMaxTokens (line 19) | openCodeZenDrawToCodeMaxTokens = 16384 constant openCodeZenDefaultTemperature (line 20) | openCodeZenDefaultTemperature = 0.6 constant openCodeZenHeaderTimeout (line 21) | openCodeZenHeaderTimeout = 90 * time.Second type openCodeZenAPIError (line 26) | type openCodeZenAPIError struct method Error (line 32) | func (e *openCodeZenAPIError) Error() string { function newOpenCodeZenHTTPClient (line 39) | func newOpenCodeZenHTTPClient() *http.Client { function openCodeZenModelCandidates (line 48) | func openCodeZenModelCandidates(modelID string, allowCrossModelFallback ... function openCodeZenShouldTryFallbackModel (line 76) | func openCodeZenShouldTryFallbackModel(err error) bool { function openCodeZenExtractProviderErrorMessage (line 99) | func openCodeZenExtractProviderErrorMessage(bodyText string) string { function openCodeZenStatusError (line 160) | func openCodeZenStatusError(status int, model, bodyText string) error { function setOpenCodeZenRequestHeaders (line 198) | func setOpenCodeZenRequestHeaders(req *http.Request, apiKey string, acce... function openCodeZenAPIModelID (line 204) | func openCodeZenAPIModelID(modelID string) string { function callOpenCodeZenDrawToCodeApiFull (line 210) | func callOpenCodeZenDrawToCodeApiFull(imageBase64, userPrompt, template,... function callOpenCodeZenDrawToCodeStreaming (line 236) | func callOpenCodeZenDrawToCodeStreaming(w http.ResponseWriter, imageBase... function callOpenCodeZenApiGo (line 245) | func callOpenCodeZenApiGo(prevMsgs []ChatMessage, newMsg, apiKey, openCo... function callOpenCodeZenChatStreaming (line 271) | func callOpenCodeZenChatStreaming(w http.ResponseWriter, prevMsgs []Chat... function buildOpenCodeZenChatMessages (line 279) | func buildOpenCodeZenChatMessages(prevMsgs []ChatMessage, newMsg, openCo... function callOpenCodeZenChatCompletions (line 334) | func callOpenCodeZenChatCompletions(messages []map[string]interface{}, a... function callOpenCodeZenChatCompletionsSingle (line 358) | func callOpenCodeZenChatCompletionsSingle(messages []map[string]interfac... function callOpenCodeZenChatCompletionsStreaming (line 462) | func callOpenCodeZenChatCompletionsStreaming(w http.ResponseWriter, mess... function callOpenCodeZenChatCompletionsStreamingSingle (line 486) | func callOpenCodeZenChatCompletionsStreamingSingle(w http.ResponseWriter... function openCodeZenMessagesContainImage (line 848) | func openCodeZenMessagesContainImage(messages []map[string]interface{}) ... function openCodeZenModelSupportsImageInput (line 871) | func openCodeZenModelSupportsImageInput(modelID string) bool { function openCodeZenAttachmentDataURI (line 881) | func openCodeZenAttachmentDataURI(attachmentBase64, attachmentMime strin... function buildOpenCodeZenDrawToCodeMessages (line 893) | func buildOpenCodeZenDrawToCodeMessages(imageBase64, userPrompt, templat... function describeImageWithOpenCodeZenKimi (line 986) | func describeImageWithOpenCodeZenKimi(imageBase64, apiKey string) (strin... function logOpenCodeZenRequestSummary (line 1070) | func logOpenCodeZenRequestSummary(model string, stream bool, hasImage bo... FILE: backend/openrouter_openrouter.go constant openRouterChatCompletionsURL (line 14) | openRouterChatCompletionsURL = "https://openrouter.ai/api/v1/chat/comple... constant openRouterHTTPReferer (line 15) | openRouterHTTPReferer = "https://glowbom.com" constant openRouterXTitle (line 16) | openRouterXTitle = "Glowbom" constant openRouterChatMaxTokens (line 19) | openRouterChatMaxTokens = 4096 constant openRouterDrawToCodeMaxTokens (line 20) | openRouterDrawToCodeMaxTokens = 16384 constant openRouterDefaultTemperature (line 21) | openRouterDefaultTemperature = 0.6 function setOpenRouterRequestHeaders (line 24) | func setOpenRouterRequestHeaders(req *http.Request, apiKey string, accep... function callOpenRouterDrawToCodeApiFull (line 32) | func callOpenRouterDrawToCodeApiFull(imageBase64, userPrompt, template, ... function callOpenRouterDrawToCodeStreaming (line 58) | func callOpenRouterDrawToCodeStreaming(w http.ResponseWriter, imageBase6... function callOpenRouterApiGo (line 67) | func callOpenRouterApiGo(prevMsgs []ChatMessage, newMsg, apiKey, openRou... function callOpenRouterChatStreaming (line 93) | func callOpenRouterChatStreaming(w http.ResponseWriter, prevMsgs []ChatM... function buildOpenRouterChatMessages (line 101) | func buildOpenRouterChatMessages(prevMsgs []ChatMessage, newMsg, openRou... function callOpenRouterChatCompletions (line 156) | func callOpenRouterChatCompletions(messages []map[string]interface{}, ap... function callOpenRouterChatCompletionsStreaming (line 259) | func callOpenRouterChatCompletionsStreaming(w http.ResponseWriter, messa... function openRouterMessagesContainImage (line 608) | func openRouterMessagesContainImage(messages []map[string]interface{}) b... function openRouterModelSupportsImageInput (line 631) | func openRouterModelSupportsImageInput(modelID string) bool { function openRouterAttachmentDataURI (line 641) | func openRouterAttachmentDataURI(attachmentBase64, attachmentMime string... function buildOpenRouterDrawToCodeMessages (line 653) | func buildOpenRouterDrawToCodeMessages(imageBase64, userPrompt, template... function describeImageWithOpenRouterKimi (line 746) | func describeImageWithOpenRouterKimi(imageBase64, apiKey string) (string... function openRouterReasoningToText (line 830) | func openRouterReasoningToText(reasoning interface{}) string { function logOpenRouterRequestSummary (line 866) | func logOpenRouterRequestSummary(model string, stream bool, hasImage boo... function openRouterLatestUserPreview (line 880) | func openRouterLatestUserPreview(messages []map[string]interface{}) stri... FILE: backend/prompts.go function isGlowbyImagesSource (line 8) | func isGlowbyImagesSource(imageSource string) bool { constant systemPromptTranslation (line 15) | systemPromptTranslation = `You are a humorous AI with emotions called Gl... constant drawToCodeSystemPrompt (line 128) | drawToCodeSystemPrompt = `You are a skilled web developer with expertise... constant defaultSystemPrompt (line 146) | defaultSystemPrompt = `You are a proffesional AI sofware eng called Glow... function getImageSourceText (line 221) | func getImageSourceText(imageSource string) string { function buildDetailedTaskDescription (line 228) | func buildDetailedTaskDescription(template, imageSource, userPrompt stri... function buildDrawToCodeSystemPrompt (line 275) | func buildDrawToCodeSystemPrompt(template, imageSource string) string { function getSystemPrompt (line 295) | func getSystemPrompt(template, imageSource string) string { FILE: backend/r1_groq.go function callR1GroqDrawToCodeApiFull (line 15) | func callR1GroqDrawToCodeApiFull(imageBase64, userPrompt, prompt, templa... function callGroqDrawToCodeStreaming (line 83) | func callGroqDrawToCodeStreaming(w http.ResponseWriter, imageBase64, use... function callR1GroqApiGo (line 126) | func callR1GroqApiGo(prevMsgs []ChatMessage, newMsg, groqKey string) (*R... function getGroqImageDescription (line 176) | func getGroqImageDescription(imageBase64, groqKey string) (string, error) { function callGroqSSE (line 240) | func callGroqSSE(messages []map[string]interface{}, groqKey string) (str... function callGroqGPTOSSChatStreaming (line 323) | func callGroqGPTOSSChatStreaming(w http.ResponseWriter, prevMsgs []ChatM... FILE: backend/r1_ollama.go function normalizeOllamaModelName (line 15) | func normalizeOllamaModelName(modelName string) string { function ollamaModelSupportsVision (line 27) | func ollamaModelSupportsVision(modelName string) bool { function ollamaModelWantsExplicitThinkingInstructions (line 32) | func ollamaModelWantsExplicitThinkingInstructions(modelName string) bool { function splitThinkingAndAnswer (line 41) | func splitThinkingAndAnswer(thinkingText string) (thinking string, answe... function callR1DrawToCodeApiFull (line 70) | func callR1DrawToCodeApiFull( function callR1ApiGo (line 100) | func callR1ApiGo(prevMsgs []ChatMessage, newMsg string) (*R1Response, er... function callOllamaApiGeneric (line 128) | func callOllamaApiGeneric(prevMsgs []ChatMessage, newMsg string, modelNa... function callOllamaDrawToCodeApiFullWithModel (line 157) | func callOllamaDrawToCodeApiFullWithModel( function getImageDescription (line 187) | func getImageDescription(imageBase64 string) (string, error) { function callR1Model (line 256) | func callR1Model(prompt, model string, maxTokens int) (*R1Response, erro... type ollamaChatMsg (line 329) | type ollamaChatMsg struct type ollamaChatReq (line 336) | type ollamaChatReq struct type ollamaChatChunk (line 343) | type ollamaChatChunk struct function ollamaChatAttachmentImages (line 348) | func ollamaChatAttachmentImages(modelName, attachmentBase64, attachmentM... function buildOllamaChatMessages (line 363) | func buildOllamaChatMessages( function callOllamaChatWithModel (line 391) | func callOllamaChatWithModel(prevMsgs []ChatMessage, newMsg string, mode... function callOllamaChatWithModelAndAttachment (line 395) | func callOllamaChatWithModelAndAttachment( function callOllamaChatWithModelStreaming (line 476) | func callOllamaChatWithModelStreaming(w http.ResponseWriter, prevMsgs []... function callOllamaChatWithModelStreamingAndAttachment (line 480) | func callOllamaChatWithModelStreamingAndAttachment( function callOllamaChatDrawToCodeWithModel (line 663) | func callOllamaChatDrawToCodeWithModel(imageBase64, userPrompt, template... function callOllamaDrawToCodeStreaming (line 692) | func callOllamaDrawToCodeStreaming(w http.ResponseWriter, imageBase64, u... FILE: backend/search.go type openAIResponsesRequest (line 14) | type openAIResponsesRequest struct type openAIInputMessage (line 21) | type openAIInputMessage struct type openAIInputContentItem (line 26) | type openAIInputContentItem struct type openAIResponsesOutput (line 31) | type openAIResponsesOutput struct type openAIContent (line 44) | type openAIContent struct type openAIAnnotation (line 50) | type openAIAnnotation struct type chatCompletionRequest (line 58) | type chatCompletionRequest struct type chatCompletionMessage (line 63) | type chatCompletionMessage struct type chatCompletionResponse (line 68) | type chatCompletionResponse struct function callWebSearchMini (line 76) | func callWebSearchMini(prevMsgs []ChatMessage, userQuery, apiKey string)... function shouldRetrySearch (line 142) | func shouldRetrySearch(err error) bool { function callGPT5Search (line 165) | func callGPT5Search(prevMsgs []ChatMessage, userQuery, apiKey string) (*... function performWebSearch (line 333) | func performWebSearch(prevMsgs []ChatMessage, userQuery, apiKey string) ... function truncateForLog (line 373) | func truncateForLog(text string) string { function isMissingResponsesWriteScope (line 381) | func isMissingResponsesWriteScope(message string) bool { function isMissingModelRequestScope (line 389) | func isMissingModelRequestScope(message string) bool { function isOpenAIMissingModelScope (line 397) | func isOpenAIMissingModelScope(message string) bool { function openAIModelScopeHelpMessage (line 401) | func openAIModelScopeHelpMessage() string { function injectSearchContext (line 405) | func injectSearchContext(prevMsgs *[]ChatMessage, searchContext string) { FILE: backend/security.go type glowbyHealthResponse (line 13) | type glowbyHealthResponse struct function backendBindHost (line 18) | func backendBindHost() string { function backendListenAddr (line 27) | func backendListenAddr(port string) string { function glowbyServerToken (line 35) | func glowbyServerToken() string { function glowbyAllowedOrigins (line 44) | func glowbyAllowedOrigins() map[string]struct{} { function glowbyHealthHandler (line 70) | func glowbyHealthHandler(w http.ResponseWriter, r *http.Request) { function withGlowbySecurity (line 84) | func withGlowbySecurity(next http.Handler) http.Handler { function isPublicBackendRoute (line 108) | func isPublicBackendRoute(r *http.Request) bool { function isAllowedOrigin (line 119) | func isAllowedOrigin(r *http.Request, allowedOrigins map[string]struct{}... function normalizeHost (line 153) | func normalizeHost(host string) string { function isLoopbackHost (line 166) | func isLoopbackHost(host string) bool { function hasValidGlowbyServerToken (line 175) | func hasValidGlowbyServerToken(r *http.Request, expected string) bool { function bearerToken (line 187) | func bearerToken(raw string) string { FILE: backend/stack_specs.go function stackInstructionsFor (line 85) | func stackInstructionsFor(targetLang string, projectMode bool) string { FILE: backend/types.go type R1Response (line 6) | type R1Response struct type ChatMessage (line 12) | type ChatMessage struct type DrawToCodeRequest (line 17) | type DrawToCodeRequest struct type ChatWithAIRequest (line 25) | type ChatWithAIRequest struct type WebSearchRequest (line 56) | type WebSearchRequest struct type AnalyzeVideoRequest (line 65) | type AnalyzeVideoRequest struct type AnalyzeVideoResponse (line 73) | type AnalyzeVideoResponse struct FILE: cli/code.go constant backendPort (line 27) | backendPort = 4569 constant webPort (line 28) | webPort = 4572 function runCode (line 31) | func runCode(args []string) int { function findGlowbyRoot (line 242) | func findGlowbyRoot() (string, error) { function searchGlowbyRoot (line 261) | func searchGlowbyRoot(start string) (string, bool) { function isDir (line 275) | func isDir(path string) bool { function waitForServer (line 280) | func waitForServer(ctx context.Context, url string, timeout time.Duratio... function reclaimManagedService (line 306) | func reclaimManagedService(glowbyRoot, service string, port int) error { function reclaimManagedAgentService (line 347) | func reclaimManagedAgentService(port int) error { function recordManagedService (line 360) | func recordManagedService(glowbyRoot, service string, port int) error { function readManagedService (line 381) | func readManagedService(glowbyRoot, service string) ([]int, error) { function clearManagedService (line 409) | func clearManagedService(glowbyRoot, service string) { function stopManagedAgentService (line 413) | func stopManagedAgentService(port int) error { function managedStateDir (line 424) | func managedStateDir(glowbyRoot string) string { function managedStatePath (line 429) | func managedStatePath(glowbyRoot, service string) string { function waitForPortFree (line 433) | func waitForPortFree(port int, timeout time.Duration) bool { function killProcessesOnPort (line 445) | func killProcessesOnPort(port int, pids []int, label string) error { function isExpectedGlowbyService (line 461) | func isExpectedGlowbyService(service string, port int) bool { function areExpectedOpenCodeProcesses (line 490) | func areExpectedOpenCodeProcesses(pids []int) bool { function resolveOrGenerateSecret (line 506) | func resolveOrGenerateSecret(envKeys ...string) (string, error) { function printLocalAuth (line 515) | func printLocalAuth(serverToken, opencodePassword string) { function localAgentPort (line 526) | func localAgentPort() string { function localOpenCodeUsername (line 533) | func localOpenCodeUsername() string { function randomHexSecret (line 540) | func randomHexSecret(byteLen int) (string, error) { function listPortPIDs (line 551) | func listPortPIDs(port int) ([]int, error) { function processCommandSummary (line 560) | func processCommandSummary(pid int) (string, error) { function processCommandSummaryUnix (line 569) | func processCommandSummaryUnix(pid int) (string, error) { function processCommandSummaryWindows (line 577) | func processCommandSummaryWindows(pid int) (string, error) { function listPortPIDsUnix (line 585) | func listPortPIDsUnix(port int) ([]int, error) { function listPortPIDsWindows (line 600) | func listPortPIDsWindows(port int) ([]int, error) { function parsePIDLines (line 632) | func parsePIDLines(text string) ([]int, error) { function uniqueSortedInts (line 648) | func uniqueSortedInts(values []int) []int { function isSubset (line 664) | func isSubset(values, allowed []int) bool { function openBrowser (line 680) | func openBrowser(url string) { FILE: cli/doctor.go type depCheck (line 9) | type depCheck struct function runDoctor (line 15) | func runDoctor() int { function commandVersion (line 61) | func commandVersion(name string) string { FILE: cli/main.go constant usage (line 14) | usage = `glowby - terminal-first local AI coding agent function main (line 29) | func main() { function run (line 34) | func run(args []string) int { FILE: cli/version.go function runVersion (line 5) | func runVersion() int { FILE: docs/app/components/brand-title.tsx function BrandTitle (line 3) | function BrandTitle() { FILE: docs/app/components/docs-route-view.tsx function DocsRouteView (line 16) | function DocsRouteView({ loaderData }: { loaderData: LoadedDocPage }) { FILE: docs/app/components/docs-search.tsx type DocsSearchContextValue (line 16) | type DocsSearchContextValue = { function useDocsSearchContext (line 26) | function useDocsSearchContext() { function normalize (line 36) | function normalize(value: string) { function scoreRecord (line 40) | function scoreRecord(record: SearchRecord, query: string) { function useSearchResults (line 66) | function useSearchResults(records: SearchRecord[], search: string) { function getNextIndex (line 82) | function getNextIndex(currentIndex: number, delta: number, total: number) { function SearchResultItem (line 90) | function SearchResultItem({ function SearchResultsList (line 122) | function SearchResultsList({ function useGlobalShortcut (line 154) | function useGlobalShortcut(setModalOpen: (value: boolean) => void) { function DocsSearchProvider (line 182) | function DocsSearchProvider({ function DocsSearchLargeTrigger (line 218) | function DocsSearchLargeTrigger() { function DocsSearchSmallTrigger (line 312) | function DocsSearchSmallTrigger() { function DocsSearchDialog (line 327) | function DocsSearchDialog() { FILE: docs/app/components/nav-actions.tsx function NavActions (line 9) | function NavActions() { FILE: docs/app/lib/docs.ts type SearchRecord (line 3) | interface SearchRecord { type LoadedDocPage (line 12) | interface LoadedDocPage { FILE: docs/app/lib/meta.ts function buildDocMeta (line 3) | function buildDocMeta(data?: LoadedDocPage) { FILE: docs/app/lib/site.ts constant GITHUB_URL (line 1) | const GITHUB_URL = "https://github.com/glowbom/glowby"; constant DISCORD_URL (line 2) | const DISCORD_URL = "https://discord.com/invite/jpWW6vB4Jk"; FILE: docs/app/lib/source.browser.tsx type BrowserDocsCollection (line 4) | type BrowserDocsCollection = { FILE: docs/app/lib/source.server.ts function getSearchRecords (line 14) | async function getSearchRecords() { type StructuredData (line 18) | type StructuredData = { type SearchPage (line 23) | type SearchPage = { function getStructuredData (line 34) | async function getStructuredData(page: SearchPage): Promise { function loadDocPage (line 117) | async function loadDocPage(slugs?: string[]): Promise { FILE: docs/app/root.tsx function withBasePath (line 14) | function withBasePath(path: string) { function Layout (line 35) | function Layout({ children }: { children: React.ReactNode }) { function App (line 61) | function App() { function ErrorBoundary (line 65) | function ErrorBoundary({ error }: Route.ErrorBoundaryProps) { FILE: docs/app/routes/docs-page.tsx function toSlugs (line 6) | function toSlugs(value?: string): string[] | undefined { function loader (line 15) | async function loader({ params }: Route.LoaderArgs) { function meta (line 19) | function meta({ data }: Route.MetaArgs) { function DocsPageRoute (line 23) | function DocsPageRoute({ loaderData }: Route.ComponentProps) { FILE: docs/app/routes/home.tsx function loader (line 6) | async function loader() { function meta (line 10) | function meta({ data }: Route.MetaArgs) { function Home (line 14) | function Home({ loaderData }: Route.ComponentProps) { FILE: legacy/app/lib/main.dart function main (line 7) | void main() FILE: legacy/app/lib/models/ai.dart class Ai (line 13) | class Ai { method getCurrentNetworkOperation (line 18) | CancelableOperation? getCurrentNetworkOperation() method message (line 29) | Future> message( method jaroSimilarity (line 83) | double jaroSimilarity(String s1, String s2) method jaroWinkler (line 135) | double jaroWinkler(String s1, String s2, {double p = 0.1}) method _findMatchingQuestions (line 151) | List> _findMatchingQuestions(String message) method _sanitizeMessage (line 174) | String _sanitizeMessage(String message) method _searchForQuestions (line 181) | List> _searchForQuestions(String userMessage) method _generateResponseMessage (line 209) | Future> _generateResponseMessage( FILE: legacy/app/lib/services/hugging_face_api.dart class HuggingFaceApi (line 6) | class HuggingFaceApi { method oat (line 29) | String oat() method setOat (line 30) | void setOat(String value) method resetOat (line 31) | void resetOat() method _resetOat (line 33) | void _resetOat() method _oat (line 37) | String _oat() method _setOat (line 38) | Future _setOat(String value) method loadOat (line 43) | Future loadOat() method sendMessages (line 65) | bool sendMessages() method setSendMessages (line 69) | Future setSendMessages(bool sendMessages) method systemMessage (line 76) | String systemMessage() method setSystemMessage (line 80) | void setSystemMessage(systemMessage) method model (line 85) | String model() method setModel (line 89) | void setModel(model) method template (line 94) | String template() method setTemplate (line 98) | void setTemplate(template) method _findValueByTemplate (line 103) | String? _findValueByTemplate(dynamic value, dynamic template) method _processListByTemplate (line 116) | String? _processListByTemplate( method _processMapByTemplate (line 130) | String? _processMapByTemplate( method generate (line 142) | Future generate(String text) method _generate (line 149) | Future _generate( method _isValidTokenAndModel (line 159) | bool _isValidTokenAndModel(String modelId) method _makeRequest (line 163) | Future _makeRequest(String modelId, String text) method _processResponse (line 195) | String? _processResponse(http.Response response, String template) FILE: legacy/app/lib/services/openai_api.dart class OpenAiApi (line 9) | class OpenAiApi { method oat (line 17) | String oat() method setOat (line 18) | void setOat(String value) method resetOat (line 19) | void resetOat() method _resetOat (line 21) | void _resetOat() method _oat (line 25) | String _oat() method _setOat (line 26) | Future _setOat(String value) method loadOat (line 45) | Future loadOat() method setModel (line 63) | Future setModel(String value) method setSystemPrompt (line 68) | Future setSystemPrompt(String value) method setSelectedLanguage (line 73) | Future setSelectedLanguage(String value) method generateImageUrl (line 79) | Future generateImageUrl(String description) method isInputSafe (line 124) | Future isInputSafe(String input) method getAdjustedMaxTokens (line 173) | int getAdjustedMaxTokens(String inputText, method containsKeyword (line 193) | bool containsKeyword(String text, List keywords) method getResponseFromOpenAI (line 206) | CancelableOperation getResponseFromOpenAI( method formatPrevMessages (line 246) | String formatPrevMessages( method _getResponseFromHuggingFace (line 253) | Future _getResponseFromHuggingFace( method _getResponseFromPulzeAI (line 290) | Future _getResponseFromPulzeAI( method _getResponseFromOpenAI (line 327) | Future _getResponseFromOpenAI( method getHtmlFromOpenAI (line 449) | Future getHtmlFromOpenAI( FILE: legacy/app/lib/services/pulze_ai_api.dart class PulzeAiApi (line 6) | class PulzeAiApi { method oat (line 13) | String oat() method setOat (line 14) | void setOat(String value) method resetOat (line 15) | void resetOat() method _resetOat (line 17) | void _resetOat() method _oat (line 21) | String _oat() method _setOat (line 22) | Future _setOat(String value) method loadOat (line 44) | Future loadOat() method sendMessages (line 65) | bool sendMessages() method setSendMessages (line 69) | Future setSendMessages(bool sendMessages) method systemMessage (line 75) | String systemMessage() method setSystemMessage (line 79) | void setSystemMessage(systemMessage) method model (line 84) | String model() method lastUsedModel (line 88) | String lastUsedModel() method setModel (line 92) | void setModel(model) method template (line 97) | String template() method setTemplate (line 101) | void setTemplate(template) method generate (line 106) | Future generate(String text) method _generate (line 110) | Future _generate( FILE: legacy/app/lib/utils/color_utils.dart function tintValue (line 15) | int tintValue(int value, double factor) function tintColor (line 29) | Color tintColor(Color color, double factor) function shadeValue (line 47) | int shadeValue(int value, double factor) function shadeColor (line 50) | Color shadeColor(Color color, double factor) function generateMaterialColor (line 70) | MaterialColor generateMaterialColor(Color color) FILE: legacy/app/lib/utils/text_to_speech.dart class TextToSpeech (line 5) | class TextToSpeech { method setSpeechRate (line 53) | Future setSpeechRate(currentLanguage) method speakText (line 67) | Future speakText(String text, {String language = 'en-US'}) FILE: legacy/app/lib/utils/timestamp.dart function _check (line 8) | void _check(bool expr, String name, int value) class Timestamp (line 24) | class Timestamp implements Comparable { method toDate (line 76) | DateTime toDate() method compareTo (line 86) | int compareTo(Timestamp other) method toString (line 95) | String toString() method _validateRange (line 99) | void _validateRange(int seconds, int nanoseconds) FILE: legacy/app/lib/utils/utils.dart class Utils (line 14) | abstract class Utils { method downloadImage (line 15) | Future downloadImage(String url, String description) method pickImage (line 18) | Future pickImage() method startFilePicker (line 20) | Future startFilePicker() method initializeState (line 23) | Future initializeState(dynamic f) method recordVoice (line 26) | Future recordVoice(String lang) method convertToBase64JpegWeb (line 29) | Future convertToBase64JpegWeb( method launchURL (line 33) | Future launchURL(String url) method isImageGenerationCommand (line 50) | bool isImageGenerationCommand(String input) method getMatchingPattern (line 57) | String? getMatchingPattern(String input) method getImageDataFromUrl (line 67) | Future getImageDataFromUrl(String url) method getRandomImageReadyMessage (line 92) | String getRandomImageReadyMessage() method getRandomImageGenerationFunnyMessage (line 124) | String getRandomImageGenerationFunnyMessage() method getRandomMessage (line 166) | String getRandomMessage() method getRandomMessageForCode (line 206) | String getRandomMessageForCode() FILE: legacy/app/lib/utils/utils_desktop.dart class UtilsPlatform (line 11) | class UtilsPlatform { method downloadImage (line 12) | Future downloadImage(String url, String description) method pickImage (line 29) | Future pickImage() method startFilePicker (line 45) | Future startFilePicker() method initializeState (line 50) | Future initializeState(dynamic f) method recordVoice (line 55) | Future recordVoice(String lang) method paintImage (line 58) | void paintImage( method convertToBase64JpegWeb (line 80) | Future convertToBase64JpegWeb( FILE: legacy/app/lib/utils/utils_stub.dart class UtilsPlatform (line 4) | class UtilsPlatform { method downloadImage (line 5) | Future downloadImage(String url, String description) method pickImage (line 9) | Future pickImage() method startFilePicker (line 13) | Future startFilePicker() method initializeState (line 18) | Future initializeState(dynamic f) method recordVoice (line 23) | Future recordVoice(String lang) method convertToBase64JpegWeb (line 28) | Future convertToBase64JpegWeb( FILE: legacy/app/lib/utils/utils_web.dart function rv (line 16) | int rv(String lang) function vr (line 24) | void vr(text) class UtilsPlatform (line 26) | class UtilsPlatform { method convertUiImageToHtmlImage (line 27) | Future convertUiImageToHtmlImage( method convertHtmlImageToUint8List (line 42) | Future convertHtmlImageToUint8List( method drawImageOnCanvas (line 53) | Future drawImageOnCanvas(html.CanvasRenderingContext2D ctx, method convertToBase64JpegWeb (line 87) | Future convertToBase64JpegWeb( method downloadImage (line 124) | Future downloadImage(String url, String description) method initializeState (line 130) | Future initializeState(dynamic f) method recordVoice (line 135) | Future recordVoice(String lang) method pickImage (line 140) | Future pickImage() method startFilePicker (line 156) | Future startFilePicker() FILE: legacy/app/lib/views/dialogs/ai_error_dialog.dart class AiErrorDialog (line 4) | class AiErrorDialog extends StatefulWidget { method createState (line 8) | AiErrorDialogState createState() class AiErrorDialogState (line 11) | class AiErrorDialogState extends State { method initState (line 13) | void initState() method build (line 18) | Widget build(BuildContext context) FILE: legacy/app/lib/views/dialogs/ai_settings_dialog.dart class AiSettingsDialog (line 9) | class AiSettingsDialog extends StatefulWidget { method createState (line 15) | AiSettingsDialogState createState() class AiSettingsDialogState (line 18) | class AiSettingsDialogState extends State { method _buildAutonomousModeCheckbox (line 30) | Widget _buildAutonomousModeCheckbox() method buildLanguageDropdownItems (line 45) | List> buildLanguageDropdownItems() method buildPromptDropdownItems (line 58) | List> buildPromptDropdownItems() method _promptChanged (line 68) | void _promptChanged(String? value) method initState (line 85) | void initState() method _saveOpenAISettings (line 100) | void _saveOpenAISettings() method _saveHuggingFaceSettings (line 106) | void _saveHuggingFaceSettings() method _saveSettings (line 114) | void _saveSettings(BuildContext context) method build (line 127) | Widget build(BuildContext context) FILE: legacy/app/lib/views/dialogs/api_key_dialog.dart class ApiKeyDialog (line 8) | class ApiKeyDialog extends StatefulWidget { method createState (line 12) | ApiKeyDialogState createState() class ApiKeyDialogState (line 15) | class ApiKeyDialogState extends State { method initState (line 28) | void initState() method isValidOpenAIKey (line 43) | bool isValidOpenAIKey(String key) method isValidHuggingFaceKey (line 45) | bool isValidHuggingFaceKey(String key) method isValidPuzzleAIKey (line 48) | bool isValidPuzzleAIKey(String key) method _saveApiKey (line 51) | void _saveApiKey(BuildContext context) method build (line 86) | Widget build(BuildContext context) FILE: legacy/app/lib/views/html/html_view_screen_desktop.dart class HtmlViewScreen (line 15) | class HtmlViewScreen extends StatelessWidget method _openCodeInBrowser (line 23) | void _openCodeInBrowser(context) method build (line 52) | Widget build(BuildContext context) FILE: legacy/app/lib/views/html/html_view_screen_interface.dart class HtmlViewScreenInterface (line 3) | abstract class HtmlViewScreenInterface { method build (line 4) | Widget build(BuildContext context) FILE: legacy/app/lib/views/html/html_view_screen_mobile.dart class HtmlViewScreenMobile (line 4) | class HtmlViewScreenMobile extends StatefulWidget { method createState (line 12) | HtmlViewScreenState createState() class HtmlViewScreenState (line 15) | class HtmlViewScreenState extends State { method initState (line 19) | void initState() method build (line 27) | Widget build(BuildContext context) FILE: legacy/app/lib/views/html/html_view_screen_stub.dart class HtmlViewScreen (line 4) | class HtmlViewScreen extends StatelessWidget { method build (line 11) | Widget build(BuildContext context) FILE: legacy/app/lib/views/html/html_view_screen_web.dart class HtmlViewScreen (line 7) | class HtmlViewScreen extends StatelessWidget method build (line 15) | Widget build(BuildContext context) method downloadContent (line 33) | void downloadContent() FILE: legacy/app/lib/views/screens/chat_screen.dart class ChatScreen (line 20) | class ChatScreen extends StatefulWidget { method createState (line 48) | ChatScreenState createState() class ChatScreenState (line 51) | class ChatScreenState extends State { method updateVoiceEnabled (line 55) | void updateVoiceEnabled(bool value) method initState (line 66) | void initState() method initializeVoiceEnabled (line 73) | void initializeVoiceEnabled() method loadGlobalSettings (line 77) | void loadGlobalSettings() method loadAPIKey (line 86) | void loadAPIKey() method refreshUI (line 91) | void refreshUI() method handleTextToSpeech (line 96) | void handleTextToSpeech() method refresh (line 113) | void refresh() method _showApiKeyDialog (line 118) | void _showApiKeyDialog() method _showAiSettingsDialog (line 129) | void _showAiSettingsDialog() method extractPlanName (line 140) | String extractPlanName(String response, String inputMessage) method _generateTasks (line 163) | Future> _generateTasks(String inputMessage) method _implementPlan (line 261) | Future _implementPlan() method insertMessage (line 293) | void insertMessage(String message, String userId, String username) method fetchResponseFromAPI (line 304) | Future fetchResponseFromAPI( method _sendMessageOnBehalfOfUser (line 324) | Future _sendMessageOnBehalfOfUser( method setLoading (line 351) | void setLoading(bool value) method setStopRequested (line 357) | void setStopRequested(bool value) method setAutonomousMode (line 363) | void setAutonomousMode(bool value) method setPlanImplementationInProgress (line 369) | void setPlanImplementationInProgress(bool value) method cancelCurrentOperation (line 375) | void cancelCurrentOperation() method _stopAutonomousMode (line 382) | void _stopAutonomousMode() method _showSocialLinksDialog (line 390) | void _showSocialLinksDialog() method _buildLinkItems (line 412) | List _buildLinkItems(BuildContext context) method _buildLinkItem (line 444) | Widget _buildLinkItem(String text, String url, BuildContext context) method build (line 488) | Widget build(BuildContext context) FILE: legacy/app/lib/views/screens/global_settings.dart class GlobalSettings (line 4) | class GlobalSettings { method languageChanged (line 24) | void languageChanged(String? value) method selectPrompt (line 141) | void selectPrompt(String userInput) method loadDialogValues (line 150) | void loadDialogValues(selectedModelInput, selectedLanguageInput, FILE: legacy/app/lib/views/screens/magical_loading_view.dart class MagicalLoadingView (line 4) | class MagicalLoadingView extends StatefulWidget { method createState (line 8) | MagicalLoadingViewState createState() class MagicalLoadingViewState (line 11) | class MagicalLoadingViewState extends State method getRandomMessage (line 16) | String getRandomMessage() method initState (line 22) | void initState() method dispose (line 31) | void dispose() method build (line 37) | Widget build(BuildContext context) class _MagicalLoadingPainter (line 80) | class _MagicalLoadingPainter extends CustomPainter { method paint (line 85) | void paint(Canvas canvas, Size size) method shouldRepaint (line 102) | bool shouldRepaint(covariant _MagicalLoadingPainter oldDelegate) FILE: legacy/app/lib/views/screens/talk_screen.dart class TalkState (line 14) | class TalkState extends State { method loadContentFromAssets (line 33) | Future loadContentFromAssets() method loadAPIKeys (line 39) | Future loadAPIKeys() method initState (line 46) | void initState() method resetApiKeys (line 52) | void resetApiKeys() method loadApiKeysAndInitializeState (line 58) | void loadApiKeysAndInitializeState() method initializeTalkState (line 62) | void initializeTalkState() method buildQuestions (line 99) | List> buildQuestions(List questionsData) method _pressed100 (line 122) | void _pressed100() method _startFilePicker (line 143) | void _startFilePicker() method build (line 153) | Widget build(BuildContext context) class Talk (line 312) | class Talk extends StatefulWidget { method createState (line 316) | State createState() class TalkApp (line 321) | class TalkApp extends StatefulWidget { method createState (line 325) | TalkAppState createState() class TalkAppState (line 328) | class TalkAppState extends State { method initState (line 330) | void initState() method build (line 338) | Widget build(BuildContext context) FILE: legacy/app/lib/views/widgets/message.dart class Message (line 4) | class Message { method toString (line 29) | String toString() FILE: legacy/app/lib/views/widgets/message_bubble.dart class MessageBubble (line 8) | class MessageBubble extends StatelessWidget { method _launchLink (line 18) | void _launchLink({String l = ""}) method _buildMessageBubbleContainer (line 28) | Container _buildMessageBubbleContainer(BuildContext context) method _buildMessageContent (line 55) | Column _buildMessageContent(BuildContext context) method _buildUsernameText (line 67) | Text _buildUsernameText(BuildContext context) method _buildMessageOrLink (line 82) | Widget _buildMessageOrLink(BuildContext context) method _buildMessageText (line 168) | Widget _buildMessageText(BuildContext context) method _buildLinkButton (line 240) | ElevatedButton _buildLinkButton(BuildContext context) method build (line 255) | Widget build(BuildContext context) FILE: legacy/app/lib/views/widgets/messages.dart class Messages (line 8) | class Messages extends StatefulWidget { method createState (line 14) | MessagesState createState() class MessagesState (line 17) | class MessagesState extends State { method initState (line 21) | void initState() method dispose (line 27) | void dispose() method _processMessageText (line 33) | String _processMessageText(String messageText) method build (line 63) | Widget build(BuildContext context) FILE: legacy/app/lib/views/widgets/new_message.dart class NewMessage (line 18) | class NewMessage extends StatefulWidget { method createState (line 31) | NewMessageState createState() class NewMessageState (line 34) | class NewMessageState extends State { method _onVoiceReady (line 46) | void _onVoiceReady(text) method initState (line 64) | void initState() method dispose (line 79) | void dispose() method _voiceMessage (line 86) | void _voiceMessage() method _sendMessage (line 112) | void _sendMessage() method _resetMessageInput (line 133) | void _resetMessageInput() method _addUserMessageToChat (line 140) | void _addUserMessageToChat() method _processUserMessage (line 151) | Future _processUserMessage(String message) method handleAutonomousMode (line 210) | Future handleAutonomousMode(String message) method handleImageGenerationCommand (line 214) | Future handleImageGenerationCommand(String message) method _stopProcessing (line 274) | void _stopProcessing() method _openPaintWindow (line 298) | void _openPaintWindow() method build (line 315) | Widget build(BuildContext context) class MediaType (line 390) | class MediaType {} FILE: legacy/app/lib/views/widgets/paint_window.dart class PaintWindow (line 15) | class PaintWindow extends StatefulWidget { method createState (line 19) | PaintWindowState createState() class PaintWindowState (line 22) | class PaintWindowState extends State { method dispose (line 34) | void dispose() method convertToBase64JpegMobile (line 40) | Future convertToBase64JpegMobile(List points) method convertToBase64Png (line 88) | Future convertToBase64Png(List points) method callOpenAI (line 122) | Future callOpenAI() method _showAiErrorDialog (line 185) | void _showAiErrorDialog() method clear (line 196) | void clear() method loadImage (line 204) | Future loadImage(Uint8List imageBytes) method downloadImage (line 215) | Future downloadImage() method uploadImage (line 217) | Future uploadImage() method build (line 244) | Widget build(BuildContext context) class DrawingPainter (line 339) | class DrawingPainter extends CustomPainter { method paintImage (line 345) | void paintImage( method paint (line 368) | void paint(Canvas canvas, Size size) method shouldRepaint (line 397) | bool shouldRepaint(covariant CustomPainter oldDelegate) FILE: legacy/app/lib/views/widgets/tasks_view.dart class TasksView (line 3) | class TasksView extends StatefulWidget { method createState (line 19) | TasksViewState createState() class TasksViewState (line 22) | class TasksViewState extends State method initState (line 32) | void initState() method dispose (line 42) | void dispose() method _buildTaskItem (line 50) | Widget _buildTaskItem(int index) method _confirmDeletion (line 74) | void _confirmDeletion(BuildContext context, int index) method _buildTaskList (line 103) | Widget _buildTaskList() method _buildAddTaskForm (line 126) | Widget _buildAddTaskForm() method build (line 148) | Widget build(BuildContext context) FILE: legacy/app/linux/flutter/generated_plugin_registrant.cc function fl_register_plugins (line 13) | void fl_register_plugins(FlPluginRegistry* registry) { FILE: legacy/app/linux/main.cc function main (line 3) | int main(int argc, char** argv) { FILE: legacy/app/linux/my_application.cc type _MyApplication (line 10) | struct _MyApplication { function my_application_activate (line 18) | static void my_application_activate(GApplication* application) { function gboolean (line 66) | static gboolean my_application_local_command_line(GApplication* applicat... function my_application_dispose (line 85) | static void my_application_dispose(GObject* object) { function my_application_class_init (line 91) | static void my_application_class_init(MyApplicationClass* klass) { function my_application_init (line 97) | static void my_application_init(MyApplication* self) {} function MyApplication (line 99) | MyApplication* my_application_new() { FILE: legacy/app/web/tv.js function rv (line 21) | function rv(lang) { FILE: legacy/app/windows/flutter/generated_plugin_registrant.cc function RegisterPlugins (line 14) | void RegisterPlugins(flutter::PluginRegistry* registry) { FILE: legacy/app/windows/runner/flutter_window.cpp function LRESULT (line 50) | LRESULT FILE: legacy/app/windows/runner/flutter_window.h function class (line 12) | class FlutterWindow : public Win32Window { FILE: legacy/app/windows/runner/main.cpp function wWinMain (line 8) | int APIENTRY wWinMain(_In_ HINSTANCE instance, _In_opt_ HINSTANCE prev, FILE: legacy/app/windows/runner/utils.cpp function CreateAndAttachConsole (line 10) | void CreateAndAttachConsole() { function GetCommandLineArguments (line 24) | std::vector GetCommandLineArguments() { function Utf8FromUtf16 (line 44) | std::string Utf8FromUtf16(const wchar_t* utf16_string) { FILE: legacy/app/windows/runner/win32_window.cpp function Scale (line 36) | int Scale(int source, double scale_factor) { function EnableFullDpiSupportIfAvailable (line 42) | void EnableFullDpiSupportIfAvailable(HWND hwnd) { class WindowClassRegistrar (line 59) | class WindowClassRegistrar { method WindowClassRegistrar (line 64) | static WindowClassRegistrar* GetInstance() { method WindowClassRegistrar (line 80) | WindowClassRegistrar() = default; function wchar_t (line 89) | const wchar_t* WindowClassRegistrar::GetWindowClass() { function LRESULT (line 157) | LRESULT CALLBACK Win32Window::WndProc(HWND const window, function LRESULT (line 176) | LRESULT function Win32Window (line 236) | Win32Window* Win32Window::GetThisFromHandle(HWND const window) noexcept { function RECT (line 252) | RECT Win32Window::GetClientArea() { function HWND (line 258) | HWND Win32Window::GetHandle() { FILE: legacy/app/windows/runner/win32_window.h type Size (line 21) | struct Size { FILE: legacy/backend/aws/fetchImageAsBase64/index.mjs function handler (line 4) | async function handler(event) { FILE: legacy/dist/canvaskit/canvaskit.js function b (line 12) | function b(m,p,w){return m&&m.hasOwnProperty(p)?m[p]:w} function c (line 12) | function c(m){var p=da(ea);ea[p]=m;return p} function d (line 12) | function d(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.... function f (line 12) | function f(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width} function k (line 12) | function k(m,p,w,y){m.bindTexture(m.TEXTURE_2D,p);y||w.alphaType!==a.Alp... function l (line 12) | function l(m,p,w){w||p.alphaType!==a.AlphaType.Premul|| function b (line 23) | function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(25... function c (line 23) | function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var... function d (line 23) | function d(g){if(void 0===g)return 1;var e=parseFloat(g);return g&&-1!==... function f (line 23) | function f(g){return Math.round(Math.max(0, function k (line 24) | function k(g,e){e&&e._ck||a._free(g)} function l (line 24) | function l(g,e,h){if(!g||!g.length)return M;if(g&&g._ck)return g.byteOff... function m (line 24) | function m(g){var e={Rd:M,count:g.length,colorType:a.ColorType.RGBA_F32}... function p (line 25) | function p(g){if(!g)return M;var e=T.toTypedArray();if(g.length){if(6===... function w (line 26) | function w(g){if(!g)return M;var e=Y.toTypedArray();if(g.length){if(16!=... function y (line 27) | function y(g,e){return l(g,"HEAPF32",e||va)} function B (line 27) | function B(g,e,h,n){var t=Ma.toTypedArray();t[0]=g;t[1]=e;t[2]=h;t[3]=n;... function D (line 27) | function D(g){for(var e=new Float32Array(4),h=0;4>h;h++)e[h]=a.HEAPF32[g... function u (line 27) | function u(g,e){return l(g,"HEAPF32",e||X)} function F (line 27) | function F(g,e){return l(g, function g (line 32) | function g(e,h,n,t,x,z,E){z||(z=4*t.width,t.colorType===a.ColorType.RGBA... function e (line 65) | function e(q){q&&(q.dir=0===q.dir?g.TextDirection.RTL:g.TextDirection.LT... function h (line 65) | function h(q){if(!q||!q.length)return[]; function n (line 66) | function n(q){q=q||{};void 0===q.weight&&(q.weight=g.FontWeight.Normal);... function t (line 66) | function t(q){if(!q||!q.length)return M;for(var A=[],P=0;PWebAssembly.instantiate(d,b)).th... function cb (line 95) | function cb(a,b){var c=Ya;return Da||"function"!=typeof WebAssembly.inst... function db (line 95) | function db(a){this.name="ExitStatus";this.message=`Program terminated w... function fb (line 96) | function fb(a){this.Kd=a-24;this.Pe=function(b){L[this.Kd+4>>2]=b};this.... function mb (line 98) | function mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}} function nb (line 98) | function nb(a){return this.fromWireType(K[a>>2])} function sb (line 98) | function sb(a){throw new rb(a);} function tb (line 99) | function tb(a,b,c){function d(m){m=c(m);m.length!==a.length&&sb("Mismatc... function vb (line 100) | function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2... function O (line 100) | function O(a){for(var b="";C[a];)b+=wb[C[a++]];return b} function Q (line 100) | function Q(a){throw new xb(a);} function yb (line 101) | function yb(a,b,c={}){var d=b.name;a||Q(`type "${d}" must have a positiv... function ub (line 101) | function ub(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("re... function zb (line 101) | function zb(a){Q(a.kd.Nd.Ld.name+" instance already deleted")} function Bb (line 101) | function Bb(){} function Cb (line 102) | function Cb(a){--a.count.value;0===a.count.value&&(a.Pd?a.Td.Xd(a.Pd):a.... function Db (line 102) | function Db(a,b,c){if(b===c)return a;if(void 0===c.Qd)return null;a=Db(a... function Lb (line 102) | function Lb(){for(;Kb.length;){var a=Kb.pop();a.kd.ee=!1;a["delete"]()}} function Ob (line 102) | function Ob(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Qd;)... function Pb (line 103) | function Pb(a,b){b.Nd&&b.Kd||sb("makeClassHandle requires ptr and ptrTyp... function Qb (line 103) | function Qb(a){if("undefined"===typeof FinalizationRegistry)return Qb=b=... function Rb (line 103) | function Rb(){} function Sb (line 104) | function Sb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]... function Tb (line 104) | function Tb(a,b){a=Sb(a);return{[a]:function(){return b.apply(this,argum... function Ub (line 105) | function Ub(a,b,c){if(void 0===a[b].Od){var d=a[b];a[b]=function(){a[b].... function Vb (line 106) | function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Od&&v... function Wb (line 106) | function Wb(a,b,c,d,f,k,l,m){this.name=a;this.constructor=b;this.fe=c;th... function Xb (line 107) | function Xb(a,b,c){for(;b!==c;)b.ke||Q(`Expected null or instance of ${c... function Yb (line 107) | function Yb(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${th... function $b (line 108) | function $b(a,b){if(null===b){this.Ae&&Q(`null is not a valid ${this.nam... function bc (line 110) | function bc(a,b){if(null===b)return this.Ae&&Q(`null is not a valid ${th... function cc (line 111) | function cc(a,b,c,d,f,k,l,m,p,w,y){this.name=a;this.Ld=b;this.Ae=c;this.... function dc (line 111) | function dc(a,b,c){r.hasOwnProperty(a)||sb("Replacing nonexistant public... function mc (line 112) | function mc(a,b){a=O(a);var c=a.includes("j")?ec(a,b):Na.get(b);"functio... function oc (line 112) | function oc(a){a=pc(a);var b=O(a);qc(a);return b} function rc (line 113) | function rc(a,b){function c(k){f[k]||pb[k]||(qb[k]?qb[k].forEach(c):(d.p... function sc (line 114) | function sc(a,b,c,d,f){var k=b.length;2>k&&Q("argTypes array size mismat... function tc (line 115) | function tc(a,b){for(var c=[],d=0;d>2]);return c} function uc (line 115) | function uc(){this.Wd=[void 0];this.Ie=[]} function wc (line 115) | function wc(a){a>=vc.Zd&&0===--vc.get(a).Le&&vc.we(a)} function yc (line 116) | function yc(a,b,c){switch(b){case 0:return function(d){return this.fromW... function zc (line 117) | function zc(a,b){var c=pb[a];void 0===c&&Q(b+" has unknown type "+oc(a))... function Zb (line 117) | function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===... function Ac (line 117) | function Ac(a,b){switch(b){case 2:return function(c){return this.fromWir... function Bc (line 118) | function Bc(a,b,c){switch(b){case 0:return c?function(d){return Ha[d]}:f... function Kc (line 122) | function Kc(a){var b=Jc[a];return void 0===b?O(a):b} function Mc (line 123) | function Mc(){function a(b){b.$$$embind_global$$$=b;var c="object"==type... function Nc (line 124) | function Nc(a){var b=Lc.length;Lc.push(a);return b} function Oc (line 124) | function Oc(a,b){for(var c=Array(a),d=0;d>2],"par... function Qc (line 124) | function Qc(a){var b=Array(a+1);return function(c,d,f){b[0]=c;for(var k=... function Sc (line 125) | function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vert... function Tc (line 126) | function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.cre... function Uc (line 126) | function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuff... function R (line 127) | function R(a){hd||(hd=a)} function da (line 127) | function da(a){for(var b=Vc++,c=a.length;c>2];S.deleteVertexAr... function sd (line 131) | function sd(a,b,c,d){S.drawElements(a,b,c,d)} function td (line 131) | function td(a,b,c,d){for(var f=0;fca?-1:0>=2;var l= function a (line 197) | function a(c){G=c=c.exports;Fa=G.ad;La();Na=G.dd;Pa.unshift(G.bd);Ua--;r... function Wd (line 202) | function Wd(a,b,c,d,f){var k=be();try{Na.get(a)(b,c,d,f)}catch(l){ce(k);... function Od (line 202) | function Od(a,b,c){var d=be();try{return Na.get(a)(b,c)}catch(f){ce(d);i... function Ud (line 202) | function Ud(a,b,c){var d=be();try{Na.get(a)(b,c)}catch(f){ce(d);if(f!==f... function Nd (line 202) | function Nd(a,b){var c=be();try{return Na.get(a)(b)}catch(d){ce(c);if(d!... function Td (line 202) | function Td(a,b){var c=be();try{Na.get(a)(b)}catch(d){ce(c);if(d!==d+0)t... function Pd (line 203) | function Pd(a,b,c,d){var f=be();try{return Na.get(a)(b,c,d)}catch(k){ce(... function Zd (line 203) | function Zd(a,b,c,d,f,k,l,m,p,w){var y=be();try{Na.get(a)(b,c,d,f,k,l,m,... function Vd (line 203) | function Vd(a,b,c,d){var f=be();try{Na.get(a)(b,c,d)}catch(k){ce(f);if(k... function Yd (line 203) | function Yd(a,b,c,d,f,k,l){var m=be();try{Na.get(a)(b,c,d,f,k,l)}catch(p... function Qd (line 204) | function Qd(a,b,c,d,f){var k=be();try{return Na.get(a)(b,c,d,f)}catch(l)... function Rd (line 204) | function Rd(a,b,c,d,f,k,l){var m=be();try{return Na.get(a)(b,c,d,f,k,l)}... function Xd (line 204) | function Xd(a,b,c,d,f,k){var l=be();try{Na.get(a)(b,c,d,f,k)}catch(m){ce... function Sd (line 204) | function Sd(a,b,c,d,f,k,l,m,p,w){var y=be();try{return Na.get(a)(b,c,d,f... function fe (line 205) | function fe(){function a(){if(!de&&(de=!0,r.calledRun=!0,!Ga)){eb(Pa);aa... FILE: legacy/dist/canvaskit/chromium/canvaskit.js function b (line 12) | function b(m,q,w){return m&&m.hasOwnProperty(q)?m[q]:w} function c (line 12) | function c(m){var q=da(ea);ea[q]=m;return q} function e (line 12) | function e(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.... function f (line 12) | function f(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width} function k (line 12) | function k(m,q,w,y){m.bindTexture(m.TEXTURE_2D,q);y||w.alphaType!==a.Alp... function l (line 12) | function l(m,q,w){w||q.alphaType!==a.AlphaType.Premul|| function b (line 23) | function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(25... function c (line 23) | function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var... function e (line 23) | function e(g){if(void 0===g)return 1;var d=parseFloat(g);return g&&-1!==... function f (line 23) | function f(g){return Math.round(Math.max(0, function k (line 24) | function k(g,d){d&&d._ck||a._free(g)} function l (line 24) | function l(g,d,h){if(!g||!g.length)return M;if(g&&g._ck)return g.byteOff... function m (line 24) | function m(g){var d={Ld:M,count:g.length,colorType:a.ColorType.RGBA_F32}... function q (line 25) | function q(g){if(!g)return M;var d=T.toTypedArray();if(g.length){if(6===... function w (line 26) | function w(g){if(!g)return M;var d=Y.toTypedArray();if(g.length){if(16!=... function y (line 27) | function y(g,d){return l(g,"HEAPF32",d||va)} function B (line 27) | function B(g,d,h,n){var t=Ma.toTypedArray();t[0]=g;t[1]=d;t[2]=h;t[3]=n;... function D (line 27) | function D(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g... function u (line 27) | function u(g,d){return l(g,"HEAPF32",d||X)} function F (line 27) | function F(g,d){return l(g, function g (line 32) | function g(d,h,n,t,v,z,E){z||(z=4*t.width,t.colorType===a.ColorType.RGBA... function d (line 65) | function d(p){p&&(p.dir=0===p.dir?g.TextDirection.RTL:g.TextDirection.LT... function h (line 65) | function h(p){if(!p||!p.length)return[]; function n (line 66) | function n(p){p=p||{};void 0===p.weight&&(p.weight=g.FontWeight.Normal);... function t (line 66) | function t(p){if(!p||!p.length)return M;for(var A=[],O=0;OWebAssembly.instantiate(e,b)).th... function cb (line 95) | function cb(a,b){var c=Ya;return Da||"function"!=typeof WebAssembly.inst... function db (line 95) | function db(a){this.name="ExitStatus";this.message=`Program terminated w... function fb (line 96) | function fb(a){this.Ed=a-24;this.Ie=function(b){L[this.Ed+4>>2]=b};this.... function mb (line 98) | function mb(a){for(;a.length;){var b=a.pop();a.pop()(b)}} function nb (line 98) | function nb(a){return this.fromWireType(K[a>>2])} function sb (line 98) | function sb(a){throw new rb(a);} function tb (line 99) | function tb(a,b,c){function e(m){m=c(m);m.length!==a.length&&sb("Mismatc... function vb (line 100) | function vb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2... function P (line 100) | function P(a){for(var b="";C[a];)b+=wb[C[a++]];return b} function Q (line 100) | function Q(a){throw new xb(a);} function yb (line 101) | function yb(a,b,c={}){var e=b.name;a||Q(`type "${e}" must have a positiv... function ub (line 101) | function ub(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("re... function zb (line 101) | function zb(a){Q(a.jd.Hd.Fd.name+" instance already deleted")} function Bb (line 101) | function Bb(){} function Cb (line 102) | function Cb(a){--a.count.value;0===a.count.value&&(a.Jd?a.Nd.Rd(a.Jd):a.... function Db (line 102) | function Db(a,b,c){if(b===c)return a;if(void 0===c.Kd)return null;a=Db(a... function Lb (line 102) | function Lb(){for(;Kb.length;){var a=Kb.pop();a.jd.Zd=!1;a["delete"]()}} function Ob (line 102) | function Ob(a,b){for(void 0===b&&Q("ptr should not be undefined");a.Kd;)... function Pb (line 103) | function Pb(a,b){b.Hd&&b.Ed||sb("makeClassHandle requires ptr and ptrTyp... function Qb (line 103) | function Qb(a){if("undefined"===typeof FinalizationRegistry)return Qb=b=... function Rb (line 103) | function Rb(){} function Sb (line 104) | function Sb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]... function Tb (line 104) | function Tb(a,b){a=Sb(a);return{[a]:function(){return b.apply(this,argum... function Ub (line 105) | function Ub(a,b,c){if(void 0===a[b].Id){var e=a[b];a[b]=function(){a[b].... function Vb (line 106) | function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Id&&v... function Wb (line 106) | function Wb(a,b,c,e,f,k,l,m){this.name=a;this.constructor=b;this.$d=c;th... function Xb (line 107) | function Xb(a,b,c){for(;b!==c;)b.ee||Q(`Expected null or instance of ${c... function Yb (line 107) | function Yb(a,b){if(null===b)return this.ue&&Q(`null is not a valid ${th... function $b (line 108) | function $b(a,b){if(null===b){this.ue&&Q(`null is not a valid ${this.nam... function bc (line 110) | function bc(a,b){if(null===b)return this.ue&&Q(`null is not a valid ${th... function cc (line 111) | function cc(a,b,c,e,f,k,l,m,q,w,y){this.name=a;this.Fd=b;this.ue=c;this.... function dc (line 111) | function dc(a,b,c){r.hasOwnProperty(a)||sb("Replacing nonexistant public... function mc (line 112) | function mc(a,b){a=P(a);var c=a.includes("j")?ec(a,b):Na.get(b);"functio... function oc (line 112) | function oc(a){a=pc(a);var b=P(a);qc(a);return b} function rc (line 113) | function rc(a,b){function c(k){f[k]||pb[k]||(qb[k]?qb[k].forEach(c):(e.p... function sc (line 114) | function sc(a,b,c,e,f){var k=b.length;2>k&&Q("argTypes array size mismat... function tc (line 115) | function tc(a,b){for(var c=[],e=0;e>2]);return c} function uc (line 115) | function uc(){this.Qd=[void 0];this.Ce=[]} function wc (line 115) | function wc(a){a>=vc.Td&&0===--vc.get(a).Fe&&vc.qe(a)} function yc (line 116) | function yc(a,b,c){switch(b){case 0:return function(e){return this.fromW... function zc (line 117) | function zc(a,b){var c=pb[a];void 0===c&&Q(b+" has unknown type "+oc(a))... function Zb (line 117) | function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===... function Ac (line 117) | function Ac(a,b){switch(b){case 2:return function(c){return this.fromWir... function Bc (line 118) | function Bc(a,b,c){switch(b){case 0:return c?function(e){return Ha[e]}:f... function Kc (line 122) | function Kc(a){var b=Jc[a];return void 0===b?P(a):b} function Mc (line 123) | function Mc(){function a(b){b.$$$embind_global$$$=b;var c="object"==type... function Nc (line 124) | function Nc(a){var b=Lc.length;Lc.push(a);return b} function Oc (line 124) | function Oc(a,b){for(var c=Array(a),e=0;e>2],"par... function Qc (line 124) | function Qc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=... function Sc (line 125) | function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vert... function Tc (line 126) | function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.cre... function Uc (line 126) | function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuff... function R (line 127) | function R(a){hd||(hd=a)} function da (line 127) | function da(a){for(var b=Vc++,c=a.length;c>2];S.deleteVertexAr... function sd (line 131) | function sd(a,b,c,e){S.drawElements(a,b,c,e)} function td (line 131) | function td(a,b,c,e){for(var f=0;fca?-1:0>=2;var l= function a (line 197) | function a(c){G=c=c.exports;Fa=G.$c;La();Na=G.cd;Pa.unshift(G.ad);Ua--;r... function Wd (line 201) | function Wd(a,b,c,e,f){var k=be();try{Na.get(a)(b,c,e,f)}catch(l){ce(k);... function Od (line 201) | function Od(a,b,c){var e=be();try{return Na.get(a)(b,c)}catch(f){ce(e);i... function Ud (line 201) | function Ud(a,b,c){var e=be();try{Na.get(a)(b,c)}catch(f){ce(e);if(f!==f... function Nd (line 201) | function Nd(a,b){var c=be();try{return Na.get(a)(b)}catch(e){ce(c);if(e!... function Td (line 201) | function Td(a,b){var c=be();try{Na.get(a)(b)}catch(e){ce(c);if(e!==e+0)t... function Pd (line 202) | function Pd(a,b,c,e){var f=be();try{return Na.get(a)(b,c,e)}catch(k){ce(... function Zd (line 202) | function Zd(a,b,c,e,f,k,l,m,q,w){var y=be();try{Na.get(a)(b,c,e,f,k,l,m,... function Vd (line 202) | function Vd(a,b,c,e){var f=be();try{Na.get(a)(b,c,e)}catch(k){ce(f);if(k... function Yd (line 202) | function Yd(a,b,c,e,f,k,l){var m=be();try{Na.get(a)(b,c,e,f,k,l)}catch(q... function Qd (line 203) | function Qd(a,b,c,e,f){var k=be();try{return Na.get(a)(b,c,e,f)}catch(l)... function Rd (line 203) | function Rd(a,b,c,e,f,k,l){var m=be();try{return Na.get(a)(b,c,e,f,k,l)}... function Xd (line 203) | function Xd(a,b,c,e,f,k){var l=be();try{Na.get(a)(b,c,e,f,k)}catch(m){ce... function Sd (line 203) | function Sd(a,b,c,e,f,k,l,m,q,w){var y=be();try{return Na.get(a)(b,c,e,f... function fe (line 204) | function fe(){function a(){if(!de&&(de=!0,r.calledRun=!0,!Ga)){eb(Pa);aa... FILE: legacy/dist/canvaskit/skwasm.js function aa (line 8) | function aa(){d.buffer!=h.buffer&&l();return h} function p (line 8) | function p(){d.buffer!=h.buffer&&l();return ca} function q (line 8) | function q(){d.buffer!=h.buffer&&l();return da} function t (line 8) | function t(){d.buffer!=h.buffer&&l();return ea} function v (line 8) | function v(){d.buffer!=h.buffer&&l();return fa} function ha (line 8) | function ha(){d.buffer!=h.buffer&&l();return ia} function qa (line 9) | function qa(a){return w.locateFile?w.locateFile(a,C):C+a} function l (line 14) | function l(){var a=d.buffer;w.HEAP8=h=new Int8Array(a);w.HEAP16=Da=new I... function Ka (line 16) | function Ka(){return noExitRuntime||0WebAssembly.instantiate(e,b)).th... function Ua (line 19) | function Ua(a,b){var c=Qa;return ya||"function"!=typeof WebAssembly.inst... function Va (line 19) | function Va(a){this.name="ExitStatus";this.message=`Program terminated w... function Wa (line 20) | function Wa(a){a.terminate();a.onmessage=()=>{}} function Xa (line 20) | function Xa(a){(a=I.g[a])||za();I.Aa(a)} function Ya (line 20) | function Ya(a){var b=I.ma();if(!b)return 6;I.u.push(b);I.g[a.m]=b;b.m=a.... function ab (line 22) | function ab(a){if(A)return K(1,1,a);Ca=a;if(!Ka()){I.Ca();if(w.onExit)w.... function bb (line 27) | function bb(a){if(A)return K(2,0,a);cb(a)} function kb (line 27) | function kb(a){this.C=a-24;this.ua=function(b){t()[this.C+4>>2]=b};this.... function nb (line 28) | function nb(a,b,c,e){return A?K(3,1,a,b,c,e):ob(a,b,c,e)} function ob (line 29) | function ob(a,b,c,e){if("undefined"==typeof SharedArrayBuffer)return D("... function qb (line 32) | function qb(a,b,c){return A?K(4,1,a,b,c):0} function rb (line 32) | function rb(a,b){if(A)return K(5,1,a,b)} function sb (line 32) | function sb(a,b,c){return A?K(6,1,a,b,c):0} function tb (line 32) | function tb(a,b,c,e){if(A)return K(7,1,a,b,c,e)} function vb (line 33) | function vb(a){"function"===typeof Atomics.Ia&&(Atomics.Ia(q(),a>>2,a).v... function gb (line 33) | function gb(){var a=fb();a&&(vb(a),ub(()=>wb()))} function Bb (line 35) | function Bb(a,b,c,e){b=b?J(b):"";xb(function(){var f=Cb(12),g=0;b&&(g=Ab... function Eb (line 36) | function Eb(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vert... function Fb (line 37) | function Fb(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.cre... function Gb (line 37) | function Gb(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuff... function Hb (line 38) | function Hb(a){a.Z=a.getExtension("WEBGL_draw_instanced_base_vertex_base... function Ib (line 38) | function Ib(a){a.ea=a.getExtension("WEBGL_multi_draw_instanced_base_vert... function Jb (line 38) | function Jb(a){a.Ma=a.getExtension("WEBGL_multi_draw")} function S (line 38) | function S(a){Ub||(Ub=a)} function Vb (line 38) | function Vb(a){for(var b=Kb++,c=a.length;c>2]=fb();var e={handle:c,attributes... function Yb (line 41) | function Yb(a){a||(a=T);if(!a.pa){a.pa=!0;var b=a.s;Eb(b);Fb(b);Gb(b);Hb... function Zb (line 42) | function Zb(a){a=2>2]=b,q()[e.... function ac (line 43) | function ac(a,b,c){return A?K(8,1,a,b,c):$b(a,b,c)} function bc (line 43) | function bc(a,b,c,e,f,g,k,n){return A?K(9,1,a,b,c,e,f,g,k,n):-52} function cc (line 43) | function cc(a,b,c,e,f,g,k){if(A)return K(10,1,a,b,c,e,f,g,k)} function dc (line 43) | function dc(a,b){U.bindFramebuffer(a,Mb[b])} function ec (line 43) | function ec(a){U.clear(a)} function fc (line 43) | function fc(a,b,c,e){U.clearColor(a,b,c,e)} function gc (line 43) | function gc(a){U.clearStencil(a)} function hc (line 44) | function hc(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;cas... function ic (line 46) | function ic(a,b){hc(a,b,0)} function K (line 47) | function K(a,b){var c=arguments.length-2,e=arguments;return xb(()=>{for(... function oc (line 49) | function oc(a,b){if(A)return K(11,1,a,b);var c=0;nc().forEach(function(e... function pc (line 49) | function pc(a,b){if(A)return K(12,1,a,b);var c=nc();t()[a>>2]=c.length;v... function qc (line 49) | function qc(a){return A?K(13,1,a):52} function rc (line 49) | function rc(a,b,c,e,f,g){return A?K(14,1,a,b,c,e,f,g):52} function sc (line 49) | function sc(a,b,c,e){return A?K(15,1,a,b,c,e):52} function tc (line 50) | function tc(a,b,c,e,f){return A?K(16,1,a,b,c,e,f):70} function vc (line 50) | function vc(a,b,c,e){if(A)return K(17,1,a,b,c,e);for(var f=0,g=0;g>2];U.deleteVertex... function zc (line 51) | function zc(a,b,c,e){U.drawElements(a,b,c,e)} function Ac (line 51) | function Ac(a,b,c,e){for(var f=0;fKc?-1:0{s.initializeEngine(r).then(a=>a.runApp(... method didCreateEngineInitializer (line 1) | didCreateEngineInitializer(e){typeof this._didCreateEngineInitializerRes... method _loadJSEntrypoint (line 1) | _loadJSEntrypoint(e,n,r){let t=typeof n=="function";if(!this._scriptLoad... method _loadWasmEntrypoint (line 1) | async _loadWasmEntrypoint(e,n,r){if(!this._scriptLoaded){this._scriptLoa... method _createScriptTag (line 1) | _createScriptTag(e,n){let r=document.createElement("script");r.type="app... function b (line 1) | async function b(o,e,n){if(e<0)return o;let r,t=new Promise((i,s)=>{r=se... method setTrustedTypesPolicy (line 1) | setTrustedTypesPolicy(e){this._ttPolicy=e} method loadServiceWorker (line 1) | loadServiceWorker(e){if(!e)return console.debug("Null serviceWorker conf... method _getNewServiceWorker (line 3) | async _getNewServiceWorker(e,n){if(!e.active&&(e.installing||e.waiting))... method _waitForServiceWorkerActivation (line 3) | async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if... method constructor (line 3) | constructor(e,n="flutter-js"){let r=e||[/\.js$/,/\.mjs$/];window.trusted... method loadEntrypoint (line 3) | async loadEntrypoint(e){let{serviceWorker:n,...r}=e||{},t=new v,i=new h;... method load (line 3) | async load({serviceWorkerSettings:e,onEntrypointLoaded:n,nonce:r,config:... FILE: legacy/dist/flutter_bootstrap.js function L (line 1) | function L(){let o=document.querySelector("base");return o&&o.getAttribu... function U (line 1) | function U(o){return o===""||o.endsWith("/")?o:`${o}/`} method constructor (line 1) | constructor(){this._scriptLoaded=!1} method setTrustedTypesPolicy (line 1) | setTrustedTypesPolicy(e){this._ttPolicy=e} method loadEntrypoint (line 1) | async loadEntrypoint(e){let{entrypointUrl:n=`${w}main.dart.js`,onEntrypo... method load (line 1) | async load(e,n,r,t,i){if(i??=s=>{s.initializeEngine(r).then(a=>a.runApp(... method didCreateEngineInitializer (line 1) | didCreateEngineInitializer(e){typeof this._didCreateEngineInitializerRes... method _loadJSEntrypoint (line 1) | _loadJSEntrypoint(e,n,r){let t=typeof n=="function";if(!this._scriptLoad... method _loadWasmEntrypoint (line 1) | async _loadWasmEntrypoint(e,n,r){if(!this._scriptLoaded){this._scriptLoa... method _createScriptTag (line 1) | _createScriptTag(e,n){let r=document.createElement("script");r.type="app... function b (line 1) | async function b(o,e,n){if(e<0)return o;let r,t=new Promise((i,s)=>{r=se... method setTrustedTypesPolicy (line 1) | setTrustedTypesPolicy(e){this._ttPolicy=e} method loadServiceWorker (line 1) | loadServiceWorker(e){if(!e)return console.debug("Null serviceWorker conf... method _getNewServiceWorker (line 3) | async _getNewServiceWorker(e,n){if(!e.active&&(e.installing||e.waiting))... method _waitForServiceWorkerActivation (line 3) | async _waitForServiceWorkerActivation(e){if(!e||e.state==="activated")if... method constructor (line 3) | constructor(e,n="flutter-js"){let r=e||[/\.js$/,/\.mjs$/];window.trusted... method loadEntrypoint (line 3) | async loadEntrypoint(e){let{serviceWorker:n,...r}=e||{},t=new v,i=new h;... method load (line 3) | async load({serviceWorkerSettings:e,onEntrypointLoaded:n,nonce:r,config:... FILE: legacy/dist/flutter_service_worker.js constant MANIFEST (line 2) | const MANIFEST = 'flutter-app-manifest'; constant TEMP (line 3) | const TEMP = 'flutter-temp-cache'; constant CACHE_NAME (line 4) | const CACHE_NAME = 'flutter-app-cache'; constant RESOURCES (line 6) | const RESOURCES = {"flutter_bootstrap.js": "1dad2b46325bcd99fea57b142990... constant CORE (line 49) | const CORE = ["main.dart.js", function downloadOffline (line 178) | async function downloadOffline() { function onlineFirst (line 198) | function onlineFirst(event) { FILE: legacy/dist/tv.js function rv (line 21) | function rv(lang) { FILE: project/web/src/app/layout.tsx function RootLayout (line 12) | function RootLayout({ FILE: project/web/src/app/page.tsx function Home (line 4) | function Home() { FILE: project/web/src/components/ui/button.tsx type ButtonProps (line 36) | interface ButtonProps FILE: project/web/src/components/ui/form.tsx type FormFieldContextValue (line 18) | type FormFieldContextValue< type FormItemContextValue (line 65) | type FormItemContextValue = { FILE: project/web/src/components/ui/input.tsx type InputProps (line 5) | interface InputProps FILE: project/web/src/components/ui/pagination.tsx type PaginationLinkProps (line 37) | type PaginationLinkProps = { FILE: project/web/src/components/ui/toast.tsx type ToastProps (line 115) | type ToastProps = React.ComponentPropsWithoutRef type ToastActionElement (line 117) | type ToastActionElement = React.ReactElement FILE: project/web/src/components/ui/toaster.tsx function Toaster (line 13) | function Toaster() { FILE: project/web/src/components/ui/use-toast.ts constant TOAST_LIMIT (line 11) | const TOAST_LIMIT = 1 constant TOAST_REMOVE_DELAY (line 12) | const TOAST_REMOVE_DELAY = 1000000 type ToasterToast (line 14) | type ToasterToast = ToastProps & { function genId (line 30) | function genId() { type ActionType (line 35) | type ActionType = typeof actionTypes type Action (line 37) | type Action = type State (line 55) | interface State { function dispatch (line 136) | function dispatch(action: Action) { type Toast (line 143) | type Toast = Omit function toast (line 145) | function toast({ ...props }: Toast) { function useToast (line 174) | function useToast() { FILE: project/web/src/lib/utils.ts function cn (line 4) | function cn(...inputs: ClassValue[]) { FILE: project/web/src/models/types.ts type Question (line 2) | interface Question { type CustomContent (line 17) | interface CustomContent { FILE: web/src/App.tsx type CredentialMode (line 34) | type CredentialMode = 'auth' | 'api-key' | 'opencode-config'; constant OPENCODE_RECOMMENDED_MODEL_VALUE (line 35) | const OPENCODE_RECOMMENDED_MODEL_VALUE = '__opencode_recommended__'; constant MAX_INSTRUCTION_ATTACHMENT_BYTES (line 36) | const MAX_INSTRUCTION_ATTACHMENT_BYTES = 40 * 1024 * 1024; constant PROJECT_HISTORY_STORAGE_KEY (line 37) | const PROJECT_HISTORY_STORAGE_KEY = 'glowby_oss_project_history'; constant DEFAULT_BUILD_INSTRUCTIONS (line 38) | const DEFAULT_BUILD_INSTRUCTIONS = 'Make this project production ready. ... constant OPENCODE_MODEL_PREFERENCE_ORDER (line 39) | const OPENCODE_MODEL_PREFERENCE_ORDER = [ constant RUN_STATUS_LABEL (line 46) | const RUN_STATUS_LABEL: Record = { constant DEFAULT_PROVIDER_KEYS (line 54) | const DEFAULT_PROVIDER_KEYS: ProviderKeyState = { constant PROVIDER_KEYS_STORAGE_KEY (line 65) | const PROVIDER_KEYS_STORAGE_KEY = 'glowby_oss_provider_keys'; function loadProviderKeys (line 67) | function loadProviderKeys(): ProviderKeyState { function saveProviderKeys (line 80) | function saveProviderKeys(keys: ProviderKeyState): void { constant IMAGE_SOURCE_STORAGE_KEY (line 88) | const IMAGE_SOURCE_STORAGE_KEY = 'glowby_oss_image_source'; function loadImageSource (line 90) | function loadImageSource(): string { function saveImageSource (line 98) | function saveImageSource(value: string): void { constant CREDENTIAL_MODE_STORAGE_KEY (line 106) | const CREDENTIAL_MODE_STORAGE_KEY = 'glowby_oss_credential_mode'; constant VALID_CREDENTIAL_MODES (line 107) | const VALID_CREDENTIAL_MODES: CredentialMode[] = ['auth', 'api-key', 'op... function loadCredentialMode (line 109) | function loadCredentialMode(): CredentialMode { function saveCredentialMode (line 121) | function saveCredentialMode(mode: CredentialMode): void { constant TARGET_SELECTION_STORAGE_KEY (line 129) | const TARGET_SELECTION_STORAGE_KEY = 'glowby_oss_selected_targets'; constant BUILD_TARGETS (line 131) | const BUILD_TARGETS = [ constant ALL_TARGET_IDS (line 138) | const ALL_TARGET_IDS: string[] = BUILD_TARGETS.map((t) => t.id); function loadSelectedTargets (line 140) | function loadSelectedTargets(): string[] { function saveSelectedTargets (line 156) | function saveSelectedTargets(ids: string[]): void { function validateImageSource (line 164) | function validateImageSource(source: string, keys: ProviderKeyState): st... function suggestBundleID (line 172) | function suggestBundleID(name: string): string { type ProjectHistoryEntry (line 185) | interface ProjectHistoryEntry { type PreferredOpenCodeModel (line 192) | interface PreferredOpenCodeModel { type HistoryViewEntry (line 199) | interface HistoryViewEntry extends Omit { function requestJson (line 56) | async function requestJson(input: RequestInfo | URL, init?: RequestIn... method getHealth (line 68) | async getHealth(): Promise { method getAuthStatus (line 72) | async getAuthStatus(): Promise { method connectOpenAIAuth (line 76) | async connectOpenAIAuth(payload: OpenCodeAuthConnectRequest): Promise { method getProjectHistory (line 110) | async getProjectHistory(projectPath: string): Promise { method pickInstructionFiles (line 126) | async pickInstructionFiles(): Promise = { function dedupeModels (line 226) | function dedupeModels(models: ModelCatalogEntry[]): ModelCatalogEntry[] { function staticModelCatalogFor (line 242) | function staticModelCatalogFor(providerId: ProviderID): ModelCatalogEntr... function modelCatalogGroups (line 246) | function modelCatalogGroups(dynamicOpenAIModels: OpenAIModelsResponseMod... function providerDefinition (line 269) | function providerDefinition(providerId: ProviderID): ModelCatalogProvide... function encodeModelOptionValue (line 273) | function encodeModelOptionValue(providerId: ProviderID, modelId: string)... function decodeModelOptionValue (line 277) | function decodeModelOptionValue(value: string): { providerId: ProviderID... function resolveRefineModel (line 302) | function resolveRefineModel(providerId: ProviderID, modelId: string): Re... FILE: web/src/lib/server-auth.ts constant SESSION_STORAGE_KEY (line 1) | const SESSION_STORAGE_KEY = 'glowby.serverToken'; function browserTokenFromURL (line 3) | function browserTokenFromURL(): string { function resolveServerToken (line 25) | function resolveServerToken(): string { function withServerAuthHeaders (line 49) | function withServerAuthHeaders(headers?: HeadersInit): Headers { FILE: web/src/lib/sse.ts type StreamJsonSseOptions (line 3) | interface StreamJsonSseOptions