feat(domain,application,infrastructure,backend,web-server,app-tauri,frontend): persistance et reprise des conversations de CLI custom par agent — index durable <projet>/.ideai/conversations/custom-index.json borné aux conversations non vides par agent (conversation_id logique, titre dérivé de la première invite, created/updated_at_ms), port CustomConversationIndex + adaptateur FsCustomConversationIndex, persistence des messages utilisateur et finals agent dans le log de conversation existant, DTO/commandes app-tauri et routes web-server pour lister/rouvrir, CustomAgentChatView: ouverture par défaut sur une nouvelle conversation, menu reprise d'une conversation passée ou nouvelle conversation, replay de l'historique sauvegardé (user+finals) à la réouverture, affichage normal des nouveaux messages après reprise, /clean ouvre une nouvelle conversation, aucune entrée créée si la conversation courante est vide, injection de l'historique dans le contexte agent différée au premier nouveau message après reprise — #363 (QA verte: git diff --check, cargo fmt --all -- --check, cargo tests ciblés infrastructure/application/web-server/app-tauri/backend, npm run typecheck, tests frontend ciblés et CustomAgentChatView, npm run build)
This commit is contained in:
@ -14,7 +14,7 @@
|
||||
* survives JSON.
|
||||
*/
|
||||
|
||||
import type { ReplyChunk } from "@/domain";
|
||||
import type { ReplyChunk, TurnView } from "@/domain";
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// Base64 helpers (binary PTY bytes over JSON frames)
|
||||
@ -156,4 +156,8 @@ export interface ChatAttachedPayload {
|
||||
engineSessionId?: string;
|
||||
scrollback?: ReplyChunk[];
|
||||
transcriptUnavailableReason?: "missingTranscript" | "emptyConversation";
|
||||
history?: TurnView[];
|
||||
historyHasMore?: boolean;
|
||||
historyNextAnchor?: string;
|
||||
resumed?: boolean;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user