Package com.github.copilot.sdk.events
package com.github.copilot.sdk.events
Event types emitted during Copilot session processing.
This package contains all event classes that can be emitted by a
CopilotSession during message processing.
Events provide real-time information about the session state, assistant
responses, tool executions, and other activities.
Event Hierarchy
All events extend AbstractSessionEvent,
which provides common properties like event type and timestamp.
Key Event Types
Message Events
UserMessageEvent- User message was sentAssistantMessageEvent- Complete assistant responseAssistantMessageDeltaEvent- Streaming response chunkSystemMessageEvent- System message added
Session Lifecycle Events
SessionStartEvent- Session has startedSessionIdleEvent- Session is idle (processing complete)SessionErrorEvent- An error occurredSessionResumeEvent- Session was resumed
Tool Execution Events
ToolExecutionStartEvent- Tool execution startedToolExecutionCompleteEvent- Tool execution completedToolExecutionProgressEvent- Tool execution progress update
Subagent Events
SubagentSelectedEvent- Subagent was selectedSubagentStartedEvent- Subagent execution startedSubagentCompletedEvent- Subagent execution completedSubagentFailedEvent- Subagent execution failed
Usage Example
session.on(evt -> {
if (evt instanceof AssistantMessageDeltaEvent delta) {
// Streaming response - print incrementally
System.out.print(delta.getData().getDeltaContent());
} else if (evt instanceof AssistantMessageEvent msg) {
// Complete response
System.out.println("\nFinal: " + msg.getData().getContent());
} else if (evt instanceof ToolExecutionStartEvent tool) {
System.out.println("Executing tool: " + tool.getData().getName());
} else if (evt instanceof SessionIdleEvent) {
System.out.println("Session is idle");
} else if (evt instanceof SessionErrorEvent err) {
System.err.println("Error: " + err.getData().getMessage());
}
});
-
ClassesClassDescriptionEvent: abortBase class for all session events in the Copilot SDK.Event: assistant.intentEvent: assistant.message_deltaEvent representing a complete message from the assistant.Contains the assistant message content and metadata.Represents a request from the assistant to invoke a tool.Event: assistant.reasoning_deltaEvent: assistant.reasoningEvent: assistant.turn_endEvent: assistant.turn_startEvent: assistant.usageEvent: hook.endEvent: hook.startEvent: pending_messages.modifiedEvent: session.compaction_completeEvent: session.compaction_startEvent: session.errorParser for session events that handles polymorphic deserialization.Event: session.handoffEvent: session.idleEvent: session.infoEvent: session.model_changeEvent: session.resumeEvent: session.snapshot_rewindEvent: session.startEvent: session.truncationEvent: session.usage_infoEvent: subagent.completedEvent: subagent.failedEvent: subagent.selectedEvent: subagent.startedEvent: system.messageEvent: tool.execution_completeEvent: tool.execution_partial_resultEvent fired when a tool execution reports progress.Event: tool.execution_startEvent: tool.user_requestedEvent: user.message