diff --git a/README.md b/README.md index 58167934b..f7e09b63c 100644 --- a/README.md +++ b/README.md @@ -66,10 +66,12 @@ implementation 'com.github:copilot-sdk-java:0.1.32-java.0' ## Quick Start ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; -import java.util.concurrent.CompletableFuture; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.events.SessionUsageInfoEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; public class CopilotSDK { public static void main(String[] args) throws Exception { diff --git a/jbang-example.java b/jbang-example.java index 967941094..3d02653c1 100644 --- a/jbang-example.java +++ b/jbang-example.java @@ -1,9 +1,11 @@ ! //DEPS com.github:copilot-sdk-java:${project.version} -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; -import java.util.concurrent.CompletableFuture; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.events.SessionUsageInfoEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; import static java.lang.System.out; diff --git a/src/site/markdown/cookbook/error-handling.md b/src/site/markdown/cookbook/error-handling.md index e028f9af4..b6b52a704 100644 --- a/src/site/markdown/cookbook/error-handling.md +++ b/src/site/markdown/cookbook/error-handling.md @@ -31,9 +31,11 @@ jbang BasicErrorHandling.java **Code:** ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; public class BasicErrorHandling { public static void main(String[] args) { @@ -63,9 +65,7 @@ public class BasicErrorHandling { ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; import java.util.concurrent.ExecutionException; public class SpecificErrorHandling { @@ -100,9 +100,9 @@ public class SpecificErrorHandling { ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotSession; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.json.MessageOptions; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -131,9 +131,8 @@ public class TimeoutHandling { ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotSession; +import com.github.copilot.sdk.json.MessageOptions; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; @@ -164,9 +163,7 @@ public class AbortRequest { ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; public class GracefulShutdown { public static void main(String[] args) { @@ -196,9 +193,11 @@ public class GracefulShutdown { ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; public class TryWithResources { public static void doWork() throws Exception { @@ -226,9 +225,13 @@ public class TryWithResources { ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; +import com.github.copilot.sdk.json.ToolDefinition; +import com.github.copilot.sdk.json.ToolResultObject; import java.util.Map; import java.util.List; import java.util.concurrent.CompletableFuture; diff --git a/src/site/markdown/cookbook/managing-local-files.md b/src/site/markdown/cookbook/managing-local-files.md index 0ab082958..d4f9442ce 100644 --- a/src/site/markdown/cookbook/managing-local-files.md +++ b/src/site/markdown/cookbook/managing-local-files.md @@ -35,9 +35,14 @@ jbang ManagingLocalFiles.java **Code:** ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.events.SessionIdleEvent; +import com.github.copilot.sdk.events.ToolExecutionCompleteEvent; +import com.github.copilot.sdk.events.ToolExecutionStartEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; import java.nio.file.Paths; import java.util.concurrent.CountDownLatch; diff --git a/src/site/markdown/cookbook/multiple-sessions.md b/src/site/markdown/cookbook/multiple-sessions.md index a2f6f7a93..4c22e9111 100644 --- a/src/site/markdown/cookbook/multiple-sessions.md +++ b/src/site/markdown/cookbook/multiple-sessions.md @@ -31,9 +31,11 @@ jbang MultipleSessions.java **Code:** ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; public class MultipleSessions { public static void main(String[] args) throws Exception { diff --git a/src/site/markdown/cookbook/persisting-sessions.md b/src/site/markdown/cookbook/persisting-sessions.md index 1366c733e..75eb89bbc 100644 --- a/src/site/markdown/cookbook/persisting-sessions.md +++ b/src/site/markdown/cookbook/persisting-sessions.md @@ -31,9 +31,11 @@ jbang PersistingSessions.java **Code:** ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; public class PersistingSessions { public static void main(String[] args) throws Exception { @@ -126,9 +128,11 @@ public class DeleteSession { ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.events.UserMessageEvent; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.ResumeSessionConfig; public class SessionHistory { public static void main(String[] args) throws Exception { diff --git a/src/site/markdown/cookbook/pr-visualization.md b/src/site/markdown/cookbook/pr-visualization.md index 607f8a100..a7d62d7a4 100644 --- a/src/site/markdown/cookbook/pr-visualization.md +++ b/src/site/markdown/cookbook/pr-visualization.md @@ -35,10 +35,17 @@ jbang PRVisualization.java github/copilot-sdk ```java //DEPS com.github:copilot-sdk-java:0.1.32-java.0 -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; -import java.io.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.events.ToolExecutionStartEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; +import com.github.copilot.sdk.json.SystemMessageConfig; +import java.io.BufferedReader; +import java.io.EOFException; +import java.io.IOException; +import java.io.InputStreamReader; import java.util.regex.Pattern; public class PRVisualization { diff --git a/src/site/markdown/documentation.md b/src/site/markdown/documentation.md index 0b30b9822..8a9f919ac 100644 --- a/src/site/markdown/documentation.md +++ b/src/site/markdown/documentation.md @@ -27,8 +27,9 @@ This guide covers common use cases for the GitHub Copilot SDK for Java. For comp Create a client, start a session, and send a message: ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; try (var client = new CopilotClient()) { client.start().get(); diff --git a/src/site/markdown/getting-started.md b/src/site/markdown/getting-started.md index 05c1aa894..39bf43844 100644 --- a/src/site/markdown/getting-started.md +++ b/src/site/markdown/getting-started.md @@ -64,9 +64,10 @@ For the fastest way to try the SDK without setting up a project, use [JBang](htt Create a new file and add the following code. This is the simplest way to use the SDK. ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; public class HelloCopilot { public static void main(String[] args) throws Exception { @@ -108,9 +109,12 @@ Congratulations! You just built your first Copilot-powered app. Right now, you wait for the complete response before seeing anything. Let's make it interactive by streaming the response as it's generated. ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageDeltaEvent; +import com.github.copilot.sdk.events.SessionIdleEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; import java.util.concurrent.CompletableFuture; public class StreamingExample { @@ -152,11 +156,17 @@ Run the code again. You'll see the response appear word by word. Now for the powerful part. Let's give Copilot the ability to call your code by defining a custom tool. We'll create a simple weather lookup tool. ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; -import java.util.*; -import java.util.concurrent.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageDeltaEvent; +import com.github.copilot.sdk.events.SessionIdleEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; +import com.github.copilot.sdk.json.ToolDefinition; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.concurrent.CompletableFuture; public class ToolExample { public static void main(String[] args) throws Exception { @@ -228,12 +238,19 @@ Run it and you'll see Copilot call your tool to get weather data, then respond w Let's put it all together into a useful interactive assistant: ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; -import java.util.*; -import java.util.concurrent.*; -import java.util.concurrent.atomic.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageDeltaEvent; +import com.github.copilot.sdk.events.SessionIdleEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; +import com.github.copilot.sdk.json.ToolDefinition; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.Scanner; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.atomic.AtomicReference; public class WeatherAssistant { public static void main(String[] args) throws Exception { diff --git a/src/site/markdown/hooks.md b/src/site/markdown/hooks.md index 53b21ced8..97c746891 100644 --- a/src/site/markdown/hooks.md +++ b/src/site/markdown/hooks.md @@ -284,8 +284,11 @@ var hooks = new SessionHooks() Combining multiple hooks for comprehensive session control: ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.PreToolUseHookOutput; +import com.github.copilot.sdk.json.SessionConfig; +import com.github.copilot.sdk.json.SessionHooks; import java.util.concurrent.CompletableFuture; public class HooksExample { diff --git a/src/site/markdown/index.md b/src/site/markdown/index.md index 81f8f7f2d..2f93c4ce9 100644 --- a/src/site/markdown/index.md +++ b/src/site/markdown/index.md @@ -36,9 +36,12 @@ implementation 'com.github:copilot-sdk-java:${project.version}' ### Quick Example ```java -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.events.SessionIdleEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; import java.util.concurrent.CompletableFuture; public class Example { @@ -84,9 +87,12 @@ You can quickly try the SDK without setting up a full project using [JBang](http # Create a simple script cat > hello-copilot.java << 'EOF' //DEPS com.github:copilot-sdk-java:${project.version} -import com.github.copilot.sdk.*; -import com.github.copilot.sdk.events.*; -import com.github.copilot.sdk.json.*; +import com.github.copilot.sdk.CopilotClient; +import com.github.copilot.sdk.events.AssistantMessageEvent; +import com.github.copilot.sdk.events.SessionIdleEvent; +import com.github.copilot.sdk.json.MessageOptions; +import com.github.copilot.sdk.json.PermissionHandler; +import com.github.copilot.sdk.json.SessionConfig; import java.util.concurrent.CompletableFuture; class hello {