|
22 | 22 | import com.github.copilot.sdk.json.PermissionHandler; |
23 | 23 | import com.github.copilot.sdk.json.PermissionRequest; |
24 | 24 | import com.github.copilot.sdk.json.PermissionRequestResult; |
| 25 | +import com.github.copilot.sdk.json.PermissionRequestResultKind; |
25 | 26 | import com.github.copilot.sdk.json.SessionConfig; |
26 | 27 | import com.github.copilot.sdk.json.ResumeSessionConfig; |
27 | 28 | import com.github.copilot.sdk.json.MessageOptions; |
@@ -67,7 +68,8 @@ void testPermissionHandlerForWriteOperations(TestInfo testInfo) throws Exception |
67 | 68 | permissionRequests.add(request); |
68 | 69 | assertEquals(sessionIdHolder[0], invocation.getSessionId()); |
69 | 70 | // Approve the permission |
70 | | - return CompletableFuture.completedFuture(new PermissionRequestResult().setKind("approved")); |
| 71 | + return CompletableFuture |
| 72 | + .completedFuture(new PermissionRequestResult().setKind(PermissionRequestResultKind.APPROVED)); |
71 | 73 | }); |
72 | 74 |
|
73 | 75 | try (CopilotClient client = ctx.createClient()) { |
@@ -104,7 +106,7 @@ void testDenyPermission(TestInfo testInfo) throws Exception { |
104 | 106 | var config = new SessionConfig().setOnPermissionRequest((request, invocation) -> { |
105 | 107 | // Deny all permissions |
106 | 108 | return CompletableFuture |
107 | | - .completedFuture(new PermissionRequestResult().setKind("denied-interactively-by-user")); |
| 109 | + .completedFuture(new PermissionRequestResult().setKind(PermissionRequestResultKind.REJECTED)); |
108 | 110 | }); |
109 | 111 |
|
110 | 112 | try (CopilotClient client = ctx.createClient()) { |
@@ -171,7 +173,7 @@ void testAsyncPermissionHandler(TestInfo testInfo) throws Exception { |
171 | 173 | } catch (InterruptedException e) { |
172 | 174 | Thread.currentThread().interrupt(); |
173 | 175 | } |
174 | | - return new PermissionRequestResult().setKind("approved"); |
| 176 | + return new PermissionRequestResult().setKind(PermissionRequestResultKind.APPROVED); |
175 | 177 | }); |
176 | 178 | }); |
177 | 179 |
|
@@ -209,7 +211,8 @@ void testResumeSessionWithPermissionHandler(TestInfo testInfo) throws Exception |
209 | 211 | // Resume with permission handler |
210 | 212 | var resumeConfig = new ResumeSessionConfig().setOnPermissionRequest((request, invocation) -> { |
211 | 213 | permissionRequests.add(request); |
212 | | - return CompletableFuture.completedFuture(new PermissionRequestResult().setKind("approved")); |
| 214 | + return CompletableFuture |
| 215 | + .completedFuture(new PermissionRequestResult().setKind(PermissionRequestResultKind.APPROVED)); |
213 | 216 | }); |
214 | 217 |
|
215 | 218 | CopilotSession session2 = client.resumeSession(sessionId, resumeConfig).get(); |
@@ -241,7 +244,8 @@ void testToolCallIdInPermissionRequests(TestInfo testInfo) throws Exception { |
241 | 244 | receivedToolCallId[0] = true; |
242 | 245 | assertFalse(request.getToolCallId().isEmpty(), "Tool call ID should not be empty"); |
243 | 246 | } |
244 | | - return CompletableFuture.completedFuture(new PermissionRequestResult().setKind("approved")); |
| 247 | + return CompletableFuture |
| 248 | + .completedFuture(new PermissionRequestResult().setKind(PermissionRequestResultKind.APPROVED)); |
245 | 249 | }); |
246 | 250 |
|
247 | 251 | try (CopilotClient client = ctx.createClient()) { |
@@ -301,11 +305,9 @@ void testShouldDenyToolOperationsWhenHandlerExplicitlyDenies(TestInfo testInfo) |
301 | 305 | ctx.configureForTest("permissions", "should_deny_tool_operations_when_handler_explicitly_denies"); |
302 | 306 |
|
303 | 307 | try (CopilotClient client = ctx.createClient()) { |
304 | | - CopilotSession session = client |
305 | | - .createSession( |
306 | | - new SessionConfig().setOnPermissionRequest((request, |
307 | | - invocation) -> CompletableFuture.completedFuture(new PermissionRequestResult() |
308 | | - .setKind("denied-no-approval-rule-and-could-not-request-from-user")))) |
| 308 | + CopilotSession session = client.createSession(new SessionConfig() |
| 309 | + .setOnPermissionRequest((request, invocation) -> CompletableFuture.completedFuture( |
| 310 | + new PermissionRequestResult().setKind(PermissionRequestResultKind.USER_NOT_AVAILABLE)))) |
309 | 311 | .get(); |
310 | 312 |
|
311 | 313 | final boolean[] permissionDenied = {false}; |
@@ -341,11 +343,9 @@ void testShouldDenyToolOperationsWhenHandlerExplicitlyDeniesAfterResume(TestInfo |
341 | 343 | String sessionId = session1.getSessionId(); |
342 | 344 | session1.sendAndWait(new MessageOptions().setPrompt("What is 1+1?")).get(60, TimeUnit.SECONDS); |
343 | 345 |
|
344 | | - CopilotSession session2 = client |
345 | | - .resumeSession(sessionId, |
346 | | - new ResumeSessionConfig().setOnPermissionRequest((request, |
347 | | - invocation) -> CompletableFuture.completedFuture(new PermissionRequestResult() |
348 | | - .setKind("denied-no-approval-rule-and-could-not-request-from-user")))) |
| 346 | + CopilotSession session2 = client.resumeSession(sessionId, new ResumeSessionConfig() |
| 347 | + .setOnPermissionRequest((request, invocation) -> CompletableFuture.completedFuture( |
| 348 | + new PermissionRequestResult().setKind(PermissionRequestResultKind.USER_NOT_AVAILABLE)))) |
349 | 349 | .get(); |
350 | 350 |
|
351 | 351 | final boolean[] permissionDenied = {false}; |
|
0 commit comments