mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-21 22:18: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
@@ -60,3 +60,27 @@ func TestOutilInterneAppelIllisible(t *testing.T) {
|
||||
t.Fatalf("GET : %d", w.Code)
|
||||
}
|
||||
}
|
||||
|
||||
// Ce que la boucle tire du résultat après l'exécution : capture de la bulle,
|
||||
// image relayée au modèle — rien après une erreur.
|
||||
func TestOutilInterneSuitesDuResultat(t *testing.T) {
|
||||
testHome(t)
|
||||
image, shot, relay := toolStepExtras("web_screenshot", "", toolExecResult{
|
||||
Result: "Capture : ",
|
||||
})
|
||||
if image != "captures/a.png" || shot != "" || relay != nil {
|
||||
t.Fatalf("capture : %q %q %v (vision coupée : pas de relais)", image, shot, relay)
|
||||
}
|
||||
img := map[string]any{"type": "image_url", "image_url": map[string]any{"url": "data:image/png;base64,AA=="}}
|
||||
_, _, relay = toolStepExtras("see_image", "photo.png", toolExecResult{Result: "ok", VisionImg: img})
|
||||
if relay == nil || relay.Role != "user" {
|
||||
t.Fatalf("see_image : %v", relay)
|
||||
}
|
||||
b, _ := json.Marshal(relay)
|
||||
if !strings.Contains(string(b), "Image demandée (photo.png)") || !strings.Contains(string(b), "data:image/png") {
|
||||
t.Fatalf("relais : %s", b)
|
||||
}
|
||||
if _, shot, _ := toolStepExtras("browser_click", "x", toolExecResult{Result: "[erreur] rien"}); shot != "" {
|
||||
t.Fatalf("aperçu après une erreur : %q", shot)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user