mirror of
https://github.com/github/awesome-copilot.git
synced 2026-04-11 10:45:56 +00:00
Fix compilation errors and documentation inaccuracies in Java cookbook recipes against the actual SDK API: - MultipleSessions: Replace non-existent destroy() with close() - AccessibilityReport: Replace non-existent McpServerConfig class with Map<String, Object> (the actual type accepted by setMcpServers) - error-handling.md: Replace non-existent session.addTool(), ToolDefinition.builder(), and ToolResultObject with actual SDK APIs (ToolDefinition.create(), SessionConfig.setTools(), CompletableFuture<Object> return type) All 7 recipes now compile successfully with jbang build. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
37 lines
1.5 KiB
Java
37 lines
1.5 KiB
Java
///usr/bin/env jbang "$0" "$@" ; exit $?
|
|
//DEPS com.github:copilot-sdk-java:0.2.1-java.1
|
|
|
|
import com.github.copilot.sdk.*;
|
|
import com.github.copilot.sdk.json.*;
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
|
public class MultipleSessions {
|
|
public static void main(String[] args) throws Exception {
|
|
try (var client = new CopilotClient()) {
|
|
client.start().get();
|
|
|
|
var config = new SessionConfig()
|
|
.setModel("gpt-5")
|
|
.setOnPermissionRequest(PermissionHandler.APPROVE_ALL);
|
|
|
|
// Create 3 sessions in parallel
|
|
var f1 = client.createSession(config);
|
|
var f2 = client.createSession(config);
|
|
var f3 = client.createSession(new SessionConfig()
|
|
.setModel("claude-sonnet-4.5")
|
|
.setOnPermissionRequest(PermissionHandler.APPROVE_ALL));
|
|
CompletableFuture.allOf(f1, f2, f3).get();
|
|
|
|
var s1 = f1.get(); var s2 = f2.get(); var s3 = f3.get();
|
|
|
|
// Send a message to each session
|
|
System.out.println("S1: " + s1.sendAndWait(new MessageOptions().setPrompt("Explain Java records")).get().getData().content());
|
|
System.out.println("S2: " + s2.sendAndWait(new MessageOptions().setPrompt("Explain sealed classes")).get().getData().content());
|
|
System.out.println("S3: " + s3.sendAndWait(new MessageOptions().setPrompt("Explain pattern matching")).get().getData().content());
|
|
|
|
// Clean up
|
|
s1.close(); s2.close(); s3.close();
|
|
}
|
|
}
|
|
}
|