MCPcopy Index your code
hub / github.com/OperationT00/T-Code / Renderer

Interface Renderer

src/main/java/com/tcode/render/Renderer.java:23–116  ·  view source on GitHub ↗

终端渲染器抽象。 把对话流核心交互(流式输出、工具调用、HITL、状态栏、行内 diff、palette) 收口到一个接口,方便 inline 流式 / Lanterna 全屏 / plain 三种形态切换。 启动期一次性输出(banner、MCP/Skill 摘要等)仍可走原有 stdout; 对话期的流、工具块、状态栏、输入区应尽量经过 Renderer,避免多个组件 直接争抢终端光标。 线程模型:所有方法应在调用方线程同步返回; 涉及异步(如 Lanterna GUI 线程)的实现负责自己做线程封送。

Source from the content-addressed store, hash-verified

21 * 涉及异步(如 Lanterna GUI 线程)的实现负责自己做线程封送。
22 */
23public interface Renderer extends AutoCloseable {
24
25 /** 启动渲染器(例如设置滚动区域、启动 GUI 主循环)。Main 必须先调用一次。 */
26 void start();
27
28 /** 开始一次用户任务输出。默认 no-op;inline renderer 用它重置本轮可重绘 transcript。 */
29 default void beginTurn() {
30 }
31
32 /** 进入用户输入前。inline renderer 用它刷新输入周边状态。 */
33 default void beforeInput() {
34 }
35
36 /** 用户输入结束后。inline renderer 用它恢复输入周边状态。 */
37 default void afterInput() {
38 }
39
40 /** 当前渲染器是否支持独立的模型思考面板。 */
41 default boolean supportsThinkingPanel() {
42 return false;
43 }
44
45 /** 开始显示模型思考面板。plain renderer 保持 no-op,继续用正文流式输出。 */
46 default void beginThinking(String label) {
47 }
48
49 /** 追加模型 reasoning delta 到思考面板。 */
50 default void appendThinking(String delta) {
51 }
52
53 /** 结束并清理模型思考面板。 */
54 default void endThinking() {
55 }
56
57 /** 当前渲染器希望 LineReader 使用的左侧输入提示。 */
58 default String inputPrompt() {
59 return "> ";
60 }
61
62 /** 当前渲染器希望 LineReader 使用的右侧提示;返回 null 表示不显示。 */
63 default String inputRightPrompt() {
64 return null;
65 }
66
67 @Override
68 void close();
69
70 /**
71 * 流式输出的目标 PrintStream。
72 *
73 * <p>Agent.StreamRenderer / PlanExecuteAgent.TaskStreamRenderer / SubAgent.SubAgentStreamRenderer
74 * 把流式 reasoning / content 写到这里。
75 *
76 * <p>对 InlineRenderer / PlainRenderer 而言这就是 {@code System.out};
77 * LanternaRenderer 返回一个把字节写入 CenterPane 的 PrintStream。
78 */
79 PrintStream stream();
80

Callers 46

setUpMethod · 0.65
setUpMethod · 0.65
cancelsRunningTaskMethod · 0.65
mainMethod · 0.95
readMethod · 0.65
readMethod · 0.65
hasThinkingPanelMethod · 0.65

Implementers 8

InlineRenderersrc/main/java/com/tcode/render/inline/
StubRenderersrc/test/java/com/tcode/cli/CliConfigC
StubRenderersrc/test/java/com/tcode/cli/CliRendere
StubRenderersrc/test/java/com/tcode/cli/CliInterac
ThinkingRenderersrc/test/java/com/tcode/agent/AgentStr
StubRenderersrc/test/java/com/tcode/hitl/RendererH
LanternaRenderersrc/main/java/com/tcode/tui/LanternaRe
PlainRenderersrc/main/java/com/tcode/render/PlainRe

Calls

no outgoing calls

Tested by

no test coverage detected