@@ -49,23 +49,34 @@ import com.github.copilot.sdk.events.*;
4949import com.github.copilot.sdk.json.* ;
5050import java.util.concurrent.CompletableFuture ;
5151
52- public class Example {
52+ public class CopilotSDK {
5353 public static void main (String [] args ) throws Exception {
54+ // Create and start client
5455 try (var client = new CopilotClient ()) {
5556 client. start(). get();
56-
57+
58+ // Create a session
5759 var session = client. createSession(
58- new SessionConfig (). setModel(" claude-sonnet-4.5" )
59- ). get();
60+ new SessionConfig (). setModel(" claude-sonnet-4.5" )). get();
6061
61- var done = new CompletableFuture< Void > ();
62+ // Handle assistant message events
6263 session. on(AssistantMessageEvent . class, msg - > {
6364 System . out. println(msg. getData(). getContent());
6465 });
65- session. on(SessionIdleEvent . class, idle - > done. complete(null ));
6666
67- session. send(new MessageOptions (). setPrompt(" What is 2+2?" )). get();
68- done. get();
67+ // Handle session usage info events
68+ session. on(SessionUsageInfoEvent . class, usage - > {
69+ var data = usage. getData();
70+ System . out. println(" \n --- Usage Metrics ---" );
71+ System . out. println(" Current tokens: " + (int ) data. getCurrentTokens());
72+ System . out. println(" Token limit: " + (int ) data. getTokenLimit());
73+ System . out. println(" Messages count: " + (int ) data. getMessagesLength());
74+ });
75+
76+ // Send a message
77+ var completable = session. sendAndWait(new MessageOptions (). setPrompt(" What is 2+2?" ));
78+ // and wait for completion
79+ completable. get();
6980 }
7081 }
7182}
0 commit comments