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

Interface HitlHandler

src/main/java/com/tcode/hitl/HitlHandler.java:14–50  ·  view source on GitHub ↗

HITL 审批交互接口 - 定义人工审批的交互契约 实现类负责与用户交互,收集用户对危险操作的审批决策。 当前仓库提供基于终端的实现(TerminalHitlHandler)。 设计约定: - 审批是同步阻塞操作,实现类需等待用户输入后才返回 - 实现类不负责判断"是否需要审批",该判断由 ApprovalPolicy 负责 - 实现类只负责"展示请求 + 收集决策"

Source from the content-addressed store, hash-verified

12 * - 实现类只负责"展示请求 + 收集决策"
13 */
14public interface HitlHandler {
15
16 /**
17 * 向用户展示审批请求并收集决策
18 *
19 * @param request 待审批的工具调用信息
20 * @return 用户的审批决策
21 */
22 ApprovalResult requestApproval(ApprovalRequest request);
23
24 /**
25 * HITL 是否处于启用状态
26 * 如果未启用,调用方可以直接跳过审批流程
27 */
28 boolean isEnabled();
29
30 /**
31 * 启用/禁用 HITL 审批
32 *
33 * @param enabled true 表示启用,false 表示关闭
34 */
35 void setEnabled(boolean enabled);
36
37 default boolean isApprovedAllByTool(String toolName) {
38 return false;
39 }
40
41 default boolean isApprovedAllByServer(String serverName) {
42 return false;
43 }
44
45 default void clearApprovedAll() {
46 }
47
48 default void clearApprovedAllForServer(String serverName) {
49 }
50}

Implementers 9

TuiHitlHandlersrc/main/java/com/tcode/tui/hitl/TuiHi
SwitchableHitlHandlersrc/main/java/com/tcode/hitl/Switchabl
TerminalHitlHandlersrc/main/java/com/tcode/hitl/TerminalH
RendererHitlHandlersrc/main/java/com/tcode/hitl/RendererH
ApprovingHitlHandlersrc/test/java/com/tcode/runtime/CoreRu
StubHitlHandlersrc/test/java/com/tcode/hitl/Switchabl
ApprovingHandlersrc/test/java/com/tcode/hitl/HitlLifec
StubHandlersrc/test/java/com/tcode/hitl/HitlToolR
RuntimeHitlHandlersrc/main/java/com/tcode/runtime/api/Ru

Calls

no outgoing calls

Tested by

no test coverage detected