feat(runtime): add process watch patterns, unified backup/import, pluggable context engine, token usage, and codex device login

This commit is contained in:
lpf
2026-04-14 14:53:18 +08:00
parent fac235db80
commit 79e0a48b74
18 changed files with 1257 additions and 64 deletions

View File

@@ -0,0 +1,26 @@
package agent
import (
"testing"
"github.com/YspCoder/clawgo/pkg/providers"
)
func TestMergeUsageTotals(t *testing.T) {
t.Parallel()
var result llmTurnLoopResult
mergeUsageTotals(&result, &providers.UsageInfo{PromptTokens: 10, CompletionTokens: 4, TotalTokens: 0})
mergeUsageTotals(&result, &providers.UsageInfo{PromptTokens: 3, CompletionTokens: 2, TotalTokens: 9})
if result.promptTokens != 13 {
t.Fatalf("prompt tokens = %d, want 13", result.promptTokens)
}
if result.completionTokens != 6 {
t.Fatalf("completion tokens = %d, want 6", result.completionTokens)
}
// First merge falls back to prompt+completion (14), second uses explicit total (9).
if result.totalTokens != 23 {
t.Fatalf("total tokens = %d, want 23", result.totalTokens)
}
}