From 72e6ab841917860f7f21ddcfd9c70b131dd73324 Mon Sep 17 00:00:00 2001 From: Gujiassh Date: Sun, 5 Apr 2026 16:09:00 +0900 Subject: [PATCH] fix(sdk): correct Kotlin code context bulk delete Route Kotlin code-interpreter bulk context deletion through the generated API client instead of recursively calling the adapter method, and add a regression test for the language-scoped DELETE request. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- .../infrastructure/adapters/service/CodesAdapter.kt | 2 +- .../adapters/service/CodesAdapterTest.kt | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/sdks/code-interpreter/kotlin/code-interpreter/src/main/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapter.kt b/sdks/code-interpreter/kotlin/code-interpreter/src/main/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapter.kt index 5f7551158..67dbe8eb0 100644 --- a/sdks/code-interpreter/kotlin/code-interpreter/src/main/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapter.kt +++ b/sdks/code-interpreter/kotlin/code-interpreter/src/main/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapter.kt @@ -106,7 +106,7 @@ class CodesAdapter( override fun deleteContexts(language: String) { try { - deleteContexts(language) + api.deleteContextsByLanguage(language) } catch (e: Exception) { logger.error("Failed to delete contexts", e) throw e.toSandboxException() diff --git a/sdks/code-interpreter/kotlin/code-interpreter/src/test/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapterTest.kt b/sdks/code-interpreter/kotlin/code-interpreter/src/test/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapterTest.kt index 5eca81480..6bb2b91be 100644 --- a/sdks/code-interpreter/kotlin/code-interpreter/src/test/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapterTest.kt +++ b/sdks/code-interpreter/kotlin/code-interpreter/src/test/kotlin/com/alibaba/opensandbox/codeinterpreter/infrastructure/adapters/service/CodesAdapterTest.kt @@ -199,6 +199,18 @@ class CodesAdapterTest { assertEquals("exec-123", request.requestUrl?.queryParameter("id")) } + @Test + fun `deleteContexts should send language query`() { + mockWebServer.enqueue(MockResponse().setResponseCode(204)) + + codesAdapter.deleteContexts("python") + + val request = mockWebServer.takeRequest() + assertEquals("DELETE", request.method) + assertEquals("/code/contexts", request.requestUrl?.encodedPath) + assertEquals("python", request.requestUrl?.queryParameter("language")) + } + @Test fun `run should expose request id on api exception`() { mockWebServer.enqueue(