Skip to content

Commit 198789a

Browse files
dmytrostrukCopilot
andcommitted
Fix generated schema call sites
Supply the new optional permission decision context in Java and Rust while preserving legacy behavior. Update Java generated-record coverage for the new skill command name field. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
1 parent 11e27fd commit 198789a

5 files changed

Lines changed: 14 additions & 9 deletions

File tree

java/src/main/java/com/github/copilot/CopilotSession.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,8 +1025,8 @@ private void executePermissionAndRespondAsync(String requestId, PermissionReques
10251025
return;
10261026
}
10271027
getRpc().permissions.handlePendingPermissionRequest(
1028-
new SessionPermissionsHandlePendingPermissionRequestParams(sessionId, requestId,
1029-
result));
1028+
new SessionPermissionsHandlePendingPermissionRequestParams(sessionId, requestId, result,
1029+
null));
10301030
} catch (Exception e) {
10311031
LOG.log(Level.WARNING, "Error sending permission result for requestId=" + requestId, e);
10321032
}
@@ -1036,8 +1036,8 @@ private void executePermissionAndRespondAsync(String requestId, PermissionReques
10361036
PermissionRequestResult denied = new PermissionRequestResult();
10371037
denied.setKind(PermissionRequestResultKind.DENIED_COULD_NOT_REQUEST_FROM_USER);
10381038
getRpc().permissions.handlePendingPermissionRequest(
1039-
new SessionPermissionsHandlePendingPermissionRequestParams(sessionId, requestId,
1040-
denied));
1039+
new SessionPermissionsHandlePendingPermissionRequestParams(sessionId, requestId, denied,
1040+
null));
10411041
} catch (Exception e) {
10421042
LOG.log(Level.WARNING, "Error sending permission denied for requestId=" + requestId, e);
10431043
}
@@ -1049,7 +1049,8 @@ private void executePermissionAndRespondAsync(String requestId, PermissionReques
10491049
PermissionRequestResult denied = new PermissionRequestResult();
10501050
denied.setKind(PermissionRequestResultKind.DENIED_COULD_NOT_REQUEST_FROM_USER);
10511051
getRpc().permissions.handlePendingPermissionRequest(
1052-
new SessionPermissionsHandlePendingPermissionRequestParams(sessionId, requestId, denied));
1052+
new SessionPermissionsHandlePendingPermissionRequestParams(sessionId, requestId, denied,
1053+
null));
10531054
} catch (Exception sendEx) {
10541055
LOG.log(Level.WARNING, "Error sending permission denied for requestId=" + requestId, sendEx);
10551056
}

java/src/test/java/com/github/copilot/generated/rpc/GeneratedRpcApiCoverageTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -498,7 +498,7 @@ void sessionRpc_permissions_handlePendingPermissionRequest_merges_sessionId() {
498498
var stub = new StubCaller();
499499
var session = new SessionRpc(stub, "sess-perm");
500500

501-
var permParams = new SessionPermissionsHandlePendingPermissionRequestParams(null, "req-perm-1", "allow");
501+
var permParams = new SessionPermissionsHandlePendingPermissionRequestParams(null, "req-perm-1", "allow", null);
502502
session.permissions.handlePendingPermissionRequest(permParams);
503503

504504
assertEquals(1, stub.calls.size());

java/src/test/java/com/github/copilot/generated/rpc/GeneratedRpcRecordsCoverageTest.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -338,10 +338,11 @@ void sessionModelSwitchToParams_record() {
338338

339339
@Test
340340
void sessionPermissionsHandlePendingPermissionRequestParams_record() {
341-
var params = new SessionPermissionsHandlePendingPermissionRequestParams("sess-33", "req-1", "allow");
341+
var params = new SessionPermissionsHandlePendingPermissionRequestParams("sess-33", "req-1", "allow", null);
342342
assertEquals("sess-33", params.sessionId());
343343
assertEquals("req-1", params.requestId());
344344
assertEquals("allow", params.result());
345+
assertNull(params.decisionContext());
345346
}
346347

347348
@Test
@@ -706,11 +707,12 @@ void sessionShellKillResult_record() {
706707

707708
@Test
708709
void sessionSkillsListResult_nested() {
709-
var item = new Skill("deploy", "Deploy the app", SkillSource.PROJECT, true, true, "/skills/deploy.md", null,
710-
null);
710+
var item = new Skill("deploy", "deploy", "Deploy the app", SkillSource.PROJECT, true, true, "/skills/deploy.md",
711+
null, null);
711712
var result = new SessionSkillsListResult(List.of(item));
712713
assertEquals(1, result.skills().size());
713714
assertEquals("deploy", result.skills().get(0).name());
715+
assertEquals("deploy", result.skills().get(0).commandName());
714716
assertEquals(SkillSource.PROJECT, result.skills().get(0).source());
715717
assertTrue(result.skills().get(0).enabled());
716718
}

rust/examples/manual_tool_resume.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
113113
.rpc()
114114
.permissions()
115115
.handle_pending_permission_request(PermissionDecisionRequest {
116+
decision_context: None,
116117
request_id: permission.request_id,
117118
result: PermissionDecision::ApproveOnce(PermissionDecisionApproveOnce {
118119
approved_interactively: None,

rust/tests/e2e/rpc_tasks_and_handlers.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,7 @@ async fn should_return_expected_results_for_missing_pending_handler_requestids()
404404
.rpc()
405405
.permissions()
406406
.handle_pending_permission_request(PermissionDecisionRequest {
407+
decision_context: None,
407408
request_id: request_id.into(),
408409
result,
409410
})

0 commit comments

Comments
 (0)