mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-23 06:58:14 +02:00
API interne : critères changés par un outil, fichiers seuls au reset
/internal/v1/tool/exec rend la liste des critères après un appel de l'outil criteria qui l'a changée (add, set, clear) : critNotify la pousse au journal du Go, une conversation tenue par la façade la reçoit ici. /internal/v1/conv/dropped accepte files_only : Reset vide la discussion et ses fichiers, sans la supprimer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
This commit is contained in:
3 files changed
+49
-5
No files matched your search
@@ -23,7 +23,8 @@ import (
|
||||
// POST /internal/v1/turn/done {"ms":N} → 204 (Web Push si abonnés)
|
||||
// POST /internal/v1/conv/active {"id":…} → 204 (discussion active des outils)
|
||||
// POST /internal/v1/conv/dropped {"id":…} → 204 (fichiers, jobs, critères,
|
||||
// mode, résultats d'outils)
|
||||
// mode, résultats d'outils ;
|
||||
// "files_only" : les fichiers)
|
||||
|
||||
const internalTurnMaxBody = 8 << 20
|
||||
|
||||
@@ -147,6 +148,9 @@ func handleInternalConvActive(w http.ResponseWriter, r *http.Request) {
|
||||
func handleInternalConvDropped(w http.ResponseWriter, r *http.Request) {
|
||||
var in struct {
|
||||
ID string `json:"id"`
|
||||
// FilesOnly : seulement les fichiers (Reset vide la discussion, il ne
|
||||
// la supprime pas).
|
||||
FilesOnly bool `json:"files_only"`
|
||||
}
|
||||
if !readInternalJSON(w, r, &in) {
|
||||
return
|
||||
@@ -155,6 +159,11 @@ func handleInternalConvDropped(w http.ResponseWriter, r *http.Request) {
|
||||
sendJSON(w, http.StatusBadRequest, map[string]any{"error": "id manquant"})
|
||||
return
|
||||
}
|
||||
if in.FilesOnly {
|
||||
dropConvFiles(in.ID)
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
return
|
||||
}
|
||||
stopConvJobs(in.ID)
|
||||
critDrop(in.ID)
|
||||
dropConvMode(in.ID)
|
||||
|
||||
Reference in new issue
Block a user