错误回显不再给字符串套 JSON 引号

- arguments.rs not_text_repr 对字符串直接回显原文

- 非字符串仍按 bounded_echo 序列化后截断
This commit is contained in:
2026-10-02 14:39:59 +08:00
parent 85d51a074e
commit b1d16b5683
@@ -11,8 +11,14 @@ use super::error::{bounded_echo, ToolPageRejection};
///
/// 走共享 [`ToolTextField::not_text`] 的字段自动走这里;像抠图 `backgroundMode`、美术准备
/// `mode`、生成图片 `kind` 这类在解析里内联判类型的字段,也要用同一份口径。
///
/// 字符串直接回显原文:`to_string()` 会给它套一层 JSON 引号,错误里就变成「"5"」而不是
/// 「5」;其余类型只能先序列化,再按 [`bounded_echo`] 的口径截断。
pub(crate) fn not_text_repr(value: &Value) -> String {
bounded_echo(&value.to_string())
match value.as_str() {
Some(text) => bounded_echo(text),
None => bounded_echo(&value.to_string()),
}
}
/// 一个会被边界校验的文本字段。