Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
10 changes: 6 additions & 4 deletions jbang-example.java
Original file line number Diff line number Diff line change
@@ -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;

Expand Down
45 changes: 24 additions & 21 deletions src/site/markdown/cookbook/error-handling.md
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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;

Expand Down Expand Up @@ -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;
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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;
Expand Down
11 changes: 8 additions & 3 deletions src/site/markdown/cookbook/managing-local-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
8 changes: 5 additions & 3 deletions src/site/markdown/cookbook/multiple-sessions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
16 changes: 10 additions & 6 deletions src/site/markdown/cookbook/persisting-sessions.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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 {
Expand Down
15 changes: 11 additions & 4 deletions src/site/markdown/cookbook/pr-visualization.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
5 changes: 3 additions & 2 deletions src/site/markdown/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
51 changes: 34 additions & 17 deletions src/site/markdown/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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 {
Expand Down
7 changes: 5 additions & 2 deletions src/site/markdown/hooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
18 changes: 12 additions & 6 deletions src/site/markdown/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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 {
Expand Down
Loading