Route F12 and audio transcription exclusively through Antigravity OAuth, and preserve cross-model history without reusing incompatible signatures.\n\nRemove direct Gemini API keys, web grounding, internal TTS, verified image generation, obsolete commands and configuration. Update documentation and restore the local voice workflow helpers required at runtime.
Loop self-contained per la generazione di immagini conformi a requisiti:
1. Genera immagine con agy (mode image)
2. Analizza con visione testuale (giudice PASS/FAIL vs requisiti)
3. Verifica oggettiva con script Python/OpenCV (dimensioni, aspect ratio,
luminosità, densità bordi, colori dominanti)
4. Rigenera con prompt di correzione (ri-attaccando l'immagine base) se FAIL
Ripete fino al soddisfacimento o al limite maxIterations (default 3, max 5).
Restituisce immagine finale + report di verifica (verdetto + metriche per
iterazione). Ideale quando l'orchestratore pi non ha visione.
Aggiunto helper runOpenCV. README aggiornato.
- Dopo la trascrizione F12, agy genera un PIANO (direttiva plan-first: 'produci
solo il piano, NON eseguire nulla, attendi conferma') invece di avviare un
loop agentico autonomo.
- Con vocalPlanningMode=true (default) un overlay TUI (ctx.ui.custom) mostra
trascrizione + piano proposto e attende la conferma dell'utente:
Enter esegui | Esc annulla | E modifica | F12 registra di nuovo
- E entra in modalità modifica del testo del piano; F12 ri-avvia la registrazione.
- vocalPlanningMode=false ripristina l'esecuzione diretta (autonomia piena).
- Nuova chiave config vocalPlanningMode (bool).
- README aggiornato.
Best practice context engineering (Lost in the Middle, TACL 2024; tag XML Gemini):
- Tool agy inietta automaticamente un blocco di contesto prima della richiesta
utente (che resta SEMPRE per ultima, anti lost-in-the-middle).
- <environment_snapshot>: cwd, OS, data/ora, git branch + file modificati.
- <session_state>: ultimi messaggi utente pi compatti (non il transcript grezzo).
- <durable_memory>: archivio memory.json auto-aggiornato oltre una soglia di turni.
- <web_context>: ricerca web Strada A via Gemini API (googleSearch grounding)
con webSearch=auto|on.
- Token cap ~1500 (contextTokens), configurabile.
- Nuovi parametri tool agy: injectContext (default true), webSearch (override).
- Nuove chiavi config: contextInject, contextTokens, webSearch.
- README aggiornato.
- Overlay TUI (ctx.ui.custom) che mostra: binario agy + versione, chiave
Gemini (valida/mancante, mascherata), modello attivo, backend STT,
notifiche TTS e ultimo errore significativo dal log di agy.
- Parsing log migliorato: filtra il rumore di glog e cattura errori reali
(permission denied, quota, 404, timeout).
- Chiusura con Enter o Esc. README aggiornato.
- Comando /agy:key che apre un overlay TUI (ctx.ui.custom overlay) con campo
mascherato per inserire la chiave API Gemini senza digitarla in chiaro.
- Enter conferma: salva in config.json e ~/.agy-chat/gemini-key + suona chime.
- Esc annulla, Backspace cancella, filtra caratteri consentiti per chiave API.
- Import dinamico dei componenti pi-tui (Container, Text, DynamicBorder) per non
rompere il load dell'estensione se pi-tui non fosse disponibile.
- Aggiunto tsconfig.json per il typecheck con mapping ai moduli pi.
- README: documentato il nuovo comando.