mirror of
https://github.com/sipeed/picoclaw.git
synced 2026-06-12 18:08:54 +00:00
451db2f5d8
* feat(channels): unify tool feedback animation across discord telegram and feishu * fix(tool-feedback): unify fallback and single-message delivery * fix(channels): finalize tool feedback in place * fix ci * feat: improve tool feedback * fix review blockers in pico token cache and tool feedback fix(provider): preserve function thought signatures fix(feishu): recover tool feedback after edit fallback * * delete dead code * fix(pico): clean up tool feedback progress state * fix ci * fix(web): preserve tool feedback line breaks in chat * fix(channels): preserve tool feedback progress state fix(pico): preserve context usage when finalizing tool feedback chore: record branch review pass fix: preserve tool feedback finalization state fix(web): handle pico history update fallback * fix ci
50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
package utils
|
|
|
|
import "testing"
|
|
|
|
func TestFormatToolFeedbackMessage(t *testing.T) {
|
|
got := FormatToolFeedbackMessage(
|
|
"read_file",
|
|
"I will read README.md first to confirm the current project structure.",
|
|
)
|
|
want := "\U0001f527 `read_file`\nI will read README.md first to confirm the current project structure."
|
|
if got != want {
|
|
t.Fatalf("FormatToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFormatToolFeedbackMessage_EmptyExplanationKeepsOnlyToolLine(t *testing.T) {
|
|
got := FormatToolFeedbackMessage("read_file", "")
|
|
want := "\U0001f527 `read_file`"
|
|
if got != want {
|
|
t.Fatalf("FormatToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFormatToolFeedbackMessage_EmptyToolNameOmitsToolLine(t *testing.T) {
|
|
got := FormatToolFeedbackMessage("", "Continue drafting the final response.")
|
|
want := "Continue drafting the final response."
|
|
if got != want {
|
|
t.Fatalf("FormatToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFitToolFeedbackMessage_TruncatesBodyWithinSingleMessage(t *testing.T) {
|
|
got := FitToolFeedbackMessage(
|
|
"\U0001f527 `read_file`\nRead README.md first to confirm the current project structure.",
|
|
40,
|
|
)
|
|
want := "\U0001f527 `read_file`\nRead README.md first to..."
|
|
if got != want {
|
|
t.Fatalf("FitToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestFitToolFeedbackMessage_TruncatesSingleLineMessage(t *testing.T) {
|
|
got := FitToolFeedbackMessage("\U0001f527 `read_file`", 10)
|
|
want := "\U0001f527 `read..."
|
|
if got != want {
|
|
t.Fatalf("FitToolFeedbackMessage() = %q, want %q", got, want)
|
|
}
|
|
}
|