public interface EventHandler
All methods have no-op defaults; callers override only the callbacks they care about.
Usage example:
client.onSessionEvent(sessionId, new EventHandler() {
public void onTextDelta(String delta, SseEvent event) {
System.out.print(delta);
}
});
OpenCodeSseClient| Modifier and Type | Method and Description |
|---|---|
default void |
onEvent(SseEvent event)
任一事件到达时优先触发(最早)。
|
default void |
onFileDiff(String path,
SseEvent event)
文件 diff 事件。
|
default void |
onMessage(String messageId,
String role,
SseEvent event)
Message 创建事件(user / assistant)。
|
default void |
onPermissionRequested(String sessionId,
String permissionId,
SseEvent event)
处理 permission requested 事件;默认实现不执行操作。
|
default void |
onQuestionRequested(String sessionId,
String requestId,
SseEvent event)
处理 question requested 事件;默认实现不执行操作。
|
default void |
onSessionError(String sessionId,
String error,
SseEvent event)
session 发生错误时触发。
|
default void |
onSessionIdle(String sessionId,
SseEvent event)
session 进入 idle 状态(agent loop 完成)时触发。
|
default void |
onSessionStatus(String sessionId,
String status,
SseEvent event)
Session 状态变更(idle / running / retry / compacting)。
|
default void |
onTextDelta(String delta,
SseEvent event)
文本增量(
message.part.updated / text.delta 等)。 |
default void |
onToolCall(String toolName,
Map<String,Object> input,
SseEvent event)
工具调用(
tool_use part)。 |
default void |
onToolResult(String toolUseId,
Object output,
SseEvent event)
工具调用结果(
tool_result part)。 |
default void onEvent(SseEvent event)
event - 触发当前回调的完整 SSE 事件default void onSessionIdle(String sessionId, SseEvent event)
sessionId - OpenCode 会话 ID;不得为空event - 触发当前回调的完整 SSE 事件default void onSessionError(String sessionId, String error, SseEvent event)
sessionId - OpenCode 会话 ID;不得为空error - 导致流式响应失败的异常event - 触发当前回调的完整 SSE 事件default void onTextDelta(String delta, SseEvent event)
message.part.updated / text.delta 等)。delta - 本次到达的文本增量;为空时忽略event - 触发当前回调的完整 SSE 事件default void onToolCall(String toolName, Map<String,Object> input, SseEvent event)
tool_use part)。toolName - 被调用的工具名称input - 工具调用输入参数映射event - 触发当前回调的完整 SSE 事件default void onToolResult(String toolUseId, Object output, SseEvent event)
tool_result part)。toolUseId - 关联工具调用与结果的唯一 IDoutput - 工具调用返回的原始结果对象event - 触发当前回调的完整 SSE 事件default void onMessage(String messageId, String role, SseEvent event)
messageId - 会话消息 IDrole - 消息角色,例如 user、assistant 或 systemevent - 触发当前回调的完整 SSE 事件default void onSessionStatus(String sessionId, String status, SseEvent event)
sessionId - OpenCode 会话 ID;不得为空status - 会话、工具或子系统的当前状态event - 触发当前回调的完整 SSE 事件default void onFileDiff(String path, SseEvent event)
path - 文件或工作目录路径event - 触发当前回调的完整 SSE 事件default void onPermissionRequested(String sessionId, String permissionId, SseEvent event)
sessionId - OpenCode 会话 ID;不得为空permissionId - 待处理的权限请求 IDevent - 触发当前回调的完整 SSE 事件Copyright © 2026. All rights reserved.