mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-24 07:28:13 +02:00
API interne : suites d'un outil et archive recall pour le tour tenu par Rust
/internal/v1/tool/exec rend aussi ce que la boucle Go tire du résultat après l'exécution, et qui demande le disque ou le navigateur (toolStepExtras) : capture de web_screenshot pour la bulle, aperçu du navigateur après une action qui change la page (jamais après une erreur), message qui relaie l'image au modèle (capture avec la vision, see_image). /internal/v1/recall/archive range un bloc verbatim pour l'outil recall : son numéro vient de la séquence bbolt, seul ce process peut le donner. 423 si la mémoire est verrouillée, rien d'écrit en clair. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
This commit is contained in:
5 files changed
+140
-2
No files matched your search
@@ -0,0 +1,29 @@
|
||||
package loki
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
// Un bloc archivé par la façade se relit par l'outil recall, comme s'il avait
|
||||
// été archivé par la compaction du Go.
|
||||
func TestRecallInterneArchive(t *testing.T) {
|
||||
testHome(t)
|
||||
t.Setenv(internalTokenEnv, jetonTest)
|
||||
w := appelOAIInterne(t, "POST", "/internal/v1/recall/archive", `{"label":"bash ls","role":"tool","content":"a.go\nb.go"}`)
|
||||
if w.Code != 200 {
|
||||
t.Fatalf("archive : %d %s", w.Code, w.Body.String())
|
||||
}
|
||||
id, _ := leaseJSON(t, w.Body.String())["id"].(string)
|
||||
if !strings.HasPrefix(id, "r") {
|
||||
t.Fatalf("id : %q", id)
|
||||
}
|
||||
if got := toolRecall(map[string]any{"id": id}); !strings.Contains(got, "a.go\nb.go") || !strings.Contains(got, "bash ls") {
|
||||
t.Fatalf("recall : %q", got)
|
||||
}
|
||||
for _, body := range []string{"", "{", `{"label":"x"}`} {
|
||||
if w := appelOAIInterne(t, "POST", "/internal/v1/recall/archive", body); w.Code != 400 {
|
||||
t.Fatalf("%q : %d", body, w.Code)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user