mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-16 19:59:56 +02:00
Port de runChatLoop : complétions enchaînées jusqu'à la réponse, sur les modules déjà portés (charge utile, flux, compactage). Les filets du Go y sont : reprises réseau et statuts passagers, flux externe coupé (rejoué ou poursuivi après le texte affiché), intensité refusée par le gabarit, raisonnement renvoyé refusé ou trop long, compaction réactive puis réduction forcée, 500 (tool_choice none puis outils retirés), réponse vide (rejeu si fenêtre pleine, relances « pensé sans agir »), appel écrit en texte, budget souple, appels identiques court-circuités, arguments illisibles jamais exécutés, pré-vol du mode Code, compaction en cours de tour, file d'attente injectée entre deux étapes. Aucune entrée-sortie dans la boucle : envoi, outils, compaction, résultats complets et mémoires des refus passent par TurnHost ; l'arrêt par Cancel. Non portés (clés opt-in ou machinerie du moteur local restée au Go) : KEEP_TURN_IMAGES, PROJ_SNAPSHOT, NUDGE_IN_TOOL, SIDE_SLOT, SLOT_PERSIST, préchauffage, sonde de gabarit, télémétrie. 15 tests sur un faux hôte aux réponses scriptées (temps suspendu pour les reprises). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
37 lines
1.3 KiB
TOML
37 lines
1.3 KiB
TOML
[package]
|
|
name = "loki-rs"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
bytes = "1.12.1"
|
|
flate2 = "1.1.10"
|
|
futures-util = "0.3.34"
|
|
getrandom = "0.4.3"
|
|
hex = "0.4.3"
|
|
http-body-util = "0.1.5"
|
|
hyper = { version = "1.12.0", features = ["http1", "server", "client"] }
|
|
hyper-util = { version = "0.1.21", features = ["tokio", "server", "client-legacy", "http1"] }
|
|
reqwest = { version = "0.13.5", default-features = false, features = ["rustls-no-provider", "stream", "http2"] }
|
|
rustls = { version = "0.23.46", default-features = false, features = ["ring", "std", "tls12"], optional = true }
|
|
serde = { version = "1.0.229", features = ["derive"] }
|
|
serde_json = { version = "1.0.154", features = ["raw_value"] }
|
|
sha1 = "0.11.0"
|
|
sha2 = "0.11.1"
|
|
tokio = { version = "1.53.2", features = ["rt-multi-thread", "macros", "net", "io-util", "time", "signal", "process", "sync", "fs"] }
|
|
|
|
[features]
|
|
# Crypto TLS (ring) pour les API externes en HTTPS. Activée par défaut ; le
|
|
# contrôle croisé Linux sous Windows s'en passe (pas d'en-têtes libc Linux).
|
|
default = ["tls"]
|
|
tls = ["dep:rustls"]
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1.53.2", features = ["test-util"] }
|
|
futures-util = "0.3.34"
|
|
tempfile = "3.27.0"
|
|
tokio-tungstenite = "0.30.0"
|