[FR]: Testing agent should handle AppFunctionUriGrant results and pass returned images to the model
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Start with AgentOrchestrator.handleLlmResponse around line 301 and trace how function results are converted into chat content; compare the existing imageUri handling with AppFunctionUriGrant. Then inspect GeminiProviderImpl to see how the next model turn is built. Done means granted image URIs reach Gemini as image input and the returned image is handled in chat as described.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Description
A function can return an image the standard way, as an AppFunctionUriGrant (a content URI plus FLAG_GRANT_READ_URI_PERMISSION). The Testing Agent doesn't recognize this:
- Not shown:
AgentOrchestrator.handleLlmResponse(around line 301) only picks up images from a result field namedimageUri, the agent's own convention fromgenerateImage(see #12). A standardAppFunctionUriGrantresult is passed to the model as plain text, and no image appears in the chat. - Not seen by the model: even with
imageUri, the image is only attached to the chat message for the user.GeminiProviderImplnever sends image content to the model, so a function's returned image never reaches the LLM.
Why it matters
Visual apps rely on returning renders so the agent can check its own work. For example, a design app can expose renderDesign(): AppFunctionUriGrant and instruct the agent to render after changes and correct what it sees. With the Testing Agent, the model works blind, so this loop can't be tested at all, even though it is exactly the kind of flow a system agent would need to support.
Suggested behavior
- Recognize
AppFunctionUriGrant(or any result whose URI points to animage/*type) as an image result, alongside theimageUriconvention. - Read it through the granted permission and attach it to the next model turn as image input (Gemini
inline_data), so the model can see it. - Optionally show it inline in the chat, as #12 did for
imageUri.
Environment
- Testing Agent at a3a2a89 (main, Oct 23, 2026)
- androidx.appfunctions 1.0.0-beta01
- Android 17 (API 37) emulator
Related: #12 (inline image URIs in the chat), #62.
- Vorherrschende Sprache
- Kotlin
- Sterne
- 210
- Forks
- 45
- Ø Merge
- 12 Std. 24 Min.
- Gemergte PRs (30 T.)
- 3
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus android/appfunctions
-
documentation
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 90/100
android/appfunctions#66 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
android/appfunctions#62 ·
-
Schwierigkeit 4/5 1-2 Tage Anfängerfreundlichkeit 55/100
android/appfunctions#64 ·
-
Clarify production invocation, Android Auto support, and Android 16 fallback in AppFunctions docsOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
android/appfunctions#51 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
android/appfunctions#50 · 1 Kommentar ·
Alle Issues in android/appfunctions
Ähnliche Issues
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
react/react-native#59693 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
-
Itch.io full searchOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Droid-Deck/DroidDeck#1852 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 80/100
pengchujin/aerial-tv#989 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag