/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. *--------------------------------------------------------------------------------------------*/ /** * Event types emitted during Copilot session processing. * *

* This package contains all event classes that can be emitted by a * {@link com.github.copilot.sdk.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 {@link com.github.copilot.sdk.events.AbstractSessionEvent}, * which provides common properties like event type and timestamp. * *

Key Event Types

* *

Message Events

* * *

Session Lifecycle Events

* * *

Tool Execution Events

* * *

Subagent Events

* * *

Usage Example

* *
{@code
 * 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());
 * 	}
 * });
 * }
* * @see com.github.copilot.sdk.CopilotSession#on(java.util.function.Consumer) * @see com.github.copilot.sdk.events.AbstractSessionEvent */ package com.github.copilot.sdk.events;