Permet de recharger la conversation CLI précédente de chaque cellule à la
réouverture du projet, de façon universelle (indépendant du modèle/CLI).
- profil AgentRuntime: bloc déclaratif optionnel `session { assignFlag, resumeFlag }`
- LeafCell: `conversationId` (persistant, distinct du SessionId PTY) + `agentWasRunning`
- runtime: SessionPlan (None/Assign/Resume) + composition pure des args
- LaunchAgent: décide Assign vs Resume, génère l'UUID, remonte l'id assigné
(persistance par l'appelant via setCellConversation — découplage SRP)
- close: SnapshotRunningAgents fige `agentWasRunning` avant le kill-all
(statut clot/en cours universel, sans parsing CLI)
- SessionInspector: port optionnel best-effort + adapter ClaudeTranscriptInspector
- popup de reprise par cellule (statut + sujet/tokens si dispo), intercalée
avant le Resume auto, jamais sur le chemin reattach
fix(terminals): sérialise les écritures PTY (file FIFO par handle) — corrige
les caractères mélangés/accents dus au réordonnancement des invoke Tauri concurrents
fix(layout): l'opération `move` préservait mal les champs du leaf (perdait `agent`)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
32 lines
1.4 KiB
Rust
32 lines
1.4 KiB
Rust
//! Agent-profile use cases & reference catalogue (ARCHITECTURE §6, L5).
|
|
//!
|
|
//! This module owns the *profile* side of the AI runtime: detecting which CLIs
|
|
//! are installed, persisting the chosen/edited/custom profiles, and exposing the
|
|
//! pre-filled reference catalogue that seeds the first-run wizard. It talks only
|
|
//! to the [`domain::ports::AgentRuntime`] and [`domain::ports::ProfileStore`]
|
|
//! ports. Launching an agent (PTY + injection) is L6.
|
|
|
|
mod catalogue;
|
|
mod inspect;
|
|
mod lifecycle;
|
|
mod usecases;
|
|
|
|
pub(crate) use lifecycle::unique_md_path;
|
|
|
|
pub use catalogue::{reference_profile_id, reference_profiles};
|
|
pub use inspect::{
|
|
InspectConversation, InspectConversationInput, InspectConversationOutput,
|
|
};
|
|
pub use lifecycle::{
|
|
CreateAgentFromScratch, CreateAgentInput, CreateAgentOutput, DeleteAgent, DeleteAgentInput,
|
|
LaunchAgent, LaunchAgentInput, LaunchAgentOutput, ListAgents, ListAgentsInput, ListAgentsOutput,
|
|
ReadAgentContext, ReadAgentContextInput, ReadAgentContextOutput, UpdateAgentContext,
|
|
UpdateAgentContextInput,
|
|
};
|
|
pub use usecases::{
|
|
ConfigureProfiles, ConfigureProfilesInput, ConfigureProfilesOutput, DeleteProfile,
|
|
DeleteProfileInput, DetectProfiles, DetectProfilesInput, DetectProfilesOutput, FirstRunState,
|
|
FirstRunStateOutput, ListProfiles, ListProfilesOutput, ProfileAvailability, ReferenceProfiles,
|
|
ReferenceProfilesOutput, SaveProfile, SaveProfileInput, SaveProfileOutput,
|
|
};
|