fix: 修复消息区溢出布局问题,恢复Spacer弹性空白
- 消息区添加 .height(maxMessageLines) + .overflow(HIDDEN) 防止溢出 - 恢复 Spacer.create() 在消息少时填充空白 - AskUser工具添加调试日志帮助排查结构化回调 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -86,6 +86,7 @@ public class AskUserQuestionTool implements Tool {
|
||||
|
||||
// 优先使用结构化回调(支持交互式选择)
|
||||
Object structuredCb = context.get(ASK_USER_STRUCTURED_CALLBACK);
|
||||
log.debug("Structured callback type: {}", structuredCb != null ? structuredCb.getClass().getName() : "null");
|
||||
if (structuredCb instanceof java.util.function.BiFunction<?, ?, ?> biFn) {
|
||||
try {
|
||||
var askFn = (java.util.function.BiFunction<String, java.util.List<String>, String>) biFn;
|
||||
@@ -97,6 +98,9 @@ public class AskUserQuestionTool implements Tool {
|
||||
} catch (Exception e) {
|
||||
log.debug("Structured callback failed, falling back", e);
|
||||
}
|
||||
} else {
|
||||
log.debug("Structured callback not a BiFunction, got: {}",
|
||||
structuredCb != null ? structuredCb.getClass().getInterfaces()[0] : "null");
|
||||
}
|
||||
|
||||
// 回退到简单文本回调
|
||||
|
||||
@@ -265,7 +265,9 @@ public class ClaudeCodeComponent extends Component<ClaudeCodeComponent.TuiState>
|
||||
return Box.of(visibleItems.toArray(new Renderable[0]))
|
||||
.flexDirection(FlexDirection.COLUMN)
|
||||
.paddingTop(1)
|
||||
.paddingX(1);
|
||||
.paddingX(1)
|
||||
.height(Math.max(1, maxLines))
|
||||
.overflow(io.mybatis.jink.style.Overflow.HIDDEN);
|
||||
}
|
||||
|
||||
/** 将 UIMessage 渲染为 Renderable 列表(一条消息可能产生多行) */
|
||||
|
||||
Reference in New Issue
Block a user