Commit Graph

1061 Commits

Author SHA1 Message Date
7f445cbd6d merge(templates): permissions MCP des templates persistées via la clé frontend mcpToolPermissions — #244 (QA verte) 2026-08-24 11:46:25 +02:00
a6a97fdd39 chore(tickets): synchro du store local — cycle #244 DTO permissions templates (QA verte) + #157 passage en QA après validation live v0.34.0 2026-08-24 11:46:19 +02:00
69129a95ad fix(templates): mcpToolPermissions persisté via create/update_template — désérialisation par alias préférés (mcpToolPermissions > defaultMcpToolPermissions > defaultMcpToolPolicy) sur les DTO Create/UpdateTemplateRequestDto — #244 (QA verte) 2026-08-24 11:46:14 +02:00
592f248762 merge(custom-cli): progress/tools restaurés dès la 2e sollicitation quand le provider réutilise le même progressId — #157 (QA verte) 2026-08-24 09:43:33 +02:00
6b57addd4e chore(tickets): synchro du store local — carnet #157 itération 5 (régression progressId réutilisé, QA verte) + reliquat clôture #253 2026-08-24 09:43:26 +02:00
4db264ea8c fix(custom-cli): cartes progress/tools visibles dès la 2e sollicitation malgré la réutilisation du progressId — la clé d'upsert borne le progressId au scope du tour au lieu d'un dédup global sur l'historique — #157 (QA verte) 2026-08-24 09:43:20 +02:00
d9af4b5630 merge(opencode): suite de tests fiable en exécution parallèle — #253 (QA verte) 2026-08-24 08:19:49 +02:00
c05b671149 chore(tickets): synchro du store local — carnet et statut #253 2026-08-24 08:19:41 +02:00
cd70a3c61b test(opencode): fiabilisation de la suite en parallèle — écriture atomique des fixtures, gates par fichier au lieu de sleep, runtime dédié par test, timeout 5s — #253 (QA verte) 2026-08-24 08:19:41 +02:00
f303cc1878 chore(tickets): synchro du store local — création #253, carnet #252 2026-08-24 08:08:55 +02:00
4553e5da7e merge(custom-cli): streaming progress/outils restauré sur la seconde requête au même agent — #252 (QA verte) 2026-08-24 08:05:05 +02:00
6becdf26bd chore(tickets): synchro du store local — carnet et statut #252 2026-08-24 08:04:49 +02:00
23c47eac96 test(custom-cli): tests à deux callbacks couvrant le streaming progress/outils sur la seconde requête au même agent — #252 (QA verte) 2026-08-24 08:04:49 +02:00
d553d137ea fix(custom-cli): progression et messages d'outils restaurés au second tour — le projecteur ne retient plus les events de progress après le premier message, seuls Text/Error restent bufferisés — #252 (QA verte) 2026-08-24 08:04:49 +02:00
1f14217032 chore(tickets): synchro du store local — création #248–#252, carnets #247 2026-08-24 07:53:56 +02:00
15c1c29d73 merge(custom-cli): conversation agent stable à partir du second tour — #251 (QA verte) 2026-08-23 17:51:50 +02:00
7b7ab5b95a fix(custom-cli): affichage conversation stable au second tour — dédup du prompt et scope de progression par tour, sans reliquats du tour précédent — #251 (QA verte) 2026-08-23 17:51:50 +02:00
d5fea391b2 merge(custom-cli): masquage des contrôles d'overlay sur la custom CLI occupée — #249 (QA verte) 2026-08-23 17:01:10 +02:00
55dc7c9dad fix(custom-cli): masquage des contrôles d'overlay persistants sur la custom CLI pendant un tour occupé — #249 (QA verte) 2026-08-23 17:01:02 +02:00
38f5572ce5 chore(tickets): synchro du store local — ticket #247, carnets #246, index/counter + timestamp plugin android 2026-08-23 16:35:36 +02:00
09df7bf475 merge(custom-cli): retrait de l'overlay busy plein panneau, blocage du chat seul — #247 (QA verte) 2026-08-23 16:35:36 +02:00
fc923b7860 fix(custom-cli): retrait de l'overlay busy plein panneau — blocage du chat seul — #247 (QA verte)
Les cellules custom CLI ne rendent plus le TargetAnnouncementsOverlay quand
l'agent est busy : le badge busy canonique et le lock du composer (comportement
du chat après envoi d'un message) suffisent, la vue terminal/chat reste visible.
Les cellules TUI natives conservent le voile plein panneau.
2026-08-23 16:35:29 +02:00
c62a2638fb chore(tickets): clôture #246 (rebuild AppImage v0.29.0) — synchro index 2026-08-23 15:47:45 +02:00
be684c5fbc chore(tickets): synchro du store local — réouverture #246 (rebuild v0.29.0), carnets #235, index 2026-08-23 15:44:22 +02:00
75a8ce799b chore(tickets): synchro du store local — réouverture #235 (v2 livrée), carnets #246, index 2026-08-23 15:38:51 +02:00
3971cc9a35 merge(workstate): simplification v2 du panneau Work state (intention compacte + badge indicateur) — #235 (QA verte) 2026-08-23 15:38:46 +02:00
a3b1c845ed feat(workstate): panneau Work state encore plus compact — intention tronquée + badge indicateur, ligne summary repliée supprimée — #235 (QA verte) 2026-08-23 15:38:41 +02:00
a02f3a567d chore(tickets): synchro du store local — ticket #246 (rebuild AppImage v0.28.0), carnets/index/counter 2026-08-23 13:44:05 +02:00
83b0b18453 chore(tickets): synchro du store local — ticket #245, carnet #241, index/counter/attachments 2026-08-23 13:35:05 +02:00
080c2100d0 merge(custom-cli): fix busy/progress/tools/chatbox après premier appel (guard de tour structuré + scoping progress) — #245 (QA verte) 2026-08-23 13:35:01 +02:00
f1d85dfc5a fix(custom-cli): busy/progress/tools/chatbox bloqués après le premier appel — #245 (QA verte)
Backend : StructuredHumanTurnGuard pour partager la comptabilité busy/FIFO entre chat direct humain (agent_send, web chat.send) et asks inter-agents structurés, avec liveness mark_alive et retrait idempotent du tour. Web-server : tap d'événements sur chat.send pour le scrollback temps réel. Frontend : scoping des clés de progression par tour pour éviter la déduplication/ghosting des progress et outils entre appels.
2026-08-23 13:34:56 +02:00
55637abd6d chore(tickets): synchro du store local — tickets #230-#244, attachments, index 2026-08-23 13:03:17 +02:00
749c394f40 merge(templates): fix persistance des permissions de templates (suppression rétro-sync open_project) — #244 (QA verte) 2026-08-23 13:03:12 +02:00
0a7d7f844e fix(templates): open_project ne rétro-synchronise plus les permissions agents vers les templates — #244 (QA verte)
Suppression du backfill agent→template au open_project (cause racine de la non-persistance des permissions MCP/system des templates) et couverture de régression : create/read/update des default permissions + test dédié open_project sans backfill.
2026-08-23 13:03:07 +02:00
4b206402d7 chore(tickets): clôture #243 (rebuild AppImage) — synchro index 2026-08-23 11:41:01 +02:00
7bbca91ce4 chore(git): ignorer les artefacts de build locaux (.appimage-build, .cargo-home, lien target) 2026-08-23 11:10:26 +02:00
f932845cdb chore(tickets): synchro du store local — carnets #117/#236-#242, index/counter 2026-08-23 11:10:17 +02:00
24c237b12a chore(tickets): clôture #242 après QA verte et merge local 5316d48
Limite résiduelle documentée au carnet: le backfill live des templates
existants n'a pas été exécuté en écriture directe (hors sandbox session);
il s'appliquera automatiquement au prochain open_project du projet.
2026-08-23 11:00:28 +02:00
5316d48f7e merge(templates): nom d'agent par défaut, permissions système/MCP et correctif modèle par défaut — #242 (QA verte) 2026-08-23 11:00:20 +02:00
f952807882 feat(ui): édition templates — nom d'agent par défaut, permissions système et MCP outils — #242
TemplateEditor/TemplatesPanel étendus aux nouveaux champs, projection
useTemplates/adapters/ports, panneau Agents aligné, templatePresentation.ts
extrait. Tests frontend étendus (templates, agents, routage chat WS).
2026-08-23 11:00:04 +02:00
d6c80be56d feat(templates): nom d'agent par défaut + permissions système et MCP outils sur AgentTemplate — #242
AgentTemplate étendu (defaultAgentName, systemPermissions, mcpToolPermissions),
CreateTemplate/UpdateTemplate/CreateAgentFromTemplate projetés vers l'agent créé,
DTO/MCP tools et persistance store complétés. Correctif modèle par défaut:
UpdateTemplate ne persistait pas defaultProfileId (profil stale à la création
d'agent). Backfill best-effort des templates existants depuis les agents du
projet au open_project, overrides explicites uniquement.
2026-08-23 10:59:55 +02:00
ed5c5f73d6 chore(tickets): clôture #241 après QA verte et merge local ef9b5ca 2026-08-23 10:24:41 +02:00
ef9b5caeb8 merge(web): progress custom CLI invisibles après plusieurs demandes — #241 (QA verte) 2026-08-23 10:24:35 +02:00
738e15a09b fix(web): le client WS réattache les sessions chat structurées après reconnexion — #241
needsReconnect() couvre désormais les chatSinks et le cycle de reconnexion
renvoie un chat.attach par session active, un échec isolé n'empêchant pas
les autres abonnements de reprendre. Tests ciblés ajoutés.
2026-08-23 10:24:29 +02:00
6fe7f99844 chore(tickets): clôture #240 après QA verte et merge local 81b3bf8 2026-08-22 17:27:21 +02:00
81b3bf88e8 merge(session): finalisation Codex — réponse non finalisée sur session Codex — #240 (QA verte) 2026-08-22 17:27:21 +02:00
41a850f2e9 fix(chat): bulles d'erreur étiquetées par type de session structurée — #240
L'erreur « La réponse du modèle n'a pas pu être finalisée. » indique désormais
l'adapter en cause (Session Codex / Claude / OpenCode / HTTP) pour lever
l'ambiguïté constatée sur GameTime entre session Codex et Claude.
2026-08-22 17:27:16 +02:00
1962408eda fix(session): un item.completed tardif n'efface plus le final agent_message Codex — #240
event_supersedes_pending_final ne fait plus annuler le final en attente par
tout événement autre que Heartbeat/RateLimited/turn-progress: seuls un progress
non-turn Started/Delta, un ToolActivity ou un Error annulent. Le buffering
agent_message survive ainsi jusqu'au flush a turn.completed (regréssion
codex_agent_message_survives_late_completed_item_as_final).
2026-08-22 17:27:13 +02:00
af90c66e48 chore(tickets): clôture #239 après QA verte et merge local aa16576 2026-08-22 16:39:06 +02:00
aa165763f6 merge(chat): réponse du modèle non finalisée sur long message — #239 (QA verte) 2026-08-22 16:39:00 +02:00