Skip to content
This repository was archived by the owner on Mar 25, 2026. It is now read-only.

Commit d8101a4

Browse files
committed
Refactor jbang-example.java: streamline session creation and message sending
1 parent 61b44b9 commit d8101a4

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

jbang-example.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,27 +12,27 @@ public static void main(String[] args) throws Exception {
1212
client.start().get();
1313

1414
// Create a session
15-
var sessionConfig = new SessionConfig().setModel("claude-sonnet-4.5");
16-
var session = client.createSession(sessionConfig).get();
17-
18-
// Wait for response using session.idle event
19-
var done = new CompletableFuture<Void>();
15+
var session = client.createSession(
16+
new SessionConfig().setModel("claude-sonnet-4.5")).get();
2017

18+
// Handle assistant message events
2119
session.on(AssistantMessageEvent.class, msg -> {
2220
System.out.println(msg.getData().getContent());
2321
});
22+
23+
// Handle session usage info events
2424
session.on(SessionUsageInfoEvent.class, usage -> {
2525
var data = usage.getData();
2626
System.out.println("\n--- Usage Metrics ---");
2727
System.out.println("Current tokens: " + (int) data.getCurrentTokens());
2828
System.out.println("Token limit: " + (int) data.getTokenLimit());
2929
System.out.println("Messages count: " + (int) data.getMessagesLength());
3030
});
31-
session.on(SessionIdleEvent.class, idle -> done.complete(null));
3231

33-
// Send a message and wait for completion
34-
session.send(new MessageOptions().setPrompt("What is 2+2?")).get();
35-
done.get();
32+
// Send a message
33+
var completable = session.sendAndWait(new MessageOptions().setPrompt("What is 2+2?"));
34+
// and wait for completion
35+
completable.get();
3636
}
3737
}
3838
}

0 commit comments

Comments
 (0)