mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-11 07:00:48 +08:00
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
This commit is contained in:
parent
4a23b715a2
commit
dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions
84
openclaw/scripts/docs-i18n/pi_rpc_client_test.go
Normal file
84
openclaw/scripts/docs-i18n/pi_rpc_client_test.go
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestExtractTranslationResultIncludesStopReasonAndPreview(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
raw := []byte(`{
|
||||
"type":"agent_end",
|
||||
"messages":[
|
||||
{
|
||||
"role":"assistant",
|
||||
"stopReason":"terminated",
|
||||
"content":[
|
||||
{"type":"text","text":"provider disconnected while streaming the translation chunk"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}`)
|
||||
|
||||
_, err := extractTranslationResult(raw)
|
||||
if err == nil {
|
||||
t.Fatal("expected error")
|
||||
}
|
||||
message := err.Error()
|
||||
for _, want := range []string{
|
||||
"pi error:",
|
||||
"stopReason=terminated",
|
||||
"assistant=provider disconnected while streaming the translation chunk",
|
||||
} {
|
||||
if !strings.Contains(message, want) {
|
||||
t.Fatalf("expected %q in error, got %q", want, message)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestPreviewPiAssistantTextTruncatesAndFlattensWhitespace(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
input := "line one\n\nline two\tline three " + strings.Repeat("x", 200)
|
||||
preview := previewPiAssistantText(input)
|
||||
if strings.Contains(preview, "\n") {
|
||||
t.Fatalf("expected flattened whitespace, got %q", preview)
|
||||
}
|
||||
if !strings.HasPrefix(preview, "line one line two line three ") {
|
||||
t.Fatalf("unexpected preview prefix: %q", preview)
|
||||
}
|
||||
if !strings.HasSuffix(preview, "...") {
|
||||
t.Fatalf("expected truncation suffix, got %q", preview)
|
||||
}
|
||||
}
|
||||
|
||||
func TestExtractTranslationResultReturnsPiErrorBeforeDecodingStructuredErrorContent(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
raw := []byte(`{
|
||||
"type":"agent_end",
|
||||
"messages":[
|
||||
{
|
||||
"role":"assistant",
|
||||
"stopReason":"terminated",
|
||||
"content":{"type":"error","message":"provider disconnected"}
|
||||
}
|
||||
]
|
||||
}`)
|
||||
|
||||
_, err := extractTranslationResult(raw)
|
||||
if err == nil {
|
||||
t.Fatal("expected error")
|
||||
}
|
||||
message := err.Error()
|
||||
if !strings.Contains(message, "pi error:") {
|
||||
t.Fatalf("expected normalized pi error, got %q", message)
|
||||
}
|
||||
if !strings.Contains(message, "stopReason=terminated") {
|
||||
t.Fatalf("expected stopReason in error, got %q", message)
|
||||
}
|
||||
if strings.Contains(message, "cannot unmarshal") {
|
||||
t.Fatalf("expected terminal pi error before decode failure, got %q", message)
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue