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:
@ -118,6 +118,7 @@ import type {
|
||||
ConversationGateway,
|
||||
ConversationPageRequest,
|
||||
ConversationDetails,
|
||||
CustomAgentConversationSummary,
|
||||
CloneProfileFromSeedInput,
|
||||
CloneOpenCodeProfileFromSeedInput,
|
||||
CreateAgentInput,
|
||||
@ -961,6 +962,14 @@ export class MockAgentGateway implements AgentGateway {
|
||||
};
|
||||
}
|
||||
|
||||
async listCustomAgentConversations(
|
||||
_projectId: string,
|
||||
_agentId: string,
|
||||
_limit?: number,
|
||||
): Promise<CustomAgentConversationSummary[]> {
|
||||
return [];
|
||||
}
|
||||
|
||||
async reattachAgentChat(
|
||||
sessionId: string,
|
||||
_onChunk: (chunk: ReplyChunk) => void,
|
||||
@ -1057,6 +1066,7 @@ export class MockAgentGateway implements AgentGateway {
|
||||
kind: "cleanConversation",
|
||||
sessionId: options.sessionId,
|
||||
clearedChunks: 0,
|
||||
conversationId: `mock-conversation-${options.sessionId}-${Date.now()}`,
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user