(String[] args)
| 11 | |
| 12 | class CopilotSDK { |
| 13 | public static void main(String[] args) throws Exception { |
| 14 | // Create and start client |
| 15 | try (var client = new CopilotClient()) { |
| 16 | client.start().get(); |
| 17 | |
| 18 | // Create a session |
| 19 | var session = client.createSession( |
| 20 | new SessionConfig().setOnPermissionRequest(PermissionHandler.APPROVE_ALL).setModel("claude-sonnet-4.5")).get(); |
| 21 | |
| 22 | // Handle assistant message events |
| 23 | session.on(AssistantMessageEvent.class, msg -> { |
| 24 | out.println(msg.getData().content()); |
| 25 | }); |
| 26 | |
| 27 | // Handle session usage info events |
| 28 | session.on(SessionUsageInfoEvent.class, usage -> { |
| 29 | var data = usage.getData(); |
| 30 | out.println("\n--- Usage Metrics ---"); |
| 31 | out.println("Current tokens: " + data.currentTokens().intValue()); |
| 32 | out.println("Token limit: " + data.tokenLimit().intValue()); |
| 33 | out.println("Messages count: " + data.messagesLength().intValue()); |
| 34 | }); |
| 35 | |
| 36 | // Send a message |
| 37 | var completable = session.sendAndWait(new MessageOptions().setPrompt("What is 2+2?")); |
| 38 | // and wait for completion |
| 39 | completable.get(); |
| 40 | } |
| 41 | } |
| 42 | } |
nothing calls this directly
no test coverage detected