- Nuovo file terminal_ui.py con emulatore terminale
- Flag --terminal per attivare UI con scrollback
- 10000 righe di scrollback buffer
- Supporta resize automatico del terminale
- Ctrl+C per uscire
- stty sane resetta il terminale dopo EnhancedCLI fallito
- sys.stdin.readline() invece di input() per terminali problematici
- stdout flush prima di read per garantire prompt visibile
- Rimosso CursorShape.BEAM che causa hang su alcuni terminali
- Aggiunto timeout 30s con fallback a CLI semplice
- Cattura KeyboardInterrupt, EOFError, OSError per hang
- Signal handler per Ctrl+C in EnhancedCLI
- Output > 10 righe salvato in .langcode/output_TIMESTAMP.txt
- Visualizzato con 'less -R' che supporta frecce e scroll
- Fallback a cat parziale se less non disponibile
- Aggiunto flag --simple per usare input() invece di prompt_toolkit
- EnhancedCLI ora ha try/except con fallback automatico
- CLI semplice supporta comandi base: /help, /status, /exit
- QUICKSTART.md: aggiornata sezione Chat Interattiva con EnhancedCLI
- AGENT_ROADMAP.md: aggiornato stato a "Agente AI completo"
- Aggiunto completamento fasi roadmap
- Aggiornato commit log con tutti gli 8 commit
Features aggiunte:
- 4 temi: default, dark, light, monokai
- Syntax highlighting per code blocks (pygments)
- Keyboard shortcuts: Ctrl+A/E (inizio/fine), Ctrl+K/U (kill line), Ctrl+W (kill word)
- Toggle timestamps, syntax con comandi dedicati
- Status avanzato con uptime e statistics
- Codici ANSI predefiniti per ogni tema
- Mouse support per scrolling
- Pygments per syntax highlighting di codice
- run() crea e traccia task nel planner
- run_plan() esegue sequenze di goal con progresso
- decompose_goal() scompone goal complessi via LLM
- Task tracciati con stato: pending->in_progress->completed/failed
- Nuovo ReActAgent con loop Pensa->Agisci->Osserva
- Usa intent detection esistente per affidabilità
- Supporta tutti i tool built-in
- Planning e memory integration point
- docs/AGENT_ROADMAP.md: gap analysis e roadmap
- Shell commands: supporta comando singolo (pwd, echo) oltre a quelli con argomenti
- write_file: parsing migliorato per estrarre contenuto con vari pattern
- invoke: gestisce correttamente messaggi in formato dict (non solo oggetti con .content)
Fix principali:
- ls, pwd, echo, git ora funzionano come execute
- write_file con 'con dentro' e virgolette
- llm.invoke con {content: 'testo'} invece di HumanMessage
- Nuovo formato TOOL:toolname|arg=val più semplice
- System prompt semplificato con lista chiara tool
- Parsing supporta sia formato nuovo che vecchio
- Validazione tool names esistenti
- Nuovo modulo ollama_agent.py con parsing delle risposte
- Supporta chiamate tool per provider senza bind_tools
- Tool built-in: execute, read_file, write_file, ls, search, system_info
- Il modello risponde con [TOOL_CALL] che noi parsiamo ed eseguiamo
- Integrato in main.py per uso automatico con Ollama
- Crea create_simple_agent() per provider senza tool-calling
- Detecta automaticamente Ollama e usa agente semplice
- Aggiunge comando /reset per pulire cronologia