feat: AI preferences page + multi-agent protocol (#26 #33) #148

Merged
charles merged 2 commits from feat/26-33-ai-config into main 2026-04-06 02:25:07 +00:00
Owner

Résumé

  • #26 — Page de préférences IA : sélection du modèle, activation/désactivation des agents, URL de endpoint configurable
  • #28 — Panneau contextuel Agent : AgentPanelViewModel avec SessionStatus, ContextUsage, context_label()
  • #33 — Support multi-agent : AgentProtocol trait async, MatrixAgentProtocol, OpenClawProtocol, panneau contextuel agent

Changements

  • crates/fractal-ai/src/agent.rsAgentType, AgentInfo, capabilities
  • crates/fractal-ai/src/detector.rsAgentDetector, AgentDetectorConfig
  • crates/fractal-ai/src/streaming.rsStreamingMessageTracker, StreamState, StreamAction
  • crates/fractal-ai/src/typing.rsAgentTypingTracker, AgentTypingState
  • crates/fractal-ai/src/visual.rsAgentBadge, AgentRoomVisual
  • crates/fractal-ai/src/lib.rs — exports consolidés
  • crates/fractal-gtk/src/panel.rsAgentPanelViewModel, SessionStatus, ContextUsage

Plan de test

  • cargo check -p fractal-ai passe sans erreur
  • cargo check -p fractal-gtk passe sans erreur
  • AgentPanelViewModel::context_label() retourne "N/A" si pas de tokens
  • AgentInfo::has_capability() fonctionne correctement
  • Les exports depuis fractal_ai sont accessibles (AgentProtocol, StreamingMessageTracker, etc.)

Closes #26, closes #28, closes #33

## Résumé - **#26** — Page de préférences IA : sélection du modèle, activation/désactivation des agents, URL de endpoint configurable - **#28** — Panneau contextuel Agent : `AgentPanelViewModel` avec `SessionStatus`, `ContextUsage`, `context_label()` - **#33** — Support multi-agent : `AgentProtocol` trait async, `MatrixAgentProtocol`, `OpenClawProtocol`, panneau contextuel agent ## Changements - `crates/fractal-ai/src/agent.rs` — `AgentType`, `AgentInfo`, capabilities - `crates/fractal-ai/src/detector.rs` — `AgentDetector`, `AgentDetectorConfig` - `crates/fractal-ai/src/streaming.rs` — `StreamingMessageTracker`, `StreamState`, `StreamAction` - `crates/fractal-ai/src/typing.rs` — `AgentTypingTracker`, `AgentTypingState` - `crates/fractal-ai/src/visual.rs` — `AgentBadge`, `AgentRoomVisual` - `crates/fractal-ai/src/lib.rs` — exports consolidés - `crates/fractal-gtk/src/panel.rs` — `AgentPanelViewModel`, `SessionStatus`, `ContextUsage` ## Plan de test - [ ] `cargo check -p fractal-ai` passe sans erreur - [ ] `cargo check -p fractal-gtk` passe sans erreur - [ ] `AgentPanelViewModel::context_label()` retourne `"N/A"` si pas de tokens - [ ] `AgentInfo::has_capability()` fonctionne correctement - [ ] Les exports depuis `fractal_ai` sont accessibles (AgentProtocol, StreamingMessageTracker, etc.) Closes #26, closes #28, closes #33
feat: export AiConfig and AgentEntry from fractal-core (#26, #33)
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
a3a1fb83f5
charles deleted branch feat/26-33-ai-config 2026-04-06 02:25:07 +00:00
Sign in to join this conversation.
No description provided.