feat: AgentPanelViewModel + CommandPaletteViewModel (#16, #18) #126

Merged
charles merged 4 commits from feat/16-18-agent-panel-palette into main 2026-04-06 02:14:36 +00:00
Owner

Résumé

  • #16AgentPanelViewModel dans agent_panel.rs : gestion du panneau latéral agent (modèle, capabilities, statut session, contexte restant, reset session, label formaté).
  • #18CommandPaletteViewModel dans command_palette.rs : palette Ctrl+K avec filtre live, commandes OpenClaw intégrées (/status, /focus, /session, /help), sélection → injection de la commande, fermeture par Échap.

Fichiers modifiés

  • crates/fractal-gtk/Cargo.toml — ajout de fractal-ai, serde, serde_json
  • crates/fractal-gtk/src/agent_panel.rs — nouveau module (issue #16)
  • crates/fractal-gtk/src/command_palette.rs — nouveau module (issue #18)
  • crates/fractal-gtk/src/lib.rs — exposition des deux modules + re-exports publics

Plan de test

  • cargo test -p fractal-gtk : 11 tests unitaires (5 agent_panel + 6 command_palette) doivent passer
  • Vérifier que transcript_widget est toujours accessible (conservé dans lib.rs)
  • Vérifier que show_thinking = true dans config peut activer AgentPanelViewModel::enabled
  • Vérifier que CommandPaletteViewModel::add_command permet d'enregistrer des commandes tierces depuis CommandRegistry

Closes #16
Closes #18

## Résumé - **#16** — `AgentPanelViewModel` dans `agent_panel.rs` : gestion du panneau latéral agent (modèle, capabilities, statut session, contexte restant, reset session, label formaté). - **#18** — `CommandPaletteViewModel` dans `command_palette.rs` : palette Ctrl+K avec filtre live, commandes OpenClaw intégrées (`/status`, `/focus`, `/session`, `/help`), sélection → injection de la commande, fermeture par Échap. ## Fichiers modifiés - `crates/fractal-gtk/Cargo.toml` — ajout de `fractal-ai`, `serde`, `serde_json` - `crates/fractal-gtk/src/agent_panel.rs` — nouveau module (issue #16) - `crates/fractal-gtk/src/command_palette.rs` — nouveau module (issue #18) - `crates/fractal-gtk/src/lib.rs` — exposition des deux modules + re-exports publics ## Plan de test - [ ] `cargo test -p fractal-gtk` : 11 tests unitaires (5 agent_panel + 6 command_palette) doivent passer - [ ] Vérifier que `transcript_widget` est toujours accessible (conservé dans lib.rs) - [ ] Vérifier que `show_thinking = true` dans config peut activer `AgentPanelViewModel::enabled` - [ ] Vérifier que `CommandPaletteViewModel::add_command` permet d'enregistrer des commandes tierces depuis `CommandRegistry` Closes #16 Closes #18
Sign in to join this conversation.
No description provided.